/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace S3Control { namespace Model { /** *

Contains the configuration parameters for a Set Object Retention operation. * Amazon S3 Batch Operations passes each value through to the underlying PUT * Object Retention API. For more information about the parameters for this * operation, see PUT * Object Retention.

See Also:

AWS * API Reference

*/ class AWS_S3CONTROL_API S3SetObjectRetentionOperation { public: S3SetObjectRetentionOperation(); S3SetObjectRetentionOperation(const Aws::Utils::Xml::XmlNode& xmlNode); S3SetObjectRetentionOperation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

Indicates if the operation should be applied to objects in the Batch * Operations job even if they have Governance-type Object Lock in place.

*/ inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; } /** *

Indicates if the operation should be applied to objects in the Batch * Operations job even if they have Governance-type Object Lock in place.

*/ inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; } /** *

Indicates if the operation should be applied to objects in the Batch * Operations job even if they have Governance-type Object Lock in place.

*/ inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; } /** *

Indicates if the operation should be applied to objects in the Batch * Operations job even if they have Governance-type Object Lock in place.

*/ inline S3SetObjectRetentionOperation& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;} /** *

Amazon S3 object lock Retention contains the retention mode to be applied to * all objects in the Batch Operations job.

*/ inline const S3Retention& GetRetention() const{ return m_retention; } /** *

Amazon S3 object lock Retention contains the retention mode to be applied to * all objects in the Batch Operations job.

*/ inline bool RetentionHasBeenSet() const { return m_retentionHasBeenSet; } /** *

Amazon S3 object lock Retention contains the retention mode to be applied to * all objects in the Batch Operations job.

*/ inline void SetRetention(const S3Retention& value) { m_retentionHasBeenSet = true; m_retention = value; } /** *

Amazon S3 object lock Retention contains the retention mode to be applied to * all objects in the Batch Operations job.

*/ inline void SetRetention(S3Retention&& value) { m_retentionHasBeenSet = true; m_retention = std::move(value); } /** *

Amazon S3 object lock Retention contains the retention mode to be applied to * all objects in the Batch Operations job.

*/ inline S3SetObjectRetentionOperation& WithRetention(const S3Retention& value) { SetRetention(value); return *this;} /** *

Amazon S3 object lock Retention contains the retention mode to be applied to * all objects in the Batch Operations job.

*/ inline S3SetObjectRetentionOperation& WithRetention(S3Retention&& value) { SetRetention(std::move(value)); return *this;} private: bool m_bypassGovernanceRetention; bool m_bypassGovernanceRetentionHasBeenSet; S3Retention m_retention; bool m_retentionHasBeenSet; }; } // namespace Model } // namespace S3Control } // namespace Aws