/* * 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. */ 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 GetACL operation. /// This implementation of the GET action uses the acl subresource /// to return the access control list (ACL) of a bucket. To use GET to return /// the ACL of the bucket, you must have READ_ACP access to the bucket. If /// READ_ACP permission is granted to the anonymous user, you can return /// the ACL of the bucket without using an authorization header. /// /// /// To use this API operation against an access point, provide the alias of the access /// point in place of the bucket name. /// /// /// /// To use this API operation against an Object Lambda access point, provide the alias /// of the Object Lambda access point in place of the bucket name. If the Object Lambda /// access point alias in a request is not valid, the error code InvalidAccessPointAliasError /// is returned. For more information about InvalidAccessPointAliasError, /// see List /// of Error Codes. /// /// /// /// If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests /// to read ACLs are still supported and return the bucket-owner-full-control /// ACL with the owner being the account that created the bucket. For more information, /// see /// Controlling object ownership and disabling ACLs in the Amazon S3 User Guide. /// /// /// /// The following operations are related to GetBucketAcl: /// /// /// public partial class GetACLRequest : AmazonWebServiceRequest { private string expectedBucketOwner; /// /// The bucket name that contains the object for which to get the ACL information. /// 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 with 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; set; } // Check to see if BucketName property is set internal bool IsSetBucket() { return this.BucketName != null; } /// /// 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; } } /// /// Checks to see if ExpectedBucketOwner is set. /// /// true, if ExpectedBucketOwner property is set. internal bool IsSetExpectedBucketOwner() { return !String.IsNullOrEmpty(this.expectedBucketOwner); } /// /// The key of the S3 object to be queried. /// /// /// 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; set; } // Check to see if Key property is set internal bool IsSetKey() { return this.Key != null; } /// /// VersionId used to reference a specific version of the object. /// public string VersionId { get; set; } // Check to see if VersionId property is set internal bool IsSetVersionId() { return this.VersionId != null; } } }