Skip to content

Commit b4d0b70

Browse files
Update generated code (#1842)
* update generated code * Apply suggestions from code review --------- Co-authored-by: Jérémy Derussé <jeremy@derusse.com>
1 parent c7ee325 commit b4d0b70

31 files changed

+293
-262
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
- AWS api-change: This change enhances integrity protections for new SDK requests to S3. S3 SDKs now support the CRC64NVME checksum algorithm, full object checksums for multipart S3 objects, and new default integrity protections for S3 requests.
88
- AWS api-change: Added `us-isof-east-1` and `us-isof-south-1` regions
9+
- AWS api-change: Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.
910

1011
## 2.7.0
1112

src/Enum/BucketLocationConstraint.php

+10
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,24 @@ final class BucketLocationConstraint
1212
public const AP_SOUTHEAST_1 = 'ap-southeast-1';
1313
public const AP_SOUTHEAST_2 = 'ap-southeast-2';
1414
public const AP_SOUTHEAST_3 = 'ap-southeast-3';
15+
public const AP_SOUTHEAST_4 = 'ap-southeast-4';
16+
public const AP_SOUTHEAST_5 = 'ap-southeast-5';
1517
public const AP_SOUTH_1 = 'ap-south-1';
1618
public const AP_SOUTH_2 = 'ap-south-2';
1719
public const CA_CENTRAL_1 = 'ca-central-1';
1820
public const CN_NORTHWEST_1 = 'cn-northwest-1';
1921
public const CN_NORTH_1 = 'cn-north-1';
2022
public const EU = 'EU';
2123
public const EU_CENTRAL_1 = 'eu-central-1';
24+
public const EU_CENTRAL_2 = 'eu-central-2';
2225
public const EU_NORTH_1 = 'eu-north-1';
2326
public const EU_SOUTH_1 = 'eu-south-1';
2427
public const EU_SOUTH_2 = 'eu-south-2';
2528
public const EU_WEST_1 = 'eu-west-1';
2629
public const EU_WEST_2 = 'eu-west-2';
2730
public const EU_WEST_3 = 'eu-west-3';
31+
public const IL_CENTRAL_1 = 'il-central-1';
32+
public const ME_CENTRAL_1 = 'me-central-1';
2833
public const ME_SOUTH_1 = 'me-south-1';
2934
public const SA_EAST_1 = 'sa-east-1';
3035
public const US_EAST_2 = 'us-east-2';
@@ -44,19 +49,24 @@ public static function exists(string $value): bool
4449
self::AP_SOUTHEAST_1 => true,
4550
self::AP_SOUTHEAST_2 => true,
4651
self::AP_SOUTHEAST_3 => true,
52+
self::AP_SOUTHEAST_4 => true,
53+
self::AP_SOUTHEAST_5 => true,
4754
self::AP_SOUTH_1 => true,
4855
self::AP_SOUTH_2 => true,
4956
self::CA_CENTRAL_1 => true,
5057
self::CN_NORTHWEST_1 => true,
5158
self::CN_NORTH_1 => true,
5259
self::EU => true,
5360
self::EU_CENTRAL_1 => true,
61+
self::EU_CENTRAL_2 => true,
5462
self::EU_NORTH_1 => true,
5563
self::EU_SOUTH_1 => true,
5664
self::EU_SOUTH_2 => true,
5765
self::EU_WEST_1 => true,
5866
self::EU_WEST_2 => true,
5967
self::EU_WEST_3 => true,
68+
self::IL_CENTRAL_1 => true,
69+
self::ME_CENTRAL_1 => true,
6070
self::ME_SOUTH_1 => true,
6171
self::SA_EAST_1 => true,
6272
self::US_EAST_2 => true,

src/Input/AbortMultipartUploadRequest.php

+7-7
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ final class AbortMultipartUploadRequest extends Input
1616
* **Directory buckets** - When you use this operation with a directory bucket, you must use virtual-hosted-style
1717
* requests in the format `*Bucket-name*.s3express-*zone-id*.*region-code*.amazonaws.com`. Path-style requests are not
1818
* supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names
19-
* must follow the format `*bucket-base-name*--*zone-id*--x-s3` (for example, `*DOC-EXAMPLE-BUCKET*--*usw2-az1*--x-s3`).
20-
* For information about bucket naming restrictions, see Directory bucket naming rules [^1] in the *Amazon S3 User
21-
* Guide*.
19+
* must follow the format `*bucket-base-name*--*zone-id*--x-s3` (for example,
20+
* `*amzn-s3-demo-bucket*--*usw2-az1*--x-s3`). For information about bucket naming restrictions, see Directory bucket
21+
* naming rules [^1] in the *Amazon S3 User Guide*.
2222
*
2323
* **Access points** - When you use this action with an access point, you must provide the alias of the access point in
2424
* place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests
@@ -29,11 +29,11 @@ final class AbortMultipartUploadRequest extends Input
2929
*
3030
* > Access points and Object Lambda access points are not supported by directory buckets.
3131
*
32-
* **S3 on Outposts** - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on
33-
* Outposts hostname. The S3 on Outposts hostname takes the form
32+
* **S3 on Outposts** - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts
33+
* hostname. The S3 on Outposts hostname takes the form
3434
* `*AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com`. When you use this action with S3 on
35-
* Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name.
36-
* For more information about S3 on Outposts ARNs, see What is S3 on Outposts? [^3] in the *Amazon S3 User Guide*.
35+
* Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more
36+
* information about S3 on Outposts, see What is S3 on Outposts? [^3] in the *Amazon S3 User Guide*.
3737
*
3838
* [^1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
3939
* [^2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html

src/Input/CompleteMultipartUploadRequest.php

+7-7
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ final class CompleteMultipartUploadRequest extends Input
1818
* **Directory buckets** - When you use this operation with a directory bucket, you must use virtual-hosted-style
1919
* requests in the format `*Bucket-name*.s3express-*zone-id*.*region-code*.amazonaws.com`. Path-style requests are not
2020
* supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names
21-
* must follow the format `*bucket-base-name*--*zone-id*--x-s3` (for example, `*DOC-EXAMPLE-BUCKET*--*usw2-az1*--x-s3`).
22-
* For information about bucket naming restrictions, see Directory bucket naming rules [^1] in the *Amazon S3 User
23-
* Guide*.
21+
* must follow the format `*bucket-base-name*--*zone-id*--x-s3` (for example,
22+
* `*amzn-s3-demo-bucket*--*usw2-az1*--x-s3`). For information about bucket naming restrictions, see Directory bucket
23+
* naming rules [^1] in the *Amazon S3 User Guide*.
2424
*
2525
* **Access points** - When you use this action with an access point, you must provide the alias of the access point in
2626
* place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests
@@ -31,11 +31,11 @@ final class CompleteMultipartUploadRequest extends Input
3131
*
3232
* > Access points and Object Lambda access points are not supported by directory buckets.
3333
*
34-
* **S3 on Outposts** - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on
35-
* Outposts hostname. The S3 on Outposts hostname takes the form
34+
* **S3 on Outposts** - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts
35+
* hostname. The S3 on Outposts hostname takes the form
3636
* `*AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com`. When you use this action with S3 on
37-
* Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name.
38-
* For more information about S3 on Outposts ARNs, see What is S3 on Outposts? [^3] in the *Amazon S3 User Guide*.
37+
* Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more
38+
* information about S3 on Outposts, see What is S3 on Outposts? [^3] in the *Amazon S3 User Guide*.
3939
*
4040
* [^1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
4141
* [^2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html

src/Input/CopyObjectRequest.php

+17-16
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ final class CopyObjectRequest extends Input
5050
* **Directory buckets** - When you use this operation with a directory bucket, you must use virtual-hosted-style
5151
* requests in the format `*Bucket-name*.s3express-*zone-id*.*region-code*.amazonaws.com`. Path-style requests are not
5252
* supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names
53-
* must follow the format `*bucket-base-name*--*zone-id*--x-s3` (for example, `*DOC-EXAMPLE-BUCKET*--*usw2-az1*--x-s3`).
54-
* For information about bucket naming restrictions, see Directory bucket naming rules [^1] in the *Amazon S3 User
55-
* Guide*.
53+
* must follow the format `*bucket-base-name*--*zone-id*--x-s3` (for example,
54+
* `*amzn-s3-demo-bucket*--*usw2-az1*--x-s3`). For information about bucket naming restrictions, see Directory bucket
55+
* naming rules [^1] in the *Amazon S3 User Guide*.
5656
*
5757
* > Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket
5858
* > is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web
@@ -67,11 +67,14 @@ final class CopyObjectRequest extends Input
6767
*
6868
* > Access points and Object Lambda access points are not supported by directory buckets.
6969
*
70-
* **S3 on Outposts** - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on
71-
* Outposts hostname. The S3 on Outposts hostname takes the form
72-
* `*AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com`. When you use this action with S3 on
73-
* Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name.
74-
* For more information about S3 on Outposts ARNs, see What is S3 on Outposts? [^3] in the *Amazon S3 User Guide*.
70+
* **S3 on Outposts** - When you use this action with S3 on Outposts, you must use the Outpost bucket access point ARN
71+
* or the access point alias for the destination bucket. You can only copy objects within the same Outpost bucket. It's
72+
* not supported to copy objects across different Amazon Web Services Outposts, between buckets on the same Outposts, or
73+
* between Outposts buckets and any other bucket types. For more information about S3 on Outposts, see What is S3 on
74+
* Outposts? [^3] in the *S3 on Outposts guide*. When you use this action with S3 on Outposts through the REST API, you
75+
* must direct requests to the S3 on Outposts hostname, in the format
76+
* `*AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com`. The hostname isn't required when you
77+
* use the Amazon Web Services CLI or SDKs.
7578
*
7679
* [^1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
7780
* [^2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
@@ -510,14 +513,12 @@ final class CopyObjectRequest extends Input
510513
* any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature
511514
* Version in Request Authentication [^1] in the *Amazon S3 User Guide*.
512515
*
513-
* **Directory buckets** - If you specify `x-amz-server-side-encryption` with `aws:kms`, the `
514-
* x-amz-server-side-encryption-aws-kms-key-id` header is implicitly assigned the ID of the KMS symmetric encryption
515-
* customer managed key that's configured for your directory bucket's default encryption setting. If you want to specify
516-
* the ` x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you can only specify it with the ID (Key ID or
517-
* Key ARN) of the KMS customer managed key that's configured for your directory bucket's default encryption setting.
518-
* Otherwise, you get an HTTP `400 Bad Request` error. Only use the key ID or key ARN. The key alias format of the KMS
519-
* key isn't supported. Your SSE-KMS configuration can only support 1 customer managed key [^2] per directory bucket for
520-
* the lifetime of the bucket. The Amazon Web Services managed key [^3] (`aws/s3`) isn't supported.
516+
* **Directory buckets** - To encrypt data using SSE-KMS, it's recommended to specify the `x-amz-server-side-encryption`
517+
* header to `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id` header implicitly uses the bucket's
518+
* default KMS customer managed key ID. If you want to explicitly set the ` x-amz-server-side-encryption-aws-kms-key-id`
519+
* header, it must match the bucket's default customer managed key (using key ID or ARN, not alias). Your SSE-KMS
520+
* configuration can only support 1 customer managed key [^2] per directory bucket's lifetime. The Amazon Web Services
521+
* managed key [^3] (`aws/s3`) isn't supported. Incorrect key specification results in an HTTP `400 Bad Request` error.
521522
*
522523
* [^1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
523524
* [^2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk

src/Input/CreateMultipartUploadRequest.php

+13-15
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ final class CreateMultipartUploadRequest extends Input
4545
* **Directory buckets** - When you use this operation with a directory bucket, you must use virtual-hosted-style
4646
* requests in the format `*Bucket-name*.s3express-*zone-id*.*region-code*.amazonaws.com`. Path-style requests are not
4747
* supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names
48-
* must follow the format `*bucket-base-name*--*zone-id*--x-s3` (for example, `*DOC-EXAMPLE-BUCKET*--*usw2-az1*--x-s3`).
49-
* For information about bucket naming restrictions, see Directory bucket naming rules [^1] in the *Amazon S3 User
50-
* Guide*.
48+
* must follow the format `*bucket-base-name*--*zone-id*--x-s3` (for example,
49+
* `*amzn-s3-demo-bucket*--*usw2-az1*--x-s3`). For information about bucket naming restrictions, see Directory bucket
50+
* naming rules [^1] in the *Amazon S3 User Guide*.
5151
*
5252
* **Access points** - When you use this action with an access point, you must provide the alias of the access point in
5353
* place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests
@@ -58,11 +58,11 @@ final class CreateMultipartUploadRequest extends Input
5858
*
5959
* > Access points and Object Lambda access points are not supported by directory buckets.
6060
*
61-
* **S3 on Outposts** - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on
62-
* Outposts hostname. The S3 on Outposts hostname takes the form
61+
* **S3 on Outposts** - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts
62+
* hostname. The S3 on Outposts hostname takes the form
6363
* `*AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com`. When you use this action with S3 on
64-
* Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name.
65-
* For more information about S3 on Outposts ARNs, see What is S3 on Outposts? [^3] in the *Amazon S3 User Guide*.
64+
* Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more
65+
* information about S3 on Outposts, see What is S3 on Outposts? [^3] in the *Amazon S3 User Guide*.
6666
*
6767
* [^1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
6868
* [^2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
@@ -418,14 +418,12 @@ final class CreateMultipartUploadRequest extends Input
418418
* `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the Amazon Web Services managed key (`aws/s3`) to
419419
* protect the data.
420420
*
421-
* **Directory buckets** - If you specify `x-amz-server-side-encryption` with `aws:kms`, the `
422-
* x-amz-server-side-encryption-aws-kms-key-id` header is implicitly assigned the ID of the KMS symmetric encryption
423-
* customer managed key that's configured for your directory bucket's default encryption setting. If you want to specify
424-
* the ` x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you can only specify it with the ID (Key ID or
425-
* Key ARN) of the KMS customer managed key that's configured for your directory bucket's default encryption setting.
426-
* Otherwise, you get an HTTP `400 Bad Request` error. Only use the key ID or key ARN. The key alias format of the KMS
427-
* key isn't supported. Your SSE-KMS configuration can only support 1 customer managed key [^1] per directory bucket for
428-
* the lifetime of the bucket. The Amazon Web Services managed key [^2] (`aws/s3`) isn't supported.
421+
* **Directory buckets** - To encrypt data using SSE-KMS, it's recommended to specify the `x-amz-server-side-encryption`
422+
* header to `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id` header implicitly uses the bucket's
423+
* default KMS customer managed key ID. If you want to explicitly set the ` x-amz-server-side-encryption-aws-kms-key-id`
424+
* header, it must match the bucket's default customer managed key (using key ID or ARN, not alias). Your SSE-KMS
425+
* configuration can only support 1 customer managed key [^1] per directory bucket's lifetime. The Amazon Web Services
426+
* managed key [^2] (`aws/s3`) isn't supported. Incorrect key specification results in an HTTP `400 Bad Request` error.
429427
*
430428
* [^1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
431429
* [^2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk

0 commit comments

Comments
 (0)