// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateAccessPoint`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`account_id(impl Into<String>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::account_id) / [`set_account_id(Option<String>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::set_account_id):<br>required: **true**<br><p>The Amazon Web Services account ID for the account that owns the specified access point.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::set_name):<br>required: **true**<br><p>The name you want to assign to this access point.</p><br>
/// - [`bucket(impl Into<String>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::set_bucket):<br>required: **true**<br><p>The name of the bucket that you want to associate this access point with.</p> <p>For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.</p> <p>For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format <code>arn:aws:s3-outposts:<region> : <account-id> :outpost/ <outpost-id> /bucket/ <my-bucket-name></my-bucket-name> </outpost-id> </account-id> </region></code>. For example, to access the bucket <code>reports</code> through Outpost <code>my-outpost</code> owned by account <code>123456789012</code> in Region <code>us-west-2</code>, use the URL encoding of <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports</code>. The value must be URL encoded.</p><br>
/// - [`vpc_configuration(VpcConfiguration)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::vpc_configuration) / [`set_vpc_configuration(Option<VpcConfiguration>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::set_vpc_configuration):<br>required: **false**<br><p>If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).</p><note> <p>This is required for creating an access point for Amazon S3 on Outposts buckets.</p> </note><br>
/// - [`public_access_block_configuration(PublicAccessBlockConfiguration)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::public_access_block_configuration) / [`set_public_access_block_configuration(Option<PublicAccessBlockConfiguration>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::set_public_access_block_configuration):<br>required: **false**<br><p>The <code>PublicAccessBlock</code> configuration that you want to apply to the access point.</p><br>
/// - [`bucket_account_id(impl Into<String>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::bucket_account_id) / [`set_bucket_account_id(Option<String>)`](crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::set_bucket_account_id):<br>required: **false**<br><p>The Amazon Web Services account ID associated with the S3 bucket associated with this access point.</p><br>
/// - On success, responds with [`CreateAccessPointOutput`](crate::operation::create_access_point::CreateAccessPointOutput) with field(s):
/// - [`access_point_arn(Option<String>)`](crate::operation::create_access_point::CreateAccessPointOutput::access_point_arn): <p>The ARN of the access point.</p><note> <p>This is only supported by Amazon S3 on Outposts.</p> </note>
/// - [`alias(Option<String>)`](crate::operation::create_access_point::CreateAccessPointOutput::alias): <p>The name or alias of the access point.</p>
/// - On failure, responds with [`SdkError<CreateAccessPointError>`](crate::operation::create_access_point::CreateAccessPointError)
pub fn create_access_point(&self) -> crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder {
crate::operation::create_access_point::builders::CreateAccessPointFluentBuilder::new(self.handle.clone())
}
}