aws-sdk-s3control 1.72.0 → 1.74.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.
@@ -1520,7 +1991,7 @@ module Aws::S3Control
1520
1991
  # S3 on Outposts uses the `OUTPOSTS` storage class to create the
1521
1992
  # object replicas.
1522
1993
  #
1523
- # <note markdown="1"> Values other than `OUTPOSTS` are not supported by Amazon S3 on
1994
+ # <note markdown="1"> Values other than `OUTPOSTS` aren't supported by Amazon S3 on
1524
1995
  # Outposts.
1525
1996
  #
1526
1997
  # </note>
@@ -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
  #
@@ -1678,50 +2162,326 @@ module Aws::S3Control
1678
2162
  end
1679
2163
 
1680
2164
  # @!attribute [rw] account_id
1681
- # The account ID for the account that owns the specified Object Lambda
1682
- # Access Point.
2165
+ # The ID of the Amazon Web Services account that is making this
2166
+ # request.
1683
2167
  # @return [String]
1684
2168
  #
1685
- # @!attribute [rw] name
1686
- # The name of the Object Lambda Access Point you want to return the
1687
- # configuration for.
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.
1688
2172
  # @return [String]
1689
2173
  #
1690
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambdaRequest AWS API Documentation
2174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantRequest AWS API Documentation
1691
2175
  #
1692
- class GetAccessPointConfigurationForObjectLambdaRequest < Struct.new(
2176
+ class GetAccessGrantRequest < Struct.new(
1693
2177
  :account_id,
1694
- :name)
2178
+ :access_grant_id)
1695
2179
  SENSITIVE = []
1696
2180
  include Aws::Structure
1697
2181
  end
1698
2182
 
1699
- # @!attribute [rw] configuration
1700
- # Object Lambda Access Point configuration document.
1701
- # @return [Types::ObjectLambdaConfiguration]
2183
+ # @!attribute [rw] created_at
2184
+ # The date and time when you created the access grant.
2185
+ # @return [Time]
1702
2186
  #
1703
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambdaResult AWS API Documentation
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]
1704
2191
  #
1705
- class GetAccessPointConfigurationForObjectLambdaResult < Struct.new(
1706
- :configuration)
1707
- SENSITIVE = []
1708
- include Aws::Structure
1709
- end
1710
-
1711
- # @!attribute [rw] account_id
1712
- # The account ID for the account that owns the specified Object Lambda
1713
- # Access Point.
2192
+ # @!attribute [rw] access_grant_arn
2193
+ # The Amazon Resource Name (ARN) of the access grant.
1714
2194
  # @return [String]
1715
2195
  #
1716
- # @!attribute [rw] name
1717
- # The name of the Object Lambda Access Point.
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.
1718
2213
  # @return [String]
1719
2214
  #
1720
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambdaRequest AWS API Documentation
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]
1721
2222
  #
1722
- class GetAccessPointForObjectLambdaRequest < Struct.new(
1723
- :account_id,
1724
- :name)
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
+
2440
+ # @!attribute [rw] account_id
2441
+ # The account ID for the account that owns the specified Object Lambda
2442
+ # Access Point.
2443
+ # @return [String]
2444
+ #
2445
+ # @!attribute [rw] name
2446
+ # The name of the Object Lambda Access Point you want to return the
2447
+ # configuration for.
2448
+ # @return [String]
2449
+ #
2450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambdaRequest AWS API Documentation
2451
+ #
2452
+ class GetAccessPointConfigurationForObjectLambdaRequest < Struct.new(
2453
+ :account_id,
2454
+ :name)
2455
+ SENSITIVE = []
2456
+ include Aws::Structure
2457
+ end
2458
+
2459
+ # @!attribute [rw] configuration
2460
+ # Object Lambda Access Point configuration document.
2461
+ # @return [Types::ObjectLambdaConfiguration]
2462
+ #
2463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambdaResult AWS API Documentation
2464
+ #
2465
+ class GetAccessPointConfigurationForObjectLambdaResult < Struct.new(
2466
+ :configuration)
2467
+ SENSITIVE = []
2468
+ include Aws::Structure
2469
+ end
2470
+
2471
+ # @!attribute [rw] account_id
2472
+ # The account ID for the account that owns the specified Object Lambda
2473
+ # Access Point.
2474
+ # @return [String]
2475
+ #
2476
+ # @!attribute [rw] name
2477
+ # The name of the Object Lambda Access Point.
2478
+ # @return [String]
2479
+ #
2480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambdaRequest AWS API Documentation
2481
+ #
2482
+ class GetAccessPointForObjectLambdaRequest < Struct.new(
2483
+ :account_id,
2484
+ :name)
1725
2485
  SENSITIVE = []
1726
2486
  include Aws::Structure
1727
2487
  end
@@ -2265,6 +3025,88 @@ module Aws::S3Control
2265
3025
  include Aws::Structure
2266
3026
  end
2267
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]
3095
+ #
3096
+ # @!attribute [rw] matched_grant_target
3097
+ # The S3 URI path of the data to which you are being granted temporary
3098
+ # access credentials.
3099
+ # @return [String]
3100
+ #
3101
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetDataAccessResult AWS API Documentation
3102
+ #
3103
+ class GetDataAccessResult < Struct.new(
3104
+ :credentials,
3105
+ :matched_grant_target)
3106
+ SENSITIVE = [:credentials]
3107
+ include Aws::Structure
3108
+ end
3109
+
2268
3110
  # @!attribute [rw] account_id
2269
3111
  # The Amazon Web Services account ID associated with the S3 Batch
2270
3112
  # Operations job.
@@ -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
  #
@@ -2843,7 +3726,12 @@ module Aws::S3Control
2843
3726
  #
2844
3727
  # @!attribute [rw] location
2845
3728
  # Contains the information required to locate the specified job's
2846
- # manifest.
3729
+ # manifest. Manifests can't be imported from directory buckets. For
3730
+ # more information, see [Directory buckets][1].
3731
+ #
3732
+ #
3733
+ #
3734
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
2847
3735
  # @return [Types::JobManifestLocation]
2848
3736
  #
2849
3737
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifest AWS API Documentation
@@ -2939,6 +3827,12 @@ module Aws::S3Control
2939
3827
  end
2940
3828
 
2941
3829
  # Contains the information required to locate a manifest object.
3830
+ # Manifests can't be imported from directory buckets. For more
3831
+ # information, see [Directory buckets][1].
3832
+ #
3833
+ #
3834
+ #
3835
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
2942
3836
  #
2943
3837
  # @!attribute [rw] object_arn
2944
3838
  # The Amazon Resource Name (ARN) for a manifest object.
@@ -3016,21 +3910,37 @@ module Aws::S3Control
3016
3910
  # @!attribute [rw] s3_put_object_acl
3017
3911
  # Directs the specified job to run a `PutObjectAcl` call on every
3018
3912
  # object in the manifest.
3913
+ #
3914
+ # <note markdown="1"> This functionality is not supported by directory buckets.
3915
+ #
3916
+ # </note>
3019
3917
  # @return [Types::S3SetObjectAclOperation]
3020
3918
  #
3021
3919
  # @!attribute [rw] s3_put_object_tagging
3022
3920
  # Directs the specified job to run a PUT Object tagging call on every
3023
3921
  # object in the manifest.
3922
+ #
3923
+ # <note markdown="1"> This functionality is not supported by directory buckets.
3924
+ #
3925
+ # </note>
3024
3926
  # @return [Types::S3SetObjectTaggingOperation]
3025
3927
  #
3026
3928
  # @!attribute [rw] s3_delete_object_tagging
3027
3929
  # Directs the specified job to execute a DELETE Object tagging call on
3028
3930
  # every object in the manifest.
3931
+ #
3932
+ # <note markdown="1"> This functionality is not supported by directory buckets.
3933
+ #
3934
+ # </note>
3029
3935
  # @return [Types::S3DeleteObjectTaggingOperation]
3030
3936
  #
3031
3937
  # @!attribute [rw] s3_initiate_restore_object
3032
3938
  # Directs the specified job to initiate restore requests for every
3033
3939
  # archived object in the manifest.
3940
+ #
3941
+ # <note markdown="1"> This functionality is not supported by directory buckets.
3942
+ #
3943
+ # </note>
3034
3944
  # @return [Types::S3InitiateRestoreObjectOperation]
3035
3945
  #
3036
3946
  # @!attribute [rw] s3_put_object_legal_hold
@@ -3040,6 +3950,10 @@ module Aws::S3Control
3040
3950
  # information, see [Using S3 Object Lock legal hold with S3 Batch
3041
3951
  # Operations][1] in the *Amazon S3 User Guide*.
3042
3952
  #
3953
+ # <note markdown="1"> This functionality is not supported by directory buckets.
3954
+ #
3955
+ # </note>
3956
+ #
3043
3957
  #
3044
3958
  #
3045
3959
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
@@ -3052,6 +3966,10 @@ module Aws::S3Control
3052
3966
  # more information, see [Using S3 Object Lock retention with S3 Batch
3053
3967
  # Operations][1] in the *Amazon S3 User Guide*.
3054
3968
  #
3969
+ # <note markdown="1"> This functionality is not supported by directory buckets.
3970
+ #
3971
+ # </note>
3972
+ #
3055
3973
  #
3056
3974
  #
3057
3975
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
@@ -3060,6 +3978,10 @@ module Aws::S3Control
3060
3978
  # @!attribute [rw] s3_replicate_object
3061
3979
  # Directs the specified job to invoke `ReplicateObject` on every
3062
3980
  # object in the job's manifest.
3981
+ #
3982
+ # <note markdown="1"> This functionality is not supported by directory buckets.
3983
+ #
3984
+ # </note>
3063
3985
  # @return [Types::S3ReplicateObjectOperation]
3064
3986
  #
3065
3987
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobOperation AWS API Documentation
@@ -3111,6 +4033,11 @@ module Aws::S3Control
3111
4033
  # @!attribute [rw] bucket
3112
4034
  # The Amazon Resource Name (ARN) for the bucket where specified
3113
4035
  # job-completion report will be stored.
4036
+ #
4037
+ # <note markdown="1"> **Directory buckets** - Directory buckets aren't supported as a
4038
+ # location for Batch Operations to store job completion reports.
4039
+ #
4040
+ # </note>
3114
4041
  # @return [String]
3115
4042
  #
3116
4043
  # @!attribute [rw] format
@@ -3207,10 +4134,51 @@ module Aws::S3Control
3207
4134
  # specified job will invoke on every object in the manifest.
3208
4135
  # @return [String]
3209
4136
  #
4137
+ # @!attribute [rw] invocation_schema_version
4138
+ # Specifies the schema version for the payload that Batch Operations
4139
+ # sends when invoking an Lambda function. Version `1.0` is the
4140
+ # default. Version `2.0` is required when you use Batch Operations to
4141
+ # invoke Lambda functions that act on directory buckets, or if you
4142
+ # need to specify `UserArguments`. For more information, see [Using
4143
+ # Lambda with Amazon S3 Batch Operations and Amazon S3 Express One
4144
+ # Zone][1] in the *Amazon Web Services Storage Blog*.
4145
+ #
4146
+ # Ensure that your Lambda function code expects
4147
+ # `InvocationSchemaVersion` **2.0** and uses bucket name rather than
4148
+ # bucket ARN. If the `InvocationSchemaVersion` does not match what
4149
+ # your Lambda function expects, your function might not work as
4150
+ # expected.
4151
+ #
4152
+ # <note markdown="1"> **Directory buckets** - To initiate Amazon Web Services Lambda
4153
+ # function to perform custom actions on objects in directory buckets,
4154
+ # you must specify `2.0`.
4155
+ #
4156
+ # </note>
4157
+ #
4158
+ #
4159
+ #
4160
+ # [1]: https://aws.amazon.com/blogs/storage/using-lambda-with-s3-batch-operations-and-s3-express-one-zone/
4161
+ # @return [String]
4162
+ #
4163
+ # @!attribute [rw] user_arguments
4164
+ # Key-value pairs that are passed in the payload that Batch Operations
4165
+ # sends when invoking an Lambda function. You must specify
4166
+ # `InvocationSchemaVersion` **2.0** for `LambdaInvoke` operations that
4167
+ # include `UserArguments`. For more information, see [Using Lambda
4168
+ # with Amazon S3 Batch Operations and Amazon S3 Express One Zone][1]
4169
+ # in the *Amazon Web Services Storage Blog*.
4170
+ #
4171
+ #
4172
+ #
4173
+ # [1]: https://aws.amazon.com/blogs/storage/using-lambda-with-s3-batch-operations-and-s3-express-one-zone/
4174
+ # @return [Hash<String,String>]
4175
+ #
3210
4176
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LambdaInvokeOperation AWS API Documentation
3211
4177
  #
3212
4178
  class LambdaInvokeOperation < Struct.new(
3213
- :function_arn)
4179
+ :function_arn,
4180
+ :invocation_schema_version,
4181
+ :user_arguments)
3214
4182
  SENSITIVE = []
3215
4183
  include Aws::Structure
3216
4184
  end
@@ -3274,133 +4242,499 @@ module Aws::S3Control
3274
4242
  # The container for the filter of lifecycle rule.
3275
4243
  # @return [Types::LifecycleRuleFilter]
3276
4244
  #
3277
- # @!attribute [rw] status
3278
- # If 'Enabled', the rule is currently being applied. If
3279
- # 'Disabled', the rule is not currently being applied.
4245
+ # @!attribute [rw] status
4246
+ # If 'Enabled', the rule is currently being applied. If
4247
+ # 'Disabled', the rule is not currently being applied.
4248
+ # @return [String]
4249
+ #
4250
+ # @!attribute [rw] transitions
4251
+ # Specifies when an Amazon S3 object transitions to a specified
4252
+ # storage class.
4253
+ #
4254
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
4255
+ #
4256
+ # </note>
4257
+ # @return [Array<Types::Transition>]
4258
+ #
4259
+ # @!attribute [rw] noncurrent_version_transitions
4260
+ # Specifies the transition rule for the lifecycle rule that describes
4261
+ # when noncurrent objects transition to a specific storage class. If
4262
+ # your bucket is versioning-enabled (or versioning is suspended), you
4263
+ # can set this action to request that Amazon S3 transition noncurrent
4264
+ # object versions to a specific storage class at a set period in the
4265
+ # object's lifetime.
4266
+ #
4267
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
4268
+ #
4269
+ # </note>
4270
+ # @return [Array<Types::NoncurrentVersionTransition>]
4271
+ #
4272
+ # @!attribute [rw] noncurrent_version_expiration
4273
+ # The noncurrent version expiration of the lifecycle rule.
4274
+ # @return [Types::NoncurrentVersionExpiration]
4275
+ #
4276
+ # @!attribute [rw] abort_incomplete_multipart_upload
4277
+ # Specifies the days since the initiation of an incomplete multipart
4278
+ # upload that Amazon S3 waits before permanently removing all parts of
4279
+ # the upload. For more information, see [ Aborting Incomplete
4280
+ # Multipart Uploads Using a Bucket Lifecycle Configuration][1] in the
4281
+ # *Amazon S3 User Guide*.
4282
+ #
4283
+ #
4284
+ #
4285
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
4286
+ # @return [Types::AbortIncompleteMultipartUpload]
4287
+ #
4288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRule AWS API Documentation
4289
+ #
4290
+ class LifecycleRule < Struct.new(
4291
+ :expiration,
4292
+ :id,
4293
+ :filter,
4294
+ :status,
4295
+ :transitions,
4296
+ :noncurrent_version_transitions,
4297
+ :noncurrent_version_expiration,
4298
+ :abort_incomplete_multipart_upload)
4299
+ SENSITIVE = []
4300
+ include Aws::Structure
4301
+ end
4302
+
4303
+ # The container for the Outposts bucket lifecycle rule and operator.
4304
+ #
4305
+ # @!attribute [rw] prefix
4306
+ # Prefix identifying one or more objects to which the rule applies.
4307
+ # @return [String]
4308
+ #
4309
+ # @!attribute [rw] tags
4310
+ # All of these tags must exist in the object's tag set in order for
4311
+ # the rule to apply.
4312
+ # @return [Array<Types::S3Tag>]
4313
+ #
4314
+ # @!attribute [rw] object_size_greater_than
4315
+ # Minimum object size to which the rule applies.
4316
+ # @return [Integer]
4317
+ #
4318
+ # @!attribute [rw] object_size_less_than
4319
+ # Maximum object size to which the rule applies.
4320
+ # @return [Integer]
4321
+ #
4322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleAndOperator AWS API Documentation
4323
+ #
4324
+ class LifecycleRuleAndOperator < Struct.new(
4325
+ :prefix,
4326
+ :tags,
4327
+ :object_size_greater_than,
4328
+ :object_size_less_than)
4329
+ SENSITIVE = []
4330
+ include Aws::Structure
4331
+ end
4332
+
4333
+ # The container for the filter of the lifecycle rule.
4334
+ #
4335
+ # @!attribute [rw] prefix
4336
+ # Prefix identifying one or more objects to which the rule applies.
4337
+ #
4338
+ # When you're using XML requests, you must replace special characters
4339
+ # (such as carriage returns) in object keys with their equivalent XML
4340
+ # entity codes. For more information, see [ XML-related object key
4341
+ # constraints][1] in the *Amazon S3 User Guide*.
4342
+ #
4343
+ #
4344
+ #
4345
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
4346
+ # @return [String]
4347
+ #
4348
+ # @!attribute [rw] tag
4349
+ # A container for a key-value name pair.
4350
+ # @return [Types::S3Tag]
4351
+ #
4352
+ # @!attribute [rw] and
4353
+ # The container for the `AND` condition for the lifecycle rule.
4354
+ # @return [Types::LifecycleRuleAndOperator]
4355
+ #
4356
+ # @!attribute [rw] object_size_greater_than
4357
+ # Minimum object size to which the rule applies.
4358
+ # @return [Integer]
4359
+ #
4360
+ # @!attribute [rw] object_size_less_than
4361
+ # Maximum object size to which the rule applies.
4362
+ # @return [Integer]
4363
+ #
4364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleFilter AWS API Documentation
4365
+ #
4366
+ class LifecycleRuleFilter < Struct.new(
4367
+ :prefix,
4368
+ :tag,
4369
+ :and,
4370
+ :object_size_greater_than,
4371
+ :object_size_less_than)
4372
+ SENSITIVE = []
4373
+ include Aws::Structure
4374
+ end
4375
+
4376
+ # Information about the access grant.
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] access_grant_id
4383
+ # The ID of the access grant. S3 Access Grants auto-generates this ID
4384
+ # when you create the access grant.
4385
+ # @return [String]
4386
+ #
4387
+ # @!attribute [rw] access_grant_arn
4388
+ # The Amazon Resource Name (ARN) of the access grant.
4389
+ # @return [String]
4390
+ #
4391
+ # @!attribute [rw] grantee
4392
+ # The user, group, or role to which you are granting access. You can
4393
+ # grant access to an IAM user or role. If you have added your
4394
+ # corporate directory to Amazon Web Services IAM Identity Center and
4395
+ # associated your Identity Center instance with your S3 Access Grants
4396
+ # instance, the grantee can also be a corporate directory user or
4397
+ # group.
4398
+ # @return [Types::Grantee]
4399
+ #
4400
+ # @!attribute [rw] permission
4401
+ # The type of access granted to your S3 data, which can be set to one
4402
+ # of the following values:
4403
+ #
4404
+ # * `READ` – Grant read-only access to the S3 data.
4405
+ #
4406
+ # * `WRITE` – Grant write-only access to the S3 data.
4407
+ #
4408
+ # * `READWRITE` – Grant both read and write access to the S3 data.
4409
+ # @return [String]
4410
+ #
4411
+ # @!attribute [rw] access_grants_location_id
4412
+ # The ID of the registered location to which you are granting access.
4413
+ # S3 Access Grants assigns this ID when you register the location. S3
4414
+ # Access Grants assigns the ID `default` to the default location
4415
+ # `s3://` and assigns an auto-generated ID to other locations that you
4416
+ # register.
4417
+ # @return [String]
4418
+ #
4419
+ # @!attribute [rw] access_grants_location_configuration
4420
+ # The configuration options of the grant location. The grant location
4421
+ # is the S3 path to the data to which you are granting access.
4422
+ # @return [Types::AccessGrantsLocationConfiguration]
4423
+ #
4424
+ # @!attribute [rw] grant_scope
4425
+ # The S3 path of the data to which you are granting access. It is the
4426
+ # result of appending the `Subprefix` to the location scope.
4427
+ # @return [String]
4428
+ #
4429
+ # @!attribute [rw] application_arn
4430
+ # The Amazon Resource Name (ARN) of an Amazon Web Services IAM
4431
+ # Identity Center application associated with your Identity Center
4432
+ # instance. If the grant includes an application ARN, the grantee can
4433
+ # only access the S3 data through this application.
4434
+ # @return [String]
4435
+ #
4436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantEntry AWS API Documentation
4437
+ #
4438
+ class ListAccessGrantEntry < Struct.new(
4439
+ :created_at,
4440
+ :access_grant_id,
4441
+ :access_grant_arn,
4442
+ :grantee,
4443
+ :permission,
4444
+ :access_grants_location_id,
4445
+ :access_grants_location_configuration,
4446
+ :grant_scope,
4447
+ :application_arn)
4448
+ SENSITIVE = []
4449
+ include Aws::Structure
4450
+ end
4451
+
4452
+ # Information about the S3 Access Grants instance.
4453
+ #
4454
+ # @!attribute [rw] access_grants_instance_id
4455
+ # The ID of the S3 Access Grants instance. The ID is `default`. You
4456
+ # can have one S3 Access Grants instance per Region per account.
4457
+ # @return [String]
4458
+ #
4459
+ # @!attribute [rw] access_grants_instance_arn
4460
+ # The Amazon Resource Name (ARN) of the S3 Access Grants instance.
4461
+ # @return [String]
4462
+ #
4463
+ # @!attribute [rw] created_at
4464
+ # The date and time when you created the S3 Access Grants instance.
4465
+ # @return [Time]
4466
+ #
4467
+ # @!attribute [rw] identity_center_arn
4468
+ # If you associated your S3 Access Grants instance with an Amazon Web
4469
+ # Services IAM Identity Center instance, this field returns the Amazon
4470
+ # Resource Name (ARN) of the IAM Identity Center instance application;
4471
+ # a subresource of the original Identity Center instance. S3 Access
4472
+ # Grants creates this Identity Center application for the specific S3
4473
+ # Access Grants instance.
4474
+ # @return [String]
4475
+ #
4476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsInstanceEntry AWS API Documentation
4477
+ #
4478
+ class ListAccessGrantsInstanceEntry < Struct.new(
4479
+ :access_grants_instance_id,
4480
+ :access_grants_instance_arn,
4481
+ :created_at,
4482
+ :identity_center_arn)
4483
+ SENSITIVE = []
4484
+ include Aws::Structure
4485
+ end
4486
+
4487
+ # @!attribute [rw] account_id
4488
+ # The ID of the Amazon Web Services account that is making this
4489
+ # request.
4490
+ # @return [String]
4491
+ #
4492
+ # @!attribute [rw] next_token
4493
+ # A pagination token to request the next page of results. Pass this
4494
+ # value into a subsequent `List Access Grants Instances` request in
4495
+ # order to retrieve the next page of results.
4496
+ # @return [String]
4497
+ #
4498
+ # @!attribute [rw] max_results
4499
+ # The maximum number of access grants that you would like returned in
4500
+ # the `List Access Grants` response. If the results include the
4501
+ # pagination token `NextToken`, make another call using the
4502
+ # `NextToken` to determine if there are more results.
4503
+ # @return [Integer]
4504
+ #
4505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsInstancesRequest AWS API Documentation
4506
+ #
4507
+ class ListAccessGrantsInstancesRequest < Struct.new(
4508
+ :account_id,
4509
+ :next_token,
4510
+ :max_results)
4511
+ SENSITIVE = []
4512
+ include Aws::Structure
4513
+ end
4514
+
4515
+ # @!attribute [rw] next_token
4516
+ # A pagination token to request the next page of results. Pass this
4517
+ # value into a subsequent `List Access Grants Instances` request in
4518
+ # order to retrieve the next page of results.
4519
+ # @return [String]
4520
+ #
4521
+ # @!attribute [rw] access_grants_instances_list
4522
+ # A container for a list of S3 Access Grants instances.
4523
+ # @return [Array<Types::ListAccessGrantsInstanceEntry>]
4524
+ #
4525
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsInstancesResult AWS API Documentation
4526
+ #
4527
+ class ListAccessGrantsInstancesResult < Struct.new(
4528
+ :next_token,
4529
+ :access_grants_instances_list)
4530
+ SENSITIVE = []
4531
+ include Aws::Structure
4532
+ end
4533
+
4534
+ # A container for information about the registered location.
4535
+ #
4536
+ # @!attribute [rw] created_at
4537
+ # The date and time when you registered the location.
4538
+ # @return [Time]
4539
+ #
4540
+ # @!attribute [rw] access_grants_location_id
4541
+ # The ID of the registered location to which you are granting access.
4542
+ # S3 Access Grants assigns this ID when you register the location. S3
4543
+ # Access Grants assigns the ID `default` to the default location
4544
+ # `s3://` and assigns an auto-generated ID to other locations that you
4545
+ # register.
3280
4546
  # @return [String]
3281
4547
  #
3282
- # @!attribute [rw] transitions
3283
- # Specifies when an Amazon S3 object transitions to a specified
3284
- # storage class.
4548
+ # @!attribute [rw] access_grants_location_arn
4549
+ # The Amazon Resource Name (ARN) of the registered location.
4550
+ # @return [String]
3285
4551
  #
3286
- # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
4552
+ # @!attribute [rw] location_scope
4553
+ # The S3 path to the location that you are registering. The location
4554
+ # scope can be the default S3 location `s3://`, the S3 path to a
4555
+ # bucket `s3://<bucket>`, or the S3 path to a bucket and prefix
4556
+ # `s3://<bucket>/<prefix>`. A prefix in S3 is a string of characters
4557
+ # at the beginning of an object key name used to organize the objects
4558
+ # that you store in your S3 buckets. For example, object key names
4559
+ # that start with the `engineering/` prefix or object key names that
4560
+ # start with the `marketing/campaigns/` prefix.
4561
+ # @return [String]
3287
4562
  #
3288
- # </note>
3289
- # @return [Array<Types::Transition>]
4563
+ # @!attribute [rw] iam_role_arn
4564
+ # The Amazon Resource Name (ARN) of the IAM role for the registered
4565
+ # location. S3 Access Grants assumes this role to manage access to the
4566
+ # registered location.
4567
+ # @return [String]
3290
4568
  #
3291
- # @!attribute [rw] noncurrent_version_transitions
3292
- # Specifies the transition rule for the lifecycle rule that describes
3293
- # when noncurrent objects transition to a specific storage class. If
3294
- # your bucket is versioning-enabled (or versioning is suspended), you
3295
- # can set this action to request that Amazon S3 transition noncurrent
3296
- # object versions to a specific storage class at a set period in the
3297
- # object's lifetime.
4569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsLocationsEntry AWS API Documentation
3298
4570
  #
3299
- # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
4571
+ class ListAccessGrantsLocationsEntry < Struct.new(
4572
+ :created_at,
4573
+ :access_grants_location_id,
4574
+ :access_grants_location_arn,
4575
+ :location_scope,
4576
+ :iam_role_arn)
4577
+ SENSITIVE = []
4578
+ include Aws::Structure
4579
+ end
4580
+
4581
+ # @!attribute [rw] account_id
4582
+ # The ID of the Amazon Web Services account that is making this
4583
+ # request.
4584
+ # @return [String]
3300
4585
  #
3301
- # </note>
3302
- # @return [Array<Types::NoncurrentVersionTransition>]
4586
+ # @!attribute [rw] next_token
4587
+ # A pagination token to request the next page of results. Pass this
4588
+ # value into a subsequent `List Access Grants Locations` request in
4589
+ # order to retrieve the next page of results.
4590
+ # @return [String]
3303
4591
  #
3304
- # @!attribute [rw] noncurrent_version_expiration
3305
- # The noncurrent version expiration of the lifecycle rule.
3306
- # @return [Types::NoncurrentVersionExpiration]
4592
+ # @!attribute [rw] max_results
4593
+ # The maximum number of access grants that you would like returned in
4594
+ # the `List Access Grants` response. If the results include the
4595
+ # pagination token `NextToken`, make another call using the
4596
+ # `NextToken` to determine if there are more results.
4597
+ # @return [Integer]
3307
4598
  #
3308
- # @!attribute [rw] abort_incomplete_multipart_upload
3309
- # Specifies the days since the initiation of an incomplete multipart
3310
- # upload that Amazon S3 waits before permanently removing all parts of
3311
- # the upload. For more information, see [ Aborting Incomplete
3312
- # Multipart Uploads Using a Bucket Lifecycle Configuration][1] in the
3313
- # *Amazon S3 User Guide*.
4599
+ # @!attribute [rw] location_scope
4600
+ # The S3 path to the location that you are registering. The location
4601
+ # scope can be the default S3 location `s3://`, the S3 path to a
4602
+ # bucket `s3://<bucket>`, or the S3 path to a bucket and prefix
4603
+ # `s3://<bucket>/<prefix>`. A prefix in S3 is a string of characters
4604
+ # at the beginning of an object key name used to organize the objects
4605
+ # that you store in your S3 buckets. For example, object key names
4606
+ # that start with the `engineering/` prefix or object key names that
4607
+ # start with the `marketing/campaigns/` prefix.
4608
+ # @return [String]
3314
4609
  #
4610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsLocationsRequest AWS API Documentation
3315
4611
  #
4612
+ class ListAccessGrantsLocationsRequest < Struct.new(
4613
+ :account_id,
4614
+ :next_token,
4615
+ :max_results,
4616
+ :location_scope)
4617
+ SENSITIVE = []
4618
+ include Aws::Structure
4619
+ end
4620
+
4621
+ # @!attribute [rw] next_token
4622
+ # A pagination token to request the next page of results. Pass this
4623
+ # value into a subsequent `List Access Grants Locations` request in
4624
+ # order to retrieve the next page of results.
4625
+ # @return [String]
3316
4626
  #
3317
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
3318
- # @return [Types::AbortIncompleteMultipartUpload]
4627
+ # @!attribute [rw] access_grants_locations_list
4628
+ # A container for a list of registered locations in an S3 Access
4629
+ # Grants instance.
4630
+ # @return [Array<Types::ListAccessGrantsLocationsEntry>]
3319
4631
  #
3320
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRule AWS API Documentation
4632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsLocationsResult AWS API Documentation
3321
4633
  #
3322
- class LifecycleRule < Struct.new(
3323
- :expiration,
3324
- :id,
3325
- :filter,
3326
- :status,
3327
- :transitions,
3328
- :noncurrent_version_transitions,
3329
- :noncurrent_version_expiration,
3330
- :abort_incomplete_multipart_upload)
4634
+ class ListAccessGrantsLocationsResult < Struct.new(
4635
+ :next_token,
4636
+ :access_grants_locations_list)
3331
4637
  SENSITIVE = []
3332
4638
  include Aws::Structure
3333
4639
  end
3334
4640
 
3335
- # The container for the Outposts bucket lifecycle rule and operator.
3336
- #
3337
- # @!attribute [rw] prefix
3338
- # Prefix identifying one or more objects to which the rule applies.
4641
+ # @!attribute [rw] account_id
4642
+ # The ID of the Amazon Web Services account that is making this
4643
+ # request.
3339
4644
  # @return [String]
3340
4645
  #
3341
- # @!attribute [rw] tags
3342
- # All of these tags must exist in the object's tag set in order for
3343
- # the rule to apply.
3344
- # @return [Array<Types::S3Tag>]
4646
+ # @!attribute [rw] next_token
4647
+ # A pagination token to request the next page of results. Pass this
4648
+ # value into a subsequent `List Access Grants` request in order to
4649
+ # retrieve the next page of results.
4650
+ # @return [String]
3345
4651
  #
3346
- # @!attribute [rw] object_size_greater_than
3347
- # Minimum object size to which the rule applies.
4652
+ # @!attribute [rw] max_results
4653
+ # The maximum number of access grants that you would like returned in
4654
+ # the `List Access Grants` response. If the results include the
4655
+ # pagination token `NextToken`, make another call using the
4656
+ # `NextToken` to determine if there are more results.
3348
4657
  # @return [Integer]
3349
4658
  #
3350
- # @!attribute [rw] object_size_less_than
3351
- # Maximum object size to which the rule applies.
3352
- # @return [Integer]
4659
+ # @!attribute [rw] grantee_type
4660
+ # The type of the grantee to which access has been granted. It can be
4661
+ # one of the following values:
3353
4662
  #
3354
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleAndOperator AWS API Documentation
4663
+ # * `IAM` - An IAM user or role.
3355
4664
  #
3356
- class LifecycleRuleAndOperator < Struct.new(
3357
- :prefix,
3358
- :tags,
3359
- :object_size_greater_than,
3360
- :object_size_less_than)
3361
- SENSITIVE = []
3362
- include Aws::Structure
3363
- end
3364
-
3365
- # The container for the filter of the lifecycle rule.
4665
+ # * `DIRECTORY_USER` - Your corporate directory user. You can use this
4666
+ # option if you have added your corporate identity directory to IAM
4667
+ # Identity Center and associated the IAM Identity Center instance
4668
+ # with your S3 Access Grants instance.
3366
4669
  #
3367
- # @!attribute [rw] prefix
3368
- # Prefix identifying one or more objects to which the rule applies.
4670
+ # * `DIRECTORY_GROUP` - Your corporate directory group. You can use
4671
+ # this option if you have added your corporate identity directory to
4672
+ # IAM Identity Center and associated the IAM Identity Center
4673
+ # instance with your S3 Access Grants instance.
4674
+ # @return [String]
3369
4675
  #
3370
- # When you're using XML requests, you must replace special characters
3371
- # (such as carriage returns) in object keys with their equivalent XML
3372
- # entity codes. For more information, see [ XML-related object key
3373
- # constraints][1] in the *Amazon S3 User Guide*.
4676
+ # @!attribute [rw] grantee_identifier
4677
+ # The unique identifer of the `Grantee`. If the grantee type is `IAM`,
4678
+ # the identifier is the IAM Amazon Resource Name (ARN) of the user or
4679
+ # role. If the grantee type is a directory user or group, the
4680
+ # identifier is 128-bit universally unique identifier (UUID) in the
4681
+ # format `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`. You can obtain this
4682
+ # UUID from your Amazon Web Services IAM Identity Center instance.
4683
+ # @return [String]
4684
+ #
4685
+ # @!attribute [rw] permission
4686
+ # The type of permission granted to your S3 data, which can be set to
4687
+ # one of the following values:
3374
4688
  #
4689
+ # * `READ` – Grant read-only access to the S3 data.
3375
4690
  #
4691
+ # * `WRITE` – Grant write-only access to the S3 data.
3376
4692
  #
3377
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
4693
+ # * `READWRITE` – Grant both read and write access to the S3 data.
3378
4694
  # @return [String]
3379
4695
  #
3380
- # @!attribute [rw] tag
3381
- # A container for a key-value name pair.
3382
- # @return [Types::S3Tag]
4696
+ # @!attribute [rw] grant_scope
4697
+ # The S3 path of the data to which you are granting access. It is the
4698
+ # result of appending the `Subprefix` to the location scope.
4699
+ # @return [String]
3383
4700
  #
3384
- # @!attribute [rw] and
3385
- # The container for the `AND` condition for the lifecycle rule.
3386
- # @return [Types::LifecycleRuleAndOperator]
4701
+ # @!attribute [rw] application_arn
4702
+ # The Amazon Resource Name (ARN) of an Amazon Web Services IAM
4703
+ # Identity Center application associated with your Identity Center
4704
+ # instance. If the grant includes an application ARN, the grantee can
4705
+ # only access the S3 data through this application.
4706
+ # @return [String]
3387
4707
  #
3388
- # @!attribute [rw] object_size_greater_than
3389
- # Minimum object size to which the rule applies.
3390
- # @return [Integer]
4708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsRequest AWS API Documentation
3391
4709
  #
3392
- # @!attribute [rw] object_size_less_than
3393
- # Maximum object size to which the rule applies.
3394
- # @return [Integer]
4710
+ class ListAccessGrantsRequest < Struct.new(
4711
+ :account_id,
4712
+ :next_token,
4713
+ :max_results,
4714
+ :grantee_type,
4715
+ :grantee_identifier,
4716
+ :permission,
4717
+ :grant_scope,
4718
+ :application_arn)
4719
+ SENSITIVE = []
4720
+ include Aws::Structure
4721
+ end
4722
+
4723
+ # @!attribute [rw] next_token
4724
+ # A pagination token to request the next page of results. Pass this
4725
+ # value into a subsequent `List Access Grants` request in order to
4726
+ # retrieve the next page of results.
4727
+ # @return [String]
3395
4728
  #
3396
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleFilter AWS API Documentation
4729
+ # @!attribute [rw] access_grants_list
4730
+ # A container for a list of grants in an S3 Access Grants instance.
4731
+ # @return [Array<Types::ListAccessGrantEntry>]
3397
4732
  #
3398
- class LifecycleRuleFilter < Struct.new(
3399
- :prefix,
3400
- :tag,
3401
- :and,
3402
- :object_size_greater_than,
3403
- :object_size_less_than)
4733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsResult AWS API Documentation
4734
+ #
4735
+ class ListAccessGrantsResult < Struct.new(
4736
+ :next_token,
4737
+ :access_grants_list)
3404
4738
  SENSITIVE = []
3405
4739
  include Aws::Structure
3406
4740
  end
@@ -3817,7 +5151,8 @@ module Aws::S3Control
3817
5151
  #
3818
5152
  # @!attribute [rw] resource_arn
3819
5153
  # The Amazon Resource Name (ARN) of the S3 resource that you want to
3820
- # list the tags for.
5154
+ # list the tags for. The tagged resource can be an S3 Storage Lens
5155
+ # group or S3 Access Grants instance, registered location, or grant.
3821
5156
  # @return [String]
3822
5157
  #
3823
5158
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListTagsForResourceRequest AWS API Documentation
@@ -4465,6 +5800,55 @@ module Aws::S3Control
4465
5800
  include Aws::Structure
4466
5801
  end
4467
5802
 
5803
+ # @!attribute [rw] account_id
5804
+ # The ID of the Amazon Web Services account that is making this
5805
+ # request.
5806
+ # @return [String]
5807
+ #
5808
+ # @!attribute [rw] policy
5809
+ # The resource policy of the S3 Access Grants instance that you are
5810
+ # updating.
5811
+ # @return [String]
5812
+ #
5813
+ # @!attribute [rw] organization
5814
+ # The Organization of the resource policy of the S3 Access Grants
5815
+ # instance.
5816
+ # @return [String]
5817
+ #
5818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessGrantsInstanceResourcePolicyRequest AWS API Documentation
5819
+ #
5820
+ class PutAccessGrantsInstanceResourcePolicyRequest < Struct.new(
5821
+ :account_id,
5822
+ :policy,
5823
+ :organization)
5824
+ SENSITIVE = []
5825
+ include Aws::Structure
5826
+ end
5827
+
5828
+ # @!attribute [rw] policy
5829
+ # The updated resource policy of the S3 Access Grants instance.
5830
+ # @return [String]
5831
+ #
5832
+ # @!attribute [rw] organization
5833
+ # The Organization of the resource policy of the S3 Access Grants
5834
+ # instance.
5835
+ # @return [String]
5836
+ #
5837
+ # @!attribute [rw] created_at
5838
+ # The date and time when you created the S3 Access Grants instance
5839
+ # resource policy.
5840
+ # @return [Time]
5841
+ #
5842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessGrantsInstanceResourcePolicyResult AWS API Documentation
5843
+ #
5844
+ class PutAccessGrantsInstanceResourcePolicyResult < Struct.new(
5845
+ :policy,
5846
+ :organization,
5847
+ :created_at)
5848
+ SENSITIVE = []
5849
+ include Aws::Structure
5850
+ end
5851
+
4468
5852
  # @!attribute [rw] account_id
4469
5853
  # The account ID for the account that owns the specified Object Lambda
4470
5854
  # Access Point.
@@ -5358,15 +6742,29 @@ module Aws::S3Control
5358
6742
  #
5359
6743
  # @!attribute [rw] target_resource
5360
6744
  # Specifies the destination bucket Amazon Resource Name (ARN) for the
5361
- # batch copy operation. For example, to copy objects to a bucket named
5362
- # `destinationBucket`, set the `TargetResource` property to
5363
- # `arn:aws:s3:::destinationBucket`.
6745
+ # batch copy operation.
6746
+ #
6747
+ # * **General purpose buckets** - For example, to copy objects to a
6748
+ # general purpose bucket named `destinationBucket`, set the
6749
+ # `TargetResource` property to `arn:aws:s3:::destinationBucket`.
6750
+ #
6751
+ # * **Directory buckets** - For example, to copy objects to a
6752
+ # directory bucket named `destinationBucket` in the Availability
6753
+ # Zone; identified by the AZ ID `usw2-az2`, set the `TargetResource`
6754
+ # property to
6755
+ # `arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az2--x-s3`.
5364
6756
  # @return [String]
5365
6757
  #
5366
6758
  # @!attribute [rw] canned_access_control_list
6759
+ # <note markdown="1"> This functionality is not supported by directory buckets.
6760
+ #
6761
+ # </note>
5367
6762
  # @return [String]
5368
6763
  #
5369
6764
  # @!attribute [rw] access_control_grants
6765
+ # <note markdown="1"> This functionality is not supported by directory buckets.
6766
+ #
6767
+ # </note>
5370
6768
  # @return [Array<Types::S3Grant>]
5371
6769
  #
5372
6770
  # @!attribute [rw] metadata_directive
@@ -5383,24 +6781,53 @@ module Aws::S3Control
5383
6781
  # @return [Types::S3ObjectMetadata]
5384
6782
  #
5385
6783
  # @!attribute [rw] new_object_tagging
6784
+ # Specifies a list of tags to add to the destination objects after
6785
+ # they are copied. If `NewObjectTagging` is not specified, the tags of
6786
+ # the source objects are copied to destination objects by default.
6787
+ #
6788
+ # <note markdown="1"> **Directory buckets** - Tags aren't supported by directory buckets.
6789
+ # If your source objects have tags and your destination bucket is a
6790
+ # directory bucket, specify an empty tag set in the `NewObjectTagging`
6791
+ # field to prevent copying the source object tags to the directory
6792
+ # bucket.
6793
+ #
6794
+ # </note>
5386
6795
  # @return [Array<Types::S3Tag>]
5387
6796
  #
5388
6797
  # @!attribute [rw] redirect_location
5389
- # Specifies an optional metadata property for website redirects,
6798
+ # If the destination bucket is configured as a website, specifies an
6799
+ # optional metadata property for website redirects,
5390
6800
  # `x-amz-website-redirect-location`. Allows webpage redirects if the
5391
- # object is accessed through a website endpoint.
6801
+ # object copy is accessed through a website endpoint.
6802
+ #
6803
+ # <note markdown="1"> This functionality is not supported by directory buckets.
6804
+ #
6805
+ # </note>
5392
6806
  # @return [String]
5393
6807
  #
5394
6808
  # @!attribute [rw] requester_pays
6809
+ # <note markdown="1"> This functionality is not supported by directory buckets.
6810
+ #
6811
+ # </note>
5395
6812
  # @return [Boolean]
5396
6813
  #
5397
6814
  # @!attribute [rw] storage_class
6815
+ # Specify the storage class for the destination objects in a `Copy`
6816
+ # operation.
6817
+ #
6818
+ # <note markdown="1"> <b>Directory buckets </b> - This functionality is not supported by
6819
+ # directory buckets.
6820
+ #
6821
+ # </note>
5398
6822
  # @return [String]
5399
6823
  #
5400
6824
  # @!attribute [rw] un_modified_since_constraint
5401
6825
  # @return [Time]
5402
6826
  #
5403
6827
  # @!attribute [rw] sse_aws_kms_key_id
6828
+ # <note markdown="1"> This functionality is not supported by directory buckets.
6829
+ #
6830
+ # </note>
5404
6831
  # @return [String]
5405
6832
  #
5406
6833
  # @!attribute [rw] target_key_prefix
@@ -5413,16 +6840,28 @@ module Aws::S3Control
5413
6840
  # @!attribute [rw] object_lock_legal_hold_status
5414
6841
  # The legal hold status to be applied to all objects in the Batch
5415
6842
  # Operations job.
6843
+ #
6844
+ # <note markdown="1"> This functionality is not supported by directory buckets.
6845
+ #
6846
+ # </note>
5416
6847
  # @return [String]
5417
6848
  #
5418
6849
  # @!attribute [rw] object_lock_mode
5419
6850
  # The retention mode to be applied to all objects in the Batch
5420
6851
  # Operations job.
6852
+ #
6853
+ # <note markdown="1"> This functionality is not supported by directory buckets.
6854
+ #
6855
+ # </note>
5421
6856
  # @return [String]
5422
6857
  #
5423
6858
  # @!attribute [rw] object_lock_retain_until_date
5424
6859
  # The date when the applied object retention configuration expires on
5425
6860
  # all objects in the Batch Operations job.
6861
+ #
6862
+ # <note markdown="1"> This functionality is not supported by directory buckets.
6863
+ #
6864
+ # </note>
5426
6865
  # @return [Time]
5427
6866
  #
5428
6867
  # @!attribute [rw] bucket_key_enabled
@@ -5433,6 +6872,10 @@ module Aws::S3Control
5433
6872
  #
5434
6873
  # Specifying this header with an *object* action doesn’t affect
5435
6874
  # *bucket-level* settings for S3 Bucket Key.
6875
+ #
6876
+ # <note markdown="1"> This functionality is not supported by directory buckets.
6877
+ #
6878
+ # </note>
5436
6879
  # @return [Boolean]
5437
6880
  #
5438
6881
  # @!attribute [rw] checksum_algorithm
@@ -5490,6 +6933,12 @@ module Aws::S3Control
5490
6933
  #
5491
6934
  # @!attribute [rw] location
5492
6935
  # Contains the information required to locate a manifest object.
6936
+ # Manifests can't be imported from directory buckets. For more
6937
+ # information, see [Directory buckets][1].
6938
+ #
6939
+ #
6940
+ #
6941
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
5493
6942
  # @return [Types::JobManifestLocation]
5494
6943
  #
5495
6944
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3GeneratedManifestDescriptor AWS API Documentation
@@ -5590,16 +7039,28 @@ module Aws::S3Control
5590
7039
  #
5591
7040
  # @!attribute [rw] source_bucket
5592
7041
  # The source bucket used by the ManifestGenerator.
7042
+ #
7043
+ # <note markdown="1"> **Directory buckets** - Directory buckets aren't supported as the
7044
+ # source buckets used by `S3JobManifestGenerator` to generate the job
7045
+ # manifest.
7046
+ #
7047
+ # </note>
5593
7048
  # @return [String]
5594
7049
  #
5595
7050
  # @!attribute [rw] manifest_output_location
5596
7051
  # Specifies the location the generated manifest will be written to.
7052
+ # Manifests can't be written to directory buckets. For more
7053
+ # information, see [Directory buckets][1].
7054
+ #
7055
+ #
7056
+ #
7057
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
5597
7058
  # @return [Types::S3ManifestOutputLocation]
5598
7059
  #
5599
7060
  # @!attribute [rw] filter
5600
- # Specifies rules the S3JobManifestGenerator should use to use to
5601
- # decide whether an object in the source bucket should or should not
5602
- # be included in the generated job manifest.
7061
+ # Specifies rules the S3JobManifestGenerator should use to decide
7062
+ # whether an object in the source bucket should or should not be
7063
+ # included in the generated job manifest.
5603
7064
  # @return [Types::JobManifestGeneratorFilter]
5604
7065
  #
5605
7066
  # @!attribute [rw] enable_manifest_output
@@ -5628,6 +7089,11 @@ module Aws::S3Control
5628
7089
  #
5629
7090
  # @!attribute [rw] bucket
5630
7091
  # The bucket ARN the generated manifest should be written to.
7092
+ #
7093
+ # <note markdown="1"> **Directory buckets** - Directory buckets aren't supported as the
7094
+ # buckets to store the generated manifest.
7095
+ #
7096
+ # </note>
5631
7097
  # @return [String]
5632
7098
  #
5633
7099
  # @!attribute [rw] manifest_prefix
@@ -5688,9 +7154,11 @@ module Aws::S3Control
5688
7154
  # @return [Hash<String,String>]
5689
7155
  #
5690
7156
  # @!attribute [rw] content_length
7157
+ # *This member has been deprecated.*
5691
7158
  # @return [Integer]
5692
7159
  #
5693
7160
  # @!attribute [rw] content_md5
7161
+ # *This member has been deprecated.*
5694
7162
  # @return [String]
5695
7163
  #
5696
7164
  # @!attribute [rw] content_type
@@ -5700,9 +7168,14 @@ module Aws::S3Control
5700
7168
  # @return [Time]
5701
7169
  #
5702
7170
  # @!attribute [rw] requester_charged
7171
+ # *This member has been deprecated.*
5703
7172
  # @return [Boolean]
5704
7173
  #
5705
7174
  # @!attribute [rw] sse_algorithm
7175
+ # <note markdown="1"> For directory buckets, only the server-side encryption with Amazon
7176
+ # S3 managed keys (SSE-S3) (`AES256`) is supported.
7177
+ #
7178
+ # </note>
5706
7179
  # @return [String]
5707
7180
  #
5708
7181
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectMetadata AWS API Documentation
@@ -5803,6 +7276,10 @@ module Aws::S3Control
5803
7276
  # see [Using S3 Object Lock legal hold with S3 Batch Operations][1] in
5804
7277
  # the *Amazon S3 User Guide*.
5805
7278
  #
7279
+ # <note markdown="1"> This functionality is not supported by directory buckets.
7280
+ #
7281
+ # </note>
7282
+ #
5806
7283
  #
5807
7284
  #
5808
7285
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
@@ -5826,6 +7303,10 @@ module Aws::S3Control
5826
7303
  # information, see [Using S3 Object Lock retention with S3 Batch
5827
7304
  # Operations][1] in the *Amazon S3 User Guide*.
5828
7305
  #
7306
+ # <note markdown="1"> This functionality is not supported by directory buckets.
7307
+ #
7308
+ # </note>
7309
+ #
5829
7310
  #
5830
7311
  #
5831
7312
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
@@ -6414,23 +7895,29 @@ module Aws::S3Control
6414
7895
  # resource. You can add tags to new objects when you upload them, or you
6415
7896
  # can add object tags to existing objects.
6416
7897
  #
6417
- # <note markdown="1"> This data type is only supported for [S3 Storage Lens groups][1].
7898
+ # <note markdown="1"> This operation is only supported for [S3 Storage Lens groups][1] and
7899
+ # for [S3 Access Grants][2]. The tagged resource can be an S3 Storage
7900
+ # Lens group or S3 Access Grants instance, registered location, or
7901
+ # grant.
6418
7902
  #
6419
7903
  # </note>
6420
7904
  #
6421
7905
  #
6422
7906
  #
6423
7907
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-groups.html
7908
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-tagging.html
6424
7909
  #
6425
7910
  # @!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.
7911
+ # The key of the key-value pair of a tag added to your Amazon Web
7912
+ # Services resource. A tag key can be up to 128 Unicode characters in
7913
+ # length and is case-sensitive. System created tags that begin with
7914
+ # `aws:` aren’t supported.
6429
7915
  # @return [String]
6430
7916
  #
6431
7917
  # @!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.
7918
+ # The value of the key-value pair of a tag added to your Amazon Web
7919
+ # Services resource. A tag value can be up to 256 Unicode characters
7920
+ # in length and is case-sensitive.
6434
7921
  # @return [String]
6435
7922
  #
6436
7923
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Tag AWS API Documentation
@@ -6444,12 +7931,13 @@ module Aws::S3Control
6444
7931
 
6445
7932
  # @!attribute [rw] account_id
6446
7933
  # The Amazon Web Services account ID that created the S3 resource that
6447
- # you're trying to add tags to.
7934
+ # you're trying to add tags to or the requester's account ID.
6448
7935
  # @return [String]
6449
7936
  #
6450
7937
  # @!attribute [rw] resource_arn
6451
7938
  # The Amazon Resource Name (ARN) of the S3 resource that you're
6452
- # trying to add tags to.
7939
+ # trying to add tags to. The tagged resource can be an S3 Storage Lens
7940
+ # group or S3 Access Grants instance, registered location, or grant.
6453
7941
  # @return [String]
6454
7942
  #
6455
7943
  # @!attribute [rw] tags
@@ -6549,13 +8037,13 @@ module Aws::S3Control
6549
8037
  # @return [String]
6550
8038
  #
6551
8039
  # @!attribute [rw] resource_arn
6552
- # The Amazon Resource Name (ARN) of the S3 resource that you want to
6553
- # remove the resource tags from.
8040
+ # The Amazon Resource Name (ARN) of the S3 resource that you're
8041
+ # trying to remove the tags from.
6554
8042
  # @return [String]
6555
8043
  #
6556
8044
  # @!attribute [rw] tag_keys
6557
- # The tag key pair of the S3 resource tag that you're trying to
6558
- # remove.
8045
+ # The array of tag key-value pairs that you're trying to remove from
8046
+ # of the S3 resource.
6559
8047
  # @return [Array<String>]
6560
8048
  #
6561
8049
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UntagResourceRequest AWS API Documentation
@@ -6572,6 +8060,87 @@ module Aws::S3Control
6572
8060
  #
6573
8061
  class UntagResourceResult < Aws::EmptyStructure; end
6574
8062
 
8063
+ # @!attribute [rw] account_id
8064
+ # The ID of the Amazon Web Services account that is making this
8065
+ # request.
8066
+ # @return [String]
8067
+ #
8068
+ # @!attribute [rw] access_grants_location_id
8069
+ # The ID of the registered location that you are updating. S3 Access
8070
+ # Grants assigns this ID when you register the location. S3 Access
8071
+ # Grants assigns the ID `default` to the default location `s3://` and
8072
+ # assigns an auto-generated ID to other locations that you register.
8073
+ #
8074
+ # The ID of the registered location to which you are granting access.
8075
+ # S3 Access Grants assigned this ID when you registered the location.
8076
+ # S3 Access Grants assigns the ID `default` to the default location
8077
+ # `s3://` and assigns an auto-generated ID to other locations that you
8078
+ # register.
8079
+ #
8080
+ # If you are passing the `default` location, you cannot create an
8081
+ # access grant for the entire default location. You must also specify
8082
+ # a bucket or a bucket and prefix in the `Subprefix` field.
8083
+ # @return [String]
8084
+ #
8085
+ # @!attribute [rw] iam_role_arn
8086
+ # The Amazon Resource Name (ARN) of the IAM role for the registered
8087
+ # location. S3 Access Grants assumes this role to manage access to the
8088
+ # registered location.
8089
+ # @return [String]
8090
+ #
8091
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateAccessGrantsLocationRequest AWS API Documentation
8092
+ #
8093
+ class UpdateAccessGrantsLocationRequest < Struct.new(
8094
+ :account_id,
8095
+ :access_grants_location_id,
8096
+ :iam_role_arn)
8097
+ SENSITIVE = []
8098
+ include Aws::Structure
8099
+ end
8100
+
8101
+ # @!attribute [rw] created_at
8102
+ # The date and time when you registered the location.
8103
+ # @return [Time]
8104
+ #
8105
+ # @!attribute [rw] access_grants_location_id
8106
+ # The ID of the registered location to which you are granting access.
8107
+ # S3 Access Grants assigned this ID when you registered the location.
8108
+ # S3 Access Grants assigns the ID `default` to the default location
8109
+ # `s3://` and assigns an auto-generated ID to other locations that you
8110
+ # register.
8111
+ # @return [String]
8112
+ #
8113
+ # @!attribute [rw] access_grants_location_arn
8114
+ # The Amazon Resource Name (ARN) of the registered location that you
8115
+ # are updating.
8116
+ # @return [String]
8117
+ #
8118
+ # @!attribute [rw] location_scope
8119
+ # The S3 URI path of the location that you are updating. You cannot
8120
+ # update the scope of the registered location. The location scope can
8121
+ # be the default S3 location `s3://`, the S3 path to a bucket
8122
+ # `s3://<bucket>`, or the S3 path to a bucket and prefix
8123
+ # `s3://<bucket>/<prefix>`.
8124
+ # @return [String]
8125
+ #
8126
+ # @!attribute [rw] iam_role_arn
8127
+ # The Amazon Resource Name (ARN) of the IAM role of the registered
8128
+ # location. S3 Access Grants assumes this role to manage access to the
8129
+ # registered location.
8130
+ # @return [String]
8131
+ #
8132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateAccessGrantsLocationResult AWS API Documentation
8133
+ #
8134
+ class UpdateAccessGrantsLocationResult < Struct.new(
8135
+ :created_at,
8136
+ :access_grants_location_id,
8137
+ :access_grants_location_arn,
8138
+ :location_scope,
8139
+ :iam_role_arn)
8140
+ SENSITIVE = []
8141
+ include Aws::Structure
8142
+ end
8143
+
6575
8144
  # @!attribute [rw] account_id
6576
8145
  # The Amazon Web Services account ID associated with the S3 Batch
6577
8146
  # Operations job.