aws-sdk-s3control 1.23.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
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