%% WARNING: DO NOT EDIT, AUTO-GENERATED CODE! %% See https://github.com/aws-beam/aws-codegen for more details. %% @doc Amazon Web Services S3 Control provides access to Amazon S3 control %% plane actions. -module(aws_s3_control). -export([associate_access_grants_identity_center/2, associate_access_grants_identity_center/3, create_access_grant/2, create_access_grant/3, create_access_grants_instance/2, create_access_grants_instance/3, create_access_grants_location/2, create_access_grants_location/3, create_access_point/3, create_access_point/4, create_access_point_for_object_lambda/3, create_access_point_for_object_lambda/4, create_bucket/3, create_bucket/4, create_job/2, create_job/3, create_multi_region_access_point/2, create_multi_region_access_point/3, create_storage_lens_group/2, create_storage_lens_group/3, delete_access_grant/3, delete_access_grant/4, delete_access_grants_instance/2, delete_access_grants_instance/3, delete_access_grants_instance_resource_policy/2, delete_access_grants_instance_resource_policy/3, delete_access_grants_location/3, delete_access_grants_location/4, delete_access_point/3, delete_access_point/4, delete_access_point_for_object_lambda/3, delete_access_point_for_object_lambda/4, delete_access_point_policy/3, delete_access_point_policy/4, delete_access_point_policy_for_object_lambda/3, delete_access_point_policy_for_object_lambda/4, delete_bucket/3, delete_bucket/4, delete_bucket_lifecycle_configuration/3, delete_bucket_lifecycle_configuration/4, delete_bucket_policy/3, delete_bucket_policy/4, delete_bucket_replication/3, delete_bucket_replication/4, delete_bucket_tagging/3, delete_bucket_tagging/4, delete_job_tagging/3, delete_job_tagging/4, delete_multi_region_access_point/2, delete_multi_region_access_point/3, delete_public_access_block/2, delete_public_access_block/3, delete_storage_lens_configuration/3, delete_storage_lens_configuration/4, delete_storage_lens_configuration_tagging/3, delete_storage_lens_configuration_tagging/4, delete_storage_lens_group/3, delete_storage_lens_group/4, describe_job/3, describe_job/5, describe_job/6, describe_multi_region_access_point_operation/3, describe_multi_region_access_point_operation/5, describe_multi_region_access_point_operation/6, dissociate_access_grants_identity_center/2, dissociate_access_grants_identity_center/3, get_access_grant/3, get_access_grant/5, get_access_grant/6, get_access_grants_instance/2, get_access_grants_instance/4, get_access_grants_instance/5, get_access_grants_instance_for_prefix/3, get_access_grants_instance_for_prefix/5, get_access_grants_instance_for_prefix/6, get_access_grants_instance_resource_policy/2, get_access_grants_instance_resource_policy/4, get_access_grants_instance_resource_policy/5, get_access_grants_location/3, get_access_grants_location/5, get_access_grants_location/6, get_access_point/3, get_access_point/5, get_access_point/6, get_access_point_configuration_for_object_lambda/3, get_access_point_configuration_for_object_lambda/5, get_access_point_configuration_for_object_lambda/6, get_access_point_for_object_lambda/3, get_access_point_for_object_lambda/5, get_access_point_for_object_lambda/6, get_access_point_policy/3, get_access_point_policy/5, get_access_point_policy/6, get_access_point_policy_for_object_lambda/3, get_access_point_policy_for_object_lambda/5, get_access_point_policy_for_object_lambda/6, get_access_point_policy_status/3, get_access_point_policy_status/5, get_access_point_policy_status/6, get_access_point_policy_status_for_object_lambda/3, get_access_point_policy_status_for_object_lambda/5, get_access_point_policy_status_for_object_lambda/6, get_bucket/3, get_bucket/5, get_bucket/6, get_bucket_lifecycle_configuration/3, get_bucket_lifecycle_configuration/5, get_bucket_lifecycle_configuration/6, get_bucket_policy/3, get_bucket_policy/5, get_bucket_policy/6, get_bucket_replication/3, get_bucket_replication/5, get_bucket_replication/6, get_bucket_tagging/3, get_bucket_tagging/5, get_bucket_tagging/6, get_bucket_versioning/3, get_bucket_versioning/5, get_bucket_versioning/6, get_data_access/4, get_data_access/6, get_data_access/7, get_job_tagging/3, get_job_tagging/5, get_job_tagging/6, get_multi_region_access_point/3, get_multi_region_access_point/5, get_multi_region_access_point/6, get_multi_region_access_point_policy/3, get_multi_region_access_point_policy/5, get_multi_region_access_point_policy/6, get_multi_region_access_point_policy_status/3, get_multi_region_access_point_policy_status/5, get_multi_region_access_point_policy_status/6, get_multi_region_access_point_routes/3, get_multi_region_access_point_routes/5, get_multi_region_access_point_routes/6, get_public_access_block/2, get_public_access_block/4, get_public_access_block/5, get_storage_lens_configuration/3, get_storage_lens_configuration/5, get_storage_lens_configuration/6, get_storage_lens_configuration_tagging/3, get_storage_lens_configuration_tagging/5, get_storage_lens_configuration_tagging/6, get_storage_lens_group/3, get_storage_lens_group/5, get_storage_lens_group/6, list_access_grants/2, list_access_grants/4, list_access_grants/5, list_access_grants_instances/2, list_access_grants_instances/4, list_access_grants_instances/5, list_access_grants_locations/2, list_access_grants_locations/4, list_access_grants_locations/5, list_access_points/2, list_access_points/4, list_access_points/5, list_access_points_for_object_lambda/2, list_access_points_for_object_lambda/4, list_access_points_for_object_lambda/5, list_jobs/2, list_jobs/4, list_jobs/5, list_multi_region_access_points/2, list_multi_region_access_points/4, list_multi_region_access_points/5, list_regional_buckets/2, list_regional_buckets/4, list_regional_buckets/5, list_storage_lens_configurations/2, list_storage_lens_configurations/4, list_storage_lens_configurations/5, list_storage_lens_groups/2, list_storage_lens_groups/4, list_storage_lens_groups/5, list_tags_for_resource/3, list_tags_for_resource/5, list_tags_for_resource/6, put_access_grants_instance_resource_policy/2, put_access_grants_instance_resource_policy/3, put_access_point_configuration_for_object_lambda/3, put_access_point_configuration_for_object_lambda/4, put_access_point_policy/3, put_access_point_policy/4, put_access_point_policy_for_object_lambda/3, put_access_point_policy_for_object_lambda/4, put_bucket_lifecycle_configuration/3, put_bucket_lifecycle_configuration/4, put_bucket_policy/3, put_bucket_policy/4, put_bucket_replication/3, put_bucket_replication/4, put_bucket_tagging/3, put_bucket_tagging/4, put_bucket_versioning/3, put_bucket_versioning/4, put_job_tagging/3, put_job_tagging/4, put_multi_region_access_point_policy/2, put_multi_region_access_point_policy/3, put_public_access_block/2, put_public_access_block/3, put_storage_lens_configuration/3, put_storage_lens_configuration/4, put_storage_lens_configuration_tagging/3, put_storage_lens_configuration_tagging/4, submit_multi_region_access_point_routes/3, submit_multi_region_access_point_routes/4, tag_resource/3, tag_resource/4, untag_resource/3, untag_resource/4, update_access_grants_location/3, update_access_grants_location/4, update_job_priority/3, update_job_priority/4, update_job_status/3, update_job_status/4, update_storage_lens_group/3, update_storage_lens_group/4]). -include_lib("hackney/include/hackney_lib.hrl"). %%==================================================================== %% API %%==================================================================== %% @doc Associate your S3 Access Grants instance with an Amazon Web Services %% IAM Identity Center instance. %% %% Use this action if you want to create access grants for users or groups %% from your corporate identity directory. First, you must add your corporate %% identity directory to Amazon Web Services IAM Identity Center. Then, you %% can associate this IAM Identity Center instance with your S3 Access Grants %% instance. %% %%
Permissions
You must have the %% `s3:AssociateAccessGrantsIdentityCenter' permission to use this %% operation. %% %%
Additional Permissions
You must also have the %% following permissions: `sso:CreateApplication', %% `sso:PutApplicationGrant', and %% `sso:PutApplicationAuthenticationMethod'. %% %%
associate_access_grants_identity_center(Client, Input) -> associate_access_grants_identity_center(Client, Input, []). associate_access_grants_identity_center(Client, Input0, Options0) -> Method = post, Path = ["/v20180820/accessgrantsinstance/identitycenter"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Creates an access grant that gives a grantee access to your S3 data. %% %% The grantee can be an IAM user or role or a directory user, or group. %% Before you can create a grant, you must have an S3 Access Grants instance %% in the same Region as the S3 data. You can create an S3 Access Grants %% instance using the CreateAccessGrantsInstance. You must also have %% registered at least one S3 data location in your S3 Access Grants instance %% using CreateAccessGrantsLocation. %% %%
Permissions
You must have the %% `s3:CreateAccessGrant' permission to use this operation. %% %%
Additional Permissions
For any directory identity - %% `sso:DescribeInstance' and `sso:DescribeApplication' %% %% For directory users - `identitystore:DescribeUser' %% %% For directory groups - `identitystore:DescribeGroup' %% %%
create_access_grant(Client, Input) -> create_access_grant(Client, Input, []). create_access_grant(Client, Input0, Options0) -> Method = post, Path = ["/v20180820/accessgrantsinstance/grant"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Creates an S3 Access Grants instance, which serves as a logical %% grouping for access grants. %% %% You can create one S3 Access Grants instance per Region per account. %% %%
Permissions
You must have the %% `s3:CreateAccessGrantsInstance' permission to use this operation. %% %%
Additional Permissions
To associate an IAM Identity %% Center instance with your S3 Access Grants instance, you must also have %% the `sso:DescribeInstance', `sso:CreateApplication', %% `sso:PutApplicationGrant', and %% `sso:PutApplicationAuthenticationMethod' permissions. %% %%
create_access_grants_instance(Client, Input) -> create_access_grants_instance(Client, Input, []). create_access_grants_instance(Client, Input0, Options0) -> Method = post, Path = ["/v20180820/accessgrantsinstance"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc The S3 data location that you would like to register in your S3 %% Access Grants instance. %% %% Your S3 data must be in the same Region as your S3 Access Grants instance. %% The location can be one of the following: %% %% When you register a location, you must include the IAM role %% that has permission to manage the S3 location that you are registering. %% Give S3 Access Grants permission to assume this role using a policy. S3 %% Access Grants assumes this role to manage access to the location and to %% vend temporary credentials to grantees or client applications. %% %%
Permissions
You must have the %% `s3:CreateAccessGrantsLocation' permission to use this operation. %% %%
Additional Permissions
You must also have the %% following permission for the specified IAM role: `iam:PassRole' %% %%
create_access_grants_location(Client, Input) -> create_access_grants_location(Client, Input, []). create_access_grants_location(Client, Input0, Options0) -> Method = post, Path = ["/v20180820/accessgrantsinstance/location"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Creates an access point and associates it with the specified bucket. For %% more information, see Managing Data Access with Amazon S3 Access Points in %% the Amazon S3 User Guide. %% %% S3 on Outposts only supports VPC-style access points. %% %% For more information, see Accessing Amazon S3 on Outposts using virtual %% private cloud (VPC) only access points in the Amazon S3 User Guide. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `CreateAccessPoint': %% %% create_access_point(Client, Name, Input) -> create_access_point(Client, Name, Input, []). create_access_point(Client, Name, Input0, Options0) -> Method = put, Path = ["/v20180820/accesspoint/", aws_util:encode_uri(Name), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Creates an Object Lambda Access Point. For more information, see %% Transforming objects with Object Lambda Access Points in the Amazon S3 %% User Guide. %% %% The following actions are related to %% `CreateAccessPointForObjectLambda': %% %% create_access_point_for_object_lambda(Client, Name, Input) -> create_access_point_for_object_lambda(Client, Name, Input, []). create_access_point_for_object_lambda(Client, Name, Input0, Options0) -> Method = put, Path = ["/v20180820/accesspointforobjectlambda/", aws_util:encode_uri(Name), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This action creates an Amazon S3 on Outposts bucket. %% %% To create an S3 bucket, see Create Bucket in the Amazon S3 API Reference. %% %% Creates a new Outposts bucket. By creating the bucket, you become the %% bucket owner. To create an Outposts bucket, you must have S3 on Outposts. %% For more information, see Using Amazon S3 on Outposts in Amazon S3 User %% Guide. %% %% Not every string is an acceptable bucket name. For information on bucket %% naming restrictions, see Working with Amazon S3 Buckets. %% %% S3 on Outposts buckets support: %% %% For a complete list of restrictions and Amazon S3 feature %% limitations on S3 on Outposts, see Amazon S3 on Outposts Restrictions and %% Limitations. %% %% For an example of the request syntax for Amazon S3 on Outposts that uses %% the S3 on Outposts endpoint hostname prefix and `x-amz-outpost-id' in %% your API request, see the Examples section. %% %% The following actions are related to `CreateBucket' for Amazon S3 on %% Outposts: %% %% create_bucket(Client, Bucket, Input) -> create_bucket(Client, Bucket, Input, []). create_bucket(Client, Bucket, Input0, Options0) -> Method = put, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-acl">>, <<"ACL">>}, {<<"x-amz-grant-full-control">>, <<"GrantFullControl">>}, {<<"x-amz-grant-read">>, <<"GrantRead">>}, {<<"x-amz-grant-read-acp">>, <<"GrantReadACP">>}, {<<"x-amz-grant-write">>, <<"GrantWrite">>}, {<<"x-amz-grant-write-acp">>, <<"GrantWriteACP">>}, {<<"x-amz-bucket-object-lock-enabled">>, <<"ObjectLockEnabledForBucket">>}, {<<"x-amz-outpost-id">>, <<"OutpostId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, case request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode) of {ok, Body0, {_, ResponseHeaders, _} = Response} -> ResponseHeadersParams = [ {<<"Location">>, <<"Location">>} ], FoldFun = fun({Name_, Key_}, Acc_) -> case lists:keyfind(Name_, 1, ResponseHeaders) of false -> Acc_; {_, Value_} -> Acc_#{Key_ => Value_} end end, Body = lists:foldl(FoldFun, Body0, ResponseHeadersParams), {ok, Body, Response}; Result -> Result end. %% @doc This operation creates an S3 Batch Operations job. %% %% You can use S3 Batch Operations to perform large-scale batch actions on %% Amazon S3 objects. Batch Operations can run a single action on lists of %% Amazon S3 objects that you specify. For more information, see S3 Batch %% Operations in the Amazon S3 User Guide. %% %%
Permissions
For information about permissions required %% to use the Batch Operations, see Granting permissions for S3 Batch %% Operations in the Amazon S3 User Guide. %% %%
%% %% Related actions include: %% %% create_job(Client, Input) -> create_job(Client, Input, []). create_job(Client, Input0, Options0) -> Method = post, Path = ["/v20180820/jobs"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Creates a Multi-Region Access Point and associates it with the specified %% buckets. For more information about creating Multi-Region Access Points, %% see Creating Multi-Region Access Points in the Amazon S3 User Guide. %% %% This action will always be routed to the US West (Oregon) Region. For more %% information about the restrictions around managing Multi-Region Access %% Points, see Managing Multi-Region Access Points in the Amazon S3 User %% Guide. %% %% This request is asynchronous, meaning that you might receive a response %% before the command has completed. When this request provides a response, %% it provides a token that you can use to monitor the status of the request %% with `DescribeMultiRegionAccessPointOperation'. %% %% The following actions are related to `CreateMultiRegionAccessPoint': %% %% create_multi_region_access_point(Client, Input) -> create_multi_region_access_point(Client, Input, []). create_multi_region_access_point(Client, Input0, Options0) -> Method = post, Path = ["/v20180820/async-requests/mrap/create"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Creates a new S3 Storage Lens group and associates it with the %% specified Amazon Web Services account ID. %% %% An S3 Storage Lens group is a custom grouping of objects based on prefix, %% suffix, object tags, object size, object age, or a combination of these %% filters. For each Storage Lens group that you’ve created, you can also %% optionally add Amazon Web Services resource tags. For more information %% about S3 Storage Lens groups, see Working with S3 Storage Lens groups. %% %% To use this operation, you must have the permission to perform the %% `s3:CreateStorageLensGroup' action. If you’re trying to create a %% Storage Lens group with Amazon Web Services resource tags, you must also %% have permission to perform the `s3:TagResource' action. For more %% information about the required Storage Lens Groups permissions, see %% Setting account permissions to use S3 Storage Lens groups. %% %% For information about Storage Lens groups errors, see List of Amazon S3 %% Storage Lens error codes. create_storage_lens_group(Client, Input) -> create_storage_lens_group(Client, Input, []). create_storage_lens_group(Client, Input0, Options0) -> Method = post, Path = ["/v20180820/storagelensgroup"], SuccessStatusCode = 204, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Deletes the access grant from the S3 Access Grants instance. %% %% You cannot undo an access grant deletion and the grantee will no longer %% have access to the S3 data. %% %%
Permissions
You must have the %% `s3:DeleteAccessGrant' permission to use this operation. %% %%
delete_access_grant(Client, AccessGrantId, Input) -> delete_access_grant(Client, AccessGrantId, Input, []). delete_access_grant(Client, AccessGrantId, Input0, Options0) -> Method = delete, Path = ["/v20180820/accessgrantsinstance/grant/", aws_util:encode_uri(AccessGrantId), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Deletes your S3 Access Grants instance. %% %% You must first delete the access grants and locations before S3 Access %% Grants can delete the instance. See DeleteAccessGrant and %% DeleteAccessGrantsLocation. If you have associated an IAM Identity Center %% instance with your S3 Access Grants instance, you must first dissassociate %% the Identity Center instance from the S3 Access Grants instance before you %% can delete the S3 Access Grants instance. See %% AssociateAccessGrantsIdentityCenter and %% DissociateAccessGrantsIdentityCenter. %% %%
Permissions
You must have the %% `s3:DeleteAccessGrantsInstance' permission to use this operation. %% %%
delete_access_grants_instance(Client, Input) -> delete_access_grants_instance(Client, Input, []). delete_access_grants_instance(Client, Input0, Options0) -> Method = delete, Path = ["/v20180820/accessgrantsinstance"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Deletes the resource policy of the S3 Access Grants instance. %% %% The resource policy is used to manage cross-account access to your S3 %% Access Grants instance. By deleting the resource policy, you delete any %% cross-account permissions to your S3 Access Grants instance. %% %%
Permissions
You must have the %% `s3:DeleteAccessGrantsInstanceResourcePolicy' permission to use this %% operation. %% %%
delete_access_grants_instance_resource_policy(Client, Input) -> delete_access_grants_instance_resource_policy(Client, Input, []). delete_access_grants_instance_resource_policy(Client, Input0, Options0) -> Method = delete, Path = ["/v20180820/accessgrantsinstance/resourcepolicy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Deregisters a location from your S3 Access Grants instance. %% %% You can only delete a location registration from an S3 Access Grants %% instance if there are no grants associated with this location. See Delete %% a grant for information on how to delete grants. You need to have at least %% one registered location in your S3 Access Grants instance in order to %% create access grants. %% %%
Permissions
You must have the %% `s3:DeleteAccessGrantsLocation' permission to use this operation. %% %%
delete_access_grants_location(Client, AccessGrantsLocationId, Input) -> delete_access_grants_location(Client, AccessGrantsLocationId, Input, []). delete_access_grants_location(Client, AccessGrantsLocationId, Input0, Options0) -> Method = delete, Path = ["/v20180820/accessgrantsinstance/location/", aws_util:encode_uri(AccessGrantsLocationId), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Deletes the specified access point. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `DeleteAccessPoint': %% %% delete_access_point(Client, Name, Input) -> delete_access_point(Client, Name, Input, []). delete_access_point(Client, Name, Input0, Options0) -> Method = delete, Path = ["/v20180820/accesspoint/", aws_util:encode_uri(Name), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Deletes the specified Object Lambda Access Point. %% %% The following actions are related to %% `DeleteAccessPointForObjectLambda': %% %% delete_access_point_for_object_lambda(Client, Name, Input) -> delete_access_point_for_object_lambda(Client, Name, Input, []). delete_access_point_for_object_lambda(Client, Name, Input0, Options0) -> Method = delete, Path = ["/v20180820/accesspointforobjectlambda/", aws_util:encode_uri(Name), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Deletes the access point policy for the specified access point. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `DeleteAccessPointPolicy': %% %% delete_access_point_policy(Client, Name, Input) -> delete_access_point_policy(Client, Name, Input, []). delete_access_point_policy(Client, Name, Input0, Options0) -> Method = delete, Path = ["/v20180820/accesspoint/", aws_util:encode_uri(Name), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Removes the resource policy for an Object Lambda Access Point. %% %% The following actions are related to %% `DeleteAccessPointPolicyForObjectLambda': %% %% delete_access_point_policy_for_object_lambda(Client, Name, Input) -> delete_access_point_policy_for_object_lambda(Client, Name, Input, []). delete_access_point_policy_for_object_lambda(Client, Name, Input0, Options0) -> Method = delete, Path = ["/v20180820/accesspointforobjectlambda/", aws_util:encode_uri(Name), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This action deletes an Amazon S3 on Outposts bucket. %% %% To delete an S3 bucket, see DeleteBucket in the Amazon S3 API Reference. %% %% Deletes the Amazon S3 on Outposts bucket. All objects (including all %% object versions and delete markers) in the bucket must be deleted before %% the bucket itself can be deleted. For more information, see Using Amazon %% S3 on Outposts in Amazon S3 User Guide. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% == Related Resources == %% %% delete_bucket(Client, Bucket, Input) -> delete_bucket(Client, Bucket, Input, []). delete_bucket(Client, Bucket, Input0, Options0) -> Method = delete, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This action deletes an Amazon S3 on Outposts bucket's lifecycle %% configuration. %% %% To delete an S3 bucket's lifecycle configuration, see %% DeleteBucketLifecycle in the Amazon S3 API Reference. %% %% Deletes the lifecycle configuration from the specified Outposts bucket. %% Amazon S3 on Outposts removes all the lifecycle configuration rules in the %% lifecycle subresource associated with the bucket. Your objects never %% expire, and Amazon S3 on Outposts no longer automatically deletes any %% objects on the basis of rules contained in the deleted lifecycle %% configuration. For more information, see Using Amazon S3 on Outposts in %% Amazon S3 User Guide. %% %% To use this operation, you must have permission to perform the %% `s3-outposts:PutLifecycleConfiguration' action. By default, the bucket %% owner has this permission and the Outposts bucket owner can grant this %% permission to others. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% For more information about object expiration, see Elements to Describe %% Lifecycle Actions. %% %% Related actions include: %% %% delete_bucket_lifecycle_configuration(Client, Bucket, Input) -> delete_bucket_lifecycle_configuration(Client, Bucket, Input, []). delete_bucket_lifecycle_configuration(Client, Bucket, Input0, Options0) -> Method = delete, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/lifecycleconfiguration"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This action deletes an Amazon S3 on Outposts bucket policy. %% %% To delete an S3 bucket policy, see DeleteBucketPolicy in the Amazon S3 API %% Reference. %% %% This implementation of the DELETE action uses the policy subresource to %% delete the policy of a specified Amazon S3 on Outposts bucket. If you are %% using an identity other than the root user of the Amazon Web Services %% account that owns the bucket, the calling identity must have the %% `s3-outposts:DeleteBucketPolicy' permissions on the specified Outposts %% bucket and belong to the bucket owner's account to use this action. %% For more information, see Using Amazon S3 on Outposts in Amazon S3 User %% Guide. %% %% If you don't have `DeleteBucketPolicy' permissions, Amazon S3 %% returns a `403 Access Denied' error. If you have the correct %% permissions, but you're not using an identity that belongs to the %% bucket owner's account, Amazon S3 returns a `405 Method Not %% Allowed' error. %% %% As a security precaution, the root user of the Amazon Web Services account %% that owns a bucket can always use this action, even if the policy %% explicitly denies the root user the ability to perform this action. %% %% For more information about bucket policies, see Using Bucket Policies and %% User Policies. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `DeleteBucketPolicy': %% %% delete_bucket_policy(Client, Bucket, Input) -> delete_bucket_policy(Client, Bucket, Input, []). delete_bucket_policy(Client, Bucket, Input0, Options0) -> Method = delete, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation deletes an Amazon S3 on Outposts bucket's %% replication configuration. %% %% To delete an S3 bucket's replication configuration, see %% DeleteBucketReplication in the Amazon S3 API Reference. %% %% Deletes the replication configuration from the specified S3 on Outposts %% bucket. %% %% To use this operation, you must have permissions to perform the %% `s3-outposts:PutReplicationConfiguration' action. The Outposts bucket %% owner has this permission by default and can grant it to others. For more %% information about permissions, see Setting up IAM with S3 on Outposts and %% Managing access to S3 on Outposts buckets in the Amazon S3 User Guide. %% %% It can take a while to propagate `PUT' or `DELETE' requests for a %% replication configuration to all S3 on Outposts systems. Therefore, the %% replication configuration that's returned by a `GET' request soon %% after a `PUT' or `DELETE' request might return a more recent %% result than what's on the Outpost. If an Outpost is offline, the delay %% in updating the replication configuration on that Outpost can be %% significant. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% For information about S3 replication on Outposts configuration, see %% Replicating objects for S3 on Outposts in the Amazon S3 User Guide. %% %% The following operations are related to `DeleteBucketReplication': %% %% delete_bucket_replication(Client, Bucket, Input) -> delete_bucket_replication(Client, Bucket, Input, []). delete_bucket_replication(Client, Bucket, Input0, Options0) -> Method = delete, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/replication"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This action deletes an Amazon S3 on Outposts bucket's tags. %% %% To delete an S3 bucket tags, see DeleteBucketTagging in the Amazon S3 API %% Reference. %% %% Deletes the tags from the Outposts bucket. For more information, see Using %% Amazon S3 on Outposts in Amazon S3 User Guide. %% %% To use this action, you must have permission to perform the %% `PutBucketTagging' action. By default, the bucket owner has this %% permission and can grant this permission to others. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `DeleteBucketTagging': %% %% delete_bucket_tagging(Client, Bucket, Input) -> delete_bucket_tagging(Client, Bucket, Input, []). delete_bucket_tagging(Client, Bucket, Input0, Options0) -> Method = delete, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/tagging"], SuccessStatusCode = 204, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Removes the entire tag set from the specified S3 Batch Operations %% job. %% %%
Permissions
To use the `DeleteJobTagging' %% operation, you must have permission to perform the %% `s3:DeleteJobTagging' action. For more information, see Controlling %% access and labeling jobs using tags in the Amazon S3 User Guide. %% %%
Related actions include: %% %% delete_job_tagging(Client, JobId, Input) -> delete_job_tagging(Client, JobId, Input, []). delete_job_tagging(Client, JobId, Input0, Options0) -> Method = delete, Path = ["/v20180820/jobs/", aws_util:encode_uri(JobId), "/tagging"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Deletes a Multi-Region Access Point. This action does not delete the %% buckets associated with the Multi-Region Access Point, only the %% Multi-Region Access Point itself. %% %% This action will always be routed to the US West (Oregon) Region. For more %% information about the restrictions around managing Multi-Region Access %% Points, see Managing Multi-Region Access Points in the Amazon S3 User %% Guide. %% %% This request is asynchronous, meaning that you might receive a response %% before the command has completed. When this request provides a response, %% it provides a token that you can use to monitor the status of the request %% with `DescribeMultiRegionAccessPointOperation'. %% %% The following actions are related to `DeleteMultiRegionAccessPoint': %% %% delete_multi_region_access_point(Client, Input) -> delete_multi_region_access_point(Client, Input, []). delete_multi_region_access_point(Client, Input0, Options0) -> Method = post, Path = ["/v20180820/async-requests/mrap/delete"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Removes the `PublicAccessBlock' configuration for an Amazon Web %% Services account. For more information, see Using Amazon S3 block public %% access. %% %% Related actions include: %% %% delete_public_access_block(Client, Input) -> delete_public_access_block(Client, Input, []). delete_public_access_block(Client, Input0, Options0) -> Method = delete, Path = ["/v20180820/configuration/publicAccessBlock"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Deletes the Amazon S3 Storage Lens configuration. For more information %% about S3 Storage Lens, see Assessing your storage activity and usage with %% Amazon S3 Storage Lens in the Amazon S3 User Guide. %% %% To use this action, you must have permission to perform the %% `s3:DeleteStorageLensConfiguration' action. For more information, see %% Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User %% Guide. delete_storage_lens_configuration(Client, ConfigId, Input) -> delete_storage_lens_configuration(Client, ConfigId, Input, []). delete_storage_lens_configuration(Client, ConfigId, Input0, Options0) -> Method = delete, Path = ["/v20180820/storagelens/", aws_util:encode_uri(ConfigId), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Deletes the Amazon S3 Storage Lens configuration tags. For more %% information about S3 Storage Lens, see Assessing your storage activity and %% usage with Amazon S3 Storage Lens in the Amazon S3 User Guide. %% %% To use this action, you must have permission to perform the %% `s3:DeleteStorageLensConfigurationTagging' action. For more %% information, see Setting permissions to use Amazon S3 Storage Lens in the %% Amazon S3 User Guide. delete_storage_lens_configuration_tagging(Client, ConfigId, Input) -> delete_storage_lens_configuration_tagging(Client, ConfigId, Input, []). delete_storage_lens_configuration_tagging(Client, ConfigId, Input0, Options0) -> Method = delete, Path = ["/v20180820/storagelens/", aws_util:encode_uri(ConfigId), "/tagging"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Deletes an existing S3 Storage Lens group. %% %% To use this operation, you must have the permission to perform the %% `s3:DeleteStorageLensGroup' action. For more information about the %% required Storage Lens Groups permissions, see Setting account permissions %% to use S3 Storage Lens groups. %% %% For information about Storage Lens groups errors, see List of Amazon S3 %% Storage Lens error codes. delete_storage_lens_group(Client, Name, Input) -> delete_storage_lens_group(Client, Name, Input, []). delete_storage_lens_group(Client, Name, Input0, Options0) -> Method = delete, Path = ["/v20180820/storagelensgroup/", aws_util:encode_uri(Name), ""], SuccessStatusCode = 204, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Retrieves the configuration parameters and status for a Batch %% Operations job. %% %% For more information, see S3 Batch Operations in the Amazon S3 User Guide. %% %%
Permissions
To use the `DescribeJob' operation, you %% must have permission to perform the `s3:DescribeJob' action. %% %%
Related actions include: %% %% describe_job(Client, JobId, AccountId) when is_map(Client) -> describe_job(Client, JobId, AccountId, #{}, #{}). describe_job(Client, JobId, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> describe_job(Client, JobId, AccountId, QueryMap, HeadersMap, []). describe_job(Client, JobId, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/jobs/", aws_util:encode_uri(JobId), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Retrieves the status of an asynchronous request to manage a Multi-Region %% Access Point. For more information about managing Multi-Region Access %% Points and how asynchronous requests work, see Managing Multi-Region %% Access Points in the Amazon S3 User Guide. %% %% The following actions are related to `GetMultiRegionAccessPoint': %% %% describe_multi_region_access_point_operation(Client, RequestTokenARN, AccountId) when is_map(Client) -> describe_multi_region_access_point_operation(Client, RequestTokenARN, AccountId, #{}, #{}). describe_multi_region_access_point_operation(Client, RequestTokenARN, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> describe_multi_region_access_point_operation(Client, RequestTokenARN, AccountId, QueryMap, HeadersMap, []). describe_multi_region_access_point_operation(Client, RequestTokenARN, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/async-requests/mrap/", aws_util:encode_multi_segment_uri(RequestTokenARN), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Dissociates the Amazon Web Services IAM Identity Center instance from %% the S3 Access Grants instance. %% %%
Permissions
You must have the %% `s3:DissociateAccessGrantsIdentityCenter' permission to use this %% operation. %% %%
Additional Permissions
You must have the %% `sso:DeleteApplication' permission to use this operation. %% %%
dissociate_access_grants_identity_center(Client, Input) -> dissociate_access_grants_identity_center(Client, Input, []). dissociate_access_grants_identity_center(Client, Input0, Options0) -> Method = delete, Path = ["/v20180820/accessgrantsinstance/identitycenter"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Get the details of an access grant from your S3 Access Grants %% instance. %% %%
Permissions
You must have the `s3:GetAccessGrant' %% permission to use this operation. %% %%
get_access_grant(Client, AccessGrantId, AccountId) when is_map(Client) -> get_access_grant(Client, AccessGrantId, AccountId, #{}, #{}). get_access_grant(Client, AccessGrantId, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_grant(Client, AccessGrantId, AccountId, QueryMap, HeadersMap, []). get_access_grant(Client, AccessGrantId, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accessgrantsinstance/grant/", aws_util:encode_uri(AccessGrantId), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Retrieves the S3 Access Grants instance for a Region in your account. %% %%
Permissions
You must have the %% `s3:GetAccessGrantsInstance' permission to use this operation. %% %%
get_access_grants_instance(Client, AccountId) when is_map(Client) -> get_access_grants_instance(Client, AccountId, #{}, #{}). get_access_grants_instance(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_grants_instance(Client, AccountId, QueryMap, HeadersMap, []). get_access_grants_instance(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accessgrantsinstance"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Retrieve the S3 Access Grants instance that contains a particular %% prefix. %% %%
Permissions
You must have the %% `s3:GetAccessGrantsInstanceForPrefix' permission for the caller %% account to use this operation. %% %%
Additional Permissions
The prefix owner account must %% grant you the following permissions to their S3 Access Grants instance: %% `s3:GetAccessGrantsInstanceForPrefix'. %% %%
get_access_grants_instance_for_prefix(Client, S3Prefix, AccountId) when is_map(Client) -> get_access_grants_instance_for_prefix(Client, S3Prefix, AccountId, #{}, #{}). get_access_grants_instance_for_prefix(Client, S3Prefix, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_grants_instance_for_prefix(Client, S3Prefix, AccountId, QueryMap, HeadersMap, []). get_access_grants_instance_for_prefix(Client, S3Prefix, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accessgrantsinstance/prefix"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"s3prefix">>, S3Prefix} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Returns the resource policy of the S3 Access Grants instance. %% %%
Permissions
You must have the %% `s3:GetAccessGrantsInstanceResourcePolicy' permission to use this %% operation. %% %%
get_access_grants_instance_resource_policy(Client, AccountId) when is_map(Client) -> get_access_grants_instance_resource_policy(Client, AccountId, #{}, #{}). get_access_grants_instance_resource_policy(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_grants_instance_resource_policy(Client, AccountId, QueryMap, HeadersMap, []). get_access_grants_instance_resource_policy(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accessgrantsinstance/resourcepolicy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Retrieves the details of a particular location registered in your S3 %% Access Grants instance. %% %%
Permissions
You must have the %% `s3:GetAccessGrantsLocation' permission to use this operation. %% %%
get_access_grants_location(Client, AccessGrantsLocationId, AccountId) when is_map(Client) -> get_access_grants_location(Client, AccessGrantsLocationId, AccountId, #{}, #{}). get_access_grants_location(Client, AccessGrantsLocationId, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_grants_location(Client, AccessGrantsLocationId, AccountId, QueryMap, HeadersMap, []). get_access_grants_location(Client, AccessGrantsLocationId, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accessgrantsinstance/location/", aws_util:encode_uri(AccessGrantsLocationId), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns configuration information about the specified access point. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `GetAccessPoint': %% %% get_access_point(Client, Name, AccountId) when is_map(Client) -> get_access_point(Client, Name, AccountId, #{}, #{}). get_access_point(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_point(Client, Name, AccountId, QueryMap, HeadersMap, []). get_access_point(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accesspoint/", aws_util:encode_uri(Name), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns configuration for an Object Lambda Access Point. %% %% The following actions are related to %% `GetAccessPointConfigurationForObjectLambda': %% %% get_access_point_configuration_for_object_lambda(Client, Name, AccountId) when is_map(Client) -> get_access_point_configuration_for_object_lambda(Client, Name, AccountId, #{}, #{}). get_access_point_configuration_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_point_configuration_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap, []). get_access_point_configuration_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accesspointforobjectlambda/", aws_util:encode_uri(Name), "/configuration"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns configuration information about the specified Object Lambda Access %% Point %% %% The following actions are related to `GetAccessPointForObjectLambda': %% %% get_access_point_for_object_lambda(Client, Name, AccountId) when is_map(Client) -> get_access_point_for_object_lambda(Client, Name, AccountId, #{}, #{}). get_access_point_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_point_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap, []). get_access_point_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accesspointforobjectlambda/", aws_util:encode_uri(Name), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns the access point policy associated with the specified access %% point. %% %% The following actions are related to `GetAccessPointPolicy': %% %% get_access_point_policy(Client, Name, AccountId) when is_map(Client) -> get_access_point_policy(Client, Name, AccountId, #{}, #{}). get_access_point_policy(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_point_policy(Client, Name, AccountId, QueryMap, HeadersMap, []). get_access_point_policy(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accesspoint/", aws_util:encode_uri(Name), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns the resource policy for an Object Lambda Access Point. %% %% The following actions are related to %% `GetAccessPointPolicyForObjectLambda': %% %% get_access_point_policy_for_object_lambda(Client, Name, AccountId) when is_map(Client) -> get_access_point_policy_for_object_lambda(Client, Name, AccountId, #{}, #{}). get_access_point_policy_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_point_policy_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap, []). get_access_point_policy_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accesspointforobjectlambda/", aws_util:encode_uri(Name), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Indicates whether the specified access point currently has a policy that %% allows public access. For more information about public access through %% access points, see Managing Data Access with Amazon S3 access points in %% the Amazon S3 User Guide. get_access_point_policy_status(Client, Name, AccountId) when is_map(Client) -> get_access_point_policy_status(Client, Name, AccountId, #{}, #{}). get_access_point_policy_status(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_point_policy_status(Client, Name, AccountId, QueryMap, HeadersMap, []). get_access_point_policy_status(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accesspoint/", aws_util:encode_uri(Name), "/policyStatus"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns the status of the resource policy associated with an Object Lambda %% Access Point. get_access_point_policy_status_for_object_lambda(Client, Name, AccountId) when is_map(Client) -> get_access_point_policy_status_for_object_lambda(Client, Name, AccountId, #{}, #{}). get_access_point_policy_status_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_access_point_policy_status_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap, []). get_access_point_policy_status_for_object_lambda(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accesspointforobjectlambda/", aws_util:encode_uri(Name), "/policyStatus"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Gets an Amazon S3 on Outposts bucket. %% %% For more information, see Using Amazon S3 on Outposts in the Amazon S3 %% User Guide. %% %% If you are using an identity other than the root user of the Amazon Web %% Services account that owns the Outposts bucket, the calling identity must %% have the `s3-outposts:GetBucket' permissions on the specified Outposts %% bucket and belong to the Outposts bucket owner's account in order to %% use this action. Only users from Outposts bucket owner account with the %% right permissions can perform actions on an Outposts bucket. %% %% If you don't have `s3-outposts:GetBucket' permissions or %% you're not using an identity that belongs to the bucket owner's %% account, Amazon S3 returns a `403 Access Denied' error. %% %% The following actions are related to `GetBucket' for Amazon S3 on %% Outposts: %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% get_bucket(Client, Bucket, AccountId) when is_map(Client) -> get_bucket(Client, Bucket, AccountId, #{}, #{}). get_bucket(Client, Bucket, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_bucket(Client, Bucket, AccountId, QueryMap, HeadersMap, []). get_bucket(Client, Bucket, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This action gets an Amazon S3 on Outposts bucket's lifecycle %% configuration. %% %% To get an S3 bucket's lifecycle configuration, see %% GetBucketLifecycleConfiguration in the Amazon S3 API Reference. %% %% Returns the lifecycle configuration information set on the Outposts %% bucket. For more information, see Using Amazon S3 on Outposts and for %% information about lifecycle configuration, see Object Lifecycle Management %% in Amazon S3 User Guide. %% %% To use this action, you must have permission to perform the %% `s3-outposts:GetLifecycleConfiguration' action. The Outposts bucket %% owner has this permission, by default. The bucket owner can grant this %% permission to others. For more information about permissions, see %% Permissions Related to Bucket Subresource Operations and Managing Access %% Permissions to Your Amazon S3 Resources. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% `GetBucketLifecycleConfiguration' has the following special error: %% %% The following actions are related to %% `GetBucketLifecycleConfiguration': %% %% get_bucket_lifecycle_configuration(Client, Bucket, AccountId) when is_map(Client) -> get_bucket_lifecycle_configuration(Client, Bucket, AccountId, #{}, #{}). get_bucket_lifecycle_configuration(Client, Bucket, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_bucket_lifecycle_configuration(Client, Bucket, AccountId, QueryMap, HeadersMap, []). get_bucket_lifecycle_configuration(Client, Bucket, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/lifecycleconfiguration"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This action gets a bucket policy for an Amazon S3 on Outposts bucket. %% %% To get a policy for an S3 bucket, see GetBucketPolicy in the Amazon S3 API %% Reference. %% %% Returns the policy of a specified Outposts bucket. For more information, %% see Using Amazon S3 on Outposts in the Amazon S3 User Guide. %% %% If you are using an identity other than the root user of the Amazon Web %% Services account that owns the bucket, the calling identity must have the %% `GetBucketPolicy' permissions on the specified bucket and belong to %% the bucket owner's account in order to use this action. %% %% Only users from Outposts bucket owner account with the right permissions %% can perform actions on an Outposts bucket. If you don't have %% `s3-outposts:GetBucketPolicy' permissions or you're not using an %% identity that belongs to the bucket owner's account, Amazon S3 returns %% a `403 Access Denied' error. %% %% As a security precaution, the root user of the Amazon Web Services account %% that owns a bucket can always use this action, even if the policy %% explicitly denies the root user the ability to perform this action. %% %% For more information about bucket policies, see Using Bucket Policies and %% User Policies. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `GetBucketPolicy': %% %% get_bucket_policy(Client, Bucket, AccountId) when is_map(Client) -> get_bucket_policy(Client, Bucket, AccountId, #{}, #{}). get_bucket_policy(Client, Bucket, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_bucket_policy(Client, Bucket, AccountId, QueryMap, HeadersMap, []). get_bucket_policy(Client, Bucket, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation gets an Amazon S3 on Outposts bucket's replication %% configuration. %% %% To get an S3 bucket's replication configuration, see %% GetBucketReplication in the Amazon S3 API Reference. %% %% Returns the replication configuration of an S3 on Outposts bucket. For %% more information about S3 on Outposts, see Using Amazon S3 on Outposts in %% the Amazon S3 User Guide. For information about S3 replication on Outposts %% configuration, see Replicating objects for S3 on Outposts in the Amazon S3 %% User Guide. %% %% It can take a while to propagate `PUT' or `DELETE' requests for a %% replication configuration to all S3 on Outposts systems. Therefore, the %% replication configuration that's returned by a `GET' request soon %% after a `PUT' or `DELETE' request might return a more recent %% result than what's on the Outpost. If an Outpost is offline, the delay %% in updating the replication configuration on that Outpost can be %% significant. %% %% This action requires permissions for the %% `s3-outposts:GetReplicationConfiguration' action. The Outposts bucket %% owner has this permission by default and can grant it to others. For more %% information about permissions, see Setting up IAM with S3 on Outposts and %% Managing access to S3 on Outposts bucket in the Amazon S3 User Guide. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% If you include the `Filter' element in a replication configuration, %% you must also include the `DeleteMarkerReplication', `Status', and %% `Priority' elements. The response also returns those elements. %% %% For information about S3 on Outposts replication failure reasons, see %% Replication failure reasons in the Amazon S3 User Guide. %% %% The following operations are related to `GetBucketReplication': %% %% get_bucket_replication(Client, Bucket, AccountId) when is_map(Client) -> get_bucket_replication(Client, Bucket, AccountId, #{}, #{}). get_bucket_replication(Client, Bucket, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_bucket_replication(Client, Bucket, AccountId, QueryMap, HeadersMap, []). get_bucket_replication(Client, Bucket, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/replication"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This action gets an Amazon S3 on Outposts bucket's tags. %% %% To get an S3 bucket tags, see GetBucketTagging in the Amazon S3 API %% Reference. %% %% Returns the tag set associated with the Outposts bucket. For more %% information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. %% %% To use this action, you must have permission to perform the %% `GetBucketTagging' action. By default, the bucket owner has this %% permission and can grant this permission to others. %% %% `GetBucketTagging' has the following special error: %% %% All Amazon S3 on Outposts REST API requests for %% this action require an additional parameter of `x-amz-outpost-id' to %% be passed with the request. In addition, you must use an S3 on Outposts %% endpoint hostname prefix instead of `s3-control'. For an example of %% the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts %% endpoint hostname prefix and the `x-amz-outpost-id' derived by using %% the access point ARN, see the Examples section. %% %% The following actions are related to `GetBucketTagging': %% %% get_bucket_tagging(Client, Bucket, AccountId) when is_map(Client) -> get_bucket_tagging(Client, Bucket, AccountId, #{}, #{}). get_bucket_tagging(Client, Bucket, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_bucket_tagging(Client, Bucket, AccountId, QueryMap, HeadersMap, []). get_bucket_tagging(Client, Bucket, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/tagging"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation returns the versioning state for S3 on Outposts %% buckets only. %% %% To return the versioning state for an S3 bucket, see GetBucketVersioning %% in the Amazon S3 API Reference. %% %% Returns the versioning state for an S3 on Outposts bucket. With S3 %% Versioning, you can save multiple distinct copies of your objects and %% recover from unintended user actions and application failures. %% %% If you've never set versioning on your bucket, it has no versioning %% state. In that case, the `GetBucketVersioning' request does not return %% a versioning state value. %% %% For more information about versioning, see Versioning in the Amazon S3 %% User Guide. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following operations are related to `GetBucketVersioning' for S3 %% on Outposts. %% %% get_bucket_versioning(Client, Bucket, AccountId) when is_map(Client) -> get_bucket_versioning(Client, Bucket, AccountId, #{}, #{}). get_bucket_versioning(Client, Bucket, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_bucket_versioning(Client, Bucket, AccountId, QueryMap, HeadersMap, []). get_bucket_versioning(Client, Bucket, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/versioning"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Returns a temporary access credential from S3 Access Grants to the %% grantee or client application. %% %% The temporary credential is an Amazon Web Services STS token that grants %% them access to the S3 data. %% %%
Permissions
You must have the `s3:GetDataAccess' %% permission to use this operation. %% %%
Additional Permissions
The IAM role that S3 Access %% Grants assumes must have the following permissions specified in the trust %% policy when registering the location: `sts:AssumeRole', for directory %% users or groups `sts:SetContext', and for IAM users or roles %% `sts:SourceIdentity'. %% %%
get_data_access(Client, Permission, Target, AccountId) when is_map(Client) -> get_data_access(Client, Permission, Target, AccountId, #{}, #{}). get_data_access(Client, Permission, Target, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_data_access(Client, Permission, Target, AccountId, QueryMap, HeadersMap, []). get_data_access(Client, Permission, Target, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accessgrantsinstance/dataaccess"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"durationSeconds">>, maps:get(<<"durationSeconds">>, QueryMap, undefined)}, {<<"permission">>, Permission}, {<<"privilege">>, maps:get(<<"privilege">>, QueryMap, undefined)}, {<<"target">>, Target}, {<<"targetType">>, maps:get(<<"targetType">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Returns the tags on an S3 Batch Operations job. %% %%
Permissions
To use the `GetJobTagging' operation, %% you must have permission to perform the `s3:GetJobTagging' action. For %% more information, see Controlling access and labeling jobs using tags in %% the Amazon S3 User Guide. %% %%
Related actions include: %% %% get_job_tagging(Client, JobId, AccountId) when is_map(Client) -> get_job_tagging(Client, JobId, AccountId, #{}, #{}). get_job_tagging(Client, JobId, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_job_tagging(Client, JobId, AccountId, QueryMap, HeadersMap, []). get_job_tagging(Client, JobId, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/jobs/", aws_util:encode_uri(JobId), "/tagging"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns configuration information about the specified Multi-Region Access %% Point. %% %% This action will always be routed to the US West (Oregon) Region. For more %% information about the restrictions around managing Multi-Region Access %% Points, see Managing Multi-Region Access Points in the Amazon S3 User %% Guide. %% %% The following actions are related to `GetMultiRegionAccessPoint': %% %% get_multi_region_access_point(Client, Name, AccountId) when is_map(Client) -> get_multi_region_access_point(Client, Name, AccountId, #{}, #{}). get_multi_region_access_point(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_multi_region_access_point(Client, Name, AccountId, QueryMap, HeadersMap, []). get_multi_region_access_point(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/mrap/instances/", aws_util:encode_multi_segment_uri(Name), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns the access control policy of the specified Multi-Region Access %% Point. %% %% This action will always be routed to the US West (Oregon) Region. For more %% information about the restrictions around managing Multi-Region Access %% Points, see Managing Multi-Region Access Points in the Amazon S3 User %% Guide. %% %% The following actions are related to %% `GetMultiRegionAccessPointPolicy': %% %% get_multi_region_access_point_policy(Client, Name, AccountId) when is_map(Client) -> get_multi_region_access_point_policy(Client, Name, AccountId, #{}, #{}). get_multi_region_access_point_policy(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_multi_region_access_point_policy(Client, Name, AccountId, QueryMap, HeadersMap, []). get_multi_region_access_point_policy(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/mrap/instances/", aws_util:encode_multi_segment_uri(Name), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Indicates whether the specified Multi-Region Access Point has an access %% control policy that allows public access. %% %% This action will always be routed to the US West (Oregon) Region. For more %% information about the restrictions around managing Multi-Region Access %% Points, see Managing Multi-Region Access Points in the Amazon S3 User %% Guide. %% %% The following actions are related to %% `GetMultiRegionAccessPointPolicyStatus': %% %% get_multi_region_access_point_policy_status(Client, Name, AccountId) when is_map(Client) -> get_multi_region_access_point_policy_status(Client, Name, AccountId, #{}, #{}). get_multi_region_access_point_policy_status(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_multi_region_access_point_policy_status(Client, Name, AccountId, QueryMap, HeadersMap, []). get_multi_region_access_point_policy_status(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/mrap/instances/", aws_util:encode_multi_segment_uri(Name), "/policystatus"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns the routing configuration for a Multi-Region Access Point, %% indicating which Regions are active or passive. %% %% To obtain routing control changes and failover requests, use the Amazon S3 %% failover control infrastructure endpoints in these five Amazon Web %% Services Regions: %% %% Your Amazon S3 bucket does not need to be in these five %% Regions. get_multi_region_access_point_routes(Client, Mrap, AccountId) when is_map(Client) -> get_multi_region_access_point_routes(Client, Mrap, AccountId, #{}, #{}). get_multi_region_access_point_routes(Client, Mrap, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_multi_region_access_point_routes(Client, Mrap, AccountId, QueryMap, HeadersMap, []). get_multi_region_access_point_routes(Client, Mrap, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/mrap/instances/", aws_util:encode_multi_segment_uri(Mrap), "/routes"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Retrieves the `PublicAccessBlock' configuration for an Amazon Web %% Services account. For more information, see Using Amazon S3 block public %% access. %% %% Related actions include: %% %% get_public_access_block(Client, AccountId) when is_map(Client) -> get_public_access_block(Client, AccountId, #{}, #{}). get_public_access_block(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_public_access_block(Client, AccountId, QueryMap, HeadersMap, []). get_public_access_block(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/configuration/publicAccessBlock"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Gets the Amazon S3 Storage Lens configuration. For more information, see %% Assessing your storage activity and usage with Amazon S3 Storage Lens in %% the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, %% see S3 Storage Lens metrics glossary in the Amazon S3 User Guide. %% %% To use this action, you must have permission to perform the %% `s3:GetStorageLensConfiguration' action. For more information, see %% Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User %% Guide. get_storage_lens_configuration(Client, ConfigId, AccountId) when is_map(Client) -> get_storage_lens_configuration(Client, ConfigId, AccountId, #{}, #{}). get_storage_lens_configuration(Client, ConfigId, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_storage_lens_configuration(Client, ConfigId, AccountId, QueryMap, HeadersMap, []). get_storage_lens_configuration(Client, ConfigId, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/storagelens/", aws_util:encode_uri(ConfigId), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Gets the tags of Amazon S3 Storage Lens configuration. For more %% information about S3 Storage Lens, see Assessing your storage activity and %% usage with Amazon S3 Storage Lens in the Amazon S3 User Guide. %% %% To use this action, you must have permission to perform the %% `s3:GetStorageLensConfigurationTagging' action. For more information, %% see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 %% User Guide. get_storage_lens_configuration_tagging(Client, ConfigId, AccountId) when is_map(Client) -> get_storage_lens_configuration_tagging(Client, ConfigId, AccountId, #{}, #{}). get_storage_lens_configuration_tagging(Client, ConfigId, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_storage_lens_configuration_tagging(Client, ConfigId, AccountId, QueryMap, HeadersMap, []). get_storage_lens_configuration_tagging(Client, ConfigId, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/storagelens/", aws_util:encode_uri(ConfigId), "/tagging"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Retrieves the Storage Lens group configuration details. %% %% To use this operation, you must have the permission to perform the %% `s3:GetStorageLensGroup' action. For more information about the %% required Storage Lens Groups permissions, see Setting account permissions %% to use S3 Storage Lens groups. %% %% For information about Storage Lens groups errors, see List of Amazon S3 %% Storage Lens error codes. get_storage_lens_group(Client, Name, AccountId) when is_map(Client) -> get_storage_lens_group(Client, Name, AccountId, #{}, #{}). get_storage_lens_group(Client, Name, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> get_storage_lens_group(Client, Name, AccountId, QueryMap, HeadersMap, []). get_storage_lens_group(Client, Name, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/storagelensgroup/", aws_util:encode_uri(Name), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Returns the list of access grants in your S3 Access Grants instance. %% %%
Permissions
You must have the `s3:ListAccessGrants' %% permission to use this operation. %% %%
list_access_grants(Client, AccountId) when is_map(Client) -> list_access_grants(Client, AccountId, #{}, #{}). list_access_grants(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_access_grants(Client, AccountId, QueryMap, HeadersMap, []). list_access_grants(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accessgrantsinstance/grants"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"application_arn">>, maps:get(<<"application_arn">>, QueryMap, undefined)}, {<<"grantscope">>, maps:get(<<"grantscope">>, QueryMap, undefined)}, {<<"granteeidentifier">>, maps:get(<<"granteeidentifier">>, QueryMap, undefined)}, {<<"granteetype">>, maps:get(<<"granteetype">>, QueryMap, undefined)}, {<<"maxResults">>, maps:get(<<"maxResults">>, QueryMap, undefined)}, {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)}, {<<"permission">>, maps:get(<<"permission">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Returns a list of S3 Access Grants instances. %% %% An S3 Access Grants instance serves as a logical grouping for your %% individual access grants. You can only have one S3 Access Grants instance %% per Region per account. %% %%
Permissions
You must have the %% `s3:ListAccessGrantsInstances' permission to use this operation. %% %%
list_access_grants_instances(Client, AccountId) when is_map(Client) -> list_access_grants_instances(Client, AccountId, #{}, #{}). list_access_grants_instances(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_access_grants_instances(Client, AccountId, QueryMap, HeadersMap, []). list_access_grants_instances(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accessgrantsinstances"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"maxResults">>, maps:get(<<"maxResults">>, QueryMap, undefined)}, {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Returns a list of the locations registered in your S3 Access Grants %% instance. %% %%
Permissions
You must have the %% `s3:ListAccessGrantsLocations' permission to use this operation. %% %%
list_access_grants_locations(Client, AccountId) when is_map(Client) -> list_access_grants_locations(Client, AccountId, #{}, #{}). list_access_grants_locations(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_access_grants_locations(Client, AccountId, QueryMap, HeadersMap, []). list_access_grants_locations(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accessgrantsinstance/locations"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"locationscope">>, maps:get(<<"locationscope">>, QueryMap, undefined)}, {<<"maxResults">>, maps:get(<<"maxResults">>, QueryMap, undefined)}, {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns a list of the access points that are owned by the current account %% that's associated with the specified bucket. You can retrieve up to %% 1000 access points per call. If the specified bucket has more than 1,000 %% access points (or the number specified in `maxResults', whichever is %% less), the response will include a continuation token that you can use to %% list the additional access points. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `ListAccessPoints': %% %% list_access_points(Client, AccountId) when is_map(Client) -> list_access_points(Client, AccountId, #{}, #{}). list_access_points(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_access_points(Client, AccountId, QueryMap, HeadersMap, []). list_access_points(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accesspoint"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"bucket">>, maps:get(<<"bucket">>, QueryMap, undefined)}, {<<"maxResults">>, maps:get(<<"maxResults">>, QueryMap, undefined)}, {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns some or all (up to 1,000) access points associated with the Object %% Lambda Access Point per call. If there are more access points than what %% can be returned in one call, the response will include a continuation %% token that you can use to list the additional access points. %% %% The following actions are related to %% `ListAccessPointsForObjectLambda': %% %% list_access_points_for_object_lambda(Client, AccountId) when is_map(Client) -> list_access_points_for_object_lambda(Client, AccountId, #{}, #{}). list_access_points_for_object_lambda(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_access_points_for_object_lambda(Client, AccountId, QueryMap, HeadersMap, []). list_access_points_for_object_lambda(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/accesspointforobjectlambda"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"maxResults">>, maps:get(<<"maxResults">>, QueryMap, undefined)}, {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Lists current S3 Batch Operations jobs as well as the jobs that have %% ended within the last 30 days for the Amazon Web Services account making %% the request. %% %% For more information, see S3 Batch Operations in the Amazon S3 User Guide. %% %%
Permissions
To use the `ListJobs' operation, you %% must have permission to perform the `s3:ListJobs' action. %% %%
Related actions include: %% %% list_jobs(Client, AccountId) when is_map(Client) -> list_jobs(Client, AccountId, #{}, #{}). list_jobs(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_jobs(Client, AccountId, QueryMap, HeadersMap, []). list_jobs(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/jobs"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"jobStatuses">>, maps:get(<<"jobStatuses">>, QueryMap, undefined)}, {<<"maxResults">>, maps:get(<<"maxResults">>, QueryMap, undefined)}, {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns a list of the Multi-Region Access Points currently associated with %% the specified Amazon Web Services account. Each call can return up to 100 %% Multi-Region Access Points, the maximum number of Multi-Region Access %% Points that can be associated with a single account. %% %% This action will always be routed to the US West (Oregon) Region. For more %% information about the restrictions around managing Multi-Region Access %% Points, see Managing Multi-Region Access Points in the Amazon S3 User %% Guide. %% %% The following actions are related to `ListMultiRegionAccessPoint': %% %% list_multi_region_access_points(Client, AccountId) when is_map(Client) -> list_multi_region_access_points(Client, AccountId, #{}, #{}). list_multi_region_access_points(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_multi_region_access_points(Client, AccountId, QueryMap, HeadersMap, []). list_multi_region_access_points(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/mrap/instances"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"maxResults">>, maps:get(<<"maxResults">>, QueryMap, undefined)}, {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Returns a list of all Outposts buckets in an Outpost that are owned by the %% authenticated sender of the request. For more information, see Using %% Amazon S3 on Outposts in the Amazon S3 User Guide. %% %% For an example of the request syntax for Amazon S3 on Outposts that uses %% the S3 on Outposts endpoint hostname prefix and `x-amz-outpost-id' in %% your request, see the Examples section. list_regional_buckets(Client, AccountId) when is_map(Client) -> list_regional_buckets(Client, AccountId, #{}, #{}). list_regional_buckets(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_regional_buckets(Client, AccountId, QueryMap, HeadersMap, []). list_regional_buckets(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/bucket"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId}, {<<"x-amz-outpost-id">>, maps:get(<<"x-amz-outpost-id">>, HeadersMap, undefined)} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"maxResults">>, maps:get(<<"maxResults">>, QueryMap, undefined)}, {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Gets a list of Amazon S3 Storage Lens configurations. For more information %% about S3 Storage Lens, see Assessing your storage activity and usage with %% Amazon S3 Storage Lens in the Amazon S3 User Guide. %% %% To use this action, you must have permission to perform the %% `s3:ListStorageLensConfigurations' action. For more information, see %% Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User %% Guide. list_storage_lens_configurations(Client, AccountId) when is_map(Client) -> list_storage_lens_configurations(Client, AccountId, #{}, #{}). list_storage_lens_configurations(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_storage_lens_configurations(Client, AccountId, QueryMap, HeadersMap, []). list_storage_lens_configurations(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/storagelens"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Lists all the Storage Lens groups in the specified home Region. %% %% To use this operation, you must have the permission to perform the %% `s3:ListStorageLensGroups' action. For more information about the %% required Storage Lens Groups permissions, see Setting account permissions %% to use S3 Storage Lens groups. %% %% For information about Storage Lens groups errors, see List of Amazon S3 %% Storage Lens error codes. list_storage_lens_groups(Client, AccountId) when is_map(Client) -> list_storage_lens_groups(Client, AccountId, #{}, #{}). list_storage_lens_groups(Client, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_storage_lens_groups(Client, AccountId, QueryMap, HeadersMap, []). list_storage_lens_groups(Client, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/storagelensgroup"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query0_ = [ {<<"nextToken">>, maps:get(<<"nextToken">>, QueryMap, undefined)} ], Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc This operation allows you to list all the Amazon Web Services %% resource tags for a specified resource. %% %% Each tag is a label consisting of a user-defined key and value. Tags can %% help you manage, identify, organize, search for, and filter resources. %% %%
Permissions
You must have the %% `s3:ListTagsForResource' permission to use this operation. %% %%
This operation is only supported for S3 Storage Lens groups %% and for S3 Access Grants. The tagged resource can be an S3 Storage Lens %% group or S3 Access Grants instance, registered location, or grant. %% %% For more information about the required Storage Lens Groups permissions, %% see Setting account permissions to use S3 Storage Lens groups. %% %% For information about S3 Tagging errors, see List of Amazon S3 Tagging %% error codes. list_tags_for_resource(Client, ResourceArn, AccountId) when is_map(Client) -> list_tags_for_resource(Client, ResourceArn, AccountId, #{}, #{}). list_tags_for_resource(Client, ResourceArn, AccountId, QueryMap, HeadersMap) when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> list_tags_for_resource(Client, ResourceArn, AccountId, QueryMap, HeadersMap, []). list_tags_for_resource(Client, ResourceArn, AccountId, QueryMap, HeadersMap, Options0) when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options0) -> Path = ["/v20180820/tags/", aws_util:encode_multi_segment_uri(ResourceArn), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false} | Options0], Headers0 = [ {<<"x-amz-account-id">>, AccountId} ], Headers = [H || {_, V} = H <- Headers0, V =/= undefined], Query_ = [], request(Client, get, Path, Query_, Headers, undefined, Options, SuccessStatusCode). %% @doc Updates the resource policy of the S3 Access Grants instance. %% %%
Permissions
You must have the %% `s3:PutAccessGrantsInstanceResourcePolicy' permission to use this %% operation. %% %%
put_access_grants_instance_resource_policy(Client, Input) -> put_access_grants_instance_resource_policy(Client, Input, []). put_access_grants_instance_resource_policy(Client, Input0, Options0) -> Method = put, Path = ["/v20180820/accessgrantsinstance/resourcepolicy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Replaces configuration for an Object Lambda Access Point. %% %% The following actions are related to %% `PutAccessPointConfigurationForObjectLambda': %% %% put_access_point_configuration_for_object_lambda(Client, Name, Input) -> put_access_point_configuration_for_object_lambda(Client, Name, Input, []). put_access_point_configuration_for_object_lambda(Client, Name, Input0, Options0) -> Method = put, Path = ["/v20180820/accesspointforobjectlambda/", aws_util:encode_uri(Name), "/configuration"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Associates an access policy with the specified access point. Each access %% point can have only one policy, so a request made to this API replaces any %% existing policy associated with the specified access point. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `PutAccessPointPolicy': %% %% put_access_point_policy(Client, Name, Input) -> put_access_point_policy(Client, Name, Input, []). put_access_point_policy(Client, Name, Input0, Options0) -> Method = put, Path = ["/v20180820/accesspoint/", aws_util:encode_uri(Name), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Creates or replaces resource policy for an Object Lambda Access Point. For %% an example policy, see Creating Object Lambda Access Points in the Amazon %% S3 User Guide. %% %% The following actions are related to %% `PutAccessPointPolicyForObjectLambda': %% %% put_access_point_policy_for_object_lambda(Client, Name, Input) -> put_access_point_policy_for_object_lambda(Client, Name, Input, []). put_access_point_policy_for_object_lambda(Client, Name, Input0, Options0) -> Method = put, Path = ["/v20180820/accesspointforobjectlambda/", aws_util:encode_uri(Name), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This action puts a lifecycle configuration to an Amazon S3 on %% Outposts bucket. %% %% To put a lifecycle configuration to an S3 bucket, see %% PutBucketLifecycleConfiguration in the Amazon S3 API Reference. %% %% Creates a new lifecycle configuration for the S3 on Outposts bucket or %% replaces an existing lifecycle configuration. Outposts buckets only %% support lifecycle configurations that delete/expire objects after a %% certain period of time and abort incomplete multipart uploads. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to %% `PutBucketLifecycleConfiguration': %% %% put_bucket_lifecycle_configuration(Client, Bucket, Input) -> put_bucket_lifecycle_configuration(Client, Bucket, Input, []). put_bucket_lifecycle_configuration(Client, Bucket, Input0, Options0) -> Method = put, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/lifecycleconfiguration"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This action puts a bucket policy to an Amazon S3 on Outposts bucket. %% %% To put a policy on an S3 bucket, see PutBucketPolicy in the Amazon S3 API %% Reference. %% %% Applies an Amazon S3 bucket policy to an Outposts bucket. For more %% information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. %% %% If you are using an identity other than the root user of the Amazon Web %% Services account that owns the Outposts bucket, the calling identity must %% have the `PutBucketPolicy' permissions on the specified Outposts %% bucket and belong to the bucket owner's account in order to use this %% action. %% %% If you don't have `PutBucketPolicy' permissions, Amazon S3 returns %% a `403 Access Denied' error. If you have the correct permissions, but %% you're not using an identity that belongs to the bucket owner's %% account, Amazon S3 returns a `405 Method Not Allowed' error. %% %% As a security precaution, the root user of the Amazon Web Services account %% that owns a bucket can always use this action, even if the policy %% explicitly denies the root user the ability to perform this action. %% %% For more information about bucket policies, see Using Bucket Policies and %% User Policies. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following actions are related to `PutBucketPolicy': %% %% put_bucket_policy(Client, Bucket, Input) -> put_bucket_policy(Client, Bucket, Input, []). put_bucket_policy(Client, Bucket, Input0, Options0) -> Method = put, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>}, {<<"x-amz-confirm-remove-self-bucket-access">>, <<"ConfirmRemoveSelfBucketAccess">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This action creates an Amazon S3 on Outposts bucket's replication %% configuration. %% %% To create an S3 bucket's replication configuration, see %% PutBucketReplication in the Amazon S3 API Reference. %% %% Creates a replication configuration or replaces an existing one. For %% information about S3 replication on Outposts configuration, see %% Replicating objects for S3 on Outposts in the Amazon S3 User Guide. %% %% It can take a while to propagate `PUT' or `DELETE' requests for a %% replication configuration to all S3 on Outposts systems. Therefore, the %% replication configuration that's returned by a `GET' request soon %% after a `PUT' or `DELETE' request might return a more recent %% result than what's on the Outpost. If an Outpost is offline, the delay %% in updating the replication configuration on that Outpost can be %% significant. %% %% Specify the replication configuration in the request body. In the %% replication configuration, you provide the following information: %% %% A replication configuration must include at least one rule and %% can contain a maximum of 100. Each rule identifies a subset of objects to %% replicate by filtering the objects in the source Outposts bucket. To %% choose additional subsets of objects to replicate, add a rule for each %% subset. %% %% To specify a subset of the objects in the source Outposts bucket to apply %% a replication rule to, add the `Filter' element as a child of the %% `Rule' element. You can filter objects based on an object key prefix, %% one or more object tags, or both. When you add the `Filter' element in %% the configuration, you must also add the following elements: %% `DeleteMarkerReplication', `Status', and `Priority'. %% %% Using `PutBucketReplication' on Outposts requires that both the source %% and destination buckets must have versioning enabled. For information %% about enabling versioning on a bucket, see Managing S3 Versioning for your %% S3 on Outposts bucket. %% %% For information about S3 on Outposts replication failure reasons, see %% Replication failure reasons in the Amazon S3 User Guide. %% %% Handling Replication of Encrypted Objects %% %% Outposts buckets are encrypted at all times. All the objects in the source %% Outposts bucket are encrypted and can be replicated. Also, all the %% replicas in the destination Outposts bucket are encrypted with the same %% encryption key as the objects in the source Outposts bucket. %% %% Permissions %% %% To create a `PutBucketReplication' request, you must have %% `s3-outposts:PutReplicationConfiguration' permissions for the bucket. %% The Outposts bucket owner has this permission by default and can grant it %% to others. For more information about permissions, see Setting up IAM with %% S3 on Outposts and Managing access to S3 on Outposts buckets. %% %% To perform this operation, the user or role must also have the %% `iam:CreateRole' and `iam:PassRole' permissions. For more %% information, see Granting a user permissions to pass a role to an Amazon %% Web Services service. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following operations are related to `PutBucketReplication': %% %% put_bucket_replication(Client, Bucket, Input) -> put_bucket_replication(Client, Bucket, Input, []). put_bucket_replication(Client, Bucket, Input0, Options0) -> Method = put, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/replication"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This action puts tags on an Amazon S3 on Outposts bucket. %% %% To put tags on an S3 bucket, see PutBucketTagging in the Amazon S3 API %% Reference. %% %% Sets the tags for an S3 on Outposts bucket. For more information, see %% Using Amazon S3 on Outposts in the Amazon S3 User Guide. %% %% Use tags to organize your Amazon Web Services bill to reflect your own %% cost structure. To do this, sign up to get your Amazon Web Services %% account bill with tag key values included. Then, to see the cost of %% combined resources, organize your billing information according to %% resources with the same tag key values. For example, you can tag several %% resources with a specific application name, and then organize your billing %% information to see the total cost of that application across several %% services. For more information, see Cost allocation and tagging. %% %% Within a bucket, if you add a tag that has the same key as an existing %% tag, the new value overwrites the old value. For more information, see %% Using cost allocation in Amazon S3 bucket tags. %% %% To use this action, you must have permissions to perform the %% `s3-outposts:PutBucketTagging' action. The Outposts bucket owner has %% this permission by default and can grant this permission to others. For %% more information about permissions, see Permissions Related to Bucket %% Subresource Operations and Managing access permissions to your Amazon S3 %% resources. %% %% `PutBucketTagging' has the following special errors: %% %% All Amazon S3 on Outposts REST API requests for %% this action require an additional parameter of `x-amz-outpost-id' to %% be passed with the request. In addition, you must use an S3 on Outposts %% endpoint hostname prefix instead of `s3-control'. For an example of %% the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts %% endpoint hostname prefix and the `x-amz-outpost-id' derived by using %% the access point ARN, see the Examples section. %% %% The following actions are related to `PutBucketTagging': %% %% put_bucket_tagging(Client, Bucket, Input) -> put_bucket_tagging(Client, Bucket, Input, []). put_bucket_tagging(Client, Bucket, Input0, Options0) -> Method = put, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/tagging"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, true} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation sets the versioning state for S3 on Outposts buckets %% only. %% %% To set the versioning state for an S3 bucket, see PutBucketVersioning in %% the Amazon S3 API Reference. %% %% Sets the versioning state for an S3 on Outposts bucket. With S3 %% Versioning, you can save multiple distinct copies of your objects and %% recover from unintended user actions and application failures. %% %% You can set the versioning state to one of the following: %% %% If you've never set versioning on your bucket, it has no %% versioning state. In that case, a GetBucketVersioning request does not %% return a versioning state value. %% %% When you enable S3 Versioning, for each object in your bucket, you have a %% current version and zero or more noncurrent versions. You can configure %% your bucket S3 Lifecycle rules to expire noncurrent versions after a %% specified time period. For more information, see Creating and managing a %% lifecycle configuration for your S3 on Outposts bucket in the Amazon S3 %% User Guide. %% %% If you have an object expiration lifecycle configuration in your %% non-versioned bucket and you want to maintain the same permanent delete %% behavior when you enable versioning, you must add a noncurrent expiration %% policy. The noncurrent expiration lifecycle configuration will manage the %% deletes of the noncurrent object versions in the version-enabled bucket. %% For more information, see Versioning in the Amazon S3 User Guide. %% %% All Amazon S3 on Outposts REST API requests for this action require an %% additional parameter of `x-amz-outpost-id' to be passed with the %% request. In addition, you must use an S3 on Outposts endpoint hostname %% prefix instead of `s3-control'. For an example of the request syntax %% for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname %% prefix and the `x-amz-outpost-id' derived by using the access point %% ARN, see the Examples section. %% %% The following operations are related to `PutBucketVersioning' for S3 %% on Outposts. %% %% put_bucket_versioning(Client, Bucket, Input) -> put_bucket_versioning(Client, Bucket, Input, []). put_bucket_versioning(Client, Bucket, Input0, Options0) -> Method = put, Path = ["/v20180820/bucket/", aws_util:encode_uri(Bucket), "/versioning"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>}, {<<"x-amz-mfa">>, <<"MFA">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Sets the supplied tag-set on an S3 Batch Operations job. %% %% A tag is a key-value pair. You can associate S3 Batch Operations tags with %% any job by sending a PUT request against the tagging subresource that is %% associated with the job. To modify the existing tag set, you can either %% replace the existing tag set entirely, or make changes within the existing %% tag set by retrieving the existing tag set using GetJobTagging, modify %% that tag set, and use this operation to replace the tag set with the one %% you modified. For more information, see Controlling access and labeling %% jobs using tags in the Amazon S3 User Guide. %% %% If you send this request with an empty tag set, Amazon S3 deletes the %% existing tag set on the Batch Operations job. If you use this method, you %% are charged for a Tier 1 Request (PUT). For more information, see Amazon %% S3 pricing. %% %% For deleting existing tags for your Batch Operations job, a %% DeleteJobTagging request is preferred because it achieves the same result %% without incurring charges. %% %% A few things to consider about using tags: %% %% Amazon S3 limits the maximum number of tags to 50 tags per job. %% %% You can associate up to 50 tags with a job as long as they have unique tag %% keys. %% %% A tag key can be up to 128 Unicode characters in length, and tag values %% can be up to 256 Unicode characters in length. %% %% The key and values are case sensitive. %% %% For tagging-related restrictions related to characters and encodings, see %% User-Defined Tag Restrictions in the Billing and Cost Management User %% Guide. %% %%
Permissions
To use the `PutJobTagging' operation, %% you must have permission to perform the `s3:PutJobTagging' action. %% %%
Related actions include: %% %% put_job_tagging(Client, JobId, Input) -> put_job_tagging(Client, JobId, Input, []). put_job_tagging(Client, JobId, Input0, Options0) -> Method = put, Path = ["/v20180820/jobs/", aws_util:encode_uri(JobId), "/tagging"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Associates an access control policy with the specified Multi-Region Access %% Point. Each Multi-Region Access Point can have only one policy, so a %% request made to this action replaces any existing policy that is %% associated with the specified Multi-Region Access Point. %% %% This action will always be routed to the US West (Oregon) Region. For more %% information about the restrictions around managing Multi-Region Access %% Points, see Managing Multi-Region Access Points in the Amazon S3 User %% Guide. %% %% The following actions are related to %% `PutMultiRegionAccessPointPolicy': %% %% put_multi_region_access_point_policy(Client, Input) -> put_multi_region_access_point_policy(Client, Input, []). put_multi_region_access_point_policy(Client, Input0, Options0) -> Method = post, Path = ["/v20180820/async-requests/mrap/put-policy"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Creates or modifies the `PublicAccessBlock' configuration for an %% Amazon Web Services account. For this operation, users must have the %% `s3:PutAccountPublicAccessBlock' permission. For more information, see %% Using Amazon S3 block public access. %% %% Related actions include: %% %% put_public_access_block(Client, Input) -> put_public_access_block(Client, Input, []). put_public_access_block(Client, Input0, Options0) -> Method = put, Path = ["/v20180820/configuration/publicAccessBlock"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Puts an Amazon S3 Storage Lens configuration. For more information about %% S3 Storage Lens, see Working with Amazon S3 Storage Lens in the Amazon S3 %% User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage %% Lens metrics glossary in the Amazon S3 User Guide. %% %% To use this action, you must have permission to perform the %% `s3:PutStorageLensConfiguration' action. For more information, see %% Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User %% Guide. put_storage_lens_configuration(Client, ConfigId, Input) -> put_storage_lens_configuration(Client, ConfigId, Input, []). put_storage_lens_configuration(Client, ConfigId, Input0, Options0) -> Method = put, Path = ["/v20180820/storagelens/", aws_util:encode_uri(ConfigId), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Put or replace tags on an existing Amazon S3 Storage Lens configuration. %% For more information about S3 Storage Lens, see Assessing your storage %% activity and usage with Amazon S3 Storage Lens in the Amazon S3 User %% Guide. %% %% To use this action, you must have permission to perform the %% `s3:PutStorageLensConfigurationTagging' action. For more information, %% see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 %% User Guide. put_storage_lens_configuration_tagging(Client, ConfigId, Input) -> put_storage_lens_configuration_tagging(Client, ConfigId, Input, []). put_storage_lens_configuration_tagging(Client, ConfigId, Input0, Options0) -> Method = put, Path = ["/v20180820/storagelens/", aws_util:encode_uri(ConfigId), "/tagging"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation is not supported by directory buckets. %% %% Submits an updated route configuration for a Multi-Region Access Point. %% This API operation updates the routing status for the specified Regions %% from active to passive, or from passive to active. A value of `0' %% indicates a passive status, which means that traffic won't be routed %% to the specified Region. A value of `100' indicates an active status, %% which means that traffic will be routed to the specified Region. At least %% one Region must be active at all times. %% %% When the routing configuration is changed, any in-progress operations %% (uploads, copies, deletes, and so on) to formerly active Regions will %% continue to run to their final completion state (success or failure). The %% routing configurations of any Regions that aren’t specified remain %% unchanged. %% %% Updated routing configurations might not be immediately applied. It can %% take up to 2 minutes for your changes to take effect. %% %% To submit routing control changes and failover requests, use the Amazon S3 %% failover control infrastructure endpoints in these five Amazon Web %% Services Regions: %% %% Your Amazon S3 bucket does not need to be in these five %% Regions. submit_multi_region_access_point_routes(Client, Mrap, Input) -> submit_multi_region_access_point_routes(Client, Mrap, Input, []). submit_multi_region_access_point_routes(Client, Mrap, Input0, Options0) -> Method = patch, Path = ["/v20180820/mrap/instances/", aws_util:encode_multi_segment_uri(Mrap), "/routes"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Creates a new Amazon Web Services resource tag or updates an existing %% resource tag. %% %% Each tag is a label consisting of a user-defined key and value. Tags can %% help you manage, identify, organize, search for, and filter resources. You %% can add up to 50 Amazon Web Services resource tags for each S3 resource. %% %% This operation is only supported for S3 Storage Lens groups and for S3 %% Access Grants. The tagged resource can be an S3 Storage Lens group or S3 %% Access Grants instance, registered location, or grant. %% %%
Permissions
You must have the `s3:TagResource' %% permission to use this operation. %% %%
For more information about the required Storage Lens Groups %% permissions, see Setting account permissions to use S3 Storage Lens %% groups. %% %% For information about S3 Tagging errors, see List of Amazon S3 Tagging %% error codes. tag_resource(Client, ResourceArn, Input) -> tag_resource(Client, ResourceArn, Input, []). tag_resource(Client, ResourceArn, Input0, Options0) -> Method = post, Path = ["/v20180820/tags/", aws_util:encode_multi_segment_uri(ResourceArn), ""], SuccessStatusCode = 204, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc This operation removes the specified Amazon Web Services resource %% tags from an S3 resource. %% %% Each tag is a label consisting of a user-defined key and value. Tags can %% help you manage, identify, organize, search for, and filter resources. %% %% This operation is only supported for S3 Storage Lens groups and for S3 %% Access Grants. The tagged resource can be an S3 Storage Lens group or S3 %% Access Grants instance, registered location, or grant. %% %%
Permissions
You must have the `s3:UntagResource' %% permission to use this operation. %% %%
For more information about the required Storage Lens Groups %% permissions, see Setting account permissions to use S3 Storage Lens %% groups. %% %% For information about S3 Tagging errors, see List of Amazon S3 Tagging %% error codes. untag_resource(Client, ResourceArn, Input) -> untag_resource(Client, ResourceArn, Input, []). untag_resource(Client, ResourceArn, Input0, Options0) -> Method = delete, Path = ["/v20180820/tags/", aws_util:encode_multi_segment_uri(ResourceArn), ""], SuccessStatusCode = 204, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, QueryMapping = [ {<<"tagKeys">>, <<"TagKeys">>} ], {Query_, Input} = aws_request:build_headers(QueryMapping, Input2), request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Updates the IAM role of a registered location in your S3 Access %% Grants instance. %% %%
Permissions
You must have the %% `s3:UpdateAccessGrantsLocation' permission to use this operation. %% %%
Additional Permissions
You must also have the %% following permission: `iam:PassRole' %% %%
update_access_grants_location(Client, AccessGrantsLocationId, Input) -> update_access_grants_location(Client, AccessGrantsLocationId, Input, []). update_access_grants_location(Client, AccessGrantsLocationId, Input0, Options0) -> Method = put, Path = ["/v20180820/accessgrantsinstance/location/", aws_util:encode_uri(AccessGrantsLocationId), ""], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Updates an existing S3 Batch Operations job's priority. %% %% For more information, see S3 Batch Operations in the Amazon S3 User Guide. %% %%
Permissions
To use the `UpdateJobPriority' %% operation, you must have permission to perform the %% `s3:UpdateJobPriority' action. %% %%
Related actions include: %% %% update_job_priority(Client, JobId, Input) -> update_job_priority(Client, JobId, Input, []). update_job_priority(Client, JobId, Input0, Options0) -> Method = post, Path = ["/v20180820/jobs/", aws_util:encode_uri(JobId), "/priority"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, QueryMapping = [ {<<"priority">>, <<"Priority">>} ], {Query_, Input} = aws_request:build_headers(QueryMapping, Input2), request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Updates the status for the specified job. %% %% Use this operation to confirm that you want to run a job or to cancel an %% existing job. For more information, see S3 Batch Operations in the Amazon %% S3 User Guide. %% %%
Permissions
To use the `UpdateJobStatus' operation, %% you must have permission to perform the `s3:UpdateJobStatus' action. %% %%
Related actions include: %% %% update_job_status(Client, JobId, Input) -> update_job_status(Client, JobId, Input, []). update_job_status(Client, JobId, Input0, Options0) -> Method = post, Path = ["/v20180820/jobs/", aws_util:encode_uri(JobId), "/status"], SuccessStatusCode = undefined, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, QueryMapping = [ {<<"requestedJobStatus">>, <<"RequestedJobStatus">>}, {<<"statusUpdateReason">>, <<"StatusUpdateReason">>} ], {Query_, Input} = aws_request:build_headers(QueryMapping, Input2), request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc Updates the existing Storage Lens group. %% %% To use this operation, you must have the permission to perform the %% `s3:UpdateStorageLensGroup' action. For more information about the %% required Storage Lens Groups permissions, see Setting account permissions %% to use S3 Storage Lens groups. %% %% For information about Storage Lens groups errors, see List of Amazon S3 %% Storage Lens error codes. update_storage_lens_group(Client, Name, Input) -> update_storage_lens_group(Client, Name, Input, []). update_storage_lens_group(Client, Name, Input0, Options0) -> Method = put, Path = ["/v20180820/storagelensgroup/", aws_util:encode_uri(Name), ""], SuccessStatusCode = 204, Options = [{send_body_as_binary, false}, {receive_body_as_binary, false}, {append_sha256_content_hash, false} | Options0], HeadersMapping = [ {<<"x-amz-account-id">>, <<"AccountId">>} ], {Headers, Input1} = aws_request:build_headers(HeadersMapping, Input0), CustomHeaders = [], Input2 = Input1, Query_ = [], Input = Input2, request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %%==================================================================== %% Internal functions %%==================================================================== -spec request(aws_client:aws_client(), atom(), iolist(), list(), list(), map() | undefined, list(), pos_integer() | undefined) -> {ok, {integer(), list()}} | {ok, Result, {integer(), list(), hackney:client()}} | {error, Error, {integer(), list(), hackney:client()}} | {error, term()} when Result :: map(), Error :: map(). request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode) -> RequestFun = fun() -> do_request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode) end, aws_request:request(RequestFun, Options). do_request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode) -> Client1 = Client#{service => <<"s3">>}, AccountId = proplists:get_value(<<"x-amz-account-id">>, Headers0), Host = build_host(AccountId, <<"s3-control">>, Client1), URL0 = build_url(Host, Path, Client1), URL = aws_request:add_query(URL0, Query), AdditionalHeaders1 = [ {<<"Host">>, Host} , {<<"Content-Type">>, <<"text/xml">>} ], Payload = case proplists:get_value(send_body_as_binary, Options) of true -> maps:get(<<"Body">>, Input, <<"">>); false -> encode_payload(Input) end, AdditionalHeaders = case proplists:get_value(append_sha256_content_hash, Options, false) of true -> add_checksum_hash_header(AdditionalHeaders1, Payload); false -> AdditionalHeaders1 end, Headers1 = aws_request:add_headers(AdditionalHeaders, Headers0), MethodBin = aws_request:method_to_binary(Method), SignedHeaders = aws_request:sign_request(Client1, MethodBin, URL, Headers1, Payload), Response = hackney:request(Method, URL, SignedHeaders, Payload, Options), DecodeBody = not proplists:get_value(receive_body_as_binary, Options), handle_response(Response, SuccessStatusCode, DecodeBody). add_checksum_hash_header(Headers, Body) -> [ {<<"X-Amz-CheckSum-SHA256">>, base64:encode(crypto:hash(sha256, Body))} | Headers ]. handle_response({ok, StatusCode, ResponseHeaders}, SuccessStatusCode, _DecodeBody) when StatusCode =:= 200; StatusCode =:= 202; StatusCode =:= 204; StatusCode =:= 206; StatusCode =:= SuccessStatusCode -> {ok, {StatusCode, ResponseHeaders}}; handle_response({ok, StatusCode, ResponseHeaders}, _, _DecodeBody) -> {error, {StatusCode, ResponseHeaders}}; handle_response({ok, StatusCode, ResponseHeaders, Client}, SuccessStatusCode, DecodeBody) when StatusCode =:= 200; StatusCode =:= 202; StatusCode =:= 204; StatusCode =:= 206; StatusCode =:= SuccessStatusCode -> case hackney:body(Client) of {ok, <<>>} when StatusCode =:= 200; StatusCode =:= SuccessStatusCode -> {ok, #{}, {StatusCode, ResponseHeaders, Client}}; {ok, Body} -> Result = case DecodeBody of true -> try aws_util:decode_xml(Body) catch Error:Reason:Stack -> erlang:raise(error, {body_decode_failed, Error, Reason, StatusCode, Body}, Stack) end; false -> #{<<"Body">> => Body} end, {ok, Result, {StatusCode, ResponseHeaders, Client}} end; handle_response({ok, StatusCode, _ResponseHeaders, _Client}, _, _DecodeBody) when StatusCode =:= 503 -> %% Retriable error if retries are enabled {error, service_unavailable}; handle_response({ok, StatusCode, ResponseHeaders, Client}, _, _DecodeBody) -> {ok, Body} = hackney:body(Client), try DecodedError = aws_util:decode_xml(Body), {error, DecodedError, {StatusCode, ResponseHeaders, Client}} catch Error:Reason:Stack -> erlang:raise(error, {body_decode_failed, Error, Reason, StatusCode, Body}, Stack) end; handle_response({error, Reason}, _, _DecodeBody) -> {error, Reason}. build_host(_AccountId, _EndpointPrefix, #{region := <<"local">>, endpoint := Endpoint}) -> Endpoint; build_host(_AccountId, _EndpointPrefix, #{region := <<"local">>}) -> <<"localhost">>; build_host(undefined, _EndpointPrefix, _Client) -> error(missing_account_id); build_host(AccountId, EndpointPrefix, #{region := Region, endpoint := Endpoint}) -> aws_util:binary_join([AccountId, EndpointPrefix, Region, Endpoint], <<".">>). build_url(Host, Path0, Client) -> Proto = aws_client:proto(Client), Path = erlang:iolist_to_binary(Path0), Port = aws_client:port(Client), aws_util:binary_join([Proto, <<"://">>, Host, <<":">>, Port, Path], <<"">>). -spec encode_payload(undefined | map()) -> binary(). encode_payload(undefined) -> <<>>; encode_payload(Input) -> aws_util:encode_xml(Input).