com.amazonaws.services.s3.model

## クラス BucketVersioningConfiguration

- java.lang.Object
- - com.amazonaws.services.s3.model.BucketVersioningConfiguration

-     public class BucketVersioningConfiguration
      extends java.lang.Object

  Represents the versioning configuration for a bucket.

  A bucket's versioning configuration can be in one of three possible states:

  - `OFF`
  - `ENABLED`
  - `SUSPENDED`

  By default, new buckets are in the `off` state. Once versioning is enabled for a bucket the status can never be reverted to `off`.

  In addition to enabling versioning, a bucket's versioning configuration can also enable Multi-Factor Authentication (MFA) Delete, which restricts the ability to permanently delete a version of an object. When MFA Delete is enabled, only requests from the bucket owner which include an MFA token generated by the hardware authentication device associated with the bucket owner's AWS account can permanently delete an object version. For more information on AWS Multi-Factor Authentication see http://aws.amazon.com/mfa/

  The versioning configuration of a bucket has different implications for each operation performed on that bucket or for objects within that bucket. For instance, when versioning is enabled, a PutObject operation creates a unique object version-id for the object being uploaded. The PutObject API guarantees that, if versioning is enabled for a bucket at the time of the request, the new object can only be permanently deleted using the DeleteVersion operation. It can never be overwritten. Additionally, PutObject guarantees that, if versioning is enabled for a bucket the request, no other object will be overwritten by that request. Refer to the documentation sections for each API for information on how versioning status affects the semantics of that particular API.

  S3 is eventually consistent. It may take time for the versioning status of a bucket to be propagated throughout the system.

  関連項目:
    `AmazonS3.getBucketVersioningConfiguration(String)`, `AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)`

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static java.lang.String` | `ENABLED` S3 bucket versioning status indicating that versioning is enabled for a bucket.
    `static java.lang.String` | `OFF` S3 bucket versioning status indicating that versioning is off for a bucket.
    `static java.lang.String` | `SUSPENDED` S3 bucket versioning status indicating that versioning is suspended for a bucket.

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `BucketVersioningConfiguration()` Creates a new bucket versioning configuration object which defaults to `OFF` status.
    `BucketVersioningConfiguration(java.lang.String status)` Creates a new bucket versioning configuration object with the specified status.

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `java.lang.String` | `getStatus()` Returns the current status of versioning for this bucket versioning configuration object, indicating if versioning is enabled or not for a bucket.
    `java.lang.Boolean` | `isMfaDeleteEnabled()` Returns true if Multi-Factor Authentication (MFA) Delete is enabled for this bucket versioning configuration, false if it isn't enabled, and null if no information is available about the status of MFADelete.
    `void` | `setMfaDeleteEnabled(java.lang.Boolean mfaDeleteEnabled)` Sets the status of Multi-Factor Authentication (MFA) Delete for a bucket.
    `void` | `setStatus(java.lang.String status)` Sets the desired status of versioning for this bucket versioning configuration object.
    `BucketVersioningConfiguration` | `withMfaDeleteEnabled(java.lang.Boolean mfaDeleteEnabled)` Sets the status of Multi-Factor Authentication (MFA) Delete for a bucket, and returns this object so that additional method calls may be chained together.
    `BucketVersioningConfiguration` | `withStatus(java.lang.String status)` Sets the desired status of versioning for this bucket versioning configuration object, and returns this object so that additional method calls may be chained together.

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### OFF

          public static final java.lang.String OFF

      S3 bucket versioning status indicating that versioning is off for a bucket. By default, all buckets start off with versioning off. Once you enable versioning for a bucket, you can never set the status back to "Off". You can only suspend versioning on a bucket once you've enabled.
      関連項目:
        定数フィールド値

    - #### SUSPENDED

          public static final java.lang.String SUSPENDED

      S3 bucket versioning status indicating that versioning is suspended for a bucket. Use the "Suspended" status when you want to disable versioning on a bucket that has versioning enabled.
      関連項目:
        定数フィールド値

    - #### ENABLED

          public static final java.lang.String ENABLED

      S3 bucket versioning status indicating that versioning is enabled for a bucket.
      関連項目:
        定数フィールド値

  - ### コンストラクタの詳細

    - #### BucketVersioningConfiguration

          public BucketVersioningConfiguration()

      Creates a new bucket versioning configuration object which defaults to `OFF` status.

    - #### BucketVersioningConfiguration

          public BucketVersioningConfiguration(java.lang.String status)

      Creates a new bucket versioning configuration object with the specified status.

      Note that once versioning has been enabled for a bucket, its status can only be `suspended` and can never be set back to `off`.

      パラメータ:
        `status` - The desired bucket versioning status for the new configuration object.
      関連項目:
        `ENABLED`, `SUSPENDED`

  - ### メソッドの詳細

    - #### getStatus

          public java.lang.String getStatus()

      Returns the current status of versioning for this bucket versioning configuration object, indicating if versioning is enabled or not for a bucket.
      戻り値:
        The current status of versioning for this bucket versioning configuration.
      関連項目:
        `OFF`, `ENABLED`, `SUSPENDED`

    - #### setStatus

          public void setStatus(java.lang.String status)

      Sets the desired status of versioning for this bucket versioning configuration object.

      Note that once versioning has been enabled for a bucket, its status can only be `suspended` and can never be set back to `off`.

      パラメータ:
        `status` - The desired status of versioning for this bucket versioning configuration.
      関連項目:
        `ENABLED`, `SUSPENDED`

    - #### withStatus

          public BucketVersioningConfiguration withStatus(java.lang.String status)

      Sets the desired status of versioning for this bucket versioning configuration object, and returns this object so that additional method calls may be chained together.

      Note that once versioning has been enabled for a bucket, its status can only be `suspended` and can never be set back to `off`.

      パラメータ:
        `status` - The desired status of versioning for this bucket versioning configuration.
      戻り値:
        The updated S3BucketVersioningConfiguration object so that additional method calls may be chained together.
      関連項目:
        `ENABLED`, `SUSPENDED`

    - #### isMfaDeleteEnabled

          public java.lang.Boolean isMfaDeleteEnabled()

      Returns true if Multi-Factor Authentication (MFA) Delete is enabled for this bucket versioning configuration, false if it isn't enabled, and null if no information is available about the status of MFADelete.

      When MFA Delete is enabled, object versions can only be permanently deleted when the bucket owner passes in, as part of a delete version request, an MFA token from the hardware token generator associated with their AWS account.

      By default, MFA Delete is not enabled.

      When enabling or disabling MFA Delete controls, you must also supply an MFA token from the hardware token generator.

      戻り値:
        True if the Multi-Factor Authentication (MFA) Delete is enabled for this bucket versioning configuration, false if it isn't enabled, and null if no information is present on the status of MFA Delete.

    - #### setMfaDeleteEnabled

          public void setMfaDeleteEnabled(java.lang.Boolean mfaDeleteEnabled)

      Sets the status of Multi-Factor Authentication (MFA) Delete for a bucket. When MFA Delete is enabled, object versions can only be permanently deleted when the bucket owner passes in, as part of a delete version request, an MFA token from the hardware token generator associated with their AWS account.

      By default, MFA Delete is not enabled.

      When enabling or disabling MFA Delete controls, you must also supply an MFA token from the hardware token generator as part of the request.

      パラメータ:
        `mfaDeleteEnabled` - True if the Multi-Factor Authentication (MFA) Delete is being enabled enabled, false if it is being disabled.

    - #### withMfaDeleteEnabled

          public BucketVersioningConfiguration withMfaDeleteEnabled(java.lang.Boolean mfaDeleteEnabled)

      Sets the status of Multi-Factor Authentication (MFA) Delete for a bucket, and returns this object so that additional method calls may be chained together. When MFA Delete is enabled, object versions can only be permanently deleted when the bucket owner passes in, as part of a delete version request, an MFA token from the hardware token generator associated with their AWS account.

      By default, MFA Delete is not enabled.

      When enabling or disabling MFA Delete controls, you must also supply an MFA token from the hardware token generator as part of the request.

      パラメータ:
        `mfaDeleteEnabled` - True if the Multi-Factor Authentication (MFA) Delete is being enabled enabled, false if it is being disabled.
      戻り値:
        The updated S3BucketVersioningConfiguration object so that additional method calls may be chained together.