/* * Copyright 2010-2013 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. */ 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 { /// /// The parameters to request deletion of an object in a bucket. /// The operation removes the null version (if there is one) of an object and inserts a delete marker, which /// becomes the latest version of the object. /// /// /// /// To remove a specific version, you must be the bucket owner and you must use the versionId subresource. /// Using this subresource permanently deletes the version. /// /// /// If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, /// you must include specify the MFA serial number and value in the request. /// /// /// If there isn't a null version, Amazon S3 does not remove any objects. /// /// public partial class DeleteObjectRequest : AmazonWebServiceRequest { private string bucketName; private bool? bypassGovernanceRetention; private string key; private string versionId; private MfaCodes mfaCodes; private RequestPayer requestPayer; /// /// The bucket name of the bucket containing the object. /// When using this API 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 operation using an access point through the AWS 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 Simple Storage Service Developer Guide. /// public string BucketName { get { return this.bucketName; } set { this.bucketName = value; } } // Check to see if Bucket property is set internal bool IsSetBucketName() { return this.bucketName != null; } /// /// Gets and sets the property BypassGovernanceRetention. /// 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; } /// /// The key identifying the object to delete. /// public string Key { get { return this.key; } set { this.key = value; } } // Check to see if Key property is set internal bool IsSetKey() { return this.key != null; } /// /// The identifier for the specific version of the object to be deleted, if required. /// public string VersionId { get { return this.versionId; } set { this.versionId = value; } } /// /// Checks if VersionId property is set. /// /// true if VersionId property is set. internal bool IsSetVersionId() { return !System.String.IsNullOrEmpty(this.versionId); } /// /// The MfaCodes Tuple associates the Serial Number and the current Token/Code displayed on the /// Multi-Factor Authentication device associated with your AWS Account. /// /// /// This is a required property for this request if:
/// 1. EnableMfaDelete was configured on the bucket /// containing this object's version.
/// 2. You are deleting an object's version ///
public MfaCodes MfaCodes { get { return this.mfaCodes; } set { this.mfaCodes = value; } } /// /// Checks if the MfaCodes property is set. /// /// true if the MfaCodes property is set. internal bool IsSetMfaCodes() { return (this.mfaCodes != null) && (!System.String.IsNullOrEmpty(MfaCodes.SerialNumber)) && (!System.String.IsNullOrEmpty(MfaCodes.AuthenticationValue)); } /// /// Confirms that the requester knows that she or he will be charged for the list objects request. /// Bucket owners need not specify this parameter in their requests. /// public RequestPayer RequestPayer { get { return this.requestPayer; } set { this.requestPayer = value; } } /// /// Checks to see if RequetsPayer is set. /// /// true, if RequestPayer property is set. internal bool IsSetRequestPayer() { return requestPayer != null; } } }