aws-sdk-s3control 1.104.0 → 1.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2662a20ea548dd9b131b04e0ab0130f0c9c78aa8a221cb1ca15f5a1b775a2fbf
4
- data.tar.gz: 7e05d896b5e1d3409136fc6d713557a094ced3281361a1705ee61ba17ecd9312
3
+ metadata.gz: 1cf498d0ca18eb667d90e9da246bc9d50d91f65519e8cb3126a3ba9930d6edc1
4
+ data.tar.gz: 99b44672afc7b29baeaf67005718e15b8e473d68dcac2c7820b9b49723e1a90c
5
5
  SHA512:
6
- metadata.gz: 663d5df66aff28d6f23e25a3554b8d941a87ae182293131104edc18ec947d7285b4f233ca1bef08a284dcd06aafa1245f4b61826f7e474b7bd91d9326d998612
7
- data.tar.gz: 30df16bb30abd799288bfc51e3f27ffaa1cea5e85e97d4cb67a17bbfaa8e375e04601d5a3198d0c6cf657e1aaf1203ca120667f36debb81b53f8965b3db4e83b
6
+ metadata.gz: 41196ae5395a0d854ffb8541e09d3f612063ef64236e63893ba668e9769119ecd62a7d8aac4580e88baf20837638e8380c42763b678e5992cc8096c3140f14c7
7
+ data.tar.gz: 8aba85d7b9a5d86dbf8777f08c75c62b4a6bbc7d20e678bf5dd3113e136b0a8bb671e8bc4c74aa0b66c92ccf1c7908203e9e1f1f77f82a365a46942d25fae6f5
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.105.0 (2025-03-31)
5
+ ------------------
6
+
7
+ * Feature - Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones
8
+
4
9
  1.104.0 (2025-03-13)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.104.0
1
+ 1.105.0
@@ -843,20 +843,18 @@ module Aws::S3Control
843
843
  req.send_request(options)
844
844
  end
845
845
 
846
- # <note markdown="1"> This operation is not supported by directory buckets.
847
- #
848
- # </note>
849
- #
850
- # Creates an access point and associates it with the specified bucket.
851
- # For more information, see [Managing Data Access with Amazon S3 Access
852
- # Points][1] in the *Amazon S3 User Guide*.
846
+ # Creates an access point and associates it to a specified bucket. For
847
+ # more information, see [Managing access to shared datasets in general
848
+ # purpose buckets with access points][1] or [Managing access to shared
849
+ # datasets in directory buckets with access points][2] in the *Amazon S3
850
+ # User Guide*.
853
851
  #
854
852
  #
855
853
  #
856
854
  # <note markdown="1"> S3 on Outposts only supports VPC-style access points.
857
855
  #
858
856
  # For more information, see [ Accessing Amazon S3 on Outposts using
859
- # virtual private cloud (VPC) only access points][2] in the *Amazon S3
857
+ # virtual private cloud (VPC) only access points][3] in the *Amazon S3
860
858
  # User Guide*.
861
859
  #
862
860
  # </note>
@@ -867,26 +865,30 @@ module Aws::S3Control
867
865
  # prefix instead of `s3-control`. For an example of the request syntax
868
866
  # for Amazon S3 on Outposts that uses the S3 on Outposts endpoint
869
867
  # hostname prefix and the `x-amz-outpost-id` derived by using the access
870
- # point ARN, see the [Examples][3] section.
868
+ # point ARN, see the [Examples][4] section.
871
869
  #
872
870
  #
873
871
  #
874
872
  # The following actions are related to `CreateAccessPoint`:
875
873
  #
876
- # * [GetAccessPoint][4]
874
+ # * [GetAccessPoint][5]
875
+ #
876
+ # * [DeleteAccessPoint][6]
877
877
  #
878
- # * [DeleteAccessPoint][5]
878
+ # * [ListAccessPoints][7]
879
879
  #
880
- # * [ListAccessPoints][6]
880
+ # * [ListAccessPointsForDirectoryBuckets][8]
881
881
  #
882
882
  #
883
883
  #
884
884
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
885
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
886
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html#API_control_CreateAccessPoint_Examples
887
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html
888
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html
889
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html
885
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html
886
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
887
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html#API_control_CreateAccessPoint_Examples
888
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html
889
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html
890
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html
891
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForDirectoryBuckets.html
890
892
  #
891
893
  # @option params [String] :account_id
892
894
  # The Amazon Web Services account ID for the account that owns the
@@ -895,6 +897,17 @@ module Aws::S3Control
895
897
  # @option params [required, String] :name
896
898
  # The name you want to assign to this access point.
897
899
  #
900
+ # For directory buckets, the access point name must consist of a base
901
+ # name that you provide and suffix that includes the `ZoneID` (Amazon
902
+ # Web Services Availability Zone or Local Zone) of your bucket location,
903
+ # followed by `--xa-s3`. For more information, see [Managing access to
904
+ # shared datasets in directory buckets with access points][1] in the
905
+ # Amazon S3 User Guide.
906
+ #
907
+ #
908
+ #
909
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html
910
+ #
898
911
  # @option params [required, String] :bucket
899
912
  # The name of the bucket that you want to associate this access point
900
913
  # with.
@@ -934,6 +947,20 @@ module Aws::S3Control
934
947
  # cross-account access point when your bucket and access point are not
935
948
  # in the same account, the `BucketAccountId` is required.
936
949
  #
950
+ # @option params [Types::Scope] :scope
951
+ # For directory buckets, you can filter access control to specific
952
+ # prefixes, API operations, or a combination of both. For more
953
+ # information, see [Managing access to shared datasets in directory
954
+ # buckets with access points][1] in the Amazon S3 User Guide.
955
+ #
956
+ # <note markdown="1"> Scope is not supported for access points for general purpose buckets.
957
+ #
958
+ # </note>
959
+ #
960
+ #
961
+ #
962
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html
963
+ #
937
964
  # @return [Types::CreateAccessPointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
938
965
  #
939
966
  # * {Types::CreateAccessPointResult#access_point_arn #access_point_arn} => String
@@ -955,6 +982,10 @@ module Aws::S3Control
955
982
  # restrict_public_buckets: false,
956
983
  # },
957
984
  # bucket_account_id: "AccountId",
985
+ # scope: {
986
+ # prefixes: ["Prefix"],
987
+ # permissions: ["GetObject"], # accepts GetObject, GetObjectAttributes, ListMultipartUploadParts, ListBucket, ListBucketMultipartUploads, PutObject, DeleteObject, AbortMultipartUpload
988
+ # },
958
989
  # })
959
990
  #
960
991
  # @example Response structure
@@ -1847,10 +1878,6 @@ module Aws::S3Control
1847
1878
  req.send_request(options)
1848
1879
  end
1849
1880
 
1850
- # <note markdown="1"> This operation is not supported by directory buckets.
1851
- #
1852
- # </note>
1853
- #
1854
1881
  # Deletes the specified access point.
1855
1882
  #
1856
1883
  # All Amazon S3 on Outposts REST API requests for this action require an
@@ -1960,10 +1987,6 @@ module Aws::S3Control
1960
1987
  req.send_request(options)
1961
1988
  end
1962
1989
 
1963
- # <note markdown="1"> This operation is not supported by directory buckets.
1964
- #
1965
- # </note>
1966
- #
1967
1990
  # Deletes the access point policy for the specified access point.
1968
1991
  #
1969
1992
  #
@@ -2069,6 +2092,47 @@ module Aws::S3Control
2069
2092
  req.send_request(options)
2070
2093
  end
2071
2094
 
2095
+ # Deletes an existing access point scope for a directory bucket.
2096
+ #
2097
+ # <note markdown="1"> When you delete the scope of an access point, all prefixes and
2098
+ # permissions are deleted.
2099
+ #
2100
+ # </note>
2101
+ #
2102
+ # To use this operation, you must have the permission to perform the
2103
+ # `s3express:DeleteAccessPointScope` action.
2104
+ #
2105
+ # For information about REST API errors, see [REST error responses][1].
2106
+ #
2107
+ #
2108
+ #
2109
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
2110
+ #
2111
+ # @option params [required, String] :account_id
2112
+ # The Amazon Web Services account ID that owns the access point with the
2113
+ # scope that you want to delete.
2114
+ #
2115
+ # @option params [required, String] :name
2116
+ # The name of the access point with the scope that you want to delete.
2117
+ #
2118
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2119
+ #
2120
+ # @example Request syntax with placeholder values
2121
+ #
2122
+ # resp = client.delete_access_point_scope({
2123
+ # account_id: "AccountId", # required
2124
+ # name: "AccessPointName", # required
2125
+ # })
2126
+ #
2127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointScope AWS API Documentation
2128
+ #
2129
+ # @overload delete_access_point_scope(params = {})
2130
+ # @param [Hash] params ({})
2131
+ def delete_access_point_scope(params = {}, options = {})
2132
+ req = build_request(:delete_access_point_scope, params)
2133
+ req.send_request(options)
2134
+ end
2135
+
2072
2136
  # <note markdown="1"> This action deletes an Amazon S3 on Outposts bucket. To delete an S3
2073
2137
  # bucket, see [DeleteBucket][1] in the *Amazon S3 API Reference*.
2074
2138
  #
@@ -3296,10 +3360,6 @@ module Aws::S3Control
3296
3360
  req.send_request(options)
3297
3361
  end
3298
3362
 
3299
- # <note markdown="1"> This operation is not supported by directory buckets.
3300
- #
3301
- # </note>
3302
- #
3303
3363
  # Returns configuration information about the specified access point.
3304
3364
  #
3305
3365
  #
@@ -3513,10 +3573,6 @@ module Aws::S3Control
3513
3573
  req.send_request(options)
3514
3574
  end
3515
3575
 
3516
- # <note markdown="1"> This operation is not supported by directory buckets.
3517
- #
3518
- # </note>
3519
- #
3520
3576
  # Returns the access point policy associated with the specified access
3521
3577
  # point.
3522
3578
  #
@@ -3704,6 +3760,51 @@ module Aws::S3Control
3704
3760
  req.send_request(options)
3705
3761
  end
3706
3762
 
3763
+ # Returns the access point scope for a directory bucket.
3764
+ #
3765
+ # To use this operation, you must have the permission to perform the
3766
+ # `s3express:GetAccessPointScope` action.
3767
+ #
3768
+ # For information about REST API errors, see [REST error responses][1].
3769
+ #
3770
+ #
3771
+ #
3772
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
3773
+ #
3774
+ # @option params [required, String] :account_id
3775
+ # The Amazon Web Services account ID that owns the access point with the
3776
+ # scope that you want to retrieve.
3777
+ #
3778
+ # @option params [required, String] :name
3779
+ # The name of the access point with the scope you want to retrieve.
3780
+ #
3781
+ # @return [Types::GetAccessPointScopeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3782
+ #
3783
+ # * {Types::GetAccessPointScopeResult#scope #scope} => Types::Scope
3784
+ #
3785
+ # @example Request syntax with placeholder values
3786
+ #
3787
+ # resp = client.get_access_point_scope({
3788
+ # account_id: "AccountId", # required
3789
+ # name: "AccessPointName", # required
3790
+ # })
3791
+ #
3792
+ # @example Response structure
3793
+ #
3794
+ # resp.scope.prefixes #=> Array
3795
+ # resp.scope.prefixes[0] #=> String
3796
+ # resp.scope.permissions #=> Array
3797
+ # resp.scope.permissions[0] #=> String, one of "GetObject", "GetObjectAttributes", "ListMultipartUploadParts", "ListBucket", "ListBucketMultipartUploads", "PutObject", "DeleteObject", "AbortMultipartUpload"
3798
+ #
3799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointScope AWS API Documentation
3800
+ #
3801
+ # @overload get_access_point_scope(params = {})
3802
+ # @param [Hash] params ({})
3803
+ def get_access_point_scope(params = {}, options = {})
3804
+ req = build_request(:get_access_point_scope, params)
3805
+ req.send_request(options)
3806
+ end
3807
+
3707
3808
  # Gets an Amazon S3 on Outposts bucket. For more information, see [
3708
3809
  # Using Amazon S3 on Outposts][1] in the *Amazon S3 User Guide*.
3709
3810
  #
@@ -5344,6 +5445,81 @@ module Aws::S3Control
5344
5445
  req.send_request(options)
5345
5446
  end
5346
5447
 
5448
+ # Returns a list of the access points that are owned by the Amazon Web
5449
+ # Services account and that are associated with the specified directory
5450
+ # bucket.
5451
+ #
5452
+ # To list access points for general purpose buckets, see
5453
+ # [ListAccesspoints][1].
5454
+ #
5455
+ # To use this operation, you must have the permission to perform the
5456
+ # `s3express:ListAccessPointsForDirectoryBuckets` action.
5457
+ #
5458
+ # For information about REST API errors, see [REST error responses][2].
5459
+ #
5460
+ #
5461
+ #
5462
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html
5463
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
5464
+ #
5465
+ # @option params [required, String] :account_id
5466
+ # The Amazon Web Services account ID that owns the access points.
5467
+ #
5468
+ # @option params [String] :directory_bucket
5469
+ # The name of the directory bucket associated with the access points you
5470
+ # want to list.
5471
+ #
5472
+ # @option params [String] :next_token
5473
+ # If `NextToken` is returned, there are more access points available
5474
+ # than requested in the `maxResults` value. The value of `NextToken` is
5475
+ # a unique pagination token for each page. Make the call again using the
5476
+ # returned token to retrieve the next page. Keep all other arguments
5477
+ # unchanged. Each pagination token expires after 24 hours.
5478
+ #
5479
+ # @option params [Integer] :max_results
5480
+ # The maximum number of access points that you would like returned in
5481
+ # the `ListAccessPointsForDirectoryBuckets` response. If the directory
5482
+ # bucket is associated with more than this number of access points, the
5483
+ # results include the pagination token `NextToken`. Make another call
5484
+ # using the `NextToken` to retrieve more results.
5485
+ #
5486
+ # @return [Types::ListAccessPointsForDirectoryBucketsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5487
+ #
5488
+ # * {Types::ListAccessPointsForDirectoryBucketsResult#access_point_list #access_point_list} => Array&lt;Types::AccessPoint&gt;
5489
+ # * {Types::ListAccessPointsForDirectoryBucketsResult#next_token #next_token} => String
5490
+ #
5491
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5492
+ #
5493
+ # @example Request syntax with placeholder values
5494
+ #
5495
+ # resp = client.list_access_points_for_directory_buckets({
5496
+ # account_id: "AccountId", # required
5497
+ # directory_bucket: "BucketName",
5498
+ # next_token: "NonEmptyMaxLength1024String",
5499
+ # max_results: 1,
5500
+ # })
5501
+ #
5502
+ # @example Response structure
5503
+ #
5504
+ # resp.access_point_list #=> Array
5505
+ # resp.access_point_list[0].name #=> String
5506
+ # resp.access_point_list[0].network_origin #=> String, one of "Internet", "VPC"
5507
+ # resp.access_point_list[0].vpc_configuration.vpc_id #=> String
5508
+ # resp.access_point_list[0].bucket #=> String
5509
+ # resp.access_point_list[0].access_point_arn #=> String
5510
+ # resp.access_point_list[0].alias #=> String
5511
+ # resp.access_point_list[0].bucket_account_id #=> String
5512
+ # resp.next_token #=> String
5513
+ #
5514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForDirectoryBuckets AWS API Documentation
5515
+ #
5516
+ # @overload list_access_points_for_directory_buckets(params = {})
5517
+ # @param [Hash] params ({})
5518
+ def list_access_points_for_directory_buckets(params = {}, options = {})
5519
+ req = build_request(:list_access_points_for_directory_buckets, params)
5520
+ req.send_request(options)
5521
+ end
5522
+
5347
5523
  # <note markdown="1"> This operation is not supported by directory buckets.
5348
5524
  #
5349
5525
  # </note>
@@ -6027,10 +6203,6 @@ module Aws::S3Control
6027
6203
  req.send_request(options)
6028
6204
  end
6029
6205
 
6030
- # <note markdown="1"> This operation is not supported by directory buckets.
6031
- #
6032
- # </note>
6033
- #
6034
6206
  # Associates an access policy with the specified access point. Each
6035
6207
  # access point can have only one policy, so a request made to this API
6036
6208
  # replaces any existing policy associated with the specified access
@@ -6081,8 +6253,11 @@ module Aws::S3Control
6081
6253
  #
6082
6254
  # @option params [required, String] :policy
6083
6255
  # The policy that you want to apply to the specified access point. For
6084
- # more information about access point policies, see [Managing data
6085
- # access with Amazon S3 access points][1] in the *Amazon S3 User Guide*.
6256
+ # more information about access point policies, see [Managing access to
6257
+ # shared datasets in general purpose buckets with access points][1] or
6258
+ # [Managing access to shared datasets in directory bucekts with access
6259
+ # points](AmazonS3/latest/userguide/access-points-directory-buckets.html)
6260
+ # in the *Amazon S3 User Guide*.
6086
6261
  #
6087
6262
  #
6088
6263
  #
@@ -6157,6 +6332,76 @@ module Aws::S3Control
6157
6332
  req.send_request(options)
6158
6333
  end
6159
6334
 
6335
+ # Creates or replaces the access point scope for a directory bucket. You
6336
+ # can use the access point scope to restrict access to specific
6337
+ # prefixes, API operations, or a combination of both.
6338
+ #
6339
+ # You can include one or more of the following API operations as
6340
+ # permissions:
6341
+ #
6342
+ # * `PutObjet`
6343
+ #
6344
+ # * `GetObject`
6345
+ #
6346
+ # * `DeleteObject`
6347
+ #
6348
+ # * `ListBucket`
6349
+ #
6350
+ # * `GetObjectAttributes`
6351
+ #
6352
+ # * `AbortMultipartUpload`
6353
+ #
6354
+ # * `ListBucketMultipartUpload`
6355
+ #
6356
+ # * `ListMultiPartUploadParts`
6357
+ #
6358
+ # <note markdown="1"> You can specify any amount of prefixes, but the total length of
6359
+ # characters of all prefixes must be less than 512 KB in size.
6360
+ #
6361
+ # </note>
6362
+ #
6363
+ # To use this operation, you must have the permission to perform the
6364
+ # `s3express:PutAccessPointScope` action.
6365
+ #
6366
+ # For information about REST API errors, see [REST error responses][1].
6367
+ #
6368
+ #
6369
+ #
6370
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
6371
+ #
6372
+ # @option params [required, String] :account_id
6373
+ # The Amazon Web Services account ID that owns the access point with
6374
+ # scope that you want to create or replace.
6375
+ #
6376
+ # @option params [required, String] :name
6377
+ # The name of the access point with the scope that you want to create or
6378
+ # replace.
6379
+ #
6380
+ # @option params [required, Types::Scope] :scope
6381
+ # Object prefixes, API operations, or a combination of both.
6382
+ #
6383
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6384
+ #
6385
+ # @example Request syntax with placeholder values
6386
+ #
6387
+ # resp = client.put_access_point_scope({
6388
+ # account_id: "AccountId", # required
6389
+ # name: "AccessPointName", # required
6390
+ # scope: { # required
6391
+ # prefixes: ["Prefix"],
6392
+ # permissions: ["GetObject"], # accepts GetObject, GetObjectAttributes, ListMultipartUploadParts, ListBucket, ListBucketMultipartUploads, PutObject, DeleteObject, AbortMultipartUpload
6393
+ # },
6394
+ # })
6395
+ #
6396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointScope AWS API Documentation
6397
+ #
6398
+ # @overload put_access_point_scope(params = {})
6399
+ # @param [Hash] params ({})
6400
+ def put_access_point_scope(params = {}, options = {})
6401
+ req = build_request(:put_access_point_scope, params)
6402
+ req.send_request(options)
6403
+ end
6404
+
6160
6405
  # <note markdown="1"> This action puts a lifecycle configuration to an Amazon S3 on Outposts
6161
6406
  # bucket. To put a lifecycle configuration to an S3 bucket, see
6162
6407
  # [PutBucketLifecycleConfiguration][1] in the *Amazon S3 API Reference*.
@@ -7760,7 +8005,7 @@ module Aws::S3Control
7760
8005
  tracer: tracer
7761
8006
  )
7762
8007
  context[:gem_name] = 'aws-sdk-s3control'
7763
- context[:gem_version] = '1.104.0'
8008
+ context[:gem_version] = '1.105.0'
7764
8009
  Seahorse::Client::Request.new(handlers, context)
7765
8010
  end
7766
8011