Skip to content

Commit 0eac77a

Browse files
committed
Update services based on v1.44.220 of AWS Go SDK
Reference: https://github.com/aws/aws-sdk-go/releases/tag/v1.44.220
1 parent 47d232b commit 0eac77a

File tree

4 files changed

+268
-36
lines changed

4 files changed

+268
-36
lines changed

.latest-tag-aws-sdk-go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.44.219
1+
v1.44.220

lib/aws/generated/s3_control.ex

Lines changed: 250 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -627,6 +627,75 @@ defmodule AWS.S3Control do
627627
)
628628
end
629629

630+
@doc """
631+
This operation deletes an Amazon S3 on Outposts bucket's replication
632+
configuration.
633+
634+
To delete an S3 bucket's replication configuration, see
635+
[DeleteBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html) in the *Amazon S3 API Reference*.
636+
637+
Deletes the replication configuration from the specified S3 on Outposts bucket.
638+
639+
To use this operation, you must have permissions to perform the
640+
`s3-outposts:PutReplicationConfiguration` action. The Outposts bucket owner has
641+
this permission by default and can grant it to others. For more information
642+
about permissions, see [Setting up IAM with S3 on
643+
Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsIAM.html)
644+
and [Managing access to S3 on Outposts buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsBucketPolicy.html)
645+
in the *Amazon S3 User Guide*.
646+
647+
It can take a while to propagate `PUT` or `DELETE` requests for a replication
648+
configuration to all S3 on Outposts systems. Therefore, the replication
649+
configuration that's returned by a `GET` request soon after a `PUT` or `DELETE`
650+
request might return a more recent result than what's on the Outpost. If an
651+
Outpost is offline, the delay in updating the replication configuration on that
652+
Outpost can be significant.
653+
654+
All Amazon S3 on Outposts REST API requests for this action require an
655+
additional parameter of `x-amz-outpost-id` to be passed with the request. In
656+
addition, you must use an S3 on Outposts endpoint hostname prefix instead of
657+
`s3-control`. For an example of the request syntax for Amazon S3 on Outposts
658+
that uses the S3 on Outposts endpoint hostname prefix and the `x-amz-outpost-id`
659+
derived by using the access point ARN, see the
660+
[Examples](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketReplication.html#API_control_DeleteBucketReplication_Examples) section.
661+
662+
For information about S3 replication on Outposts configuration, see [Replicating
663+
objects for Amazon Web Services
664+
Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html)
665+
in the *Amazon S3 User Guide*.
666+
667+
The following operations are related to `DeleteBucketReplication`:
668+
669+
*
670+
[PutBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketReplication.html) *
671+
[GetBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketReplication.html)
672+
"""
673+
def delete_bucket_replication(%Client{} = client, bucket, input, options \\ []) do
674+
url_path = "/v20180820/bucket/#{AWS.Util.encode_uri(bucket)}/replication"
675+
676+
{headers, input} =
677+
[
678+
{"AccountId", "x-amz-account-id"}
679+
]
680+
|> Request.build_params(input)
681+
682+
query_params = []
683+
684+
meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.")
685+
686+
Request.request_rest(
687+
client,
688+
meta,
689+
:delete,
690+
url_path,
691+
query_params,
692+
headers,
693+
input,
694+
options,
695+
nil
696+
)
697+
end
698+
630699
@doc """
631700
This action deletes an Amazon S3 on Outposts bucket's tags.
632701
@@ -687,7 +756,7 @@ defmodule AWS.S3Control do
687756
@doc """
688757
Removes the entire tag set from the specified S3 Batch Operations job.
689758
690-
To use this operation, you must have permission to perform the
759+
To use the `DeleteJobTagging` operation, you must have permission to perform the
691760
`s3:DeleteJobTagging` action. For more information, see [Controlling access and labeling jobs using
692761
tags](https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags)
693762
in the *Amazon S3 User Guide*.
@@ -1366,6 +1435,74 @@ defmodule AWS.S3Control do
13661435
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil)
13671436
end
13681437

1438+
@doc """
1439+
This operation gets an Amazon S3 on Outposts bucket's replication configuration.
1440+
1441+
To get an S3 bucket's replication configuration, see
1442+
[GetBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html) in the *Amazon S3 API Reference*.
1443+
1444+
Returns the replication configuration of an S3 on Outposts bucket. For more
1445+
information about S3 on Outposts, see [Using Amazon S3 on
1446+
Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
1447+
in the *Amazon S3 User Guide*. For information about S3 replication on Outposts
1448+
configuration, see [Replicating objects for Amazon Web Services Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html)
1449+
in the *Amazon S3 User Guide*.
1450+
1451+
It can take a while to propagate `PUT` or `DELETE` requests for a replication
1452+
configuration to all S3 on Outposts systems. Therefore, the replication
1453+
configuration that's returned by a `GET` request soon after a `PUT` or `DELETE`
1454+
request might return a more recent result than what's on the Outpost. If an
1455+
Outpost is offline, the delay in updating the replication configuration on that
1456+
Outpost can be significant.
1457+
1458+
This action requires permissions for the
1459+
`s3-outposts:GetReplicationConfiguration` action. The Outposts bucket owner has
1460+
this permission by default and can grant it to others. For more information
1461+
about permissions, see [Setting up IAM with S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsIAM.html)
1462+
and [Managing access to S3 on Outposts bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsBucketPolicy.html)
1463+
in the *Amazon S3 User Guide*.
1464+
1465+
All Amazon S3 on Outposts REST API requests for this action require an
1466+
additional parameter of `x-amz-outpost-id` to be passed with the request. In
1467+
addition, you must use an S3 on Outposts endpoint hostname prefix instead of
1468+
`s3-control`. For an example of the request syntax for Amazon S3 on Outposts
1469+
that uses the S3 on Outposts endpoint hostname prefix and the `x-amz-outpost-id`
1470+
derived by using the access point ARN, see the
1471+
[Examples](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketReplication.html#API_control_GetBucketReplication_Examples) section.
1472+
1473+
If you include the `Filter` element in a replication configuration, you must
1474+
also include the `DeleteMarkerReplication`, `Status`, and `Priority` elements.
1475+
The response also returns those elements.
1476+
1477+
For information about S3 on Outposts replication failure reasons, see
1478+
[Replication failure
1479+
reasons](https://docs.aws.amazon.com/AmazonS3/latest/userguide/outposts-replication-eventbridge.html#outposts-replication-failure-codes)
1480+
in the *Amazon S3 User Guide*.
1481+
1482+
The following operations are related to `GetBucketReplication`:
1483+
1484+
*
1485+
[PutBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketReplication.html) *
1486+
[DeleteBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketReplication.html)
1487+
"""
1488+
def get_bucket_replication(%Client{} = client, bucket, account_id, options \\ []) do
1489+
url_path = "/v20180820/bucket/#{AWS.Util.encode_uri(bucket)}/replication"
1490+
headers = []
1491+
1492+
headers =
1493+
if !is_nil(account_id) do
1494+
[{"x-amz-account-id", account_id} | headers]
1495+
else
1496+
headers
1497+
end
1498+
1499+
query_params = []
1500+
1501+
meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.")
1502+
1503+
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil)
1504+
end
1505+
13691506
@doc """
13701507
This action gets an Amazon S3 on Outposts bucket's tags.
13711508
@@ -1423,14 +1560,14 @@ defmodule AWS.S3Control do
14231560
end
14241561

14251562
@doc """
1426-
This operation returns the versioning state only for S3 on Outposts buckets.
1563+
This operation returns the versioning state for S3 on Outposts buckets only.
14271564
14281565
To return the versioning state for an S3 bucket, see
14291566
[GetBucketVersioning](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html) in the *Amazon S3 API Reference*.
14301567
1431-
Returns the versioning state for an S3 on Outposts bucket. With versioning, you
1432-
can save multiple distinct copies of your data and recover from unintended user
1433-
actions and application failures.
1568+
Returns the versioning state for an S3 on Outposts bucket. With S3 Versioning,
1569+
you can save multiple distinct copies of your objects and recover from
1570+
unintended user actions and application failures.
14341571
14351572
If you've never set versioning on your bucket, it has no versioning state. In
14361573
that case, the `GetBucketVersioning` request does not return a versioning state
@@ -1479,7 +1616,7 @@ defmodule AWS.S3Control do
14791616
@doc """
14801617
Returns the tags on an S3 Batch Operations job.
14811618
1482-
To use this operation, you must have permission to perform the
1619+
To use the `GetJobTagging` operation, you must have permission to perform the
14831620
`s3:GetJobTagging` action. For more information, see [Controlling access and labeling jobs using
14841621
tags](https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags)
14851622
in the *Amazon S3 User Guide*.
@@ -1753,8 +1890,8 @@ defmodule AWS.S3Control do
17531890
end
17541891

17551892
@doc """
1756-
Returns a list of the access points owned by the current account associated with
1757-
the specified bucket.
1893+
Returns a list of the access points that are owned by the current account that's
1894+
associated with the specified bucket.
17581895
17591896
You can retrieve up to 1000 access points per call. If the specified bucket has
17601897
more than 1,000 access points (or the number specified in `maxResults`,
@@ -2301,6 +2438,104 @@ defmodule AWS.S3Control do
23012438
Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil)
23022439
end
23032440

2441+
@doc """
2442+
This action creates an Amazon S3 on Outposts bucket's replication configuration.
2443+
2444+
To create an S3 bucket's replication configuration, see
2445+
[PutBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) in the *Amazon S3 API Reference*.
2446+
2447+
Creates a replication configuration or replaces an existing one. For information
2448+
about S3 replication on Outposts configuration, see [Replicating objects for
2449+
Amazon Web Services
2450+
Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/AmazonS3/latest/userguide/S3OutpostsReplication.html)
2451+
in the *Amazon S3 User Guide*.
2452+
2453+
It can take a while to propagate `PUT` or `DELETE` requests for a replication
2454+
configuration to all S3 on Outposts systems. Therefore, the replication
2455+
configuration that's returned by a `GET` request soon after a `PUT` or `DELETE`
2456+
request might return a more recent result than what's on the Outpost. If an
2457+
Outpost is offline, the delay in updating the replication configuration on that
2458+
Outpost can be significant.
2459+
2460+
Specify the replication configuration in the request body. In the replication
2461+
configuration, you provide the following information:
2462+
2463+
* The name of the destination bucket or buckets where you want S3 on
2464+
Outposts to replicate objects
2465+
2466+
* The Identity and Access Management (IAM) role that S3 on Outposts
2467+
can assume to replicate objects on your behalf
2468+
2469+
* Other relevant information, such as replication rules
2470+
2471+
A replication configuration must include at least one rule and can contain a
2472+
maximum of 100. Each rule identifies a subset of objects to replicate by
2473+
filtering the objects in the source Outposts bucket. To choose additional
2474+
subsets of objects to replicate, add a rule for each subset.
2475+
2476+
To specify a subset of the objects in the source Outposts bucket to apply a
2477+
replication rule to, add the `Filter` element as a child of the `Rule` element.
2478+
You can filter objects based on an object key prefix, one or more object tags,
2479+
or both. When you add the `Filter` element in the configuration, you must also
2480+
add the following elements: `DeleteMarkerReplication`, `Status`, and `Priority`.
2481+
2482+
Using `PutBucketReplication` on Outposts requires that both the source and
2483+
destination buckets must have versioning enabled. For information about enabling
2484+
versioning on a bucket, see [Managing S3 Versioning for your S3 on Outposts bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsManagingVersioning.html).
2485+
2486+
For information about S3 on Outposts replication failure reasons, see
2487+
[Replication failure reasons](https://docs.aws.amazon.com/AmazonS3/latest/userguide/outposts-replication-eventbridge.html#outposts-replication-failure-codes)
2488+
in the *Amazon S3 User Guide*.
2489+
2490+
## Handling Replication of Encrypted Objects
2491+
2492+
Outposts buckets are encrypted at all times. All the objects in the source
2493+
Outposts bucket are encrypted and can be replicated. Also, all the replicas in
2494+
the destination Outposts bucket are encrypted with the same encryption key as
2495+
the objects in the source Outposts bucket.
2496+
2497+
## Permissions
2498+
2499+
To create a `PutBucketReplication` request, you must have
2500+
`s3-outposts:PutReplicationConfiguration` permissions for the bucket. The
2501+
Outposts bucket owner has this permission by default and can grant it to others.
2502+
For more information about permissions, see [Setting up IAM with S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsIAM.html)
2503+
and [Managing access to S3 on Outposts buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsBucketPolicy.html).
2504+
2505+
To perform this operation, the user or role must also have the
2506+
[iam:PassRole](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) permission.
2507+
2508+
All Amazon S3 on Outposts REST API requests for this action require an
2509+
additional parameter of `x-amz-outpost-id` to be passed with the request. In
2510+
addition, you must use an S3 on Outposts endpoint hostname prefix instead of
2511+
`s3-control`. For an example of the request syntax for Amazon S3 on Outposts
2512+
that uses the S3 on Outposts endpoint hostname prefix and the `x-amz-outpost-id`
2513+
derived by using the access point ARN, see the
2514+
[Examples](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html#API_control_GetBucketLifecycleConfiguration_Examples)
2515+
section.
2516+
2517+
The following operations are related to `PutBucketReplication`:
2518+
2519+
*
2520+
[GetBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketReplication.html) *
2521+
[DeleteBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketReplication.html)
2522+
"""
2523+
def put_bucket_replication(%Client{} = client, bucket, input, options \\ []) do
2524+
url_path = "/v20180820/bucket/#{AWS.Util.encode_uri(bucket)}/replication"
2525+
2526+
{headers, input} =
2527+
[
2528+
{"AccountId", "x-amz-account-id"}
2529+
]
2530+
|> Request.build_params(input)
2531+
2532+
query_params = []
2533+
2534+
meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.")
2535+
2536+
Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil)
2537+
end
2538+
23042539
@doc """
23052540
This action puts tags on an Amazon S3 on Outposts bucket.
23062541
@@ -2394,14 +2629,14 @@ defmodule AWS.S3Control do
23942629
end
23952630

23962631
@doc """
2397-
This operation sets the versioning state only for S3 on Outposts buckets.
2632+
This operation sets the versioning state for S3 on Outposts buckets only.
23982633
23992634
To set the versioning state for an S3 bucket, see
24002635
[PutBucketVersioning](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html) in the *Amazon S3 API Reference*.
24012636
2402-
Sets the versioning state for an S3 on Outposts bucket. With versioning, you can
2403-
save multiple distinct copies of your data and recover from unintended user
2404-
actions and application failures.
2637+
Sets the versioning state for an S3 on Outposts bucket. With S3 Versioning, you
2638+
can save multiple distinct copies of your objects and recover from unintended
2639+
user actions and application failures.
24052640
24062641
You can set the versioning state to one of the following:
24072642
@@ -2426,7 +2661,7 @@ defmodule AWS.S3Control do
24262661
If you have an object expiration lifecycle policy in your non-versioned bucket
24272662
and you want to maintain the same permanent delete behavior when you enable
24282663
versioning, you must add a noncurrent expiration policy. The noncurrent
2429-
expiration lifecycle policy will manage the deletes of the noncurrent object
2664+
expiration lifecycle policy will manage the deletions of the noncurrent object
24302665
versions in the version-enabled bucket. For more information, see
24312666
[Versioning](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) in the *Amazon S3 User Guide*.
24322667
@@ -2505,8 +2740,8 @@ defmodule AWS.S3Control do
25052740
Restrictions](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)
25062741
in the *Billing and Cost Management User Guide*.
25072742
2508-
To use this action, you must have permission to perform the `s3:PutJobTagging`
2509-
action.
2743+
To use the `PutJobTagging` operation, you must have permission to perform the
2744+
`s3:PutJobTagging` action.
25102745
25112746
Related actions include:
25122747

0 commit comments

Comments
 (0)