aws-sdk-s3control 1.23.0 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f088de3ba6d80a2abd597fab94badf858d8cd6317ca1a89a4c624f7427b3ec22
4
- data.tar.gz: 1184e06f9cce8ba12d0d7abe7cf600839025a6bfb11866e69b0c26aeab975868
3
+ metadata.gz: 83d8f988277b504ffa9fa0d7296bbadf4dcee862529ec1cb2840a279a9a4276f
4
+ data.tar.gz: 42e18a47c49b22a2b0f299f1ab7c78e7417b251a20644e70b56a52e6dd46dc18
5
5
  SHA512:
6
- metadata.gz: 2081ff71149a1fd960c2c7a749c5816dff0d42246acb4fb7a7bda826290aea343a58396fe8517c7bf80bf5a1ac7446a56d9123da62605eb78c098ac2c9bd940f
7
- data.tar.gz: 9ba5298105c8afdb5ba4e141071a10cf2928a95a361c8f58adc659459498d1897b17a71fab5fe960059feeb7201a32993b7a7f32ed76e7dba58eb7355c56d864
6
+ metadata.gz: 8a32244c2b8e7eff19c025c140d83ae51c719e6615e1e5f409347228b5d80902e9f1c578bcbf7f9b9f3392af0c72a7713475fa76bdb645476f7770179c531b58
7
+ data.tar.gz: f712ed891c0789a394175e429ff557d29830fb93ef1b6f41bda52ba217df90d0664285ee192bd94b7b39557bb34218afda628ab23678d5f4a29d4a53599f784f
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-s3control/customizations'
48
48
  # @!group service
49
49
  module Aws::S3Control
50
50
 
51
- GEM_VERSION = '1.23.0'
51
+ GEM_VERSION = '1.24.0'
52
52
 
53
53
  end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ module S3Control
5
+ # @api private
6
+ class OutpostAccessPointARN < Aws::ARN
7
+ def initialize(options)
8
+ super(options)
9
+ @type, @outpost_id, @subtype, @access_point_name, @extra =
10
+ @resource.split(/[:,\/]/)
11
+ end
12
+
13
+ attr_reader :outpost_id, :access_point_name
14
+
15
+ # After expanding this ARN, this value will be used to repopulate
16
+ # input so that URIs do not contain ARNs
17
+ def input_member
18
+ access_point_name
19
+ end
20
+
21
+ def support_dualstack?
22
+ false
23
+ end
24
+
25
+ def support_fips?
26
+ false
27
+ end
28
+
29
+ def validate_arn!
30
+ unless @service == 's3-outposts'
31
+ raise ArgumentError, 'Must provide a valid S3 outposts ARN.'
32
+ end
33
+
34
+ if @region.empty? || @account_id.empty?
35
+ raise ArgumentError,
36
+ 'S3 accesspoint ARNs must contain both a region '\
37
+ 'and an account id.'
38
+ end
39
+
40
+ if @type != 'outpost' && @subtype != 'accesspoint'
41
+ raise ArgumentError, 'Invalid ARN, resource format is not correct'
42
+ end
43
+
44
+ if @outpost_id.nil? || @outpost_id.empty?
45
+ raise ArgumentError, 'Missing ARN outpost id.'
46
+ end
47
+
48
+ if @access_point_name.nil? || @access_point_name.empty?
49
+ raise ArgumentError, 'Missing ARN accesspoint name.'
50
+ end
51
+
52
+ if @extra
53
+ raise ArgumentError,
54
+ 'ARN accesspoint resource must be a single value.'
55
+ end
56
+
57
+ unless Seahorse::Util.host_label?(
58
+ "#{@access_point_name}-#{@account_id}"
59
+ )
60
+ raise ArgumentError,
61
+ "#{@access_point_name}-#{@account_id} is not a valid "\
62
+ 'host label.'
63
+ end
64
+
65
+ unless Seahorse::Util.host_label?(@outpost_id)
66
+ raise ArgumentError, "#{@outpost_id} is not a valid host label."
67
+ end
68
+ end
69
+
70
+ # Outpost Access Point ARNs currently do not support dualstack
71
+ def host_url(region, _dualstack = false)
72
+ "s3-outposts.#{region}.amazonaws.com"
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ module S3Control
5
+ # @api private
6
+ class OutpostBucketARN < Aws::ARN
7
+ def initialize(options)
8
+ super(options)
9
+ @type, @outpost_id, @subtype, @bucket_name, @extra =
10
+ @resource.split(/[:,\/]/)
11
+ end
12
+
13
+ attr_reader :outpost_id, :bucket_name
14
+
15
+ # After expanding this ARN, this value will be used to repopulate
16
+ # input so that URIs do not contain ARNs
17
+ def input_member
18
+ bucket_name
19
+ end
20
+
21
+ def support_dualstack?
22
+ false
23
+ end
24
+
25
+ def support_fips?
26
+ false
27
+ end
28
+
29
+ def validate_arn!
30
+ unless @service == 's3-outposts'
31
+ raise ArgumentError, 'Must provide a valid S3 outposts bucket ARN.'
32
+ end
33
+
34
+ if @region.empty? || @account_id.empty?
35
+ raise ArgumentError,
36
+ 'S3 accesspoint ARNs must contain both a region '\
37
+ 'and an account id.'
38
+ end
39
+
40
+ if @type != 'outpost' && @subtype != 'bucket'
41
+ raise ArgumentError, 'Invalid ARN, resource format is not correct'
42
+ end
43
+
44
+ if @outpost_id.nil? || @outpost_id.empty?
45
+ raise ArgumentError, 'Missing ARN outpost id.'
46
+ end
47
+
48
+ if @bucket_name.nil? || @bucket_name.empty?
49
+ raise ArgumentError, 'Missing ARN accesspoint name.'
50
+ end
51
+
52
+ if @extra
53
+ raise ArgumentError,
54
+ 'ARN outpost bucket must be a single value.'
55
+ end
56
+
57
+ unless Seahorse::Util.host_label?(@outpost_id)
58
+ raise ArgumentError, "#{@outpost_id} is not a valid host label."
59
+ end
60
+
61
+ unless Seahorse::Util.host_label?(@bucket_name)
62
+ raise ArgumentError, "#{@bucket_name} is not a valid host label."
63
+ end
64
+ end
65
+
66
+ # Outpost Bucket ARNs currently do not support dualstack
67
+ def host_url(region, _dualstack = false)
68
+ "s3-outposts.#{region}.amazonaws.com"
69
+ end
70
+ end
71
+ end
72
+ end
@@ -28,9 +28,9 @@ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
31
- require 'aws-sdk-s3control/plugins/s3_control_dns.rb'
32
- require 'aws-sdk-s3control/plugins/s3_signer.rb'
31
+ require 'aws-sdk-s3control/plugins/arn.rb'
33
32
  require 'aws-sdk-s3control/plugins/dualstack.rb'
33
+ require 'aws-sdk-s3control/plugins/s3_control_signer.rb'
34
34
  require 'aws-sdk-s3control/plugins/s3_host_id.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:s3control)
@@ -77,9 +77,9 @@ module Aws::S3Control
77
77
  add_plugin(Aws::Plugins::TransferEncoding)
78
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
79
  add_plugin(Aws::Plugins::Protocols::RestXml)
80
- add_plugin(Aws::S3Control::Plugins::S3ControlDns)
81
- add_plugin(Aws::S3Control::Plugins::S3Signer)
80
+ add_plugin(Aws::S3Control::Plugins::ARN)
82
81
  add_plugin(Aws::S3Control::Plugins::Dualstack)
82
+ add_plugin(Aws::S3Control::Plugins::S3ControlSigner)
83
83
  add_plugin(Aws::S3Control::Plugins::S3HostId)
84
84
 
85
85
  # @overload initialize(options)
@@ -268,6 +268,12 @@ module Aws::S3Control
268
268
  # in the future.
269
269
  #
270
270
  #
271
+ # @option options [Boolean] :s3_use_arn_region (true)
272
+ # For S3 and S3 Outposts ARNs passed into the `:bucket` or `:name`
273
+ # parameter, this option will use the region in the ARN, allowing
274
+ # for cross-region requests to be made. Set to `false` to use the
275
+ # client's region instead.
276
+ #
271
277
  # @option options [String] :secret_access_key
272
278
  #
273
279
  # @option options [String] :session_token
@@ -338,6 +344,52 @@ module Aws::S3Control
338
344
  # @!group API Operations
339
345
 
340
346
  # Creates an access point and associates it with the specified bucket.
347
+ # For more information, see [Managing Data Access with Amazon S3 Access
348
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
349
+ #
350
+ #
351
+ #
352
+ # **Using this action with Amazon S3 on Outposts**
353
+ #
354
+ # This action:
355
+ #
356
+ # * Requires a virtual private cloud (VPC) configuration as S3 on
357
+ # Outposts only supports VPC style access points.
358
+ #
359
+ # * Does not support ACL on S3 on Outposts buckets.
360
+ #
361
+ # * Does not support Public Access on S3 on Outposts buckets.
362
+ #
363
+ # * Does not support object lock for S3 on Outposts buckets.
364
+ #
365
+ # For more information, see [Using Amazon S3 on
366
+ # Outposts](AmazonS3/latest/dev/S3onOutposts.html) in the <i>Amazon
367
+ # Simple Storage Service Developer Guide </i>.
368
+ #
369
+ # All Amazon S3 on Outposts REST API requests for this action require an
370
+ # additional parameter of outpost-id to be passed with the request and
371
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
372
+ # an example of the request syntax for Amazon S3 on Outposts that uses
373
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
374
+ # using the access point ARN, see the [ Example][2] section below.
375
+ #
376
+ #
377
+ #
378
+ # The following actions are related to `CreateAccessPoint`\:
379
+ #
380
+ # * [GetAccessPoint][3]
381
+ #
382
+ # * [DeleteAccessPoint][4]
383
+ #
384
+ # * [ListAccessPoints][5]
385
+ #
386
+ #
387
+ #
388
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
389
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_CreateAccessPoint.html#API_control_CreateAccessPoint_Examples
390
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html
391
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_DeleteAccessPoint.html
392
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_ListAccessPoints.html
341
393
  #
342
394
  # @option params [required, String] :account_id
343
395
  # The AWS account ID for the owner of the bucket for which you want to
@@ -350,22 +402,40 @@ module Aws::S3Control
350
402
  # The name of the bucket that you want to associate this access point
351
403
  # with.
352
404
  #
405
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
406
+ # the format
407
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
408
+ # For example, to access the bucket `reports` through outpost
409
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
410
+ # use the URL encoding of
411
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
412
+ # The value must be URL encoded.
413
+ #
353
414
  # @option params [Types::VpcConfiguration] :vpc_configuration
354
415
  # If you include this field, Amazon S3 restricts access to this access
355
416
  # point to requests from the specified virtual private cloud (VPC).
356
417
  #
418
+ # <note markdown="1"> This is required for creating an access point for Amazon S3 on
419
+ # Outposts buckets.
420
+ #
421
+ # </note>
422
+ #
357
423
  # @option params [Types::PublicAccessBlockConfiguration] :public_access_block_configuration
358
424
  # The `PublicAccessBlock` configuration that you want to apply to this
359
425
  # Amazon S3 bucket. You can enable the configuration options in any
360
426
  # combination. For more information about when Amazon S3 considers a
361
427
  # bucket or object public, see [The Meaning of "Public"][1] in the
362
- # Amazon Simple Storage Service Developer Guide.
428
+ # *Amazon Simple Storage Service Developer Guide*.
429
+ #
430
+ # This is not supported for Amazon S3 on Outposts.
363
431
  #
364
432
  #
365
433
  #
366
434
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
367
435
  #
368
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
436
+ # @return [Types::CreateAccessPointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
437
+ #
438
+ # * {Types::CreateAccessPointResult#access_point_arn #access_point_arn} => String
369
439
  #
370
440
  # @example Request syntax with placeholder values
371
441
  #
@@ -384,6 +454,10 @@ module Aws::S3Control
384
454
  # },
385
455
  # })
386
456
  #
457
+ # @example Response structure
458
+ #
459
+ # resp.access_point_arn #=> String
460
+ #
387
461
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPoint AWS API Documentation
388
462
  #
389
463
  # @overload create_access_point(params = {})
@@ -393,27 +467,195 @@ module Aws::S3Control
393
467
  req.send_request(options)
394
468
  end
395
469
 
396
- # You can use Amazon S3 Batch Operations to perform large-scale Batch
397
- # Operations on Amazon S3 objects. Amazon S3 Batch Operations can
398
- # execute a single operation or action on lists of Amazon S3 objects
399
- # that you specify. For more information, see [Amazon S3 Batch
400
- # Operations][1] in the Amazon Simple Storage Service Developer Guide.
470
+ # <note markdown="1"> This API operation creates an Amazon S3 on Outposts bucket. To create
471
+ # an S3 bucket, see [Create Bucket][1] in the *Amazon Simple Storage
472
+ # Service API*.
473
+ #
474
+ # </note>
475
+ #
476
+ # Creates a new Outposts bucket. By creating the bucket, you become the
477
+ # bucket owner. To create an Outposts bucket, you must have S3 on
478
+ # Outposts. For more information, see [Using Amazon S3 on Outposts][2]
479
+ # in *Amazon Simple Storage Service Developer Guide*.
480
+ #
481
+ # Not every string is an acceptable bucket name. For information on
482
+ # bucket naming restrictions, see [Working with Amazon S3 Buckets][3].
483
+ #
484
+ # S3 on Outposts buckets do not support
485
+ #
486
+ # * ACLs. Instead, configure access point policies to manage access to
487
+ # buckets.
488
+ #
489
+ # * Public access.
490
+ #
491
+ # * Object Lock
492
+ #
493
+ # * Bucket Location constraint
494
+ #
495
+ # For an example of the request syntax for Amazon S3 on Outposts that
496
+ # uses the S3 on Outposts endpoint hostname prefix and outpost-id in
497
+ # your API request, see the [ Example][4] section below.
498
+ #
499
+ # The following actions are related to `CreateBucket` for Amazon S3 on
500
+ # Outposts:
501
+ #
502
+ # * [PutObject][5]
503
+ #
504
+ # * [GetBucket][6]
505
+ #
506
+ # * [DeleteBucket][7]
507
+ #
508
+ # * [CreateAccessPoint][8]
509
+ #
510
+ # * [PutAccessPointPolicy][9]
511
+ #
512
+ #
513
+ #
514
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
515
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
516
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules
517
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_CreateBucket.html#API_control_CreateBucket_Examples
518
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
519
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_GetBucket.html
520
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_DeleteBucket.html
521
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_CreateAccessPoint.html
522
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_PutAccessPointPolicy.html
523
+ #
524
+ # @option params [String] :acl
525
+ # The canned ACL to apply to the bucket.
526
+ #
527
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
528
+ #
529
+ # </note>
530
+ #
531
+ # @option params [required, String] :bucket
532
+ # The name of the bucket.
533
+ #
534
+ # @option params [Types::CreateBucketConfiguration] :create_bucket_configuration
535
+ # The configuration information for the bucket.
536
+ #
537
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
538
+ #
539
+ # </note>
540
+ #
541
+ # @option params [String] :grant_full_control
542
+ # Allows grantee the read, write, read ACP, and write ACP permissions on
543
+ # the bucket.
544
+ #
545
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
546
+ #
547
+ # </note>
548
+ #
549
+ # @option params [String] :grant_read
550
+ # Allows grantee to list the objects in the bucket.
551
+ #
552
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
553
+ #
554
+ # </note>
555
+ #
556
+ # @option params [String] :grant_read_acp
557
+ # Allows grantee to read the bucket ACL.
558
+ #
559
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
560
+ #
561
+ # </note>
562
+ #
563
+ # @option params [String] :grant_write
564
+ # Allows grantee to create, overwrite, and delete any object in the
565
+ # bucket.
566
+ #
567
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
568
+ #
569
+ # </note>
570
+ #
571
+ # @option params [String] :grant_write_acp
572
+ # Allows grantee to write the ACL for the applicable bucket.
573
+ #
574
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
575
+ #
576
+ # </note>
577
+ #
578
+ # @option params [Boolean] :object_lock_enabled_for_bucket
579
+ # Specifies whether you want S3 Object Lock to be enabled for the new
580
+ # bucket.
581
+ #
582
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
583
+ #
584
+ # </note>
585
+ #
586
+ # @option params [String] :outpost_id
587
+ # The ID of the Outposts where the bucket is being created.
588
+ #
589
+ # <note markdown="1"> This is required by Amazon S3 on Outposts buckets.
590
+ #
591
+ # </note>
592
+ #
593
+ # @return [Types::CreateBucketResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
594
+ #
595
+ # * {Types::CreateBucketResult#location #location} => String
596
+ # * {Types::CreateBucketResult#bucket_arn #bucket_arn} => String
597
+ #
598
+ # @example Request syntax with placeholder values
599
+ #
600
+ # resp = client.create_bucket({
601
+ # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
602
+ # bucket: "BucketName", # required
603
+ # create_bucket_configuration: {
604
+ # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1
605
+ # },
606
+ # grant_full_control: "GrantFullControl",
607
+ # grant_read: "GrantRead",
608
+ # grant_read_acp: "GrantReadACP",
609
+ # grant_write: "GrantWrite",
610
+ # grant_write_acp: "GrantWriteACP",
611
+ # object_lock_enabled_for_bucket: false,
612
+ # outpost_id: "NonEmptyMaxLength64String",
613
+ # })
614
+ #
615
+ # @example Response structure
616
+ #
617
+ # resp.location #=> String
618
+ # resp.bucket_arn #=> String
619
+ #
620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucket AWS API Documentation
621
+ #
622
+ # @overload create_bucket(params = {})
623
+ # @param [Hash] params ({})
624
+ def create_bucket(params = {}, options = {})
625
+ req = build_request(:create_bucket, params)
626
+ req.send_request(options)
627
+ end
628
+
629
+ # S3 Batch Operations performs large-scale Batch Operations on Amazon S3
630
+ # objects. Batch Operations can run a single operation or action on
631
+ # lists of Amazon S3 objects that you specify. For more information, see
632
+ # [S3 Batch Operations][1] in the *Amazon Simple Storage Service
633
+ # Developer Guide*.
634
+ #
635
+ # This operation creates a S3 Batch Operations job.
636
+ #
637
+ #
401
638
  #
402
639
  # Related actions include:
403
640
  #
404
- # * DescribeJob
641
+ # * [DescribeJob][2]
405
642
  #
406
- # * ListJobs
643
+ # * [ListJobs][3]
407
644
  #
408
- # * UpdateJobPriority
645
+ # * [UpdateJobPriority][4]
409
646
  #
410
- # * UpdateJobStatus
647
+ # * [UpdateJobStatus][5]
411
648
  #
412
649
  #
413
650
  #
414
651
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
652
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
653
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
654
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
655
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
415
656
  #
416
657
  # @option params [required, String] :account_id
658
+ # The AWS account ID that creates the job.
417
659
  #
418
660
  # @option params [Boolean] :confirmation_required
419
661
  # Indicates whether confirmation is required before Amazon S3 runs the
@@ -423,8 +665,8 @@ module Aws::S3Control
423
665
  # @option params [required, Types::JobOperation] :operation
424
666
  # The operation that you want this job to perform on each object listed
425
667
  # in the manifest. For more information about the available operations,
426
- # see [Available Operations][1] in the *Amazon Simple Storage Service
427
- # Developer Guide*.
668
+ # see [Operations][1] in the *Amazon Simple Storage Service Developer
669
+ # Guide*.
428
670
  #
429
671
  #
430
672
  #
@@ -454,12 +696,12 @@ module Aws::S3Control
454
696
  #
455
697
  # @option params [required, String] :role_arn
456
698
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
457
- # Management (IAM) role that Batch Operations will use to execute this
699
+ # Management (IAM) role that Batch Operations will use to run this
458
700
  # job's operation on each object in the manifest.
459
701
  #
460
702
  # @option params [Array<Types::S3Tag>] :tags
461
- # A set of tags to associate with the Amazon S3 Batch Operations job.
462
- # This is an optional parameter.
703
+ # A set of tags to associate with the S3 Batch Operations job. This is
704
+ # an optional parameter.
463
705
  #
464
706
  # @return [Types::CreateJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
465
707
  #
@@ -611,12 +853,44 @@ module Aws::S3Control
611
853
 
612
854
  # Deletes the specified access point.
613
855
  #
856
+ # All Amazon S3 on Outposts REST API requests for this action require an
857
+ # additional parameter of outpost-id to be passed with the request and
858
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
859
+ # an example of the request syntax for Amazon S3 on Outposts that uses
860
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
861
+ # using the access point ARN, see the ARN, see the [ Example][1] section
862
+ # below.
863
+ #
864
+ # The following actions are related to `DeleteAccessPoint`\:
865
+ #
866
+ # * [CreateAccessPoint][2]
867
+ #
868
+ # * [GetAccessPoint][3]
869
+ #
870
+ # * [ListAccessPoints][4]
871
+ #
872
+ #
873
+ #
874
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_DeleteAccessPoint.html#API_control_DeleteAccessPoint_Examples
875
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html
876
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html
877
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html
878
+ #
614
879
  # @option params [required, String] :account_id
615
880
  # The account ID for the account that owns the specified access point.
616
881
  #
617
882
  # @option params [required, String] :name
618
883
  # The name of the access point you want to delete.
619
884
  #
885
+ # For Amazon S3 on Outposts specify the ARN of the access point accessed
886
+ # in the format
887
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
888
+ # For example, to access the access point `reports-ap` through outpost
889
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
890
+ # use the URL encoding of
891
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
892
+ # The value must be URL encoded.
893
+ #
620
894
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
621
895
  #
622
896
  # @example Request syntax with placeholder values
@@ -637,12 +911,42 @@ module Aws::S3Control
637
911
 
638
912
  # Deletes the access point policy for the specified access point.
639
913
  #
914
+ #
915
+ #
916
+ # All Amazon S3 on Outposts REST API requests for this action require an
917
+ # additional parameter of outpost-id to be passed with the request and
918
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
919
+ # an example of the request syntax for Amazon S3 on Outposts that uses
920
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
921
+ # using the access point ARN, see the [ Example][1] section below.
922
+ #
923
+ # The following actions are related to `DeleteAccessPointPolicy`\:
924
+ #
925
+ # * [PutAccessPointPolicy][2]
926
+ #
927
+ # * [GetAccessPointPolicy][3]
928
+ #
929
+ #
930
+ #
931
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_DeleteAccessPointPolicy.html#API_control_DeleteAccessPointPolicy_Examples
932
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html
933
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html
934
+ #
640
935
  # @option params [required, String] :account_id
641
936
  # The account ID for the account that owns the specified access point.
642
937
  #
643
938
  # @option params [required, String] :name
644
939
  # The name of the access point whose policy you want to delete.
645
940
  #
941
+ # For Amazon S3 on Outposts specify the ARN of the access point accessed
942
+ # in the format
943
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
944
+ # For example, to access the access point `reports-ap` through outpost
945
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
946
+ # use the URL encoding of
947
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
948
+ # The value must be URL encoded.
949
+ #
646
950
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
647
951
  #
648
952
  # @example Request syntax with placeholder values
@@ -661,32 +965,331 @@ module Aws::S3Control
661
965
  req.send_request(options)
662
966
  end
663
967
 
664
- # Removes the entire tag set from the specified Amazon S3 Batch
665
- # Operations job. To use this operation, you must have permission to
666
- # perform the `s3:DeleteJobTagging` action. For more information, see
667
- # [Using Job Tags][1] in the Amazon Simple Storage Service Developer
668
- # Guide.
968
+ # <note markdown="1"> This API operation deletes an Amazon S3 on Outposts bucket. To delete
969
+ # an S3 bucket, see [DeleteBucket][1] in the *Amazon Simple Storage
970
+ # Service API*.
971
+ #
972
+ # </note>
973
+ #
974
+ # Deletes the Amazon S3 on Outposts bucket. All objects (including all
975
+ # object versions and delete markers) in the bucket must be deleted
976
+ # before the bucket itself can be deleted. For more information, see
977
+ # [Using Amazon S3 on Outposts][2] in *Amazon Simple Storage Service
978
+ # Developer Guide*.
979
+ #
980
+ # All Amazon S3 on Outposts REST API requests for this action require an
981
+ # additional parameter of outpost-id to be passed with the request and
982
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
983
+ # an example of the request syntax for Amazon S3 on Outposts that uses
984
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
985
+ # using the access point ARN, see the [ Example][3] section below.
986
+ #
987
+ # **Related Resources**
988
+ #
989
+ # * [CreateBucket][4]
990
+ #
991
+ # * [GetBucket][5]
992
+ #
993
+ # * [DeleteObject][6]
994
+ #
995
+ #
996
+ #
997
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
998
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
999
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_DeleteBucket.html#API_control_DeleteBucket_Examples
1000
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
1001
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_GetBucket.html
1002
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
1003
+ #
1004
+ # @option params [required, String] :account_id
1005
+ # The account ID that owns the Outposts bucket.
1006
+ #
1007
+ # @option params [required, String] :bucket
1008
+ # Specifies the bucket being deleted.
1009
+ #
1010
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1011
+ # the format
1012
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1013
+ # For example, to access the bucket `reports` through outpost
1014
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1015
+ # use the URL encoding of
1016
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1017
+ # The value must be URL encoded.
1018
+ #
1019
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1020
+ #
1021
+ # @example Request syntax with placeholder values
1022
+ #
1023
+ # resp = client.delete_bucket({
1024
+ # account_id: "AccountId", # required
1025
+ # bucket: "BucketName", # required
1026
+ # })
1027
+ #
1028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucket AWS API Documentation
1029
+ #
1030
+ # @overload delete_bucket(params = {})
1031
+ # @param [Hash] params ({})
1032
+ def delete_bucket(params = {}, options = {})
1033
+ req = build_request(:delete_bucket, params)
1034
+ req.send_request(options)
1035
+ end
1036
+
1037
+ # <note markdown="1"> This API action deletes an Amazon S3 on Outposts bucket's lifecycle
1038
+ # configuration. To delete an S3 bucket's lifecycle configuration, see
1039
+ # [DeleteBucketLifecycle][1] in the *Amazon Simple Storage Service API*.
1040
+ #
1041
+ # </note>
1042
+ #
1043
+ # Deletes the lifecycle configuration from the specified Outposts
1044
+ # bucket. Amazon S3 on Outposts removes all the lifecycle configuration
1045
+ # rules in the lifecycle subresource associated with the bucket. Your
1046
+ # objects never expire, and Amazon S3 on Outposts no longer
1047
+ # automatically deletes any objects on the basis of rules contained in
1048
+ # the deleted lifecycle configuration. For more information, see [Using
1049
+ # Amazon S3 on Outposts][2] in *Amazon Simple Storage Service Developer
1050
+ # Guide*.
1051
+ #
1052
+ # To use this operation, you must have permission to perform the
1053
+ # `s3outposts:DeleteLifecycleConfiguration` action. By default, the
1054
+ # bucket owner has this permission and the Outposts bucket owner can
1055
+ # grant this permission to others.
1056
+ #
1057
+ # All Amazon S3 on Outposts REST API requests for this action require an
1058
+ # additional parameter of outpost-id to be passed with the request and
1059
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
1060
+ # an example of the request syntax for Amazon S3 on Outposts that uses
1061
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
1062
+ # using the access point ARN, see the [ Example][3] section below.
1063
+ #
1064
+ # For more information about object expiration, see [ Elements to
1065
+ # Describe Lifecycle Actions][4].
1066
+ #
1067
+ # Related actions include:
1068
+ #
1069
+ # * [PutBucketLifecycleConfiguration][5]
1070
+ #
1071
+ # * [GetBucketLifecycleConfiguration][6]
1072
+ #
1073
+ #
1074
+ #
1075
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
1076
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1077
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_DeleteBucketLifecycleConfiguration.html#API_control_DeleteBucketLifecycleConfiguration_Examples
1078
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
1079
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html
1080
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html
1081
+ #
1082
+ # @option params [required, String] :account_id
1083
+ # The account ID of the lifecycle configuration to delete.
1084
+ #
1085
+ # @option params [required, String] :bucket
1086
+ # The bucket ARN of the bucket.
1087
+ #
1088
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1089
+ # the format
1090
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1091
+ # For example, to access the bucket `reports` through outpost
1092
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1093
+ # use the URL encoding of
1094
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1095
+ # The value must be URL encoded.
1096
+ #
1097
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1098
+ #
1099
+ # @example Request syntax with placeholder values
1100
+ #
1101
+ # resp = client.delete_bucket_lifecycle_configuration({
1102
+ # account_id: "AccountId", # required
1103
+ # bucket: "BucketName", # required
1104
+ # })
1105
+ #
1106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfiguration AWS API Documentation
1107
+ #
1108
+ # @overload delete_bucket_lifecycle_configuration(params = {})
1109
+ # @param [Hash] params ({})
1110
+ def delete_bucket_lifecycle_configuration(params = {}, options = {})
1111
+ req = build_request(:delete_bucket_lifecycle_configuration, params)
1112
+ req.send_request(options)
1113
+ end
1114
+
1115
+ # <note markdown="1"> This API operation deletes an Amazon S3 on Outposts bucket policy. To
1116
+ # delete an S3 bucket policy, see [DeleteBucketPolicy][1] in the *Amazon
1117
+ # Simple Storage Service API*.
1118
+ #
1119
+ # </note>
1120
+ #
1121
+ # This implementation of the DELETE operation uses the policy
1122
+ # subresource to delete the policy of a specified Amazon S3 on Outposts
1123
+ # bucket. If you are using an identity other than the root user of the
1124
+ # AWS account that owns the bucket, the calling identity must have the
1125
+ # `s3outposts:DeleteBucketPolicy` permissions on the specified Outposts
1126
+ # bucket and belong to the bucket owner's account to use this
1127
+ # operation. For more information, see [Using Amazon S3 on Outposts][2]
1128
+ # in *Amazon Simple Storage Service Developer Guide*.
1129
+ #
1130
+ # If you don't have `DeleteBucketPolicy` permissions, Amazon S3 returns
1131
+ # a `403 Access Denied` error. If you have the correct permissions, but
1132
+ # you're not using an identity that belongs to the bucket owner's
1133
+ # account, Amazon S3 returns a `405 Method Not Allowed` error.
1134
+ #
1135
+ # As a security precaution, the root user of the AWS account that owns a
1136
+ # bucket can always use this operation, even if the policy explicitly
1137
+ # denies the root user the ability to perform this action.
1138
+ #
1139
+ # For more information about bucket policies, see [Using Bucket Policies
1140
+ # and User Policies](
1141
+ # https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html).
1142
+ #
1143
+ # All Amazon S3 on Outposts REST API requests for this action require an
1144
+ # additional parameter of outpost-id to be passed with the request and
1145
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
1146
+ # an example of the request syntax for Amazon S3 on Outposts that uses
1147
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
1148
+ # using the access point ARN, see the [ Example][3] section below.
1149
+ #
1150
+ # The following actions are related to `DeleteBucketPolicy`\:
1151
+ #
1152
+ # * [GetBucketPolicy][4]
1153
+ #
1154
+ # * [PutBucketPolicy][5]
1155
+ #
1156
+ #
1157
+ #
1158
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html
1159
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1160
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_DeleteBucketPolicy.html#API_control_DeleteBucketPolicy_Examples
1161
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html
1162
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_PutBucketPolicy.html
1163
+ #
1164
+ # @option params [required, String] :account_id
1165
+ # The account ID of the Outposts bucket.
1166
+ #
1167
+ # @option params [required, String] :bucket
1168
+ # The ARN of the bucket.
1169
+ #
1170
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1171
+ # the format
1172
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1173
+ # For example, to access the bucket `reports` through outpost
1174
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1175
+ # use the URL encoding of
1176
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1177
+ # The value must be URL encoded.
1178
+ #
1179
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1180
+ #
1181
+ # @example Request syntax with placeholder values
1182
+ #
1183
+ # resp = client.delete_bucket_policy({
1184
+ # account_id: "AccountId", # required
1185
+ # bucket: "BucketName", # required
1186
+ # })
1187
+ #
1188
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicy AWS API Documentation
1189
+ #
1190
+ # @overload delete_bucket_policy(params = {})
1191
+ # @param [Hash] params ({})
1192
+ def delete_bucket_policy(params = {}, options = {})
1193
+ req = build_request(:delete_bucket_policy, params)
1194
+ req.send_request(options)
1195
+ end
1196
+
1197
+ # <note markdown="1"> This API operation deletes an Amazon S3 on Outposts bucket's tags. To
1198
+ # delete an S3 bucket tags, see [DeleteBucketTagging][1] in the *Amazon
1199
+ # Simple Storage Service API*.
1200
+ #
1201
+ # </note>
1202
+ #
1203
+ # Deletes the tags from the Outposts bucket. For more information, see
1204
+ # [Using Amazon S3 on Outposts][2] in *Amazon Simple Storage Service
1205
+ # Developer Guide*.
1206
+ #
1207
+ # To use this operation, you must have permission to perform the
1208
+ # `PutBucketTagging` action. By default, the bucket owner has this
1209
+ # permission and can grant this permission to others.
1210
+ #
1211
+ # All Amazon S3 on Outposts REST API requests for this action require an
1212
+ # additional parameter of outpost-id to be passed with the request and
1213
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
1214
+ # an example of the request syntax for Amazon S3 on Outposts that uses
1215
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
1216
+ # using the access point ARN, see the [ Example][3] section below.
1217
+ #
1218
+ # The following actions are related to `DeleteBucketTagging`\:
1219
+ #
1220
+ # * [GetBucketTagging][4]
1221
+ #
1222
+ # * [PutBucketTagging][5]
1223
+ #
1224
+ #
1225
+ #
1226
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
1227
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1228
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_DeleteBucketTagging.html#API_control_DeleteBucketTagging_Examples
1229
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html
1230
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html
1231
+ #
1232
+ # @option params [required, String] :account_id
1233
+ # The AWS account ID of the Outposts bucket tag set to be removed.
1234
+ #
1235
+ # @option params [required, String] :bucket
1236
+ # The bucket ARN that has the tag set to be removed.
1237
+ #
1238
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1239
+ # the format
1240
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1241
+ # For example, to access the bucket `reports` through outpost
1242
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1243
+ # use the URL encoding of
1244
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1245
+ # The value must be URL encoded.
1246
+ #
1247
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1248
+ #
1249
+ # @example Request syntax with placeholder values
1250
+ #
1251
+ # resp = client.delete_bucket_tagging({
1252
+ # account_id: "AccountId", # required
1253
+ # bucket: "BucketName", # required
1254
+ # })
1255
+ #
1256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTagging AWS API Documentation
1257
+ #
1258
+ # @overload delete_bucket_tagging(params = {})
1259
+ # @param [Hash] params ({})
1260
+ def delete_bucket_tagging(params = {}, options = {})
1261
+ req = build_request(:delete_bucket_tagging, params)
1262
+ req.send_request(options)
1263
+ end
1264
+
1265
+ # Removes the entire tag set from the specified S3 Batch Operations job.
1266
+ # To use this operation, you must have permission to perform the
1267
+ # `s3:DeleteJobTagging` action. For more information, see [Controlling
1268
+ # access and labeling jobs using tags][1] in the *Amazon Simple Storage
1269
+ # Service Developer Guide*.
669
1270
  #
670
1271
  #
671
1272
  #
672
1273
  # Related actions include:
673
1274
  #
674
- # * CreateJob
1275
+ # * [CreateJob][2]
675
1276
  #
676
- # * GetJobTagging
1277
+ # * [GetJobTagging][3]
677
1278
  #
678
- # * PutJobTagging
1279
+ # * [PutJobTagging][4]
679
1280
  #
680
1281
  #
681
1282
  #
682
1283
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
1284
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
1285
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html
1286
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html
683
1287
  #
684
1288
  # @option params [required, String] :account_id
685
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
1289
+ # The AWS account ID associated with the S3 Batch Operations job.
686
1290
  #
687
1291
  # @option params [required, String] :job_id
688
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
689
- # delete.
1292
+ # The ID for the S3 Batch Operations job whose tags you want to delete.
690
1293
  #
691
1294
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
692
1295
  #
@@ -706,12 +1309,24 @@ module Aws::S3Control
706
1309
  req.send_request(options)
707
1310
  end
708
1311
 
709
- # Removes the `PublicAccessBlock` configuration for an Amazon Web
710
- # Services account.
1312
+ # Removes the `PublicAccessBlock` configuration for an AWS account. For
1313
+ # more information, see [ Using Amazon S3 block public access][1].
1314
+ #
1315
+ # Related actions include:
1316
+ #
1317
+ # * [GetPublicAccessBlock][2]
1318
+ #
1319
+ # * [PutPublicAccessBlock][3]
1320
+ #
1321
+ #
1322
+ #
1323
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
1324
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html
1325
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html
711
1326
  #
712
1327
  # @option params [required, String] :account_id
713
- # The account ID for the Amazon Web Services account whose
714
- # `PublicAccessBlock` configuration you want to remove.
1328
+ # The account ID for the AWS account whose `PublicAccessBlock`
1329
+ # configuration you want to remove.
715
1330
  #
716
1331
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
717
1332
  #
@@ -731,24 +1346,28 @@ module Aws::S3Control
731
1346
  end
732
1347
 
733
1348
  # Retrieves the configuration parameters and status for a Batch
734
- # Operations job. For more information, see [Amazon S3 Batch
735
- # Operations][1] in the Amazon Simple Storage Service Developer Guide.
1349
+ # Operations job. For more information, see [S3 Batch Operations][1] in
1350
+ # the *Amazon Simple Storage Service Developer Guide*.
736
1351
  #
737
1352
  #
738
1353
  #
739
1354
  # Related actions include:
740
1355
  #
741
- # * CreateJob
1356
+ # * [CreateJob][2]
742
1357
  #
743
- # * ListJobs
1358
+ # * [ListJobs][3]
744
1359
  #
745
- # * UpdateJobPriority
1360
+ # * [UpdateJobPriority][4]
746
1361
  #
747
- # * UpdateJobStatus
1362
+ # * [UpdateJobStatus][5]
748
1363
  #
749
1364
  #
750
1365
  #
751
1366
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
1367
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
1368
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
1369
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
1370
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
752
1371
  #
753
1372
  # @option params [required, String] :account_id
754
1373
  #
@@ -860,13 +1479,46 @@ module Aws::S3Control
860
1479
 
861
1480
  # Returns configuration information about the specified access point.
862
1481
  #
863
- # @option params [required, String] :account_id
864
- # The account ID for the account that owns the specified access point.
865
1482
  #
866
- # @option params [required, String] :name
867
- # The name of the access point whose configuration information you want
1483
+ #
1484
+ # All Amazon S3 on Outposts REST API requests for this action require an
1485
+ # additional parameter of outpost-id to be passed with the request and
1486
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
1487
+ # an example of the request syntax for Amazon S3 on Outposts that uses
1488
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
1489
+ # using the access point ARN, see the [ Example][1] section below.
1490
+ #
1491
+ # The following actions are related to `GetAccessPoint`\:
1492
+ #
1493
+ # * [CreateAccessPoint][2]
1494
+ #
1495
+ # * [DeleteAccessPoint][3]
1496
+ #
1497
+ # * [ListAccessPoints][4]
1498
+ #
1499
+ #
1500
+ #
1501
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_GetAccessPoint.html#API_control_GetAccessPoint_Examples
1502
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html
1503
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html
1504
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html
1505
+ #
1506
+ # @option params [required, String] :account_id
1507
+ # The account ID for the account that owns the specified access point.
1508
+ #
1509
+ # @option params [required, String] :name
1510
+ # The name of the access point whose configuration information you want
868
1511
  # to retrieve.
869
1512
  #
1513
+ # For Amazon S3 on Outposts specify the ARN of the access point accessed
1514
+ # in the format
1515
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
1516
+ # For example, to access the access point `reports-ap` through outpost
1517
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1518
+ # use the URL encoding of
1519
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
1520
+ # The value must be URL encoded.
1521
+ #
870
1522
  # @return [Types::GetAccessPointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
871
1523
  #
872
1524
  # * {Types::GetAccessPointResult#name #name} => String
@@ -907,12 +1559,32 @@ module Aws::S3Control
907
1559
  # Returns the access point policy associated with the specified access
908
1560
  # point.
909
1561
  #
1562
+ # The following actions are related to `GetAccessPointPolicy`\:
1563
+ #
1564
+ # * [PutAccessPointPolicy][1]
1565
+ #
1566
+ # * [DeleteAccessPointPolicy][2]
1567
+ #
1568
+ #
1569
+ #
1570
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html
1571
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html
1572
+ #
910
1573
  # @option params [required, String] :account_id
911
1574
  # The account ID for the account that owns the specified access point.
912
1575
  #
913
1576
  # @option params [required, String] :name
914
1577
  # The name of the access point whose policy you want to retrieve.
915
1578
  #
1579
+ # For Amazon S3 on Outposts specify the ARN of the access point accessed
1580
+ # in the format
1581
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
1582
+ # For example, to access the access point `reports-ap` through outpost
1583
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1584
+ # use the URL encoding of
1585
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
1586
+ # The value must be URL encoded.
1587
+ #
916
1588
  # @return [Types::GetAccessPointPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
917
1589
  #
918
1590
  # * {Types::GetAccessPointPolicyResult#policy #policy} => String
@@ -976,30 +1648,386 @@ module Aws::S3Control
976
1648
  req.send_request(options)
977
1649
  end
978
1650
 
979
- # Returns the tags on an Amazon S3 Batch Operations job. To use this
980
- # operation, you must have permission to perform the `s3:GetJobTagging`
981
- # action. For more information, see [Using Job Tags][1] in the *Amazon
1651
+ # Gets an Amazon S3 on Outposts bucket. For more information, see [
1652
+ # Using Amazon S3 on Outposts][1] in the *Amazon Simple Storage Service
1653
+ # Developer Guide*.
1654
+ #
1655
+ # The following actions are related to `GetBucket` for Amazon S3 on
1656
+ # Outposts:
1657
+ #
1658
+ # * [PutObject][2]
1659
+ #
1660
+ # * [CreateBucket][3]
1661
+ #
1662
+ # * [DeleteBucket][4]
1663
+ #
1664
+ #
1665
+ #
1666
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1667
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1668
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_CreateBucket.html
1669
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_DeleteBucket.html
1670
+ #
1671
+ # @option params [required, String] :account_id
1672
+ # The AWS account ID of the Outposts bucket.
1673
+ #
1674
+ # @option params [required, String] :bucket
1675
+ # The ARN of the bucket.
1676
+ #
1677
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1678
+ # the format
1679
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1680
+ # For example, to access the bucket `reports` through outpost
1681
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1682
+ # use the URL encoding of
1683
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1684
+ # The value must be URL encoded.
1685
+ #
1686
+ # @return [Types::GetBucketResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1687
+ #
1688
+ # * {Types::GetBucketResult#bucket #bucket} => String
1689
+ # * {Types::GetBucketResult#public_access_block_enabled #public_access_block_enabled} => Boolean
1690
+ # * {Types::GetBucketResult#creation_date #creation_date} => Time
1691
+ #
1692
+ # @example Request syntax with placeholder values
1693
+ #
1694
+ # resp = client.get_bucket({
1695
+ # account_id: "AccountId", # required
1696
+ # bucket: "BucketName", # required
1697
+ # })
1698
+ #
1699
+ # @example Response structure
1700
+ #
1701
+ # resp.bucket #=> String
1702
+ # resp.public_access_block_enabled #=> Boolean
1703
+ # resp.creation_date #=> Time
1704
+ #
1705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucket AWS API Documentation
1706
+ #
1707
+ # @overload get_bucket(params = {})
1708
+ # @param [Hash] params ({})
1709
+ def get_bucket(params = {}, options = {})
1710
+ req = build_request(:get_bucket, params)
1711
+ req.send_request(options)
1712
+ end
1713
+
1714
+ # <note markdown="1"> This API operation gets an Amazon S3 on Outposts bucket's lifecycle
1715
+ # configuration. To get an S3 bucket's lifecycle configuration, see
1716
+ # [GetBucketLifecycleConfiguration][1] in the *Amazon Simple Storage
1717
+ # Service API*.
1718
+ #
1719
+ # </note>
1720
+ #
1721
+ # Returns the lifecycle configuration information set on the Outposts
1722
+ # bucket. For more information, see [Using Amazon S3 on Outposts][2] and
1723
+ # for information about lifecycle configuration, see [ Object Lifecycle
1724
+ # Management][3] in *Amazon Simple Storage Service Developer Guide*.
1725
+ #
1726
+ # To use this operation, you must have permission to perform the
1727
+ # `s3outposts:GetLifecycleConfiguration` action. The Outposts bucket
1728
+ # owner has this permission, by default. The bucket owner can grant this
1729
+ # permission to others. For more information about permissions, see
1730
+ # [Permissions Related to Bucket Subresource Operations][4] and
1731
+ # [Managing Access Permissions to Your Amazon S3 Resources][5].
1732
+ #
1733
+ # All Amazon S3 on Outposts REST API requests for this action require an
1734
+ # additional parameter of outpost-id to be passed with the request and
1735
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
1736
+ # an example of the request syntax for Amazon S3 on Outposts that uses
1737
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
1738
+ # using the access point ARN, see the [ Example][6] section below.
1739
+ #
1740
+ # `GetBucketLifecycleConfiguration` has the following special error:
1741
+ #
1742
+ # * Error code: `NoSuchLifecycleConfiguration`
1743
+ #
1744
+ # * Description: The lifecycle configuration does not exist.
1745
+ #
1746
+ # * HTTP Status Code: 404 Not Found
1747
+ #
1748
+ # * SOAP Fault Code Prefix: Client
1749
+ #
1750
+ # The following actions are related to
1751
+ # `GetBucketLifecycleConfiguration`\:
1752
+ #
1753
+ # * [PutBucketLifecycleConfiguration][7]
1754
+ #
1755
+ # * [DeleteBucketLifecycleConfiguration][8]
1756
+ #
1757
+ #
1758
+ #
1759
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
1760
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1761
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
1762
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1763
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
1764
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_GetBucketLifecycleConfiguration.html#API_control_GetBucketLifecycleConfiguration_Examples
1765
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html
1766
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html
1767
+ #
1768
+ # @option params [required, String] :account_id
1769
+ # The AWS account ID of the Outposts bucket.
1770
+ #
1771
+ # @option params [required, String] :bucket
1772
+ # The Amazon Resource Name (ARN) of the bucket.
1773
+ #
1774
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1775
+ # the format
1776
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1777
+ # For example, to access the bucket `reports` through outpost
1778
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1779
+ # use the URL encoding of
1780
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1781
+ # The value must be URL encoded.
1782
+ #
1783
+ # @return [Types::GetBucketLifecycleConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1784
+ #
1785
+ # * {Types::GetBucketLifecycleConfigurationResult#rules #rules} => Array&lt;Types::LifecycleRule&gt;
1786
+ #
1787
+ # @example Request syntax with placeholder values
1788
+ #
1789
+ # resp = client.get_bucket_lifecycle_configuration({
1790
+ # account_id: "AccountId", # required
1791
+ # bucket: "BucketName", # required
1792
+ # })
1793
+ #
1794
+ # @example Response structure
1795
+ #
1796
+ # resp.rules #=> Array
1797
+ # resp.rules[0].expiration.date #=> Time
1798
+ # resp.rules[0].expiration.days #=> Integer
1799
+ # resp.rules[0].expiration.expired_object_delete_marker #=> Boolean
1800
+ # resp.rules[0].id #=> String
1801
+ # resp.rules[0].filter.prefix #=> String
1802
+ # resp.rules[0].filter.tag.key #=> String
1803
+ # resp.rules[0].filter.tag.value #=> String
1804
+ # resp.rules[0].filter.and.prefix #=> String
1805
+ # resp.rules[0].filter.and.tags #=> Array
1806
+ # resp.rules[0].filter.and.tags[0].key #=> String
1807
+ # resp.rules[0].filter.and.tags[0].value #=> String
1808
+ # resp.rules[0].status #=> String, one of "Enabled", "Disabled"
1809
+ # resp.rules[0].transitions #=> Array
1810
+ # resp.rules[0].transitions[0].date #=> Time
1811
+ # resp.rules[0].transitions[0].days #=> Integer
1812
+ # resp.rules[0].transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
1813
+ # resp.rules[0].noncurrent_version_transitions #=> Array
1814
+ # resp.rules[0].noncurrent_version_transitions[0].noncurrent_days #=> Integer
1815
+ # resp.rules[0].noncurrent_version_transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
1816
+ # resp.rules[0].noncurrent_version_expiration.noncurrent_days #=> Integer
1817
+ # resp.rules[0].abort_incomplete_multipart_upload.days_after_initiation #=> Integer
1818
+ #
1819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfiguration AWS API Documentation
1820
+ #
1821
+ # @overload get_bucket_lifecycle_configuration(params = {})
1822
+ # @param [Hash] params ({})
1823
+ def get_bucket_lifecycle_configuration(params = {}, options = {})
1824
+ req = build_request(:get_bucket_lifecycle_configuration, params)
1825
+ req.send_request(options)
1826
+ end
1827
+
1828
+ # <note markdown="1"> This API action gets a bucket policy for an Amazon S3 on Outposts
1829
+ # bucket. To get a policy for an S3 bucket, see [GetBucketPolicy][1] in
1830
+ # the *Amazon Simple Storage Service API*.
1831
+ #
1832
+ # </note>
1833
+ #
1834
+ # Returns the policy of a specified Outposts bucket. For more
1835
+ # information, see [Using Amazon S3 on Outposts][2] in the *Amazon
982
1836
  # Simple Storage Service Developer Guide*.
983
1837
  #
1838
+ # If you are using an identity other than the root user of the AWS
1839
+ # account that owns the bucket, the calling identity must have the
1840
+ # `GetBucketPolicy` permissions on the specified bucket and belong to
1841
+ # the bucket owner's account in order to use this operation.
1842
+ #
1843
+ # If you don't have `s3outposts:GetBucketPolicy` permissions, Amazon S3
1844
+ # returns a `403 Access Denied` error. If you have the correct
1845
+ # permissions, but you're not using an identity that belongs to the
1846
+ # bucket owner's account, Amazon S3 returns a `405 Method Not Allowed`
1847
+ # error.
1848
+ #
1849
+ # As a security precaution, the root user of the AWS account that owns a
1850
+ # bucket can always use this operation, even if the policy explicitly
1851
+ # denies the root user the ability to perform this action.
1852
+ #
1853
+ # For more information about bucket policies, see [Using Bucket Policies
1854
+ # and User Policies][3].
1855
+ #
1856
+ # All Amazon S3 on Outposts REST API requests for this action require an
1857
+ # additional parameter of outpost-id to be passed with the request and
1858
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
1859
+ # an example of the request syntax for Amazon S3 on Outposts that uses
1860
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
1861
+ # using the access point ARN, see the [ Example][4] section below.
1862
+ #
1863
+ # The following actions are related to `GetBucketPolicy`\:
1864
+ #
1865
+ # * [GetObject][5]
1866
+ #
1867
+ # * [PutBucketPolicy][6]
1868
+ #
1869
+ # * [DeleteBucketPolicy][7]
1870
+ #
1871
+ #
1872
+ #
1873
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html
1874
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1875
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
1876
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_GetBucketPolicy.html#API_control_GetBucketPolicy_Examples
1877
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1878
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html
1879
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html
1880
+ #
1881
+ # @option params [required, String] :account_id
1882
+ # The AWS account ID of the Outposts bucket.
1883
+ #
1884
+ # @option params [required, String] :bucket
1885
+ # The ARN of the bucket.
1886
+ #
1887
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1888
+ # the format
1889
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1890
+ # For example, to access the bucket `reports` through outpost
1891
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1892
+ # use the URL encoding of
1893
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1894
+ # The value must be URL encoded.
1895
+ #
1896
+ # @return [Types::GetBucketPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1897
+ #
1898
+ # * {Types::GetBucketPolicyResult#policy #policy} => String
1899
+ #
1900
+ # @example Request syntax with placeholder values
1901
+ #
1902
+ # resp = client.get_bucket_policy({
1903
+ # account_id: "AccountId", # required
1904
+ # bucket: "BucketName", # required
1905
+ # })
1906
+ #
1907
+ # @example Response structure
1908
+ #
1909
+ # resp.policy #=> String
1910
+ #
1911
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicy AWS API Documentation
1912
+ #
1913
+ # @overload get_bucket_policy(params = {})
1914
+ # @param [Hash] params ({})
1915
+ def get_bucket_policy(params = {}, options = {})
1916
+ req = build_request(:get_bucket_policy, params)
1917
+ req.send_request(options)
1918
+ end
1919
+
1920
+ # <note markdown="1"> This API operation gets an Amazon S3 on Outposts bucket's tags. To
1921
+ # get an S3 bucket tags, see [GetBucketTagging][1] in the *Amazon Simple
1922
+ # Storage Service API*.
1923
+ #
1924
+ # </note>
1925
+ #
1926
+ # Returns the tag set associated with the Outposts bucket. For more
1927
+ # information, see [Using Amazon S3 on Outposts][2] in the *Amazon
1928
+ # Simple Storage Service Developer Guide*.
1929
+ #
1930
+ # To use this operation, you must have permission to perform the
1931
+ # `GetBucketTagging` action. By default, the bucket owner has this
1932
+ # permission and can grant this permission to others.
1933
+ #
1934
+ # `GetBucketTagging` has the following special error:
1935
+ #
1936
+ # * Error code: `NoSuchTagSetError`
1937
+ #
1938
+ # * Description: There is no tag set associated with the bucket.
1939
+ #
1940
+ # ^
1941
+ #
1942
+ # All Amazon S3 on Outposts REST API requests for this action require an
1943
+ # additional parameter of outpost-id to be passed with the request and
1944
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
1945
+ # an example of the request syntax for Amazon S3 on Outposts that uses
1946
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
1947
+ # using the access point ARN, see the [ Example][3] section below.
1948
+ #
1949
+ # The following actions are related to `GetBucketTagging`\:
1950
+ #
1951
+ # * [PutBucketTagging][4]
1952
+ #
1953
+ # * [DeleteBucketTagging][5]
1954
+ #
1955
+ #
1956
+ #
1957
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
1958
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1959
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_GetBucketTagging.html#API_control_GetBucketTagging_Examples
1960
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html
1961
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html
1962
+ #
1963
+ # @option params [required, String] :account_id
1964
+ # The AWS account ID of the Outposts bucket.
1965
+ #
1966
+ # @option params [required, String] :bucket
1967
+ # The ARN of the bucket.
1968
+ #
1969
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1970
+ # the format
1971
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1972
+ # For example, to access the bucket `reports` through outpost
1973
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1974
+ # use the URL encoding of
1975
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1976
+ # The value must be URL encoded.
1977
+ #
1978
+ # @return [Types::GetBucketTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1979
+ #
1980
+ # * {Types::GetBucketTaggingResult#tag_set #tag_set} => Array&lt;Types::S3Tag&gt;
1981
+ #
1982
+ # @example Request syntax with placeholder values
1983
+ #
1984
+ # resp = client.get_bucket_tagging({
1985
+ # account_id: "AccountId", # required
1986
+ # bucket: "BucketName", # required
1987
+ # })
1988
+ #
1989
+ # @example Response structure
1990
+ #
1991
+ # resp.tag_set #=> Array
1992
+ # resp.tag_set[0].key #=> String
1993
+ # resp.tag_set[0].value #=> String
1994
+ #
1995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTagging AWS API Documentation
1996
+ #
1997
+ # @overload get_bucket_tagging(params = {})
1998
+ # @param [Hash] params ({})
1999
+ def get_bucket_tagging(params = {}, options = {})
2000
+ req = build_request(:get_bucket_tagging, params)
2001
+ req.send_request(options)
2002
+ end
2003
+
2004
+ # Returns the tags on an S3 Batch Operations job. To use this operation,
2005
+ # you must have permission to perform the `s3:GetJobTagging` action. For
2006
+ # more information, see [Controlling access and labeling jobs using
2007
+ # tags][1] in the *Amazon Simple Storage Service Developer Guide*.
2008
+ #
984
2009
  #
985
2010
  #
986
2011
  # Related actions include:
987
2012
  #
988
- # * CreateJob
2013
+ # * [CreateJob][2]
989
2014
  #
990
- # * PutJobTagging
2015
+ # * [PutJobTagging][3]
991
2016
  #
992
- # * DeleteJobTagging
2017
+ # * [DeleteJobTagging][4]
993
2018
  #
994
2019
  #
995
2020
  #
996
2021
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
2022
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
2023
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html
2024
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html
997
2025
  #
998
2026
  # @option params [required, String] :account_id
999
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
2027
+ # The AWS account ID associated with the S3 Batch Operations job.
1000
2028
  #
1001
2029
  # @option params [required, String] :job_id
1002
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
2030
+ # The ID for the S3 Batch Operations job whose tags you want to
1003
2031
  # retrieve.
1004
2032
  #
1005
2033
  # @return [Types::GetJobTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1028,12 +2056,24 @@ module Aws::S3Control
1028
2056
  req.send_request(options)
1029
2057
  end
1030
2058
 
1031
- # Retrieves the `PublicAccessBlock` configuration for an Amazon Web
1032
- # Services account.
2059
+ # Retrieves the `PublicAccessBlock` configuration for an AWS account.
2060
+ # For more information, see [ Using Amazon S3 block public access][1].
2061
+ #
2062
+ # Related actions include:
2063
+ #
2064
+ # * [DeletePublicAccessBlock][2]
2065
+ #
2066
+ # * [PutPublicAccessBlock][3]
2067
+ #
2068
+ #
2069
+ #
2070
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
2071
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html
2072
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html
1033
2073
  #
1034
2074
  # @option params [required, String] :account_id
1035
- # The account ID for the Amazon Web Services account whose
1036
- # `PublicAccessBlock` configuration you want to retrieve.
2075
+ # The account ID for the AWS account whose `PublicAccessBlock`
2076
+ # configuration you want to retrieve.
1037
2077
  #
1038
2078
  # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1039
2079
  #
@@ -1068,6 +2108,30 @@ module Aws::S3Control
1068
2108
  # will include a continuation token that you can use to list the
1069
2109
  # additional access points.
1070
2110
  #
2111
+ #
2112
+ #
2113
+ # All Amazon S3 on Outposts REST API requests for this action require an
2114
+ # additional parameter of outpost-id to be passed with the request and
2115
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
2116
+ # an example of the request syntax for Amazon S3 on Outposts that uses
2117
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
2118
+ # using the access point ARN, see the [ Example][1] section below.
2119
+ #
2120
+ # The following actions are related to `ListAccessPoints`\:
2121
+ #
2122
+ # * [CreateAccessPoint][2]
2123
+ #
2124
+ # * [DeleteAccessPoint][3]
2125
+ #
2126
+ # * [GetAccessPoint][4]
2127
+ #
2128
+ #
2129
+ #
2130
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_GetAccessPoint.html#API_control_GetAccessPoint_Examples
2131
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html
2132
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html
2133
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html
2134
+ #
1071
2135
  # @option params [required, String] :account_id
1072
2136
  # The AWS account ID for owner of the bucket whose access points you
1073
2137
  # want to list.
@@ -1076,6 +2140,15 @@ module Aws::S3Control
1076
2140
  # The name of the bucket whose associated access points you want to
1077
2141
  # list.
1078
2142
  #
2143
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
2144
+ # the format
2145
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2146
+ # For example, to access the bucket `reports` through outpost
2147
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2148
+ # use the URL encoding of
2149
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2150
+ # The value must be URL encoded.
2151
+ #
1079
2152
  # @option params [String] :next_token
1080
2153
  # A continuation token. If a previous call to `ListAccessPoints`
1081
2154
  # returned a continuation token in the `NextToken` field, then providing
@@ -1111,6 +2184,7 @@ module Aws::S3Control
1111
2184
  # resp.access_point_list[0].network_origin #=> String, one of "Internet", "VPC"
1112
2185
  # resp.access_point_list[0].vpc_configuration.vpc_id #=> String
1113
2186
  # resp.access_point_list[0].bucket #=> String
2187
+ # resp.access_point_list[0].access_point_arn #=> String
1114
2188
  # resp.next_token #=> String
1115
2189
  #
1116
2190
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints AWS API Documentation
@@ -1122,26 +2196,30 @@ module Aws::S3Control
1122
2196
  req.send_request(options)
1123
2197
  end
1124
2198
 
1125
- # Lists current Amazon S3 Batch Operations jobs and jobs that have ended
1126
- # within the last 30 days for the AWS account making the request. For
1127
- # more information, see [Amazon S3 Batch Operations][1] in the *Amazon
1128
- # Simple Storage Service Developer Guide*.
2199
+ # Lists current S3 Batch Operations jobs and jobs that have ended within
2200
+ # the last 30 days for the AWS account making the request. For more
2201
+ # information, see [S3 Batch Operations][1] in the *Amazon Simple
2202
+ # Storage Service Developer Guide*.
1129
2203
  #
1130
2204
  # Related actions include:
1131
2205
  #
1132
2206
  #
1133
2207
  #
1134
- # * CreateJob
2208
+ # * [CreateJob][2]
1135
2209
  #
1136
- # * DescribeJob
2210
+ # * [DescribeJob][3]
1137
2211
  #
1138
- # * UpdateJobPriority
2212
+ # * [UpdateJobPriority][4]
1139
2213
  #
1140
- # * UpdateJobStatus
2214
+ # * [UpdateJobStatus][5]
1141
2215
  #
1142
2216
  #
1143
2217
  #
1144
2218
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
2219
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
2220
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
2221
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
2222
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
1145
2223
  #
1146
2224
  # @option params [required, String] :account_id
1147
2225
  #
@@ -1200,11 +2278,95 @@ module Aws::S3Control
1200
2278
  req.send_request(options)
1201
2279
  end
1202
2280
 
2281
+ # Returns a list of all Outposts buckets in an Outposts that are owned
2282
+ # by the authenticated sender of the request. For more information, see
2283
+ # [Using Amazon S3 on Outposts][1] in the *Amazon Simple Storage Service
2284
+ # Developer Guide*.
2285
+ #
2286
+ # For an example of the request syntax for Amazon S3 on Outposts that
2287
+ # uses the S3 on Outposts endpoint hostname prefix and outpost-id in
2288
+ # your API request, see the [ Example][2] section below.
2289
+ #
2290
+ #
2291
+ #
2292
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2293
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_ListRegionalBuckets.html#API_control_ListRegionalBuckets_Examples
2294
+ #
2295
+ # @option params [required, String] :account_id
2296
+ # The AWS account ID of the Outposts bucket.
2297
+ #
2298
+ # @option params [String] :next_token
2299
+ #
2300
+ # @option params [Integer] :max_results
2301
+ #
2302
+ # @option params [String] :outpost_id
2303
+ # The ID of the AWS Outposts.
2304
+ #
2305
+ # <note markdown="1"> This is required by Amazon S3 on Outposts buckets.
2306
+ #
2307
+ # </note>
2308
+ #
2309
+ # @return [Types::ListRegionalBucketsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2310
+ #
2311
+ # * {Types::ListRegionalBucketsResult#regional_bucket_list #regional_bucket_list} => Array&lt;Types::RegionalBucket&gt;
2312
+ # * {Types::ListRegionalBucketsResult#next_token #next_token} => String
2313
+ #
2314
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2315
+ #
2316
+ # @example Request syntax with placeholder values
2317
+ #
2318
+ # resp = client.list_regional_buckets({
2319
+ # account_id: "AccountId", # required
2320
+ # next_token: "NonEmptyMaxLength1024String",
2321
+ # max_results: 1,
2322
+ # outpost_id: "NonEmptyMaxLength64String",
2323
+ # })
2324
+ #
2325
+ # @example Response structure
2326
+ #
2327
+ # resp.regional_bucket_list #=> Array
2328
+ # resp.regional_bucket_list[0].bucket #=> String
2329
+ # resp.regional_bucket_list[0].bucket_arn #=> String
2330
+ # resp.regional_bucket_list[0].public_access_block_enabled #=> Boolean
2331
+ # resp.regional_bucket_list[0].creation_date #=> Time
2332
+ # resp.regional_bucket_list[0].outpost_id #=> String
2333
+ # resp.next_token #=> String
2334
+ #
2335
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBuckets AWS API Documentation
2336
+ #
2337
+ # @overload list_regional_buckets(params = {})
2338
+ # @param [Hash] params ({})
2339
+ def list_regional_buckets(params = {}, options = {})
2340
+ req = build_request(:list_regional_buckets, params)
2341
+ req.send_request(options)
2342
+ end
2343
+
1203
2344
  # Associates an access policy with the specified access point. Each
1204
2345
  # access point can have only one policy, so a request made to this API
1205
2346
  # replaces any existing policy associated with the specified access
1206
2347
  # point.
1207
2348
  #
2349
+ #
2350
+ #
2351
+ # All Amazon S3 on Outposts REST API requests for this action require an
2352
+ # additional parameter of outpost-id to be passed with the request and
2353
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
2354
+ # an example of the request syntax for Amazon S3 on Outposts that uses
2355
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
2356
+ # using the access point ARN, see the [ Example][1] section below.
2357
+ #
2358
+ # The following actions are related to `PutAccessPointPolicy`\:
2359
+ #
2360
+ # * [GetAccessPointPolicy][2]
2361
+ #
2362
+ # * [DeleteAccessPointPolicy][3]
2363
+ #
2364
+ #
2365
+ #
2366
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_PutAccessPointPolicy.html#API_control_PutAccessPointPolicy_Examples
2367
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html
2368
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html
2369
+ #
1208
2370
  # @option params [required, String] :account_id
1209
2371
  # The AWS account ID for owner of the bucket associated with the
1210
2372
  # specified access point.
@@ -1213,6 +2375,15 @@ module Aws::S3Control
1213
2375
  # The name of the access point that you want to associate with the
1214
2376
  # specified policy.
1215
2377
  #
2378
+ # For Amazon S3 on Outposts specify the ARN of the access point accessed
2379
+ # in the format
2380
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
2381
+ # For example, to access the access point `reports-ap` through outpost
2382
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2383
+ # use the URL encoding of
2384
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
2385
+ # The value must be URL encoded.
2386
+ #
1216
2387
  # @option params [required, String] :policy
1217
2388
  # The policy that you want to apply to the specified access point. For
1218
2389
  # more information about access point policies, see [Managing Data
@@ -1242,28 +2413,368 @@ module Aws::S3Control
1242
2413
  req.send_request(options)
1243
2414
  end
1244
2415
 
1245
- # Set the supplied tag-set on an Amazon S3 Batch Operations job.
2416
+ # <note markdown="1"> This API action puts a lifecycle configuration to an Amazon S3 on
2417
+ # Outposts bucket. To put a lifecycle configuration to an S3 bucket, see
2418
+ # [PutBucketLifecycleConfiguration][1] in the *Amazon Simple Storage
2419
+ # Service API*.
2420
+ #
2421
+ # </note>
2422
+ #
2423
+ # Creates a new lifecycle configuration for the Outposts bucket or
2424
+ # replaces an existing lifecycle configuration. Outposts buckets can
2425
+ # only support a lifecycle that deletes objects after a certain period
2426
+ # of time. For more information, see [Managing Lifecycle Permissions for
2427
+ # Amazon S3 on Outposts][2].
2428
+ #
2429
+ #
2430
+ #
2431
+ # All Amazon S3 on Outposts REST API requests for this action require an
2432
+ # additional parameter of outpost-id to be passed with the request and
2433
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
2434
+ # an example of the request syntax for Amazon S3 on Outposts that uses
2435
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
2436
+ # using the access point ARN, see the [ Example][3] section below.
2437
+ #
2438
+ # The following actions are related to
2439
+ # `PutBucketLifecycleConfiguration`\:
2440
+ #
2441
+ # * [GetBucketLifecycleConfiguration][4]
2442
+ #
2443
+ # * [DeleteBucketLifecycleConfiguration][5]
2444
+ #
2445
+ #
2446
+ #
2447
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
2448
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2449
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_PutBucketLifecycleConfiguration.html#API_control_PutBucketLifecycleConfiguration_Examples
2450
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html
2451
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html
2452
+ #
2453
+ # @option params [required, String] :account_id
2454
+ # The AWS account ID of the Outposts bucket.
2455
+ #
2456
+ # @option params [required, String] :bucket
2457
+ # The name of the bucket for which to set the configuration.
2458
+ #
2459
+ # @option params [Types::LifecycleConfiguration] :lifecycle_configuration
2460
+ # Container for lifecycle rules. You can add as many as 1,000 rules.
2461
+ #
2462
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2463
+ #
2464
+ # @example Request syntax with placeholder values
2465
+ #
2466
+ # resp = client.put_bucket_lifecycle_configuration({
2467
+ # account_id: "AccountId", # required
2468
+ # bucket: "BucketName", # required
2469
+ # lifecycle_configuration: {
2470
+ # rules: [
2471
+ # {
2472
+ # expiration: {
2473
+ # date: Time.now,
2474
+ # days: 1,
2475
+ # expired_object_delete_marker: false,
2476
+ # },
2477
+ # id: "ID",
2478
+ # filter: {
2479
+ # prefix: "Prefix",
2480
+ # tag: {
2481
+ # key: "TagKeyString", # required
2482
+ # value: "TagValueString", # required
2483
+ # },
2484
+ # and: {
2485
+ # prefix: "Prefix",
2486
+ # tags: [
2487
+ # {
2488
+ # key: "TagKeyString", # required
2489
+ # value: "TagValueString", # required
2490
+ # },
2491
+ # ],
2492
+ # },
2493
+ # },
2494
+ # status: "Enabled", # required, accepts Enabled, Disabled
2495
+ # transitions: [
2496
+ # {
2497
+ # date: Time.now,
2498
+ # days: 1,
2499
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2500
+ # },
2501
+ # ],
2502
+ # noncurrent_version_transitions: [
2503
+ # {
2504
+ # noncurrent_days: 1,
2505
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2506
+ # },
2507
+ # ],
2508
+ # noncurrent_version_expiration: {
2509
+ # noncurrent_days: 1,
2510
+ # },
2511
+ # abort_incomplete_multipart_upload: {
2512
+ # days_after_initiation: 1,
2513
+ # },
2514
+ # },
2515
+ # ],
2516
+ # },
2517
+ # })
2518
+ #
2519
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfiguration AWS API Documentation
2520
+ #
2521
+ # @overload put_bucket_lifecycle_configuration(params = {})
2522
+ # @param [Hash] params ({})
2523
+ def put_bucket_lifecycle_configuration(params = {}, options = {})
2524
+ req = build_request(:put_bucket_lifecycle_configuration, params)
2525
+ req.send_request(options)
2526
+ end
2527
+
2528
+ # <note markdown="1"> This API action puts a bucket policy to an Amazon S3 on Outposts
2529
+ # bucket. To put a policy on an S3 bucket, see [PutBucketPolicy][1] in
2530
+ # the *Amazon Simple Storage Service API*.
2531
+ #
2532
+ # </note>
2533
+ #
2534
+ # Applies an Amazon S3 bucket policy to an Outposts bucket. For more
2535
+ # information, see [Using Amazon S3 on Outposts][2] in the *Amazon
2536
+ # Simple Storage Service Developer Guide*.
2537
+ #
2538
+ # If you are using an identity other than the root user of the AWS
2539
+ # account that owns the Outposts bucket, the calling identity must have
2540
+ # the `PutBucketPolicy` permissions on the specified Outposts bucket and
2541
+ # belong to the bucket owner's account in order to use this operation.
2542
+ #
2543
+ # If you don't have `PutBucketPolicy` permissions, Amazon S3 returns a
2544
+ # `403 Access Denied` error. If you have the correct permissions, but
2545
+ # you're not using an identity that belongs to the bucket owner's
2546
+ # account, Amazon S3 returns a `405 Method Not Allowed` error.
1246
2547
  #
1247
- # A tag is a key-value pair. You can associate Amazon S3 Batch
1248
- # Operations tags with any job by sending a PUT request against the
1249
- # tagging subresource that is associated with the job. To modify the
1250
- # existing tag set, you can either replace the existing tag set
1251
- # entirely, or make changes within the existing tag set by retrieving
1252
- # the existing tag set using GetJobTagging, modify that tag set, and use
1253
- # this API action to replace the tag set with the one you have
1254
- # modified.. For more information, see [Using Job Tags][1] in the Amazon
1255
- # Simple Storage Service Developer Guide.
2548
+ # As a security precaution, the root user of the AWS account that owns a
2549
+ # bucket can always use this operation, even if the policy explicitly
2550
+ # denies the root user the ability to perform this action.
2551
+ #
2552
+ # For more information about bucket policies, see [Using Bucket Policies
2553
+ # and User Policies][3].
2554
+ #
2555
+ # All Amazon S3 on Outposts REST API requests for this action require an
2556
+ # additional parameter of outpost-id to be passed with the request and
2557
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
2558
+ # an example of the request syntax for Amazon S3 on Outposts that uses
2559
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
2560
+ # using the access point ARN, see the [ Example][4] section below.
2561
+ #
2562
+ # The following actions are related to `PutBucketPolicy`\:
2563
+ #
2564
+ # * [GetBucketPolicy][5]
2565
+ #
2566
+ # * [DeleteBucketPolicy][6]
2567
+ #
2568
+ #
2569
+ #
2570
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html
2571
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2572
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
2573
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_PutBucketPolicy.html#API_control_PutBucketPolicy_Examples
2574
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html
2575
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html
2576
+ #
2577
+ # @option params [required, String] :account_id
2578
+ # The AWS account ID of the Outposts bucket.
2579
+ #
2580
+ # @option params [required, String] :bucket
2581
+ # The ARN of the bucket.
2582
+ #
2583
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
2584
+ # the format
2585
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2586
+ # For example, to access the bucket `reports` through outpost
2587
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2588
+ # use the URL encoding of
2589
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2590
+ # The value must be URL encoded.
2591
+ #
2592
+ # @option params [Boolean] :confirm_remove_self_bucket_access
2593
+ # Set this parameter to true to confirm that you want to remove your
2594
+ # permissions to change this bucket policy in the future.
2595
+ #
2596
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2597
+ #
2598
+ # </note>
2599
+ #
2600
+ # @option params [required, String] :policy
2601
+ # The bucket policy as a JSON document.
2602
+ #
2603
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2604
+ #
2605
+ # @example Request syntax with placeholder values
2606
+ #
2607
+ # resp = client.put_bucket_policy({
2608
+ # account_id: "AccountId", # required
2609
+ # bucket: "BucketName", # required
2610
+ # confirm_remove_self_bucket_access: false,
2611
+ # policy: "Policy", # required
2612
+ # })
2613
+ #
2614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicy AWS API Documentation
2615
+ #
2616
+ # @overload put_bucket_policy(params = {})
2617
+ # @param [Hash] params ({})
2618
+ def put_bucket_policy(params = {}, options = {})
2619
+ req = build_request(:put_bucket_policy, params)
2620
+ req.send_request(options)
2621
+ end
2622
+
2623
+ # <note markdown="1"> This API action puts tags on an Amazon S3 on Outposts bucket. To put
2624
+ # tags on an S3 bucket, see [PutBucketTagging][1] in the *Amazon Simple
2625
+ # Storage Service API*.
2626
+ #
2627
+ # </note>
2628
+ #
2629
+ # Sets the tags for an Outposts bucket. For more information, see [Using
2630
+ # Amazon S3 on Outposts][2] in the *Amazon Simple Storage Service
2631
+ # Developer Guide*.
2632
+ #
2633
+ # Use tags to organize your AWS bill to reflect your own cost structure.
2634
+ # To do this, sign up to get your AWS account bill with tag key values
2635
+ # included. Then, to see the cost of combined resources, organize your
2636
+ # billing information according to resources with the same tag key
2637
+ # values. For example, you can tag several resources with a specific
2638
+ # application name, and then organize your billing information to see
2639
+ # the total cost of that application across several services. For more
2640
+ # information, see [Cost Allocation and Tagging][3].
2641
+ #
2642
+ # <note markdown="1"> Within a bucket, if you add a tag that has the same key as an existing
2643
+ # tag, the new value overwrites the old value. For more information, see
2644
+ # [Using Cost Allocation in Amazon S3 Bucket Tags][4].
2645
+ #
2646
+ # </note>
2647
+ #
2648
+ # To use this operation, you must have permissions to perform the
2649
+ # `s3outposts:PutBucketTagging` action. The Outposts bucket owner has
2650
+ # this permission by default and can grant this permission to others.
2651
+ # For more information about permissions, see [ Permissions Related to
2652
+ # Bucket Subresource Operations][5] and [Managing Access Permissions to
2653
+ # Your Amazon S3 Resources][6].
2654
+ #
2655
+ # `PutBucketTagging` has the following special errors:
2656
+ #
2657
+ # * Error code: `InvalidTagError`
2658
+ #
2659
+ # * Description: The tag provided was not a valid tag. This error can
2660
+ # occur if the tag did not pass input validation. For information
2661
+ # about tag restrictions, see [ User-Defined Tag Restrictions][7]
2662
+ # and [ AWS-Generated Cost Allocation Tag Restrictions][8].
2663
+ #
2664
+ # ^
2665
+ #
2666
+ # * Error code: `MalformedXMLError`
2667
+ #
2668
+ # * Description: The XML provided does not match the schema.
2669
+ #
2670
+ # ^
2671
+ #
2672
+ # * Error code: `OperationAbortedError `
2673
+ #
2674
+ # * Description: A conflicting conditional operation is currently in
2675
+ # progress against this resource. Try again.
2676
+ #
2677
+ # ^
2678
+ #
2679
+ # * Error code: `InternalError`
2680
+ #
2681
+ # * Description: The service was unable to apply the provided tag to
2682
+ # the bucket.
2683
+ #
2684
+ # ^
2685
+ #
2686
+ # All Amazon S3 on Outposts REST API requests for this action require an
2687
+ # additional parameter of outpost-id to be passed with the request and
2688
+ # an S3 on Outposts endpoint hostname prefix instead of s3-control. For
2689
+ # an example of the request syntax for Amazon S3 on Outposts that uses
2690
+ # the S3 on Outposts endpoint hostname prefix and the outpost-id derived
2691
+ # using the access point ARN, see the [ Example][9] section below.
2692
+ #
2693
+ # The following actions are related to `PutBucketTagging`\:
2694
+ #
2695
+ # * [GetBucketTagging][10]
2696
+ #
2697
+ # * [DeleteBucketTagging][11]
2698
+ #
2699
+ #
2700
+ #
2701
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
2702
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2703
+ # [3]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
2704
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html
2705
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
2706
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
2707
+ # [7]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
2708
+ # [8]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html
2709
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API__control_PutBucketTagging.html#API_control_PutBucketTagging_Examples
2710
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html
2711
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html
2712
+ #
2713
+ # @option params [required, String] :account_id
2714
+ # The AWS account ID of the Outposts bucket.
2715
+ #
2716
+ # @option params [required, String] :bucket
2717
+ # The Amazon Resource Name (ARN) of the bucket.
2718
+ #
2719
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
2720
+ # the format
2721
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2722
+ # For example, to access the bucket `reports` through outpost
2723
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2724
+ # use the URL encoding of
2725
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2726
+ # The value must be URL encoded.
2727
+ #
2728
+ # @option params [required, Types::Tagging] :tagging
2729
+ #
2730
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2731
+ #
2732
+ # @example Request syntax with placeholder values
2733
+ #
2734
+ # resp = client.put_bucket_tagging({
2735
+ # account_id: "AccountId", # required
2736
+ # bucket: "BucketName", # required
2737
+ # tagging: { # required
2738
+ # tag_set: [ # required
2739
+ # {
2740
+ # key: "TagKeyString", # required
2741
+ # value: "TagValueString", # required
2742
+ # },
2743
+ # ],
2744
+ # },
2745
+ # })
2746
+ #
2747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging AWS API Documentation
2748
+ #
2749
+ # @overload put_bucket_tagging(params = {})
2750
+ # @param [Hash] params ({})
2751
+ def put_bucket_tagging(params = {}, options = {})
2752
+ req = build_request(:put_bucket_tagging, params)
2753
+ req.send_request(options)
2754
+ end
2755
+
2756
+ # Sets the supplied tag-set on an S3 Batch Operations job.
2757
+ #
2758
+ # A tag is a key-value pair. You can associate S3 Batch Operations tags
2759
+ # with any job by sending a PUT request against the tagging subresource
2760
+ # that is associated with the job. To modify the existing tag set, you
2761
+ # can either replace the existing tag set entirely, or make changes
2762
+ # within the existing tag set by retrieving the existing tag set using
2763
+ # [GetJobTagging][1], modify that tag set, and use this API action to
2764
+ # replace the tag set with the one you modified. For more information,
2765
+ # see [Controlling access and labeling jobs using tags][2] in the
2766
+ # *Amazon Simple Storage Service Developer Guide*.
1256
2767
  #
1257
2768
  #
1258
2769
  #
1259
2770
  # <note markdown="1"> * If you send this request with an empty tag set, Amazon S3 deletes
1260
2771
  # the existing tag set on the Batch Operations job. If you use this
1261
- # method, you will be charged for a Tier 1 Request (PUT). For more
1262
- # information, see [Amazon S3 pricing][2].
2772
+ # method, you are charged for a Tier 1 Request (PUT). For more
2773
+ # information, see [Amazon S3 pricing][3].
1263
2774
  #
1264
- # * For deleting existing tags for your batch operations job,
1265
- # DeleteJobTagging request is preferred because it achieves the same
1266
- # result without incurring charges.
2775
+ # * For deleting existing tags for your Batch Operations job, a
2776
+ # [DeleteJobTagging][4] request is preferred because it achieves the
2777
+ # same result without incurring charges.
1267
2778
  #
1268
2779
  # * A few things to consider about using tags:
1269
2780
  #
@@ -1278,7 +2789,8 @@ module Aws::S3Control
1278
2789
  # * The key and values are case sensitive.
1279
2790
  #
1280
2791
  # * For tagging-related restrictions related to characters and
1281
- # encodings, see [User-Defined Tag Restrictions][3].
2792
+ # encodings, see [User-Defined Tag Restrictions][5] in the *AWS
2793
+ # Billing and Cost Management User Guide*.
1282
2794
  #
1283
2795
  # </note>
1284
2796
  #
@@ -1289,27 +2801,29 @@ module Aws::S3Control
1289
2801
  #
1290
2802
  # Related actions include:
1291
2803
  #
1292
- # * CreateJob
2804
+ # * [CreatJob][6]
1293
2805
  #
1294
- # * GetJobTagging
2806
+ # * [GetJobTagging][1]
1295
2807
  #
1296
- # * DeleteJobTagging
2808
+ # * [DeleteJobTagging][4]
1297
2809
  #
1298
2810
  #
1299
2811
  #
1300
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
1301
- # [2]: http://aws.amazon.com/s3/pricing/
1302
- # [3]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
2812
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html
2813
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
2814
+ # [3]: http://aws.amazon.com/s3/pricing/
2815
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html
2816
+ # [5]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
2817
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
1303
2818
  #
1304
2819
  # @option params [required, String] :account_id
1305
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
2820
+ # The AWS account ID associated with the S3 Batch Operations job.
1306
2821
  #
1307
2822
  # @option params [required, String] :job_id
1308
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
1309
- # replace.
2823
+ # The ID for the S3 Batch Operations job whose tags you want to replace.
1310
2824
  #
1311
2825
  # @option params [required, Array<Types::S3Tag>] :tags
1312
- # The set of tags to associate with the Amazon S3 Batch Operations job.
2826
+ # The set of tags to associate with the S3 Batch Operations job.
1313
2827
  #
1314
2828
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1315
2829
  #
@@ -1335,16 +2849,29 @@ module Aws::S3Control
1335
2849
  req.send_request(options)
1336
2850
  end
1337
2851
 
1338
- # Creates or modifies the `PublicAccessBlock` configuration for an
1339
- # Amazon Web Services account.
2852
+ # Creates or modifies the `PublicAccessBlock` configuration for an AWS
2853
+ # account. For more information, see [ Using Amazon S3 block public
2854
+ # access][1].
2855
+ #
2856
+ # Related actions include:
2857
+ #
2858
+ # * [GetPublicAccessBlock][2]
2859
+ #
2860
+ # * [DeletePublicAccessBlock][3]
2861
+ #
2862
+ #
2863
+ #
2864
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
2865
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html
2866
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html
1340
2867
  #
1341
2868
  # @option params [required, Types::PublicAccessBlockConfiguration] :public_access_block_configuration
1342
2869
  # The `PublicAccessBlock` configuration that you want to apply to the
1343
- # specified Amazon Web Services account.
2870
+ # specified AWS account.
1344
2871
  #
1345
2872
  # @option params [required, String] :account_id
1346
- # The account ID for the Amazon Web Services account whose
1347
- # `PublicAccessBlock` configuration you want to set.
2873
+ # The account ID for the AWS account whose `PublicAccessBlock`
2874
+ # configuration you want to set.
1348
2875
  #
1349
2876
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1350
2877
  #
@@ -1369,25 +2896,29 @@ module Aws::S3Control
1369
2896
  req.send_request(options)
1370
2897
  end
1371
2898
 
1372
- # Updates an existing Amazon S3 Batch Operations job's priority. For
1373
- # more information, see [Amazon S3 Batch Operations][1] in the Amazon
1374
- # Simple Storage Service Developer Guide.
2899
+ # Updates an existing S3 Batch Operations job's priority. For more
2900
+ # information, see [S3 Batch Operations][1] in the *Amazon Simple
2901
+ # Storage Service Developer Guide*.
1375
2902
  #
1376
2903
  #
1377
2904
  #
1378
2905
  # Related actions include:
1379
2906
  #
1380
- # * CreateJob
2907
+ # * [CreateJob][2]
1381
2908
  #
1382
- # * ListJobs
2909
+ # * [ListJobs][3]
1383
2910
  #
1384
- # * DescribeJob
2911
+ # * [DescribeJob][4]
1385
2912
  #
1386
- # * UpdateJobStatus
2913
+ # * [UpdateJobStatus][5]
1387
2914
  #
1388
2915
  #
1389
2916
  #
1390
2917
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
2918
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
2919
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
2920
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
2921
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
1391
2922
  #
1392
2923
  # @option params [required, String] :account_id
1393
2924
  #
@@ -1426,24 +2957,28 @@ module Aws::S3Control
1426
2957
 
1427
2958
  # Updates the status for the specified job. Use this operation to
1428
2959
  # confirm that you want to run a job or to cancel an existing job. For
1429
- # more information, see [Amazon S3 Batch Operations][1] in the Amazon
1430
- # Simple Storage Service Developer Guide.
2960
+ # more information, see [S3 Batch Operations][1] in the *Amazon Simple
2961
+ # Storage Service Developer Guide*.
1431
2962
  #
1432
2963
  #
1433
2964
  #
1434
2965
  # Related actions include:
1435
2966
  #
1436
- # * CreateJob
2967
+ # * [CreateJob][2]
1437
2968
  #
1438
- # * ListJobs
2969
+ # * [ListJobs][3]
1439
2970
  #
1440
- # * DescribeJob
2971
+ # * [DescribeJob][4]
1441
2972
  #
1442
- # * UpdateJobStatus
2973
+ # * [UpdateJobStatus][5]
1443
2974
  #
1444
2975
  #
1445
2976
  #
1446
2977
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
2978
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
2979
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
2980
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
2981
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
1447
2982
  #
1448
2983
  # @option params [required, String] :account_id
1449
2984
  #
@@ -1500,7 +3035,7 @@ module Aws::S3Control
1500
3035
  params: params,
1501
3036
  config: config)
1502
3037
  context[:gem_name] = 'aws-sdk-s3control'
1503
- context[:gem_version] = '1.23.0'
3038
+ context[:gem_version] = '1.24.0'
1504
3039
  Seahorse::Client::Request.new(handlers, context)
1505
3040
  end
1506
3041