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.
@@ -928,6 +928,17 @@ module Aws::S3Control
928
928
  #
929
929
  # @!attribute [rw] name
930
930
  # The name you want to assign to this access point.
931
+ #
932
+ # For directory buckets, the access point name must consist of a base
933
+ # name that you provide and suffix that includes the `ZoneID` (Amazon
934
+ # Web Services Availability Zone or Local Zone) of your bucket
935
+ # location, followed by `--xa-s3`. For more information, see [Managing
936
+ # access to shared datasets in directory buckets with access
937
+ # points][1] in the Amazon S3 User Guide.
938
+ #
939
+ #
940
+ #
941
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html
931
942
  # @return [String]
932
943
  #
933
944
  # @!attribute [rw] bucket
@@ -974,6 +985,22 @@ module Aws::S3Control
974
985
  # required.
975
986
  # @return [String]
976
987
  #
988
+ # @!attribute [rw] scope
989
+ # For directory buckets, you can filter access control to specific
990
+ # prefixes, API operations, or a combination of both. For more
991
+ # information, see [Managing access to shared datasets in directory
992
+ # buckets with access points][1] in the Amazon S3 User Guide.
993
+ #
994
+ # <note markdown="1"> Scope is not supported for access points for general purpose
995
+ # buckets.
996
+ #
997
+ # </note>
998
+ #
999
+ #
1000
+ #
1001
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html
1002
+ # @return [Types::Scope]
1003
+ #
977
1004
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointRequest AWS API Documentation
978
1005
  #
979
1006
  class CreateAccessPointRequest < Struct.new(
@@ -982,7 +1009,8 @@ module Aws::S3Control
982
1009
  :bucket,
983
1010
  :vpc_configuration,
984
1011
  :public_access_block_configuration,
985
- :bucket_account_id)
1012
+ :bucket_account_id,
1013
+ :scope)
986
1014
  SENSITIVE = []
987
1015
  include Aws::Structure
988
1016
  end
@@ -1563,6 +1591,24 @@ module Aws::S3Control
1563
1591
  include Aws::Structure
1564
1592
  end
1565
1593
 
1594
+ # @!attribute [rw] account_id
1595
+ # The Amazon Web Services account ID that owns the access point with
1596
+ # the scope that you want to delete.
1597
+ # @return [String]
1598
+ #
1599
+ # @!attribute [rw] name
1600
+ # The name of the access point with the scope that you want to delete.
1601
+ # @return [String]
1602
+ #
1603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointScopeRequest AWS API Documentation
1604
+ #
1605
+ class DeleteAccessPointScopeRequest < Struct.new(
1606
+ :account_id,
1607
+ :name)
1608
+ SENSITIVE = []
1609
+ include Aws::Structure
1610
+ end
1611
+
1566
1612
  # @!attribute [rw] account_id
1567
1613
  # The account ID of the lifecycle configuration to delete.
1568
1614
  # @return [String]
@@ -2824,6 +2870,36 @@ module Aws::S3Control
2824
2870
  include Aws::Structure
2825
2871
  end
2826
2872
 
2873
+ # @!attribute [rw] account_id
2874
+ # The Amazon Web Services account ID that owns the access point with
2875
+ # the scope that you want to retrieve.
2876
+ # @return [String]
2877
+ #
2878
+ # @!attribute [rw] name
2879
+ # The name of the access point with the scope you want to retrieve.
2880
+ # @return [String]
2881
+ #
2882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointScopeRequest AWS API Documentation
2883
+ #
2884
+ class GetAccessPointScopeRequest < Struct.new(
2885
+ :account_id,
2886
+ :name)
2887
+ SENSITIVE = []
2888
+ include Aws::Structure
2889
+ end
2890
+
2891
+ # @!attribute [rw] scope
2892
+ # The contents of the access point scope.
2893
+ # @return [Types::Scope]
2894
+ #
2895
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointScopeResult AWS API Documentation
2896
+ #
2897
+ class GetAccessPointScopeResult < Struct.new(
2898
+ :scope)
2899
+ SENSITIVE = []
2900
+ include Aws::Structure
2901
+ end
2902
+
2827
2903
  # @!attribute [rw] account_id
2828
2904
  # The Amazon Web Services account ID of the Outposts bucket.
2829
2905
  # @return [String]
@@ -4845,6 +4921,64 @@ module Aws::S3Control
4845
4921
  include Aws::Structure
4846
4922
  end
4847
4923
 
4924
+ # @!attribute [rw] account_id
4925
+ # The Amazon Web Services account ID that owns the access points.
4926
+ # @return [String]
4927
+ #
4928
+ # @!attribute [rw] directory_bucket
4929
+ # The name of the directory bucket associated with the access points
4930
+ # you want to list.
4931
+ # @return [String]
4932
+ #
4933
+ # @!attribute [rw] next_token
4934
+ # If `NextToken` is returned, there are more access points available
4935
+ # than requested in the `maxResults` value. The value of `NextToken`
4936
+ # is a unique pagination token for each page. Make the call again
4937
+ # using the returned token to retrieve the next page. Keep all other
4938
+ # arguments unchanged. Each pagination token expires after 24 hours.
4939
+ # @return [String]
4940
+ #
4941
+ # @!attribute [rw] max_results
4942
+ # The maximum number of access points that you would like returned in
4943
+ # the `ListAccessPointsForDirectoryBuckets` response. If the directory
4944
+ # bucket is associated with more than this number of access points,
4945
+ # the results include the pagination token `NextToken`. Make another
4946
+ # call using the `NextToken` to retrieve more results.
4947
+ # @return [Integer]
4948
+ #
4949
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForDirectoryBucketsRequest AWS API Documentation
4950
+ #
4951
+ class ListAccessPointsForDirectoryBucketsRequest < Struct.new(
4952
+ :account_id,
4953
+ :directory_bucket,
4954
+ :next_token,
4955
+ :max_results)
4956
+ SENSITIVE = []
4957
+ include Aws::Structure
4958
+ end
4959
+
4960
+ # @!attribute [rw] access_point_list
4961
+ # Contains identification and configuration information for one or
4962
+ # more access points associated with the directory bucket.
4963
+ # @return [Array<Types::AccessPoint>]
4964
+ #
4965
+ # @!attribute [rw] next_token
4966
+ # If `NextToken` is returned, there are more access points available
4967
+ # than requested in the `maxResults` value. The value of `NextToken`
4968
+ # is a unique pagination token for each page. Make the call again
4969
+ # using the returned token to retrieve the next page. Keep all other
4970
+ # arguments unchanged. Each pagination token expires after 24 hours.
4971
+ # @return [String]
4972
+ #
4973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForDirectoryBucketsResult AWS API Documentation
4974
+ #
4975
+ class ListAccessPointsForDirectoryBucketsResult < Struct.new(
4976
+ :access_point_list,
4977
+ :next_token)
4978
+ SENSITIVE = []
4979
+ include Aws::Structure
4980
+ end
4981
+
4848
4982
  # @!attribute [rw] account_id
4849
4983
  # The account ID for the account that owns the specified Object Lambda
4850
4984
  # Access Point.
@@ -6127,9 +6261,12 @@ module Aws::S3Control
6127
6261
  #
6128
6262
  # @!attribute [rw] policy
6129
6263
  # The policy that you want to apply to the specified access point. For
6130
- # more information about access point policies, see [Managing data
6131
- # access with Amazon S3 access points][1] in the *Amazon S3 User
6132
- # Guide*.
6264
+ # more information about access point policies, see [Managing access
6265
+ # to shared datasets in general purpose buckets with access points][1]
6266
+ # or [Managing access to shared datasets in directory bucekts with
6267
+ # access
6268
+ # points](AmazonS3/latest/userguide/access-points-directory-buckets.html)
6269
+ # in the *Amazon S3 User Guide*.
6133
6270
  #
6134
6271
  #
6135
6272
  #
@@ -6146,6 +6283,30 @@ module Aws::S3Control
6146
6283
  include Aws::Structure
6147
6284
  end
6148
6285
 
6286
+ # @!attribute [rw] account_id
6287
+ # The Amazon Web Services account ID that owns the access point with
6288
+ # scope that you want to create or replace.
6289
+ # @return [String]
6290
+ #
6291
+ # @!attribute [rw] name
6292
+ # The name of the access point with the scope that you want to create
6293
+ # or replace.
6294
+ # @return [String]
6295
+ #
6296
+ # @!attribute [rw] scope
6297
+ # Object prefixes, API operations, or a combination of both.
6298
+ # @return [Types::Scope]
6299
+ #
6300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointScopeRequest AWS API Documentation
6301
+ #
6302
+ class PutAccessPointScopeRequest < Struct.new(
6303
+ :account_id,
6304
+ :name,
6305
+ :scope)
6306
+ SENSITIVE = []
6307
+ include Aws::Structure
6308
+ end
6309
+
6149
6310
  # @!attribute [rw] account_id
6150
6311
  # The Amazon Web Services account ID of the Outposts bucket.
6151
6312
  # @return [String]
@@ -7688,6 +7849,34 @@ module Aws::S3Control
7688
7849
  #
7689
7850
  class SSES3Encryption < Aws::EmptyStructure; end
7690
7851
 
7852
+ # You can use the access point scope to restrict access to specific
7853
+ # prefixes, API operations, or a combination of both.
7854
+ #
7855
+ # For more information, see [Manage the scope of your access points for
7856
+ # directory buckets.][1]
7857
+ #
7858
+ #
7859
+ #
7860
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets-manage-scope.html
7861
+ #
7862
+ # @!attribute [rw] prefixes
7863
+ # You can specify any amount of prefixes, but the total length of
7864
+ # characters of all prefixes must be less than 512 KB in size.
7865
+ # @return [Array<String>]
7866
+ #
7867
+ # @!attribute [rw] permissions
7868
+ # You can include one or more API operations as permissions.
7869
+ # @return [Array<String>]
7870
+ #
7871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Scope AWS API Documentation
7872
+ #
7873
+ class Scope < Struct.new(
7874
+ :prefixes,
7875
+ :permissions)
7876
+ SENSITIVE = []
7877
+ include Aws::Structure
7878
+ end
7879
+
7691
7880
  # @!attribute [rw] delimiter
7692
7881
  # A container for the delimiter of the selection criteria being used.
7693
7882
  # @return [String]
@@ -54,7 +54,7 @@ module Aws::S3Control
54
54
  autoload :EndpointProvider, 'aws-sdk-s3control/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-s3control/endpoints'
56
56
 
57
- GEM_VERSION = '1.104.0'
57
+ GEM_VERSION = '1.105.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -183,7 +183,11 @@ module Aws
183
183
  block_public_policy: bool?,
184
184
  restrict_public_buckets: bool?
185
185
  },
186
- ?bucket_account_id: ::String
186
+ ?bucket_account_id: ::String,
187
+ ?scope: {
188
+ prefixes: Array[::String]?,
189
+ permissions: Array[("GetObject" | "GetObjectAttributes" | "ListMultipartUploadParts" | "ListBucket" | "ListBucketMultipartUploads" | "PutObject" | "DeleteObject" | "AbortMultipartUpload")]?
190
+ }
187
191
  ) -> _CreateAccessPointResponseSuccess
188
192
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateAccessPointResponseSuccess
189
193
 
@@ -562,6 +566,13 @@ module Aws
562
566
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
563
567
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
564
568
 
569
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3Control/Client.html#delete_access_point_scope-instance_method
570
+ def delete_access_point_scope: (
571
+ account_id: ::String,
572
+ name: ::String
573
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
574
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
575
+
565
576
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3Control/Client.html#delete_bucket-instance_method
566
577
  def delete_bucket: (
567
578
  ?account_id: ::String,
@@ -841,6 +852,17 @@ module Aws
841
852
  ) -> _GetAccessPointPolicyStatusForObjectLambdaResponseSuccess
842
853
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetAccessPointPolicyStatusForObjectLambdaResponseSuccess
843
854
 
855
+ interface _GetAccessPointScopeResponseSuccess
856
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetAccessPointScopeResult]
857
+ def scope: () -> Types::Scope
858
+ end
859
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3Control/Client.html#get_access_point_scope-instance_method
860
+ def get_access_point_scope: (
861
+ account_id: ::String,
862
+ name: ::String
863
+ ) -> _GetAccessPointScopeResponseSuccess
864
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetAccessPointScopeResponseSuccess
865
+
844
866
  interface _GetBucketResponseSuccess
845
867
  include ::Seahorse::Client::_ResponseSuccess[Types::GetBucketResult]
846
868
  def bucket: () -> ::String
@@ -1085,6 +1107,20 @@ module Aws
1085
1107
  ) -> _ListAccessPointsResponseSuccess
1086
1108
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListAccessPointsResponseSuccess
1087
1109
 
1110
+ interface _ListAccessPointsForDirectoryBucketsResponseSuccess
1111
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListAccessPointsForDirectoryBucketsResult]
1112
+ def access_point_list: () -> ::Array[Types::AccessPoint]
1113
+ def next_token: () -> ::String
1114
+ end
1115
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3Control/Client.html#list_access_points_for_directory_buckets-instance_method
1116
+ def list_access_points_for_directory_buckets: (
1117
+ account_id: ::String,
1118
+ ?directory_bucket: ::String,
1119
+ ?next_token: ::String,
1120
+ ?max_results: ::Integer
1121
+ ) -> _ListAccessPointsForDirectoryBucketsResponseSuccess
1122
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListAccessPointsForDirectoryBucketsResponseSuccess
1123
+
1088
1124
  interface _ListAccessPointsForObjectLambdaResponseSuccess
1089
1125
  include ::Seahorse::Client::_ResponseSuccess[Types::ListAccessPointsForObjectLambdaResult]
1090
1126
  def object_lambda_access_point_list: () -> ::Array[Types::ObjectLambdaAccessPoint]
@@ -1242,6 +1278,17 @@ module Aws
1242
1278
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1243
1279
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1244
1280
 
1281
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3Control/Client.html#put_access_point_scope-instance_method
1282
+ def put_access_point_scope: (
1283
+ account_id: ::String,
1284
+ name: ::String,
1285
+ scope: {
1286
+ prefixes: Array[::String]?,
1287
+ permissions: Array[("GetObject" | "GetObjectAttributes" | "ListMultipartUploadParts" | "ListBucket" | "ListBucketMultipartUploads" | "PutObject" | "DeleteObject" | "AbortMultipartUpload")]?
1288
+ }
1289
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1290
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1291
+
1245
1292
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3Control/Client.html#put_bucket_lifecycle_configuration-instance_method
1246
1293
  def put_bucket_lifecycle_configuration: (
1247
1294
  ?account_id: ::String,
data/sig/types.rbs CHANGED
@@ -206,6 +206,7 @@ module Aws::S3Control
206
206
  attr_accessor vpc_configuration: Types::VpcConfiguration
207
207
  attr_accessor public_access_block_configuration: Types::PublicAccessBlockConfiguration
208
208
  attr_accessor bucket_account_id: ::String
209
+ attr_accessor scope: Types::Scope
209
210
  SENSITIVE: []
210
211
  end
211
212
 
@@ -340,6 +341,12 @@ module Aws::S3Control
340
341
  SENSITIVE: []
341
342
  end
342
343
 
344
+ class DeleteAccessPointScopeRequest
345
+ attr_accessor account_id: ::String
346
+ attr_accessor name: ::String
347
+ SENSITIVE: []
348
+ end
349
+
343
350
  class DeleteBucketLifecycleConfigurationRequest
344
351
  attr_accessor account_id: ::String
345
352
  attr_accessor bucket: ::String
@@ -659,6 +666,17 @@ module Aws::S3Control
659
666
  SENSITIVE: []
660
667
  end
661
668
 
669
+ class GetAccessPointScopeRequest
670
+ attr_accessor account_id: ::String
671
+ attr_accessor name: ::String
672
+ SENSITIVE: []
673
+ end
674
+
675
+ class GetAccessPointScopeResult
676
+ attr_accessor scope: Types::Scope
677
+ SENSITIVE: []
678
+ end
679
+
662
680
  class GetBucketLifecycleConfigurationRequest
663
681
  attr_accessor account_id: ::String
664
682
  attr_accessor bucket: ::String
@@ -1131,6 +1149,20 @@ module Aws::S3Control
1131
1149
  SENSITIVE: []
1132
1150
  end
1133
1151
 
1152
+ class ListAccessPointsForDirectoryBucketsRequest
1153
+ attr_accessor account_id: ::String
1154
+ attr_accessor directory_bucket: ::String
1155
+ attr_accessor next_token: ::String
1156
+ attr_accessor max_results: ::Integer
1157
+ SENSITIVE: []
1158
+ end
1159
+
1160
+ class ListAccessPointsForDirectoryBucketsResult
1161
+ attr_accessor access_point_list: ::Array[Types::AccessPoint]
1162
+ attr_accessor next_token: ::String
1163
+ SENSITIVE: []
1164
+ end
1165
+
1134
1166
  class ListAccessPointsForObjectLambdaRequest
1135
1167
  attr_accessor account_id: ::String
1136
1168
  attr_accessor next_token: ::String
@@ -1447,6 +1479,13 @@ module Aws::S3Control
1447
1479
  SENSITIVE: []
1448
1480
  end
1449
1481
 
1482
+ class PutAccessPointScopeRequest
1483
+ attr_accessor account_id: ::String
1484
+ attr_accessor name: ::String
1485
+ attr_accessor scope: Types::Scope
1486
+ SENSITIVE: []
1487
+ end
1488
+
1450
1489
  class PutBucketLifecycleConfigurationRequest
1451
1490
  attr_accessor account_id: ::String
1452
1491
  attr_accessor bucket: ::String
@@ -1775,6 +1814,12 @@ module Aws::S3Control
1775
1814
  class SSES3Encryption < Aws::EmptyStructure
1776
1815
  end
1777
1816
 
1817
+ class Scope
1818
+ attr_accessor prefixes: ::Array[::String]
1819
+ attr_accessor permissions: ::Array[("GetObject" | "GetObjectAttributes" | "ListMultipartUploadParts" | "ListBucket" | "ListBucketMultipartUploads" | "PutObject" | "DeleteObject" | "AbortMultipartUpload")]
1820
+ SENSITIVE: []
1821
+ end
1822
+
1778
1823
  class SelectionCriteria
1779
1824
  attr_accessor delimiter: ::String
1780
1825
  attr_accessor max_depth: ::Integer
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3control
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.104.0
4
+ version: 1.105.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-13 00:00:00.000000000 Z
11
+ date: 2025-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core