/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Configuration for a lifecycle rule.See Also:
AWS
* API Reference
How Amazon S3 responds when a multipart upload is incomplete. Specifically, * provides a number of days before Amazon S3 cancels the entire upload.
*/ inline const AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails& GetAbortIncompleteMultipartUpload() const{ return m_abortIncompleteMultipartUpload; } /** *How Amazon S3 responds when a multipart upload is incomplete. Specifically, * provides a number of days before Amazon S3 cancels the entire upload.
*/ inline bool AbortIncompleteMultipartUploadHasBeenSet() const { return m_abortIncompleteMultipartUploadHasBeenSet; } /** *How Amazon S3 responds when a multipart upload is incomplete. Specifically, * provides a number of days before Amazon S3 cancels the entire upload.
*/ inline void SetAbortIncompleteMultipartUpload(const AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = value; } /** *How Amazon S3 responds when a multipart upload is incomplete. Specifically, * provides a number of days before Amazon S3 cancels the entire upload.
*/ inline void SetAbortIncompleteMultipartUpload(AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails&& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = std::move(value); } /** *How Amazon S3 responds when a multipart upload is incomplete. Specifically, * provides a number of days before Amazon S3 cancels the entire upload.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithAbortIncompleteMultipartUpload(const AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails& value) { SetAbortIncompleteMultipartUpload(value); return *this;} /** *How Amazon S3 responds when a multipart upload is incomplete. Specifically, * provides a number of days before Amazon S3 cancels the entire upload.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithAbortIncompleteMultipartUpload(AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails&& value) { SetAbortIncompleteMultipartUpload(std::move(value)); return *this;} /** *The date when objects are moved or deleted.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The date when objects are moved or deleted.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The date when objects are moved or deleted.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The date when objects are moved or deleted.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The date when objects are moved or deleted.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The date when objects are moved or deleted.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The date when objects are moved or deleted.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The date when objects are moved or deleted.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The length in days of the lifetime for objects that are subject to the * rule.
*/ inline int GetExpirationInDays() const{ return m_expirationInDays; } /** *The length in days of the lifetime for objects that are subject to the * rule.
*/ inline bool ExpirationInDaysHasBeenSet() const { return m_expirationInDaysHasBeenSet; } /** *The length in days of the lifetime for objects that are subject to the * rule.
*/ inline void SetExpirationInDays(int value) { m_expirationInDaysHasBeenSet = true; m_expirationInDays = value; } /** *The length in days of the lifetime for objects that are subject to the * rule.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithExpirationInDays(int value) { SetExpirationInDays(value); return *this;} /** *Whether Amazon S3 removes a delete marker that has no noncurrent versions. If
* set to true
, the delete marker is expired. If set to
* false
, the policy takes no action.
If you provide
* ExpiredObjectDeleteMarker
, you cannot provide
* ExpirationInDays
or ExpirationDate
.
Whether Amazon S3 removes a delete marker that has no noncurrent versions. If
* set to true
, the delete marker is expired. If set to
* false
, the policy takes no action.
If you provide
* ExpiredObjectDeleteMarker
, you cannot provide
* ExpirationInDays
or ExpirationDate
.
Whether Amazon S3 removes a delete marker that has no noncurrent versions. If
* set to true
, the delete marker is expired. If set to
* false
, the policy takes no action.
If you provide
* ExpiredObjectDeleteMarker
, you cannot provide
* ExpirationInDays
or ExpirationDate
.
Whether Amazon S3 removes a delete marker that has no noncurrent versions. If
* set to true
, the delete marker is expired. If set to
* false
, the policy takes no action.
If you provide
* ExpiredObjectDeleteMarker
, you cannot provide
* ExpirationInDays
or ExpirationDate
.
Identifies the objects that a rule applies to.
*/ inline const AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails& GetFilter() const{ return m_filter; } /** *Identifies the objects that a rule applies to.
*/ inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } /** *Identifies the objects that a rule applies to.
*/ inline void SetFilter(const AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails& value) { m_filterHasBeenSet = true; m_filter = value; } /** *Identifies the objects that a rule applies to.
*/ inline void SetFilter(AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } /** *Identifies the objects that a rule applies to.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithFilter(const AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails& value) { SetFilter(value); return *this;} /** *Identifies the objects that a rule applies to.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithFilter(AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails&& value) { SetFilter(std::move(value)); return *this;} /** *The unique identifier of the rule.
*/ inline const Aws::String& GetID() const{ return m_iD; } /** *The unique identifier of the rule.
*/ inline bool IDHasBeenSet() const { return m_iDHasBeenSet; } /** *The unique identifier of the rule.
*/ inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; } /** *The unique identifier of the rule.
*/ inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = std::move(value); } /** *The unique identifier of the rule.
*/ inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); } /** *The unique identifier of the rule.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithID(const Aws::String& value) { SetID(value); return *this;} /** *The unique identifier of the rule.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithID(Aws::String&& value) { SetID(std::move(value)); return *this;} /** *The unique identifier of the rule.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithID(const char* value) { SetID(value); return *this;} /** *The number of days that an object is noncurrent before Amazon S3 can perform * the associated action.
*/ inline int GetNoncurrentVersionExpirationInDays() const{ return m_noncurrentVersionExpirationInDays; } /** *The number of days that an object is noncurrent before Amazon S3 can perform * the associated action.
*/ inline bool NoncurrentVersionExpirationInDaysHasBeenSet() const { return m_noncurrentVersionExpirationInDaysHasBeenSet; } /** *The number of days that an object is noncurrent before Amazon S3 can perform * the associated action.
*/ inline void SetNoncurrentVersionExpirationInDays(int value) { m_noncurrentVersionExpirationInDaysHasBeenSet = true; m_noncurrentVersionExpirationInDays = value; } /** *The number of days that an object is noncurrent before Amazon S3 can perform * the associated action.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithNoncurrentVersionExpirationInDays(int value) { SetNoncurrentVersionExpirationInDays(value); return *this;} /** *Transition rules that describe when noncurrent objects transition to a * specified storage class.
*/ inline const Aws::VectorTransition rules that describe when noncurrent objects transition to a * specified storage class.
*/ inline bool NoncurrentVersionTransitionsHasBeenSet() const { return m_noncurrentVersionTransitionsHasBeenSet; } /** *Transition rules that describe when noncurrent objects transition to a * specified storage class.
*/ inline void SetNoncurrentVersionTransitions(const Aws::VectorTransition rules that describe when noncurrent objects transition to a * specified storage class.
*/ inline void SetNoncurrentVersionTransitions(Aws::VectorTransition rules that describe when noncurrent objects transition to a * specified storage class.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithNoncurrentVersionTransitions(const Aws::VectorTransition rules that describe when noncurrent objects transition to a * specified storage class.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithNoncurrentVersionTransitions(Aws::VectorTransition rules that describe when noncurrent objects transition to a * specified storage class.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& AddNoncurrentVersionTransitions(const AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions.push_back(value); return *this; } /** *Transition rules that describe when noncurrent objects transition to a * specified storage class.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& AddNoncurrentVersionTransitions(AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails&& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions.push_back(std::move(value)); return *this; } /** *A prefix that identifies one or more objects that the rule applies to.
*/ inline const Aws::String& GetPrefix() const{ return m_prefix; } /** *A prefix that identifies one or more objects that the rule applies to.
*/ inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } /** *A prefix that identifies one or more objects that the rule applies to.
*/ inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } /** *A prefix that identifies one or more objects that the rule applies to.
*/ inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } /** *A prefix that identifies one or more objects that the rule applies to.
*/ inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } /** *A prefix that identifies one or more objects that the rule applies to.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} /** *A prefix that identifies one or more objects that the rule applies to.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} /** *A prefix that identifies one or more objects that the rule applies to.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithPrefix(const char* value) { SetPrefix(value); return *this;} /** *The current status of the rule. Indicates whether the rule is currently being * applied.
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *The current status of the rule. Indicates whether the rule is currently being * applied.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The current status of the rule. Indicates whether the rule is currently being * applied.
*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *The current status of the rule. Indicates whether the rule is currently being * applied.
*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The current status of the rule. Indicates whether the rule is currently being * applied.
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *The current status of the rule. Indicates whether the rule is currently being * applied.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *The current status of the rule. Indicates whether the rule is currently being * applied.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *The current status of the rule. Indicates whether the rule is currently being * applied.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithStatus(const char* value) { SetStatus(value); return *this;} /** *Transition rules that indicate when objects transition to a specified storage * class.
*/ inline const Aws::VectorTransition rules that indicate when objects transition to a specified storage * class.
*/ inline bool TransitionsHasBeenSet() const { return m_transitionsHasBeenSet; } /** *Transition rules that indicate when objects transition to a specified storage * class.
*/ inline void SetTransitions(const Aws::VectorTransition rules that indicate when objects transition to a specified storage * class.
*/ inline void SetTransitions(Aws::VectorTransition rules that indicate when objects transition to a specified storage * class.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithTransitions(const Aws::VectorTransition rules that indicate when objects transition to a specified storage * class.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& WithTransitions(Aws::VectorTransition rules that indicate when objects transition to a specified storage * class.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& AddTransitions(const AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails& value) { m_transitionsHasBeenSet = true; m_transitions.push_back(value); return *this; } /** *Transition rules that indicate when objects transition to a specified storage * class.
*/ inline AwsS3BucketBucketLifecycleConfigurationRulesDetails& AddTransitions(AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails&& value) { m_transitionsHasBeenSet = true; m_transitions.push_back(std::move(value)); return *this; } private: AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails m_abortIncompleteMultipartUpload; bool m_abortIncompleteMultipartUploadHasBeenSet = false; Aws::String m_expirationDate; bool m_expirationDateHasBeenSet = false; int m_expirationInDays; bool m_expirationInDaysHasBeenSet = false; bool m_expiredObjectDeleteMarker; bool m_expiredObjectDeleteMarkerHasBeenSet = false; AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails m_filter; bool m_filterHasBeenSet = false; Aws::String m_iD; bool m_iDHasBeenSet = false; int m_noncurrentVersionExpirationInDays; bool m_noncurrentVersionExpirationInDaysHasBeenSet = false; Aws::Vector