aws-sdk-s3control 1.72.0 → 1.73.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.
@@ -43,6 +43,36 @@ module Aws::S3Control
43
43
  include Aws::Structure
44
44
  end
45
45
 
46
+ # The configuration options of the S3 Access Grants location. It
47
+ # contains the `S3SubPrefix` field. The grant scope, the data to which
48
+ # you are granting access, is the result of appending the `Subprefix`
49
+ # field to the scope of the registered location.
50
+ #
51
+ # @!attribute [rw] s3_sub_prefix
52
+ # The `S3SubPrefix` is appended to the location scope creating the
53
+ # grant scope. Use this field to narrow the scope of the grant to a
54
+ # subset of the location scope. This field is required if the location
55
+ # scope is the default location `s3://` because you cannot create a
56
+ # grant for all of your S3 data in the Region and must narrow the
57
+ # scope. For example, if the location scope is the default location
58
+ # `s3://`, the `S3SubPrefx` can be a <bucket-name>/*, so the
59
+ # full grant scope path would be `s3://<bucket-name>/*`. Or the
60
+ # `S3SubPrefx` can be `<bucket-name>/<prefix-name>*`, so the full
61
+ # grant scope path would be or `s3://<bucket-name>/<prefix-name>*`.
62
+ #
63
+ # If the `S3SubPrefix` includes a prefix, append the wildcard
64
+ # character `*` after the prefix to indicate that you want to include
65
+ # all object key names in the bucket that start with that prefix.
66
+ # @return [String]
67
+ #
68
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AccessGrantsLocationConfiguration AWS API Documentation
69
+ #
70
+ class AccessGrantsLocationConfiguration < Struct.new(
71
+ :s3_sub_prefix)
72
+ SENSITIVE = []
73
+ include Aws::Structure
74
+ end
75
+
46
76
  # An access point used to access a bucket.
47
77
  #
48
78
  # @!attribute [rw] name
@@ -236,6 +266,33 @@ module Aws::S3Control
236
266
  include Aws::Structure
237
267
  end
238
268
 
269
+ # @!attribute [rw] account_id
270
+ # The ID of the Amazon Web Services account that is making this
271
+ # request.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] identity_center_arn
275
+ # The Amazon Resource Name (ARN) of the Amazon Web Services IAM
276
+ # Identity Center instance that you are associating with your S3
277
+ # Access Grants instance. An IAM Identity Center instance is your
278
+ # corporate identity directory that you added to the IAM Identity
279
+ # Center. You can use the [ListInstances][1] API operation to retrieve
280
+ # a list of your Identity Center instances and their ARNs.
281
+ #
282
+ #
283
+ #
284
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListInstances.html
285
+ # @return [String]
286
+ #
287
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AssociateAccessGrantsIdentityCenterRequest AWS API Documentation
288
+ #
289
+ class AssociateAccessGrantsIdentityCenterRequest < Struct.new(
290
+ :account_id,
291
+ :identity_center_arn)
292
+ SENSITIVE = []
293
+ include Aws::Structure
294
+ end
295
+
239
296
  # Error details for the failed asynchronous operation.
240
297
  #
241
298
  # @!attribute [rw] code
@@ -483,6 +540,317 @@ module Aws::S3Control
483
540
  include Aws::Structure
484
541
  end
485
542
 
543
+ # @!attribute [rw] account_id
544
+ # The ID of the Amazon Web Services account that is making this
545
+ # request.
546
+ # @return [String]
547
+ #
548
+ # @!attribute [rw] access_grants_location_id
549
+ # The ID of the registered location to which you are granting access.
550
+ # S3 Access Grants assigns this ID when you register the location. S3
551
+ # Access Grants assigns the ID `default` to the default location
552
+ # `s3://` and assigns an auto-generated ID to other locations that you
553
+ # register.
554
+ #
555
+ # If you are passing the `default` location, you cannot create an
556
+ # access grant for the entire default location. You must also specify
557
+ # a bucket or a bucket and prefix in the `Subprefix` field.
558
+ # @return [String]
559
+ #
560
+ # @!attribute [rw] access_grants_location_configuration
561
+ # The configuration options of the grant location. The grant location
562
+ # is the S3 path to the data to which you are granting access. It
563
+ # contains the `S3SubPrefix` field. The grant scope is the result of
564
+ # appending the subprefix to the location scope of the registered
565
+ # location.
566
+ # @return [Types::AccessGrantsLocationConfiguration]
567
+ #
568
+ # @!attribute [rw] grantee
569
+ # The user, group, or role to which you are granting access. You can
570
+ # grant access to an IAM user or role. If you have added your
571
+ # corporate directory to Amazon Web Services IAM Identity Center and
572
+ # associated your Identity Center instance with your S3 Access Grants
573
+ # instance, the grantee can also be a corporate directory user or
574
+ # group.
575
+ # @return [Types::Grantee]
576
+ #
577
+ # @!attribute [rw] permission
578
+ # The type of access that you are granting to your S3 data, which can
579
+ # be set to one of the following values:
580
+ #
581
+ # * `READ` – Grant read-only access to the S3 data.
582
+ #
583
+ # * `WRITE` – Grant write-only access to the S3 data.
584
+ #
585
+ # * `READWRITE` – Grant both read and write access to the S3 data.
586
+ # @return [String]
587
+ #
588
+ # @!attribute [rw] application_arn
589
+ # The Amazon Resource Name (ARN) of an Amazon Web Services IAM
590
+ # Identity Center application associated with your Identity Center
591
+ # instance. If an application ARN is included in the request to create
592
+ # an access grant, the grantee can only access the S3 data through
593
+ # this application.
594
+ # @return [String]
595
+ #
596
+ # @!attribute [rw] s3_prefix_type
597
+ # The type of `S3SubPrefix`. The only possible value is `Object`. Pass
598
+ # this value if the access grant scope is an object. Do not pass this
599
+ # value if the access grant scope is a bucket or a bucket and a
600
+ # prefix.
601
+ # @return [String]
602
+ #
603
+ # @!attribute [rw] tags
604
+ # The Amazon Web Services resource tags that you are adding to the
605
+ # access grant. Each tag is a label consisting of a user-defined key
606
+ # and value. Tags can help you manage, identify, organize, search for,
607
+ # and filter resources.
608
+ # @return [Array<Types::Tag>]
609
+ #
610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantRequest AWS API Documentation
611
+ #
612
+ class CreateAccessGrantRequest < Struct.new(
613
+ :account_id,
614
+ :access_grants_location_id,
615
+ :access_grants_location_configuration,
616
+ :grantee,
617
+ :permission,
618
+ :application_arn,
619
+ :s3_prefix_type,
620
+ :tags)
621
+ SENSITIVE = []
622
+ include Aws::Structure
623
+ end
624
+
625
+ # @!attribute [rw] created_at
626
+ # The date and time when you created the access grant.
627
+ # @return [Time]
628
+ #
629
+ # @!attribute [rw] access_grant_id
630
+ # The ID of the access grant. S3 Access Grants auto-generates this ID
631
+ # when you create the access grant.
632
+ # @return [String]
633
+ #
634
+ # @!attribute [rw] access_grant_arn
635
+ # The Amazon Resource Name (ARN) of the access grant.
636
+ # @return [String]
637
+ #
638
+ # @!attribute [rw] grantee
639
+ # The user, group, or role to which you are granting access. You can
640
+ # grant access to an IAM user or role. If you have added your
641
+ # corporate directory to Amazon Web Services IAM Identity Center and
642
+ # associated your Identity Center instance with your S3 Access Grants
643
+ # instance, the grantee can also be a corporate directory user or
644
+ # group.
645
+ # @return [Types::Grantee]
646
+ #
647
+ # @!attribute [rw] access_grants_location_id
648
+ # The ID of the registered location to which you are granting access.
649
+ # S3 Access Grants assigns this ID when you register the location. S3
650
+ # Access Grants assigns the ID `default` to the default location
651
+ # `s3://` and assigns an auto-generated ID to other locations that you
652
+ # register.
653
+ # @return [String]
654
+ #
655
+ # @!attribute [rw] access_grants_location_configuration
656
+ # The configuration options of the grant location. The grant location
657
+ # is the S3 path to the data to which you are granting access.
658
+ # @return [Types::AccessGrantsLocationConfiguration]
659
+ #
660
+ # @!attribute [rw] permission
661
+ # The type of access that you are granting to your S3 data, which can
662
+ # be set to one of the following values:
663
+ #
664
+ # * `READ` – Grant read-only access to the S3 data.
665
+ #
666
+ # * `WRITE` – Grant write-only access to the S3 data.
667
+ #
668
+ # * `READWRITE` – Grant both read and write access to the S3 data.
669
+ # @return [String]
670
+ #
671
+ # @!attribute [rw] application_arn
672
+ # The Amazon Resource Name (ARN) of an Amazon Web Services IAM
673
+ # Identity Center application associated with your Identity Center
674
+ # instance. If the grant includes an application ARN, the grantee can
675
+ # only access the S3 data through this application.
676
+ # @return [String]
677
+ #
678
+ # @!attribute [rw] grant_scope
679
+ # The S3 path of the data to which you are granting access. It is the
680
+ # result of appending the `Subprefix` to the location scope.
681
+ # @return [String]
682
+ #
683
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantResult AWS API Documentation
684
+ #
685
+ class CreateAccessGrantResult < Struct.new(
686
+ :created_at,
687
+ :access_grant_id,
688
+ :access_grant_arn,
689
+ :grantee,
690
+ :access_grants_location_id,
691
+ :access_grants_location_configuration,
692
+ :permission,
693
+ :application_arn,
694
+ :grant_scope)
695
+ SENSITIVE = []
696
+ include Aws::Structure
697
+ end
698
+
699
+ # @!attribute [rw] account_id
700
+ # The ID of the Amazon Web Services account that is making this
701
+ # request.
702
+ # @return [String]
703
+ #
704
+ # @!attribute [rw] identity_center_arn
705
+ # If you would like to associate your S3 Access Grants instance with
706
+ # an Amazon Web Services IAM Identity Center instance, use this field
707
+ # to pass the Amazon Resource Name (ARN) of the Amazon Web Services
708
+ # IAM Identity Center instance that you are associating with your S3
709
+ # Access Grants instance. An IAM Identity Center instance is your
710
+ # corporate identity directory that you added to the IAM Identity
711
+ # Center. You can use the [ListInstances][1] API operation to retrieve
712
+ # a list of your Identity Center instances and their ARNs.
713
+ #
714
+ #
715
+ #
716
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListInstances.html
717
+ # @return [String]
718
+ #
719
+ # @!attribute [rw] tags
720
+ # The Amazon Web Services resource tags that you are adding to the S3
721
+ # Access Grants instance. Each tag is a label consisting of a
722
+ # user-defined key and value. Tags can help you manage, identify,
723
+ # organize, search for, and filter resources.
724
+ # @return [Array<Types::Tag>]
725
+ #
726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantsInstanceRequest AWS API Documentation
727
+ #
728
+ class CreateAccessGrantsInstanceRequest < Struct.new(
729
+ :account_id,
730
+ :identity_center_arn,
731
+ :tags)
732
+ SENSITIVE = []
733
+ include Aws::Structure
734
+ end
735
+
736
+ # @!attribute [rw] created_at
737
+ # The date and time when you created the S3 Access Grants instance.
738
+ # @return [Time]
739
+ #
740
+ # @!attribute [rw] access_grants_instance_id
741
+ # The ID of the S3 Access Grants instance. The ID is `default`. You
742
+ # can have one S3 Access Grants instance per Region per account.
743
+ # @return [String]
744
+ #
745
+ # @!attribute [rw] access_grants_instance_arn
746
+ # The Amazon Resource Name (ARN) of the S3 Access Grants instance.
747
+ # @return [String]
748
+ #
749
+ # @!attribute [rw] identity_center_arn
750
+ # If you associated your S3 Access Grants instance with an Amazon Web
751
+ # Services IAM Identity Center instance, this field returns the Amazon
752
+ # Resource Name (ARN) of the IAM Identity Center instance application;
753
+ # a subresource of the original Identity Center instance passed in the
754
+ # request. S3 Access Grants creates this Identity Center application
755
+ # for this specific S3 Access Grants instance.
756
+ # @return [String]
757
+ #
758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantsInstanceResult AWS API Documentation
759
+ #
760
+ class CreateAccessGrantsInstanceResult < Struct.new(
761
+ :created_at,
762
+ :access_grants_instance_id,
763
+ :access_grants_instance_arn,
764
+ :identity_center_arn)
765
+ SENSITIVE = []
766
+ include Aws::Structure
767
+ end
768
+
769
+ # @!attribute [rw] account_id
770
+ # The ID of the Amazon Web Services account that is making this
771
+ # request.
772
+ # @return [String]
773
+ #
774
+ # @!attribute [rw] location_scope
775
+ # The S3 path to the location that you are registering. The location
776
+ # scope can be the default S3 location `s3://`, the S3 path to a
777
+ # bucket `s3://<bucket>`, or the S3 path to a bucket and prefix
778
+ # `s3://<bucket>/<prefix>`. A prefix in S3 is a string of characters
779
+ # at the beginning of an object key name used to organize the objects
780
+ # that you store in your S3 buckets. For example, object key names
781
+ # that start with the `engineering/` prefix or object key names that
782
+ # start with the `marketing/campaigns/` prefix.
783
+ # @return [String]
784
+ #
785
+ # @!attribute [rw] iam_role_arn
786
+ # The Amazon Resource Name (ARN) of the IAM role for the registered
787
+ # location. S3 Access Grants assumes this role to manage access to the
788
+ # registered location.
789
+ # @return [String]
790
+ #
791
+ # @!attribute [rw] tags
792
+ # The Amazon Web Services resource tags that you are adding to the S3
793
+ # Access Grants location. Each tag is a label consisting of a
794
+ # user-defined key and value. Tags can help you manage, identify,
795
+ # organize, search for, and filter resources.
796
+ # @return [Array<Types::Tag>]
797
+ #
798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantsLocationRequest AWS API Documentation
799
+ #
800
+ class CreateAccessGrantsLocationRequest < Struct.new(
801
+ :account_id,
802
+ :location_scope,
803
+ :iam_role_arn,
804
+ :tags)
805
+ SENSITIVE = []
806
+ include Aws::Structure
807
+ end
808
+
809
+ # @!attribute [rw] created_at
810
+ # The date and time when you registered the location.
811
+ # @return [Time]
812
+ #
813
+ # @!attribute [rw] access_grants_location_id
814
+ # The ID of the registered location to which you are granting access.
815
+ # S3 Access Grants assigns this ID when you register the location. S3
816
+ # Access Grants assigns the ID `default` to the default location
817
+ # `s3://` and assigns an auto-generated ID to other locations that you
818
+ # register.
819
+ # @return [String]
820
+ #
821
+ # @!attribute [rw] access_grants_location_arn
822
+ # The Amazon Resource Name (ARN) of the location you are registering.
823
+ # @return [String]
824
+ #
825
+ # @!attribute [rw] location_scope
826
+ # The S3 URI path to the location that you are registering. The
827
+ # location scope can be the default S3 location `s3://`, the S3 path
828
+ # to a bucket, or the S3 path to a bucket and prefix. A prefix in S3
829
+ # is a string of characters at the beginning of an object key name
830
+ # used to organize the objects that you store in your S3 buckets. For
831
+ # example, object key names that start with the `engineering/` prefix
832
+ # or object key names that start with the `marketing/campaigns/`
833
+ # prefix.
834
+ # @return [String]
835
+ #
836
+ # @!attribute [rw] iam_role_arn
837
+ # The Amazon Resource Name (ARN) of the IAM role for the registered
838
+ # location. S3 Access Grants assumes this role to manage access to the
839
+ # registered location.
840
+ # @return [String]
841
+ #
842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantsLocationResult AWS API Documentation
843
+ #
844
+ class CreateAccessGrantsLocationResult < Struct.new(
845
+ :created_at,
846
+ :access_grants_location_id,
847
+ :access_grants_location_arn,
848
+ :location_scope,
849
+ :iam_role_arn)
850
+ SENSITIVE = []
851
+ include Aws::Structure
852
+ end
853
+
486
854
  # @!attribute [rw] account_id
487
855
  # The Amazon Web Services account ID for owner of the specified Object
488
856
  # Lambda Access Point.
@@ -962,6 +1330,109 @@ module Aws::S3Control
962
1330
  include Aws::Structure
963
1331
  end
964
1332
 
1333
+ # The Amazon Web Services Security Token Service temporary credential
1334
+ # that S3 Access Grants vends to grantees and client applications.
1335
+ #
1336
+ # @!attribute [rw] access_key_id
1337
+ # The unique access key ID of the Amazon Web Services STS temporary
1338
+ # credential that S3 Access Grants vends to grantees and client
1339
+ # applications.
1340
+ # @return [String]
1341
+ #
1342
+ # @!attribute [rw] secret_access_key
1343
+ # The secret access key of the Amazon Web Services STS temporary
1344
+ # credential that S3 Access Grants vends to grantees and client
1345
+ # applications.
1346
+ # @return [String]
1347
+ #
1348
+ # @!attribute [rw] session_token
1349
+ # The Amazon Web Services STS temporary credential that S3 Access
1350
+ # Grants vends to grantees and client applications.
1351
+ # @return [String]
1352
+ #
1353
+ # @!attribute [rw] expiration
1354
+ # The expiration date and time of the temporary credential that S3
1355
+ # Access Grants vends to grantees and client applications.
1356
+ # @return [Time]
1357
+ #
1358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Credentials AWS API Documentation
1359
+ #
1360
+ class Credentials < Struct.new(
1361
+ :access_key_id,
1362
+ :secret_access_key,
1363
+ :session_token,
1364
+ :expiration)
1365
+ SENSITIVE = [:access_key_id, :secret_access_key, :session_token]
1366
+ include Aws::Structure
1367
+ end
1368
+
1369
+ # @!attribute [rw] account_id
1370
+ # The ID of the Amazon Web Services account that is making this
1371
+ # request.
1372
+ # @return [String]
1373
+ #
1374
+ # @!attribute [rw] access_grant_id
1375
+ # The ID of the access grant. S3 Access Grants auto-generates this ID
1376
+ # when you create the access grant.
1377
+ # @return [String]
1378
+ #
1379
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessGrantRequest AWS API Documentation
1380
+ #
1381
+ class DeleteAccessGrantRequest < Struct.new(
1382
+ :account_id,
1383
+ :access_grant_id)
1384
+ SENSITIVE = []
1385
+ include Aws::Structure
1386
+ end
1387
+
1388
+ # @!attribute [rw] account_id
1389
+ # The ID of the Amazon Web Services account that is making this
1390
+ # request.
1391
+ # @return [String]
1392
+ #
1393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessGrantsInstanceRequest AWS API Documentation
1394
+ #
1395
+ class DeleteAccessGrantsInstanceRequest < Struct.new(
1396
+ :account_id)
1397
+ SENSITIVE = []
1398
+ include Aws::Structure
1399
+ end
1400
+
1401
+ # @!attribute [rw] account_id
1402
+ # The ID of the Amazon Web Services account that is making this
1403
+ # request.
1404
+ # @return [String]
1405
+ #
1406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessGrantsInstanceResourcePolicyRequest AWS API Documentation
1407
+ #
1408
+ class DeleteAccessGrantsInstanceResourcePolicyRequest < Struct.new(
1409
+ :account_id)
1410
+ SENSITIVE = []
1411
+ include Aws::Structure
1412
+ end
1413
+
1414
+ # @!attribute [rw] account_id
1415
+ # The ID of the Amazon Web Services account that is making this
1416
+ # request.
1417
+ # @return [String]
1418
+ #
1419
+ # @!attribute [rw] access_grants_location_id
1420
+ # The ID of the registered location that you are deregistering from
1421
+ # your S3 Access Grants instance. S3 Access Grants assigned this ID
1422
+ # when you registered the location. S3 Access Grants assigns the ID
1423
+ # `default` to the default location `s3://` and assigns an
1424
+ # auto-generated ID to other locations that you register.
1425
+ # @return [String]
1426
+ #
1427
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessGrantsLocationRequest AWS API Documentation
1428
+ #
1429
+ class DeleteAccessGrantsLocationRequest < Struct.new(
1430
+ :account_id,
1431
+ :access_grants_location_id)
1432
+ SENSITIVE = []
1433
+ include Aws::Structure
1434
+ end
1435
+
965
1436
  # @!attribute [rw] account_id
966
1437
  # The account ID for the account that owns the specified Object Lambda
967
1438
  # Access Point.
@@ -1568,6 +2039,19 @@ module Aws::S3Control
1568
2039
  include Aws::Structure
1569
2040
  end
1570
2041
 
2042
+ # @!attribute [rw] account_id
2043
+ # The ID of the Amazon Web Services account that is making this
2044
+ # request.
2045
+ # @return [String]
2046
+ #
2047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DissociateAccessGrantsIdentityCenterRequest AWS API Documentation
2048
+ #
2049
+ class DissociateAccessGrantsIdentityCenterRequest < Struct.new(
2050
+ :account_id)
2051
+ SENSITIVE = []
2052
+ include Aws::Structure
2053
+ end
2054
+
1571
2055
  # Specifies encryption-related information for an Amazon S3 bucket that
1572
2056
  # is a destination for replicated objects.
1573
2057
  #
@@ -1677,6 +2161,282 @@ module Aws::S3Control
1677
2161
  include Aws::Structure
1678
2162
  end
1679
2163
 
2164
+ # @!attribute [rw] account_id
2165
+ # The ID of the Amazon Web Services account that is making this
2166
+ # request.
2167
+ # @return [String]
2168
+ #
2169
+ # @!attribute [rw] access_grant_id
2170
+ # The ID of the access grant. S3 Access Grants auto-generates this ID
2171
+ # when you create the access grant.
2172
+ # @return [String]
2173
+ #
2174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantRequest AWS API Documentation
2175
+ #
2176
+ class GetAccessGrantRequest < Struct.new(
2177
+ :account_id,
2178
+ :access_grant_id)
2179
+ SENSITIVE = []
2180
+ include Aws::Structure
2181
+ end
2182
+
2183
+ # @!attribute [rw] created_at
2184
+ # The date and time when you created the access grant.
2185
+ # @return [Time]
2186
+ #
2187
+ # @!attribute [rw] access_grant_id
2188
+ # The ID of the access grant. S3 Access Grants auto-generates this ID
2189
+ # when you create the access grant.
2190
+ # @return [String]
2191
+ #
2192
+ # @!attribute [rw] access_grant_arn
2193
+ # The Amazon Resource Name (ARN) of the access grant.
2194
+ # @return [String]
2195
+ #
2196
+ # @!attribute [rw] grantee
2197
+ # The user, group, or role to which you are granting access. You can
2198
+ # grant access to an IAM user or role. If you have added a corporate
2199
+ # directory to Amazon Web Services IAM Identity Center and associated
2200
+ # this Identity Center instance with the S3 Access Grants instance,
2201
+ # the grantee can also be a corporate directory user or group.
2202
+ # @return [Types::Grantee]
2203
+ #
2204
+ # @!attribute [rw] permission
2205
+ # The type of permission that was granted in the access grant. Can be
2206
+ # one of the following values:
2207
+ #
2208
+ # * `READ` – Grant read-only access to the S3 data.
2209
+ #
2210
+ # * `WRITE` – Grant write-only access to the S3 data.
2211
+ #
2212
+ # * `READWRITE` – Grant both read and write access to the S3 data.
2213
+ # @return [String]
2214
+ #
2215
+ # @!attribute [rw] access_grants_location_id
2216
+ # The ID of the registered location to which you are granting access.
2217
+ # S3 Access Grants assigns this ID when you register the location. S3
2218
+ # Access Grants assigns the ID `default` to the default location
2219
+ # `s3://` and assigns an auto-generated ID to other locations that you
2220
+ # register.
2221
+ # @return [String]
2222
+ #
2223
+ # @!attribute [rw] access_grants_location_configuration
2224
+ # The configuration options of the grant location. The grant location
2225
+ # is the S3 path to the data to which you are granting access.
2226
+ # @return [Types::AccessGrantsLocationConfiguration]
2227
+ #
2228
+ # @!attribute [rw] grant_scope
2229
+ # The S3 path of the data to which you are granting access. It is the
2230
+ # result of appending the `Subprefix` to the location scope.
2231
+ # @return [String]
2232
+ #
2233
+ # @!attribute [rw] application_arn
2234
+ # The Amazon Resource Name (ARN) of an Amazon Web Services IAM
2235
+ # Identity Center application associated with your Identity Center
2236
+ # instance. If the grant includes an application ARN, the grantee can
2237
+ # only access the S3 data through this application.
2238
+ # @return [String]
2239
+ #
2240
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantResult AWS API Documentation
2241
+ #
2242
+ class GetAccessGrantResult < Struct.new(
2243
+ :created_at,
2244
+ :access_grant_id,
2245
+ :access_grant_arn,
2246
+ :grantee,
2247
+ :permission,
2248
+ :access_grants_location_id,
2249
+ :access_grants_location_configuration,
2250
+ :grant_scope,
2251
+ :application_arn)
2252
+ SENSITIVE = []
2253
+ include Aws::Structure
2254
+ end
2255
+
2256
+ # @!attribute [rw] account_id
2257
+ # The ID of the Amazon Web Services account that is making this
2258
+ # request.
2259
+ # @return [String]
2260
+ #
2261
+ # @!attribute [rw] s3_prefix
2262
+ # The S3 prefix of the access grants that you would like to retrieve.
2263
+ # @return [String]
2264
+ #
2265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceForPrefixRequest AWS API Documentation
2266
+ #
2267
+ class GetAccessGrantsInstanceForPrefixRequest < Struct.new(
2268
+ :account_id,
2269
+ :s3_prefix)
2270
+ SENSITIVE = []
2271
+ include Aws::Structure
2272
+ end
2273
+
2274
+ # @!attribute [rw] access_grants_instance_arn
2275
+ # The Amazon Resource Name (ARN) of the S3 Access Grants instance.
2276
+ # @return [String]
2277
+ #
2278
+ # @!attribute [rw] access_grants_instance_id
2279
+ # The ID of the S3 Access Grants instance. The ID is `default`. You
2280
+ # can have one S3 Access Grants instance per Region per account.
2281
+ # @return [String]
2282
+ #
2283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceForPrefixResult AWS API Documentation
2284
+ #
2285
+ class GetAccessGrantsInstanceForPrefixResult < Struct.new(
2286
+ :access_grants_instance_arn,
2287
+ :access_grants_instance_id)
2288
+ SENSITIVE = []
2289
+ include Aws::Structure
2290
+ end
2291
+
2292
+ # @!attribute [rw] account_id
2293
+ # The ID of the Amazon Web Services account that is making this
2294
+ # request.
2295
+ # @return [String]
2296
+ #
2297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceRequest AWS API Documentation
2298
+ #
2299
+ class GetAccessGrantsInstanceRequest < Struct.new(
2300
+ :account_id)
2301
+ SENSITIVE = []
2302
+ include Aws::Structure
2303
+ end
2304
+
2305
+ # @!attribute [rw] account_id
2306
+ # The ID of the Amazon Web Services account that is making this
2307
+ # request.
2308
+ # @return [String]
2309
+ #
2310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceResourcePolicyRequest AWS API Documentation
2311
+ #
2312
+ class GetAccessGrantsInstanceResourcePolicyRequest < Struct.new(
2313
+ :account_id)
2314
+ SENSITIVE = []
2315
+ include Aws::Structure
2316
+ end
2317
+
2318
+ # @!attribute [rw] policy
2319
+ # The resource policy of the S3 Access Grants instance.
2320
+ # @return [String]
2321
+ #
2322
+ # @!attribute [rw] organization
2323
+ # The Organization of the resource policy of the S3 Access Grants
2324
+ # instance.
2325
+ # @return [String]
2326
+ #
2327
+ # @!attribute [rw] created_at
2328
+ # The date and time when you created the S3 Access Grants instance
2329
+ # resource policy.
2330
+ # @return [Time]
2331
+ #
2332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceResourcePolicyResult AWS API Documentation
2333
+ #
2334
+ class GetAccessGrantsInstanceResourcePolicyResult < Struct.new(
2335
+ :policy,
2336
+ :organization,
2337
+ :created_at)
2338
+ SENSITIVE = []
2339
+ include Aws::Structure
2340
+ end
2341
+
2342
+ # @!attribute [rw] access_grants_instance_arn
2343
+ # The Amazon Resource Name (ARN) of the S3 Access Grants instance.
2344
+ # @return [String]
2345
+ #
2346
+ # @!attribute [rw] access_grants_instance_id
2347
+ # The ID of the S3 Access Grants instance. The ID is `default`. You
2348
+ # can have one S3 Access Grants instance per Region per account.
2349
+ # @return [String]
2350
+ #
2351
+ # @!attribute [rw] identity_center_arn
2352
+ # If you associated your S3 Access Grants instance with an Amazon Web
2353
+ # Services IAM Identity Center instance, this field returns the Amazon
2354
+ # Resource Name (ARN) of the Amazon Web Services IAM Identity Center
2355
+ # instance application; a subresource of the original Identity Center
2356
+ # instance. S3 Access Grants creates this Identity Center application
2357
+ # for the specific S3 Access Grants instance.
2358
+ # @return [String]
2359
+ #
2360
+ # @!attribute [rw] created_at
2361
+ # The date and time when you created the S3 Access Grants instance.
2362
+ # @return [Time]
2363
+ #
2364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceResult AWS API Documentation
2365
+ #
2366
+ class GetAccessGrantsInstanceResult < Struct.new(
2367
+ :access_grants_instance_arn,
2368
+ :access_grants_instance_id,
2369
+ :identity_center_arn,
2370
+ :created_at)
2371
+ SENSITIVE = []
2372
+ include Aws::Structure
2373
+ end
2374
+
2375
+ # @!attribute [rw] account_id
2376
+ # The ID of the Amazon Web Services account that is making this
2377
+ # request.
2378
+ # @return [String]
2379
+ #
2380
+ # @!attribute [rw] access_grants_location_id
2381
+ # The ID of the registered location that you are retrieving. S3 Access
2382
+ # Grants assigns this ID when you register the location. S3 Access
2383
+ # Grants assigns the ID `default` to the default location `s3://` and
2384
+ # assigns an auto-generated ID to other locations that you register.
2385
+ # @return [String]
2386
+ #
2387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsLocationRequest AWS API Documentation
2388
+ #
2389
+ class GetAccessGrantsLocationRequest < Struct.new(
2390
+ :account_id,
2391
+ :access_grants_location_id)
2392
+ SENSITIVE = []
2393
+ include Aws::Structure
2394
+ end
2395
+
2396
+ # @!attribute [rw] created_at
2397
+ # The date and time when you registered the location.
2398
+ # @return [Time]
2399
+ #
2400
+ # @!attribute [rw] access_grants_location_id
2401
+ # The ID of the registered location to which you are granting access.
2402
+ # S3 Access Grants assigns this ID when you register the location. S3
2403
+ # Access Grants assigns the ID `default` to the default location
2404
+ # `s3://` and assigns an auto-generated ID to other locations that you
2405
+ # register.
2406
+ # @return [String]
2407
+ #
2408
+ # @!attribute [rw] access_grants_location_arn
2409
+ # The Amazon Resource Name (ARN) of the registered location.
2410
+ # @return [String]
2411
+ #
2412
+ # @!attribute [rw] location_scope
2413
+ # The S3 URI path to the registered location. The location scope can
2414
+ # be the default S3 location `s3://`, the S3 path to a bucket, or the
2415
+ # S3 path to a bucket and prefix. A prefix in S3 is a string of
2416
+ # characters at the beginning of an object key name used to organize
2417
+ # the objects that you store in your S3 buckets. For example, object
2418
+ # key names that start with the `engineering/` prefix or object key
2419
+ # names that start with the `marketing/campaigns/` prefix.
2420
+ # @return [String]
2421
+ #
2422
+ # @!attribute [rw] iam_role_arn
2423
+ # The Amazon Resource Name (ARN) of the IAM role for the registered
2424
+ # location. S3 Access Grants assumes this role to manage access to the
2425
+ # registered location.
2426
+ # @return [String]
2427
+ #
2428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsLocationResult AWS API Documentation
2429
+ #
2430
+ class GetAccessGrantsLocationResult < Struct.new(
2431
+ :created_at,
2432
+ :access_grants_location_id,
2433
+ :access_grants_location_arn,
2434
+ :location_scope,
2435
+ :iam_role_arn)
2436
+ SENSITIVE = []
2437
+ include Aws::Structure
2438
+ end
2439
+
1680
2440
  # @!attribute [rw] account_id
1681
2441
  # The account ID for the account that owns the specified Object Lambda
1682
2442
  # Access Point.
@@ -2245,23 +3005,105 @@ module Aws::S3Control
2245
3005
  include Aws::Structure
2246
3006
  end
2247
3007
 
2248
- # @!attribute [rw] status
2249
- # The versioning state of the S3 on Outposts bucket.
2250
- # @return [String]
3008
+ # @!attribute [rw] status
3009
+ # The versioning state of the S3 on Outposts bucket.
3010
+ # @return [String]
3011
+ #
3012
+ # @!attribute [rw] mfa_delete
3013
+ # Specifies whether MFA delete is enabled in the bucket versioning
3014
+ # configuration. This element is returned only if the bucket has been
3015
+ # configured with MFA delete. If MFA delete has never been configured
3016
+ # for the bucket, this element is not returned.
3017
+ # @return [String]
3018
+ #
3019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketVersioningResult AWS API Documentation
3020
+ #
3021
+ class GetBucketVersioningResult < Struct.new(
3022
+ :status,
3023
+ :mfa_delete)
3024
+ SENSITIVE = []
3025
+ include Aws::Structure
3026
+ end
3027
+
3028
+ # @!attribute [rw] account_id
3029
+ # The ID of the Amazon Web Services account that is making this
3030
+ # request.
3031
+ # @return [String]
3032
+ #
3033
+ # @!attribute [rw] target
3034
+ # The S3 URI path of the data to which you are requesting temporary
3035
+ # access credentials. If the requesting account has an access grant
3036
+ # for this data, S3 Access Grants vends temporary access credentials
3037
+ # in the response.
3038
+ # @return [String]
3039
+ #
3040
+ # @!attribute [rw] permission
3041
+ # The type of permission granted to your S3 data, which can be set to
3042
+ # one of the following values:
3043
+ #
3044
+ # * `READ` – Grant read-only access to the S3 data.
3045
+ #
3046
+ # * `WRITE` – Grant write-only access to the S3 data.
3047
+ #
3048
+ # * `READWRITE` – Grant both read and write access to the S3 data.
3049
+ # @return [String]
3050
+ #
3051
+ # @!attribute [rw] duration_seconds
3052
+ # The session duration, in seconds, of the temporary access credential
3053
+ # that S3 Access Grants vends to the grantee or client application.
3054
+ # The default value is 1 hour, but the grantee can specify a range
3055
+ # from 900 seconds (15 minutes) up to 43200 seconds (12 hours). If the
3056
+ # grantee requests a value higher than this maximum, the operation
3057
+ # fails.
3058
+ # @return [Integer]
3059
+ #
3060
+ # @!attribute [rw] privilege
3061
+ # The scope of the temporary access credential that S3 Access Grants
3062
+ # vends to the grantee or client application.
3063
+ #
3064
+ # * `Default` – The scope of the returned temporary access token is
3065
+ # the scope of the grant that is closest to the target scope.
3066
+ #
3067
+ # * `Minimal` – The scope of the returned temporary access token is
3068
+ # the same as the requested target scope as long as the requested
3069
+ # scope is the same as or a subset of the grant scope.
3070
+ # @return [String]
3071
+ #
3072
+ # @!attribute [rw] target_type
3073
+ # The type of `Target`. The only possible value is `Object`. Pass this
3074
+ # value if the target data that you would like to access is a path to
3075
+ # an object. Do not pass this value if the target data is a bucket or
3076
+ # a bucket and a prefix.
3077
+ # @return [String]
3078
+ #
3079
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetDataAccessRequest AWS API Documentation
3080
+ #
3081
+ class GetDataAccessRequest < Struct.new(
3082
+ :account_id,
3083
+ :target,
3084
+ :permission,
3085
+ :duration_seconds,
3086
+ :privilege,
3087
+ :target_type)
3088
+ SENSITIVE = []
3089
+ include Aws::Structure
3090
+ end
3091
+
3092
+ # @!attribute [rw] credentials
3093
+ # The temporary credential token that S3 Access Grants vends.
3094
+ # @return [Types::Credentials]
2251
3095
  #
2252
- # @!attribute [rw] mfa_delete
2253
- # Specifies whether MFA delete is enabled in the bucket versioning
2254
- # configuration. This element is returned only if the bucket has been
2255
- # configured with MFA delete. If MFA delete has never been configured
2256
- # for the bucket, this element is not returned.
3096
+ # @!attribute [rw] matched_grant_target
3097
+ # The S3 URI path of the data to which you are being granted temporary
3098
+ # access credentials.
2257
3099
  # @return [String]
2258
3100
  #
2259
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketVersioningResult AWS API Documentation
3101
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetDataAccessResult AWS API Documentation
2260
3102
  #
2261
- class GetBucketVersioningResult < Struct.new(
2262
- :status,
2263
- :mfa_delete)
2264
- SENSITIVE = []
3103
+ class GetDataAccessResult < Struct.new(
3104
+ :credentials,
3105
+ :matched_grant_target)
3106
+ SENSITIVE = [:credentials]
2265
3107
  include Aws::Structure
2266
3108
  end
2267
3109
 
@@ -2572,6 +3414,47 @@ module Aws::S3Control
2572
3414
  include Aws::Structure
2573
3415
  end
2574
3416
 
3417
+ # The user, group, or role to which you are granting access. You can
3418
+ # grant access to an IAM user or role. If you have added your corporate
3419
+ # directory to Amazon Web Services IAM Identity Center and associated
3420
+ # your Identity Center instance with your S3 Access Grants instance, the
3421
+ # grantee can also be a corporate directory user or group.
3422
+ #
3423
+ # @!attribute [rw] grantee_type
3424
+ # The type of the grantee to which access has been granted. It can be
3425
+ # one of the following values:
3426
+ #
3427
+ # * `IAM` - An IAM user or role.
3428
+ #
3429
+ # * `DIRECTORY_USER` - Your corporate directory user. You can use this
3430
+ # option if you have added your corporate identity directory to IAM
3431
+ # Identity Center and associated the IAM Identity Center instance
3432
+ # with your S3 Access Grants instance.
3433
+ #
3434
+ # * `DIRECTORY_GROUP` - Your corporate directory group. You can use
3435
+ # this option if you have added your corporate identity directory to
3436
+ # IAM Identity Center and associated the IAM Identity Center
3437
+ # instance with your S3 Access Grants instance.
3438
+ # @return [String]
3439
+ #
3440
+ # @!attribute [rw] grantee_identifier
3441
+ # The unique identifier of the `Grantee`. If the grantee type is
3442
+ # `IAM`, the identifier is the IAM Amazon Resource Name (ARN) of the
3443
+ # user or role. If the grantee type is a directory user or group, the
3444
+ # identifier is 128-bit universally unique identifier (UUID) in the
3445
+ # format `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`. You can obtain this
3446
+ # UUID from your Amazon Web Services IAM Identity Center instance.
3447
+ # @return [String]
3448
+ #
3449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Grantee AWS API Documentation
3450
+ #
3451
+ class Grantee < Struct.new(
3452
+ :grantee_type,
3453
+ :grantee_identifier)
3454
+ SENSITIVE = []
3455
+ include Aws::Structure
3456
+ end
3457
+
2575
3458
  # @!attribute [rw] message
2576
3459
  # @return [String]
2577
3460
  #
@@ -3405,6 +4288,372 @@ module Aws::S3Control
3405
4288
  include Aws::Structure
3406
4289
  end
3407
4290
 
4291
+ # Information about the access grant.
4292
+ #
4293
+ # @!attribute [rw] created_at
4294
+ # The date and time when you created the S3 Access Grants instance.
4295
+ # @return [Time]
4296
+ #
4297
+ # @!attribute [rw] access_grant_id
4298
+ # The ID of the access grant. S3 Access Grants auto-generates this ID
4299
+ # when you create the access grant.
4300
+ # @return [String]
4301
+ #
4302
+ # @!attribute [rw] access_grant_arn
4303
+ # The Amazon Resource Name (ARN) of the access grant.
4304
+ # @return [String]
4305
+ #
4306
+ # @!attribute [rw] grantee
4307
+ # The user, group, or role to which you are granting access. You can
4308
+ # grant access to an IAM user or role. If you have added your
4309
+ # corporate directory to Amazon Web Services IAM Identity Center and
4310
+ # associated your Identity Center instance with your S3 Access Grants
4311
+ # instance, the grantee can also be a corporate directory user or
4312
+ # group.
4313
+ # @return [Types::Grantee]
4314
+ #
4315
+ # @!attribute [rw] permission
4316
+ # The type of access granted to your S3 data, which can be set to one
4317
+ # of the following values:
4318
+ #
4319
+ # * `READ` – Grant read-only access to the S3 data.
4320
+ #
4321
+ # * `WRITE` – Grant write-only access to the S3 data.
4322
+ #
4323
+ # * `READWRITE` – Grant both read and write access to the S3 data.
4324
+ # @return [String]
4325
+ #
4326
+ # @!attribute [rw] access_grants_location_id
4327
+ # The ID of the registered location to which you are granting access.
4328
+ # S3 Access Grants assigns this ID when you register the location. S3
4329
+ # Access Grants assigns the ID `default` to the default location
4330
+ # `s3://` and assigns an auto-generated ID to other locations that you
4331
+ # register.
4332
+ # @return [String]
4333
+ #
4334
+ # @!attribute [rw] access_grants_location_configuration
4335
+ # The configuration options of the grant location. The grant location
4336
+ # is the S3 path to the data to which you are granting access.
4337
+ # @return [Types::AccessGrantsLocationConfiguration]
4338
+ #
4339
+ # @!attribute [rw] grant_scope
4340
+ # The S3 path of the data to which you are granting access. It is the
4341
+ # result of appending the `Subprefix` to the location scope.
4342
+ # @return [String]
4343
+ #
4344
+ # @!attribute [rw] application_arn
4345
+ # The Amazon Resource Name (ARN) of an Amazon Web Services IAM
4346
+ # Identity Center application associated with your Identity Center
4347
+ # instance. If the grant includes an application ARN, the grantee can
4348
+ # only access the S3 data through this application.
4349
+ # @return [String]
4350
+ #
4351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantEntry AWS API Documentation
4352
+ #
4353
+ class ListAccessGrantEntry < Struct.new(
4354
+ :created_at,
4355
+ :access_grant_id,
4356
+ :access_grant_arn,
4357
+ :grantee,
4358
+ :permission,
4359
+ :access_grants_location_id,
4360
+ :access_grants_location_configuration,
4361
+ :grant_scope,
4362
+ :application_arn)
4363
+ SENSITIVE = []
4364
+ include Aws::Structure
4365
+ end
4366
+
4367
+ # Information about the S3 Access Grants instance.
4368
+ #
4369
+ # @!attribute [rw] access_grants_instance_id
4370
+ # The ID of the S3 Access Grants instance. The ID is `default`. You
4371
+ # can have one S3 Access Grants instance per Region per account.
4372
+ # @return [String]
4373
+ #
4374
+ # @!attribute [rw] access_grants_instance_arn
4375
+ # The Amazon Resource Name (ARN) of the S3 Access Grants instance.
4376
+ # @return [String]
4377
+ #
4378
+ # @!attribute [rw] created_at
4379
+ # The date and time when you created the S3 Access Grants instance.
4380
+ # @return [Time]
4381
+ #
4382
+ # @!attribute [rw] identity_center_arn
4383
+ # If you associated your S3 Access Grants instance with an Amazon Web
4384
+ # Services IAM Identity Center instance, this field returns the Amazon
4385
+ # Resource Name (ARN) of the IAM Identity Center instance application;
4386
+ # a subresource of the original Identity Center instance. S3 Access
4387
+ # Grants creates this Identity Center application for the specific S3
4388
+ # Access Grants instance.
4389
+ # @return [String]
4390
+ #
4391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsInstanceEntry AWS API Documentation
4392
+ #
4393
+ class ListAccessGrantsInstanceEntry < Struct.new(
4394
+ :access_grants_instance_id,
4395
+ :access_grants_instance_arn,
4396
+ :created_at,
4397
+ :identity_center_arn)
4398
+ SENSITIVE = []
4399
+ include Aws::Structure
4400
+ end
4401
+
4402
+ # @!attribute [rw] account_id
4403
+ # The ID of the Amazon Web Services account that is making this
4404
+ # request.
4405
+ # @return [String]
4406
+ #
4407
+ # @!attribute [rw] next_token
4408
+ # A pagination token to request the next page of results. Pass this
4409
+ # value into a subsequent `List Access Grants Instances` request in
4410
+ # order to retrieve the next page of results.
4411
+ # @return [String]
4412
+ #
4413
+ # @!attribute [rw] max_results
4414
+ # The maximum number of access grants that you would like returned in
4415
+ # the `List Access Grants` response. If the results include the
4416
+ # pagination token `NextToken`, make another call using the
4417
+ # `NextToken` to determine if there are more results.
4418
+ # @return [Integer]
4419
+ #
4420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsInstancesRequest AWS API Documentation
4421
+ #
4422
+ class ListAccessGrantsInstancesRequest < Struct.new(
4423
+ :account_id,
4424
+ :next_token,
4425
+ :max_results)
4426
+ SENSITIVE = []
4427
+ include Aws::Structure
4428
+ end
4429
+
4430
+ # @!attribute [rw] next_token
4431
+ # A pagination token to request the next page of results. Pass this
4432
+ # value into a subsequent `List Access Grants Instances` request in
4433
+ # order to retrieve the next page of results.
4434
+ # @return [String]
4435
+ #
4436
+ # @!attribute [rw] access_grants_instances_list
4437
+ # A container for a list of S3 Access Grants instances.
4438
+ # @return [Array<Types::ListAccessGrantsInstanceEntry>]
4439
+ #
4440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsInstancesResult AWS API Documentation
4441
+ #
4442
+ class ListAccessGrantsInstancesResult < Struct.new(
4443
+ :next_token,
4444
+ :access_grants_instances_list)
4445
+ SENSITIVE = []
4446
+ include Aws::Structure
4447
+ end
4448
+
4449
+ # A container for information about the registered location.
4450
+ #
4451
+ # @!attribute [rw] created_at
4452
+ # The date and time when you registered the location.
4453
+ # @return [Time]
4454
+ #
4455
+ # @!attribute [rw] access_grants_location_id
4456
+ # The ID of the registered location to which you are granting access.
4457
+ # S3 Access Grants assigns this ID when you register the location. S3
4458
+ # Access Grants assigns the ID `default` to the default location
4459
+ # `s3://` and assigns an auto-generated ID to other locations that you
4460
+ # register.
4461
+ # @return [String]
4462
+ #
4463
+ # @!attribute [rw] access_grants_location_arn
4464
+ # The Amazon Resource Name (ARN) of the registered location.
4465
+ # @return [String]
4466
+ #
4467
+ # @!attribute [rw] location_scope
4468
+ # The S3 path to the location that you are registering. The location
4469
+ # scope can be the default S3 location `s3://`, the S3 path to a
4470
+ # bucket `s3://<bucket>`, or the S3 path to a bucket and prefix
4471
+ # `s3://<bucket>/<prefix>`. A prefix in S3 is a string of characters
4472
+ # at the beginning of an object key name used to organize the objects
4473
+ # that you store in your S3 buckets. For example, object key names
4474
+ # that start with the `engineering/` prefix or object key names that
4475
+ # start with the `marketing/campaigns/` prefix.
4476
+ # @return [String]
4477
+ #
4478
+ # @!attribute [rw] iam_role_arn
4479
+ # The Amazon Resource Name (ARN) of the IAM role for the registered
4480
+ # location. S3 Access Grants assumes this role to manage access to the
4481
+ # registered location.
4482
+ # @return [String]
4483
+ #
4484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsLocationsEntry AWS API Documentation
4485
+ #
4486
+ class ListAccessGrantsLocationsEntry < Struct.new(
4487
+ :created_at,
4488
+ :access_grants_location_id,
4489
+ :access_grants_location_arn,
4490
+ :location_scope,
4491
+ :iam_role_arn)
4492
+ SENSITIVE = []
4493
+ include Aws::Structure
4494
+ end
4495
+
4496
+ # @!attribute [rw] account_id
4497
+ # The ID of the Amazon Web Services account that is making this
4498
+ # request.
4499
+ # @return [String]
4500
+ #
4501
+ # @!attribute [rw] next_token
4502
+ # A pagination token to request the next page of results. Pass this
4503
+ # value into a subsequent `List Access Grants Locations` request in
4504
+ # order to retrieve the next page of results.
4505
+ # @return [String]
4506
+ #
4507
+ # @!attribute [rw] max_results
4508
+ # The maximum number of access grants that you would like returned in
4509
+ # the `List Access Grants` response. If the results include the
4510
+ # pagination token `NextToken`, make another call using the
4511
+ # `NextToken` to determine if there are more results.
4512
+ # @return [Integer]
4513
+ #
4514
+ # @!attribute [rw] location_scope
4515
+ # The S3 path to the location that you are registering. The location
4516
+ # scope can be the default S3 location `s3://`, the S3 path to a
4517
+ # bucket `s3://<bucket>`, or the S3 path to a bucket and prefix
4518
+ # `s3://<bucket>/<prefix>`. A prefix in S3 is a string of characters
4519
+ # at the beginning of an object key name used to organize the objects
4520
+ # that you store in your S3 buckets. For example, object key names
4521
+ # that start with the `engineering/` prefix or object key names that
4522
+ # start with the `marketing/campaigns/` prefix.
4523
+ # @return [String]
4524
+ #
4525
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsLocationsRequest AWS API Documentation
4526
+ #
4527
+ class ListAccessGrantsLocationsRequest < Struct.new(
4528
+ :account_id,
4529
+ :next_token,
4530
+ :max_results,
4531
+ :location_scope)
4532
+ SENSITIVE = []
4533
+ include Aws::Structure
4534
+ end
4535
+
4536
+ # @!attribute [rw] next_token
4537
+ # A pagination token to request the next page of results. Pass this
4538
+ # value into a subsequent `List Access Grants Locations` request in
4539
+ # order to retrieve the next page of results.
4540
+ # @return [String]
4541
+ #
4542
+ # @!attribute [rw] access_grants_locations_list
4543
+ # A container for a list of registered locations in an S3 Access
4544
+ # Grants instance.
4545
+ # @return [Array<Types::ListAccessGrantsLocationsEntry>]
4546
+ #
4547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsLocationsResult AWS API Documentation
4548
+ #
4549
+ class ListAccessGrantsLocationsResult < Struct.new(
4550
+ :next_token,
4551
+ :access_grants_locations_list)
4552
+ SENSITIVE = []
4553
+ include Aws::Structure
4554
+ end
4555
+
4556
+ # @!attribute [rw] account_id
4557
+ # The ID of the Amazon Web Services account that is making this
4558
+ # request.
4559
+ # @return [String]
4560
+ #
4561
+ # @!attribute [rw] next_token
4562
+ # A pagination token to request the next page of results. Pass this
4563
+ # value into a subsequent `List Access Grants` request in order to
4564
+ # retrieve the next page of results.
4565
+ # @return [String]
4566
+ #
4567
+ # @!attribute [rw] max_results
4568
+ # The maximum number of access grants that you would like returned in
4569
+ # the `List Access Grants` response. If the results include the
4570
+ # pagination token `NextToken`, make another call using the
4571
+ # `NextToken` to determine if there are more results.
4572
+ # @return [Integer]
4573
+ #
4574
+ # @!attribute [rw] grantee_type
4575
+ # The type of the grantee to which access has been granted. It can be
4576
+ # one of the following values:
4577
+ #
4578
+ # * `IAM` - An IAM user or role.
4579
+ #
4580
+ # * `DIRECTORY_USER` - Your corporate directory user. You can use this
4581
+ # option if you have added your corporate identity directory to IAM
4582
+ # Identity Center and associated the IAM Identity Center instance
4583
+ # with your S3 Access Grants instance.
4584
+ #
4585
+ # * `DIRECTORY_GROUP` - Your corporate directory group. You can use
4586
+ # this option if you have added your corporate identity directory to
4587
+ # IAM Identity Center and associated the IAM Identity Center
4588
+ # instance with your S3 Access Grants instance.
4589
+ # @return [String]
4590
+ #
4591
+ # @!attribute [rw] grantee_identifier
4592
+ # The unique identifer of the `Grantee`. If the grantee type is `IAM`,
4593
+ # the identifier is the IAM Amazon Resource Name (ARN) of the user or
4594
+ # role. If the grantee type is a directory user or group, the
4595
+ # identifier is 128-bit universally unique identifier (UUID) in the
4596
+ # format `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`. You can obtain this
4597
+ # UUID from your Amazon Web Services IAM Identity Center instance.
4598
+ # @return [String]
4599
+ #
4600
+ # @!attribute [rw] permission
4601
+ # The type of permission granted to your S3 data, which can be set to
4602
+ # one of the following values:
4603
+ #
4604
+ # * `READ` – Grant read-only access to the S3 data.
4605
+ #
4606
+ # * `WRITE` – Grant write-only access to the S3 data.
4607
+ #
4608
+ # * `READWRITE` – Grant both read and write access to the S3 data.
4609
+ # @return [String]
4610
+ #
4611
+ # @!attribute [rw] grant_scope
4612
+ # The S3 path of the data to which you are granting access. It is the
4613
+ # result of appending the `Subprefix` to the location scope.
4614
+ # @return [String]
4615
+ #
4616
+ # @!attribute [rw] application_arn
4617
+ # The Amazon Resource Name (ARN) of an Amazon Web Services IAM
4618
+ # Identity Center application associated with your Identity Center
4619
+ # instance. If the grant includes an application ARN, the grantee can
4620
+ # only access the S3 data through this application.
4621
+ # @return [String]
4622
+ #
4623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsRequest AWS API Documentation
4624
+ #
4625
+ class ListAccessGrantsRequest < Struct.new(
4626
+ :account_id,
4627
+ :next_token,
4628
+ :max_results,
4629
+ :grantee_type,
4630
+ :grantee_identifier,
4631
+ :permission,
4632
+ :grant_scope,
4633
+ :application_arn)
4634
+ SENSITIVE = []
4635
+ include Aws::Structure
4636
+ end
4637
+
4638
+ # @!attribute [rw] next_token
4639
+ # A pagination token to request the next page of results. Pass this
4640
+ # value into a subsequent `List Access Grants` request in order to
4641
+ # retrieve the next page of results.
4642
+ # @return [String]
4643
+ #
4644
+ # @!attribute [rw] access_grants_list
4645
+ # A container for a list of grants in an S3 Access Grants instance.
4646
+ # @return [Array<Types::ListAccessGrantEntry>]
4647
+ #
4648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsResult AWS API Documentation
4649
+ #
4650
+ class ListAccessGrantsResult < Struct.new(
4651
+ :next_token,
4652
+ :access_grants_list)
4653
+ SENSITIVE = []
4654
+ include Aws::Structure
4655
+ end
4656
+
3408
4657
  # @!attribute [rw] account_id
3409
4658
  # The account ID for the account that owns the specified Object Lambda
3410
4659
  # Access Point.
@@ -3817,7 +5066,8 @@ module Aws::S3Control
3817
5066
  #
3818
5067
  # @!attribute [rw] resource_arn
3819
5068
  # The Amazon Resource Name (ARN) of the S3 resource that you want to
3820
- # list the tags for.
5069
+ # list the tags for. The tagged resource can be an S3 Storage Lens
5070
+ # group or S3 Access Grants instance, registered location, or grant.
3821
5071
  # @return [String]
3822
5072
  #
3823
5073
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListTagsForResourceRequest AWS API Documentation
@@ -4465,6 +5715,55 @@ module Aws::S3Control
4465
5715
  include Aws::Structure
4466
5716
  end
4467
5717
 
5718
+ # @!attribute [rw] account_id
5719
+ # The ID of the Amazon Web Services account that is making this
5720
+ # request.
5721
+ # @return [String]
5722
+ #
5723
+ # @!attribute [rw] policy
5724
+ # The resource policy of the S3 Access Grants instance that you are
5725
+ # updating.
5726
+ # @return [String]
5727
+ #
5728
+ # @!attribute [rw] organization
5729
+ # The Organization of the resource policy of the S3 Access Grants
5730
+ # instance.
5731
+ # @return [String]
5732
+ #
5733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessGrantsInstanceResourcePolicyRequest AWS API Documentation
5734
+ #
5735
+ class PutAccessGrantsInstanceResourcePolicyRequest < Struct.new(
5736
+ :account_id,
5737
+ :policy,
5738
+ :organization)
5739
+ SENSITIVE = []
5740
+ include Aws::Structure
5741
+ end
5742
+
5743
+ # @!attribute [rw] policy
5744
+ # The updated resource policy of the S3 Access Grants instance.
5745
+ # @return [String]
5746
+ #
5747
+ # @!attribute [rw] organization
5748
+ # The Organization of the resource policy of the S3 Access Grants
5749
+ # instance.
5750
+ # @return [String]
5751
+ #
5752
+ # @!attribute [rw] created_at
5753
+ # The date and time when you created the S3 Access Grants instance
5754
+ # resource policy.
5755
+ # @return [Time]
5756
+ #
5757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessGrantsInstanceResourcePolicyResult AWS API Documentation
5758
+ #
5759
+ class PutAccessGrantsInstanceResourcePolicyResult < Struct.new(
5760
+ :policy,
5761
+ :organization,
5762
+ :created_at)
5763
+ SENSITIVE = []
5764
+ include Aws::Structure
5765
+ end
5766
+
4468
5767
  # @!attribute [rw] account_id
4469
5768
  # The account ID for the account that owns the specified Object Lambda
4470
5769
  # Access Point.
@@ -6414,23 +7713,29 @@ module Aws::S3Control
6414
7713
  # resource. You can add tags to new objects when you upload them, or you
6415
7714
  # can add object tags to existing objects.
6416
7715
  #
6417
- # <note markdown="1"> This data type is only supported for [S3 Storage Lens groups][1].
7716
+ # <note markdown="1"> This operation is only supported for [S3 Storage Lens groups][1] and
7717
+ # for [S3 Access Grants][2]. The tagged resource can be an S3 Storage
7718
+ # Lens group or S3 Access Grants instance, registered location, or
7719
+ # grant.
6418
7720
  #
6419
7721
  # </note>
6420
7722
  #
6421
7723
  #
6422
7724
  #
6423
7725
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-groups.html
7726
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-tagging.html
6424
7727
  #
6425
7728
  # @!attribute [rw] key
6426
- # The tag key for your Amazon Web Services resource. A tag key can be
6427
- # up to 128 Unicode characters in length and is case-sensitive. System
6428
- # created tags that begin with `aws:` aren’t supported.
7729
+ # The key of the key-value pair of a tag added to your Amazon Web
7730
+ # Services resource. A tag key can be up to 128 Unicode characters in
7731
+ # length and is case-sensitive. System created tags that begin with
7732
+ # `aws:` aren’t supported.
6429
7733
  # @return [String]
6430
7734
  #
6431
7735
  # @!attribute [rw] value
6432
- # The tag value for your Amazon Web Services resource. A tag value can
6433
- # be up to 256 Unicode characters in length and is case-sensitive.
7736
+ # The value of the key-value pair of a tag added to your Amazon Web
7737
+ # Services resource. A tag value can be up to 256 Unicode characters
7738
+ # in length and is case-sensitive.
6434
7739
  # @return [String]
6435
7740
  #
6436
7741
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Tag AWS API Documentation
@@ -6444,12 +7749,13 @@ module Aws::S3Control
6444
7749
 
6445
7750
  # @!attribute [rw] account_id
6446
7751
  # The Amazon Web Services account ID that created the S3 resource that
6447
- # you're trying to add tags to.
7752
+ # you're trying to add tags to or the requester's account ID.
6448
7753
  # @return [String]
6449
7754
  #
6450
7755
  # @!attribute [rw] resource_arn
6451
7756
  # The Amazon Resource Name (ARN) of the S3 resource that you're
6452
- # trying to add tags to.
7757
+ # trying to add tags to. The tagged resource can be an S3 Storage Lens
7758
+ # group or S3 Access Grants instance, registered location, or grant.
6453
7759
  # @return [String]
6454
7760
  #
6455
7761
  # @!attribute [rw] tags
@@ -6549,13 +7855,13 @@ module Aws::S3Control
6549
7855
  # @return [String]
6550
7856
  #
6551
7857
  # @!attribute [rw] resource_arn
6552
- # The Amazon Resource Name (ARN) of the S3 resource that you want to
6553
- # remove the resource tags from.
7858
+ # The Amazon Resource Name (ARN) of the S3 resource that you're
7859
+ # trying to remove the tags from.
6554
7860
  # @return [String]
6555
7861
  #
6556
7862
  # @!attribute [rw] tag_keys
6557
- # The tag key pair of the S3 resource tag that you're trying to
6558
- # remove.
7863
+ # The array of tag key-value pairs that you're trying to remove from
7864
+ # of the S3 resource.
6559
7865
  # @return [Array<String>]
6560
7866
  #
6561
7867
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UntagResourceRequest AWS API Documentation
@@ -6572,6 +7878,87 @@ module Aws::S3Control
6572
7878
  #
6573
7879
  class UntagResourceResult < Aws::EmptyStructure; end
6574
7880
 
7881
+ # @!attribute [rw] account_id
7882
+ # The ID of the Amazon Web Services account that is making this
7883
+ # request.
7884
+ # @return [String]
7885
+ #
7886
+ # @!attribute [rw] access_grants_location_id
7887
+ # The ID of the registered location that you are updating. S3 Access
7888
+ # Grants assigns this ID when you register the location. S3 Access
7889
+ # Grants assigns the ID `default` to the default location `s3://` and
7890
+ # assigns an auto-generated ID to other locations that you register.
7891
+ #
7892
+ # The ID of the registered location to which you are granting access.
7893
+ # S3 Access Grants assigned this ID when you registered the location.
7894
+ # S3 Access Grants assigns the ID `default` to the default location
7895
+ # `s3://` and assigns an auto-generated ID to other locations that you
7896
+ # register.
7897
+ #
7898
+ # If you are passing the `default` location, you cannot create an
7899
+ # access grant for the entire default location. You must also specify
7900
+ # a bucket or a bucket and prefix in the `Subprefix` field.
7901
+ # @return [String]
7902
+ #
7903
+ # @!attribute [rw] iam_role_arn
7904
+ # The Amazon Resource Name (ARN) of the IAM role for the registered
7905
+ # location. S3 Access Grants assumes this role to manage access to the
7906
+ # registered location.
7907
+ # @return [String]
7908
+ #
7909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateAccessGrantsLocationRequest AWS API Documentation
7910
+ #
7911
+ class UpdateAccessGrantsLocationRequest < Struct.new(
7912
+ :account_id,
7913
+ :access_grants_location_id,
7914
+ :iam_role_arn)
7915
+ SENSITIVE = []
7916
+ include Aws::Structure
7917
+ end
7918
+
7919
+ # @!attribute [rw] created_at
7920
+ # The date and time when you registered the location.
7921
+ # @return [Time]
7922
+ #
7923
+ # @!attribute [rw] access_grants_location_id
7924
+ # The ID of the registered location to which you are granting access.
7925
+ # S3 Access Grants assigned this ID when you registered the location.
7926
+ # S3 Access Grants assigns the ID `default` to the default location
7927
+ # `s3://` and assigns an auto-generated ID to other locations that you
7928
+ # register.
7929
+ # @return [String]
7930
+ #
7931
+ # @!attribute [rw] access_grants_location_arn
7932
+ # The Amazon Resource Name (ARN) of the registered location that you
7933
+ # are updating.
7934
+ # @return [String]
7935
+ #
7936
+ # @!attribute [rw] location_scope
7937
+ # The S3 URI path of the location that you are updating. You cannot
7938
+ # update the scope of the registered location. The location scope can
7939
+ # be the default S3 location `s3://`, the S3 path to a bucket
7940
+ # `s3://<bucket>`, or the S3 path to a bucket and prefix
7941
+ # `s3://<bucket>/<prefix>`.
7942
+ # @return [String]
7943
+ #
7944
+ # @!attribute [rw] iam_role_arn
7945
+ # The Amazon Resource Name (ARN) of the IAM role of the registered
7946
+ # location. S3 Access Grants assumes this role to manage access to the
7947
+ # registered location.
7948
+ # @return [String]
7949
+ #
7950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateAccessGrantsLocationResult AWS API Documentation
7951
+ #
7952
+ class UpdateAccessGrantsLocationResult < Struct.new(
7953
+ :created_at,
7954
+ :access_grants_location_id,
7955
+ :access_grants_location_arn,
7956
+ :location_scope,
7957
+ :iam_role_arn)
7958
+ SENSITIVE = []
7959
+ include Aws::Structure
7960
+ end
7961
+
6575
7962
  # @!attribute [rw] account_id
6576
7963
  # The Amazon Web Services account ID associated with the S3 Batch
6577
7964
  # Operations job.