/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.S3.Model { /// /// Container for the parameters to the PutObjectRetention operation. /// Places an Object Retention configuration on an object. For more information, see Locking Objects. /// Users or accounts require the s3:PutObjectRetention permission in order /// to place an Object Retention configuration on objects. Bypassing a Governance Retention /// configuration requires the s3:BypassGovernanceRetention permission. /// /// /// /// This action is not supported by Amazon S3 on Outposts. /// /// /// /// Permissions /// /// /// /// When the Object Lock retention mode is set to compliance, you need s3:PutObjectRetention /// and s3:BypassGovernanceRetention permissions. For other requests to PutObjectRetention, /// only s3:PutObjectRetention permissions are required. /// /// public partial class PutObjectRetentionRequest : AmazonWebServiceRequest { private string _bucketName; private bool? _bypassGovernanceRetention; private ChecksumAlgorithm _checksumAlgorithm; private string _contentMD5; private string expectedBucketOwner; private string _key; private RequestPayer _requestPayer; private ObjectLockRetention _retention; private string _versionId; /// /// Gets and sets the property BucketName. /// /// The bucket name that contains the object you want to apply this Object Retention configuration /// to. /// /// /// /// When using this action with an access point, you must direct requests to the access /// point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. /// When using this action with an access point through the Amazon Web Services SDKs, /// you provide the access point ARN in place of the bucket name. For more information /// about access point ARNs, see Using /// access points in the Amazon S3 User Guide. /// /// public string BucketName { get { return this._bucketName; } set { this._bucketName = value; } } // Check to see if BucketName property is set internal bool IsSetBucketName() { return !string.IsNullOrEmpty(this._bucketName); } /// /// Gets and sets the property BypassGovernanceRetention. /// /// Indicates whether this action should bypass Governance-mode restrictions. /// /// public bool BypassGovernanceRetention { get { return this._bypassGovernanceRetention.GetValueOrDefault(); } set { this._bypassGovernanceRetention = value; } } // Check to see if BypassGovernanceRetention property is set internal bool IsSetBypassGovernanceRetention() { return this._bypassGovernanceRetention.HasValue; } /// /// Gets and sets the property ChecksumAlgorithm. /// /// Indicates the algorithm used to create the checksum for the object. Amazon S3 will /// fail the request with a 400 error if there is no checksum associated with the object. /// For more information, see /// Checking object integrity in the Amazon S3 User Guide. /// /// public ChecksumAlgorithm ChecksumAlgorithm { get { return this._checksumAlgorithm; } set { this._checksumAlgorithm = value; } } // Check to see if ChecksumAlgorithm property is set internal bool IsSetChecksumAlgorithm() { return this._checksumAlgorithm != null; } /// /// Gets and sets the property ContentMD5. /// /// The MD5 hash for the request body. /// /// /// /// For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon /// Web Services SDKs, this field is calculated automatically. /// /// public string ContentMD5 { get { return this._contentMD5; } set { this._contentMD5 = value; } } // Check to see if ContentMD5 property is set internal bool IsSetContentMD5() { return !string.IsNullOrEmpty(this._contentMD5); } /// /// Gets and sets the property ExpectedBucketOwner. /// /// The account ID of the expected bucket owner. If the bucket is owned by a different /// account, the request will fail with an HTTP 403 (Access Denied) error. /// /// public string ExpectedBucketOwner { get { return this.expectedBucketOwner; } set { this.expectedBucketOwner = value; } } // Check to see if ExpectedBucketOwner property is set internal bool IsSetExpectedBucketOwner() { return !String.IsNullOrEmpty(this.expectedBucketOwner); } /// /// Gets and sets the property Key. /// /// The key name for the object that you want to apply this Object Retention configuration /// to. /// /// /// /// This property will be used as part of the resource path of the HTTP request. In .NET the System.Uri class /// is used to construct the uri for the request. The System.Uri class will canonicalize the uri string by compacting characters like "..". /// For example an object key of "foo/../bar/file.txt" will be transformed into "bar/file.txt" because the ".." /// is interpreted as use parent directory. For further information view the documentation for /// the Uri class: https://docs.microsoft.com/en-us/dotnet/api/system.uri /// public string Key { get { return this._key; } set { this._key = value; } } // Check to see if Key property is set internal bool IsSetKey() { return !string.IsNullOrEmpty(this._key); } /// /// Gets and sets the property RequestPayer. /// public RequestPayer RequestPayer { get { return this._requestPayer; } set { this._requestPayer = value; } } // Check to see if RequestPayer property is set internal bool IsSetRequestPayer() { return this._requestPayer != null; } /// /// Gets and sets the property Retention. /// /// The container element for the Object Retention configuration. /// /// public ObjectLockRetention Retention { get { return this._retention; } set { this._retention = value; } } // Check to see if Retention property is set internal bool IsSetRetention() { return this._retention != null; } /// /// Gets and sets the property VersionId. /// /// The version ID for the object that you want to apply this Object Retention configuration /// to. /// /// public string VersionId { get { return this._versionId; } set { this._versionId = value; } } // Check to see if VersionId property is set internal bool IsSetVersionId() { return !string.IsNullOrEmpty(this._versionId); } } }