/*
* 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;
}
}
}