aws-sdk-s3control 1.23.0 → 1.28.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: 1eea7fa08fcb80dedd1e70dda6eea83c1dc8d27ba5c4990f425a15670218c9a5
4
+ data.tar.gz: d62f20c89838a2ae2948d3a6f9c08b2e586744a9700c79908807afb9447767d8
5
5
  SHA512:
6
- metadata.gz: 2081ff71149a1fd960c2c7a749c5816dff0d42246acb4fb7a7bda826290aea343a58396fe8517c7bf80bf5a1ac7446a56d9123da62605eb78c098ac2c9bd940f
7
- data.tar.gz: 9ba5298105c8afdb5ba4e141071a10cf2928a95a361c8f58adc659459498d1897b17a71fab5fe960059feeb7201a32993b7a7f32ed76e7dba58eb7355c56d864
6
+ metadata.gz: 1ccce69cdffa61c65a18bfad24afea2a97cdda348584adbcc69769e3485c5c22c28eeb4ab0226399e20d292375d1c0901e9ed6e1f20dfa176a2f313e15577150
7
+ data.tar.gz: e353b8a09a47823f75a2ad09fdf4412a5b8f585b24a6dccc6cdd4a1bb544b6be7b0d67057f3b13ce32c8e4cf88e287bff8e63315b454825ffe03bc6f36ce3856
@@ -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.28.0'
52
52
 
53
53
  end
@@ -0,0 +1,80 @@
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, custom_endpoint = nil)
72
+ if custom_endpoint
73
+ custom_endpoint
74
+ else
75
+ "s3-outposts.#{region}.amazonaws.com"
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,76 @@
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, custom_endpoint = nil)
68
+ if custom_endpoint
69
+ custom_endpoint
70
+ else
71
+ "s3-outposts.#{region}.amazonaws.com"
72
+ end
73
+ end
74
+ end
75
+ end
76
+ 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,53 @@ 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 `x-amz-outpost-id` to be passed with the
371
+ # request and an S3 on Outposts endpoint hostname prefix instead of
372
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
373
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
374
+ # `x-amz-outpost-id` derived using the access point ARN, see the
375
+ # [Examples][2] section.
376
+ #
377
+ #
378
+ #
379
+ # The following actions are related to `CreateAccessPoint`\:
380
+ #
381
+ # * [GetAccessPoint][3]
382
+ #
383
+ # * [DeleteAccessPoint][4]
384
+ #
385
+ # * [ListAccessPoints][5]
386
+ #
387
+ #
388
+ #
389
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
390
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html#API_control_CreateAccessPoint_Examples
391
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html
392
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html
393
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html
341
394
  #
342
395
  # @option params [required, String] :account_id
343
396
  # The AWS account ID for the owner of the bucket for which you want to
@@ -350,22 +403,43 @@ module Aws::S3Control
350
403
  # The name of the bucket that you want to associate this access point
351
404
  # with.
352
405
  #
406
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
407
+ # you must specify the name and the x-amz-outpost-id as well.
408
+ #
409
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
410
+ # you must specify the ARN of the bucket accessed in the format
411
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
412
+ # For example, to access the bucket `reports` through outpost
413
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
414
+ # use the URL encoding of
415
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
416
+ # The value must be URL encoded.
417
+ #
353
418
  # @option params [Types::VpcConfiguration] :vpc_configuration
354
419
  # If you include this field, Amazon S3 restricts access to this access
355
420
  # point to requests from the specified virtual private cloud (VPC).
356
421
  #
422
+ # <note markdown="1"> This is required for creating an access point for Amazon S3 on
423
+ # Outposts buckets.
424
+ #
425
+ # </note>
426
+ #
357
427
  # @option params [Types::PublicAccessBlockConfiguration] :public_access_block_configuration
358
428
  # The `PublicAccessBlock` configuration that you want to apply to this
359
- # Amazon S3 bucket. You can enable the configuration options in any
429
+ # Amazon S3 account. You can enable the configuration options in any
360
430
  # combination. For more information about when Amazon S3 considers a
361
431
  # bucket or object public, see [The Meaning of "Public"][1] in the
362
- # Amazon Simple Storage Service Developer Guide.
432
+ # *Amazon Simple Storage Service Developer Guide*.
433
+ #
434
+ # This is not supported for Amazon S3 on Outposts.
363
435
  #
364
436
  #
365
437
  #
366
438
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
367
439
  #
368
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
440
+ # @return [Types::CreateAccessPointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
441
+ #
442
+ # * {Types::CreateAccessPointResult#access_point_arn #access_point_arn} => String
369
443
  #
370
444
  # @example Request syntax with placeholder values
371
445
  #
@@ -384,6 +458,10 @@ module Aws::S3Control
384
458
  # },
385
459
  # })
386
460
  #
461
+ # @example Response structure
462
+ #
463
+ # resp.access_point_arn #=> String
464
+ #
387
465
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPoint AWS API Documentation
388
466
  #
389
467
  # @overload create_access_point(params = {})
@@ -393,27 +471,198 @@ module Aws::S3Control
393
471
  req.send_request(options)
394
472
  end
395
473
 
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.
474
+ # <note markdown="1"> This API operation creates an Amazon S3 on Outposts bucket. To create
475
+ # an S3 bucket, see [Create Bucket][1] in the *Amazon Simple Storage
476
+ # Service API*.
477
+ #
478
+ # </note>
479
+ #
480
+ # Creates a new Outposts bucket. By creating the bucket, you become the
481
+ # bucket owner. To create an Outposts bucket, you must have S3 on
482
+ # Outposts. For more information, see [Using Amazon S3 on Outposts][2]
483
+ # in *Amazon Simple Storage Service Developer Guide*.
484
+ #
485
+ # Not every string is an acceptable bucket name. For information on
486
+ # bucket naming restrictions, see [Working with Amazon S3 Buckets][3].
487
+ #
488
+ # S3 on Outposts buckets do not support
489
+ #
490
+ # * ACLs. Instead, configure access point policies to manage access to
491
+ # buckets.
492
+ #
493
+ # * Public access.
494
+ #
495
+ # * Object Lock
496
+ #
497
+ # * Bucket Location constraint
498
+ #
499
+ # For an example of the request syntax for Amazon S3 on Outposts that
500
+ # uses the S3 on Outposts endpoint hostname prefix and
501
+ # `x-amz-outpost-id` in your API request, see the [Examples][4] section.
502
+ #
503
+ # The following actions are related to `CreateBucket` for Amazon S3 on
504
+ # Outposts:
505
+ #
506
+ # * [PutObject][5]
507
+ #
508
+ # * [GetBucket][6]
509
+ #
510
+ # * [DeleteBucket][7]
511
+ #
512
+ # * [CreateAccessPoint][8]
513
+ #
514
+ # * [PutAccessPointPolicy][9]
515
+ #
516
+ #
517
+ #
518
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
519
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
520
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules
521
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html#API_control_CreateBucket_Examples
522
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
523
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html
524
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html
525
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html
526
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html
527
+ #
528
+ # @option params [String] :acl
529
+ # The canned ACL to apply to the bucket.
530
+ #
531
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
532
+ #
533
+ # </note>
534
+ #
535
+ # @option params [required, String] :bucket
536
+ # The name of the bucket.
537
+ #
538
+ # @option params [Types::CreateBucketConfiguration] :create_bucket_configuration
539
+ # The configuration information for the bucket.
540
+ #
541
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
542
+ #
543
+ # </note>
544
+ #
545
+ # @option params [String] :grant_full_control
546
+ # Allows grantee the read, write, read ACP, and write ACP permissions on
547
+ # the bucket.
548
+ #
549
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
550
+ #
551
+ # </note>
552
+ #
553
+ # @option params [String] :grant_read
554
+ # Allows grantee to list the objects in the bucket.
555
+ #
556
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
557
+ #
558
+ # </note>
559
+ #
560
+ # @option params [String] :grant_read_acp
561
+ # Allows grantee to read the bucket ACL.
562
+ #
563
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
564
+ #
565
+ # </note>
566
+ #
567
+ # @option params [String] :grant_write
568
+ # Allows grantee to create, overwrite, and delete any object in the
569
+ # bucket.
570
+ #
571
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
572
+ #
573
+ # </note>
574
+ #
575
+ # @option params [String] :grant_write_acp
576
+ # Allows grantee to write the ACL for the applicable bucket.
577
+ #
578
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
579
+ #
580
+ # </note>
581
+ #
582
+ # @option params [Boolean] :object_lock_enabled_for_bucket
583
+ # Specifies whether you want S3 Object Lock to be enabled for the new
584
+ # bucket.
585
+ #
586
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
587
+ #
588
+ # </note>
589
+ #
590
+ # @option params [String] :outpost_id
591
+ # The ID of the Outposts where the bucket is being created.
592
+ #
593
+ # <note markdown="1"> This is required by Amazon S3 on Outposts buckets.
594
+ #
595
+ # </note>
596
+ #
597
+ # @return [Types::CreateBucketResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
598
+ #
599
+ # * {Types::CreateBucketResult#location #location} => String
600
+ # * {Types::CreateBucketResult#bucket_arn #bucket_arn} => String
601
+ #
602
+ # @example Request syntax with placeholder values
603
+ #
604
+ # resp = client.create_bucket({
605
+ # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
606
+ # bucket: "BucketName", # required
607
+ # create_bucket_configuration: {
608
+ # 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
609
+ # },
610
+ # grant_full_control: "GrantFullControl",
611
+ # grant_read: "GrantRead",
612
+ # grant_read_acp: "GrantReadACP",
613
+ # grant_write: "GrantWrite",
614
+ # grant_write_acp: "GrantWriteACP",
615
+ # object_lock_enabled_for_bucket: false,
616
+ # outpost_id: "NonEmptyMaxLength64String",
617
+ # })
618
+ #
619
+ # @example Response structure
620
+ #
621
+ # resp.location #=> String
622
+ # resp.bucket_arn #=> String
623
+ #
624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucket AWS API Documentation
625
+ #
626
+ # @overload create_bucket(params = {})
627
+ # @param [Hash] params ({})
628
+ def create_bucket(params = {}, options = {})
629
+ req = build_request(:create_bucket, params)
630
+ req.send_request(options)
631
+ end
632
+
633
+ # You can use S3 Batch Operations to perform large-scale batch
634
+ # operations on Amazon S3 objects. Batch Operations can run a single
635
+ # operation on lists of Amazon S3 objects that you specify. For more
636
+ # information, see [S3 Batch Operations][1] in the *Amazon Simple
637
+ # Storage Service Developer Guide*.
638
+ #
639
+ # This operation creates a S3 Batch Operations job.
640
+ #
641
+ #
401
642
  #
402
643
  # Related actions include:
403
644
  #
404
- # * DescribeJob
645
+ # * [DescribeJob][2]
405
646
  #
406
- # * ListJobs
647
+ # * [ListJobs][3]
407
648
  #
408
- # * UpdateJobPriority
649
+ # * [UpdateJobPriority][4]
409
650
  #
410
- # * UpdateJobStatus
651
+ # * [UpdateJobStatus][5]
652
+ #
653
+ # * [JobOperation][6]
411
654
  #
412
655
  #
413
656
  #
414
657
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
658
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
659
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
660
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
661
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
662
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobOperation.html
415
663
  #
416
664
  # @option params [required, String] :account_id
665
+ # The AWS account ID that creates the job.
417
666
  #
418
667
  # @option params [Boolean] :confirmation_required
419
668
  # Indicates whether confirmation is required before Amazon S3 runs the
@@ -421,10 +670,10 @@ module Aws::S3Control
421
670
  # S3 console.
422
671
  #
423
672
  # @option params [required, Types::JobOperation] :operation
424
- # The operation that you want this job to perform on each object listed
673
+ # The operation that you want this job to perform on every object listed
425
674
  # in the manifest. For more information about the available operations,
426
- # see [Available Operations][1] in the *Amazon Simple Storage Service
427
- # Developer Guide*.
675
+ # see [Operations][1] in the *Amazon Simple Storage Service Developer
676
+ # Guide*.
428
677
  #
429
678
  #
430
679
  #
@@ -454,12 +703,12 @@ module Aws::S3Control
454
703
  #
455
704
  # @option params [required, String] :role_arn
456
705
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
457
- # Management (IAM) role that Batch Operations will use to execute this
458
- # job's operation on each object in the manifest.
706
+ # Management (IAM) role that Batch Operations will use to run this
707
+ # job's operation on every object in the manifest.
459
708
  #
460
709
  # @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.
710
+ # A set of tags to associate with the S3 Batch Operations job. This is
711
+ # an optional parameter.
463
712
  #
464
713
  # @return [Types::CreateJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
465
714
  #
@@ -549,6 +798,8 @@ module Aws::S3Control
549
798
  # },
550
799
  # ],
551
800
  # },
801
+ # s3_delete_object_tagging: {
802
+ # },
552
803
  # s3_initiate_restore_object: {
553
804
  # expiration_in_days: 1,
554
805
  # glacier_job_tier: "BULK", # accepts BULK, STANDARD
@@ -611,12 +862,47 @@ module Aws::S3Control
611
862
 
612
863
  # Deletes the specified access point.
613
864
  #
865
+ # All Amazon S3 on Outposts REST API requests for this action require an
866
+ # additional parameter of `x-amz-outpost-id` to be passed with the
867
+ # request and an S3 on Outposts endpoint hostname prefix instead of
868
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
869
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
870
+ # `x-amz-outpost-id` derived using the access point ARN, see the
871
+ # [Examples][1] section.
872
+ #
873
+ # The following actions are related to `DeleteAccessPoint`\:
874
+ #
875
+ # * [CreateAccessPoint][2]
876
+ #
877
+ # * [GetAccessPoint][3]
878
+ #
879
+ # * [ListAccessPoints][4]
880
+ #
881
+ #
882
+ #
883
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html#API_control_DeleteAccessPoint_Examples
884
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html
885
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html
886
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html
887
+ #
614
888
  # @option params [required, String] :account_id
615
889
  # The account ID for the account that owns the specified access point.
616
890
  #
617
891
  # @option params [required, String] :name
618
892
  # The name of the access point you want to delete.
619
893
  #
894
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
895
+ # you must specify the name and the x-amz-outpost-id as well.
896
+ #
897
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
898
+ # you must specify the ARN of the access point accessed in the format
899
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
900
+ # For example, to access the access point `reports-ap` through outpost
901
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
902
+ # use the URL encoding of
903
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
904
+ # The value must be URL encoded.
905
+ #
620
906
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
621
907
  #
622
908
  # @example Request syntax with placeholder values
@@ -637,12 +923,46 @@ module Aws::S3Control
637
923
 
638
924
  # Deletes the access point policy for the specified access point.
639
925
  #
926
+ #
927
+ #
928
+ # All Amazon S3 on Outposts REST API requests for this action require an
929
+ # additional parameter of `x-amz-outpost-id` to be passed with the
930
+ # request and an S3 on Outposts endpoint hostname prefix instead of
931
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
932
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
933
+ # `x-amz-outpost-id` derived using the access point ARN, see the
934
+ # [Examples][1] section.
935
+ #
936
+ # The following actions are related to `DeleteAccessPointPolicy`\:
937
+ #
938
+ # * [PutAccessPointPolicy][2]
939
+ #
940
+ # * [GetAccessPointPolicy][3]
941
+ #
942
+ #
943
+ #
944
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html#API_control_DeleteAccessPointPolicy_Examples
945
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html
946
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html
947
+ #
640
948
  # @option params [required, String] :account_id
641
949
  # The account ID for the account that owns the specified access point.
642
950
  #
643
951
  # @option params [required, String] :name
644
952
  # The name of the access point whose policy you want to delete.
645
953
  #
954
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
955
+ # you must specify the name and the x-amz-outpost-id as well.
956
+ #
957
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
958
+ # you must specify the ARN of the access point accessed in the format
959
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
960
+ # For example, to access the access point `reports-ap` through outpost
961
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
962
+ # use the URL encoding of
963
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
964
+ # The value must be URL encoded.
965
+ #
646
966
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
647
967
  #
648
968
  # @example Request syntax with placeholder values
@@ -661,130 +981,544 @@ module Aws::S3Control
661
981
  req.send_request(options)
662
982
  end
663
983
 
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.
984
+ # <note markdown="1"> This API operation deletes an Amazon S3 on Outposts bucket. To delete
985
+ # an S3 bucket, see [DeleteBucket][1] in the *Amazon Simple Storage
986
+ # Service API*.
987
+ #
988
+ # </note>
989
+ #
990
+ # Deletes the Amazon S3 on Outposts bucket. All objects (including all
991
+ # object versions and delete markers) in the bucket must be deleted
992
+ # before the bucket itself can be deleted. For more information, see
993
+ # [Using Amazon S3 on Outposts][2] in *Amazon Simple Storage Service
994
+ # Developer Guide*.
995
+ #
996
+ # All Amazon S3 on Outposts REST API requests for this action require an
997
+ # additional parameter of `x-amz-outpost-id` to be passed with the
998
+ # request and an S3 on Outposts endpoint hostname prefix instead of
999
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1000
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1001
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1002
+ # [Examples][3] section.
1003
+ #
1004
+ # **Related Resources**
1005
+ #
1006
+ # * [CreateBucket][4]
1007
+ #
1008
+ # * [GetBucket][5]
1009
+ #
1010
+ # * [DeleteObject][6]
1011
+ #
1012
+ #
1013
+ #
1014
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1015
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1016
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html#API_control_DeleteBucket_Examples
1017
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
1018
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html
1019
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
1020
+ #
1021
+ # @option params [required, String] :account_id
1022
+ # The account ID that owns the Outposts bucket.
1023
+ #
1024
+ # @option params [required, String] :bucket
1025
+ # Specifies the bucket being deleted.
1026
+ #
1027
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1028
+ # you must specify the name and the x-amz-outpost-id as well.
1029
+ #
1030
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1031
+ # you must specify the ARN of the bucket accessed in the format
1032
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1033
+ # For example, to access the bucket `reports` through outpost
1034
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1035
+ # use the URL encoding of
1036
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1037
+ # The value must be URL encoded.
1038
+ #
1039
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1040
+ #
1041
+ # @example Request syntax with placeholder values
1042
+ #
1043
+ # resp = client.delete_bucket({
1044
+ # account_id: "AccountId", # required
1045
+ # bucket: "BucketName", # required
1046
+ # })
1047
+ #
1048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucket AWS API Documentation
1049
+ #
1050
+ # @overload delete_bucket(params = {})
1051
+ # @param [Hash] params ({})
1052
+ def delete_bucket(params = {}, options = {})
1053
+ req = build_request(:delete_bucket, params)
1054
+ req.send_request(options)
1055
+ end
1056
+
1057
+ # <note markdown="1"> This API action deletes an Amazon S3 on Outposts bucket's lifecycle
1058
+ # configuration. To delete an S3 bucket's lifecycle configuration, see
1059
+ # [DeleteBucketLifecycle][1] in the *Amazon Simple Storage Service API*.
1060
+ #
1061
+ # </note>
669
1062
  #
1063
+ # Deletes the lifecycle configuration from the specified Outposts
1064
+ # bucket. Amazon S3 on Outposts removes all the lifecycle configuration
1065
+ # rules in the lifecycle subresource associated with the bucket. Your
1066
+ # objects never expire, and Amazon S3 on Outposts no longer
1067
+ # automatically deletes any objects on the basis of rules contained in
1068
+ # the deleted lifecycle configuration. For more information, see [Using
1069
+ # Amazon S3 on Outposts][2] in *Amazon Simple Storage Service Developer
1070
+ # Guide*.
670
1071
  #
1072
+ # To use this operation, you must have permission to perform the
1073
+ # `s3-outposts:DeleteLifecycleConfiguration` action. By default, the
1074
+ # bucket owner has this permission and the Outposts bucket owner can
1075
+ # grant this permission to others.
1076
+ #
1077
+ # All Amazon S3 on Outposts REST API requests for this action require an
1078
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1079
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1080
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1081
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1082
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1083
+ # [Examples][3] section.
1084
+ #
1085
+ # For more information about object expiration, see [Elements to
1086
+ # Describe Lifecycle Actions][4].
671
1087
  #
672
1088
  # Related actions include:
673
1089
  #
674
- # * CreateJob
1090
+ # * [PutBucketLifecycleConfiguration][5]
675
1091
  #
676
- # * GetJobTagging
1092
+ # * [GetBucketLifecycleConfiguration][6]
677
1093
  #
678
- # * PutJobTagging
679
1094
  #
680
1095
  #
1096
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
1097
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1098
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html#API_control_DeleteBucketLifecycleConfiguration_Examples
1099
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
1100
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html
1101
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html
681
1102
  #
682
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
1103
+ # @option params [required, String] :account_id
1104
+ # The account ID of the lifecycle configuration to delete.
1105
+ #
1106
+ # @option params [required, String] :bucket
1107
+ # Specifies the bucket.
1108
+ #
1109
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1110
+ # you must specify the name and the x-amz-outpost-id as well.
1111
+ #
1112
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1113
+ # you must specify the ARN of the bucket accessed in the format
1114
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1115
+ # For example, to access the bucket `reports` through outpost
1116
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1117
+ # use the URL encoding of
1118
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1119
+ # The value must be URL encoded.
1120
+ #
1121
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1122
+ #
1123
+ # @example Request syntax with placeholder values
1124
+ #
1125
+ # resp = client.delete_bucket_lifecycle_configuration({
1126
+ # account_id: "AccountId", # required
1127
+ # bucket: "BucketName", # required
1128
+ # })
1129
+ #
1130
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfiguration AWS API Documentation
1131
+ #
1132
+ # @overload delete_bucket_lifecycle_configuration(params = {})
1133
+ # @param [Hash] params ({})
1134
+ def delete_bucket_lifecycle_configuration(params = {}, options = {})
1135
+ req = build_request(:delete_bucket_lifecycle_configuration, params)
1136
+ req.send_request(options)
1137
+ end
1138
+
1139
+ # <note markdown="1"> This API operation deletes an Amazon S3 on Outposts bucket policy. To
1140
+ # delete an S3 bucket policy, see [DeleteBucketPolicy][1] in the *Amazon
1141
+ # Simple Storage Service API*.
1142
+ #
1143
+ # </note>
1144
+ #
1145
+ # This implementation of the DELETE operation uses the policy
1146
+ # subresource to delete the policy of a specified Amazon S3 on Outposts
1147
+ # bucket. If you are using an identity other than the root user of the
1148
+ # AWS account that owns the bucket, the calling identity must have the
1149
+ # `s3-outposts:DeleteBucketPolicy` permissions on the specified Outposts
1150
+ # bucket and belong to the bucket owner's account to use this
1151
+ # operation. For more information, see [Using Amazon S3 on Outposts][2]
1152
+ # in *Amazon Simple Storage Service Developer Guide*.
1153
+ #
1154
+ # If you don't have `DeleteBucketPolicy` permissions, Amazon S3 returns
1155
+ # a `403 Access Denied` error. If you have the correct permissions, but
1156
+ # you're not using an identity that belongs to the bucket owner's
1157
+ # account, Amazon S3 returns a `405 Method Not Allowed` error.
1158
+ #
1159
+ # As a security precaution, the root user of the AWS account that owns a
1160
+ # bucket can always use this operation, even if the policy explicitly
1161
+ # denies the root user the ability to perform this action.
1162
+ #
1163
+ # For more information about bucket policies, see [Using Bucket Policies
1164
+ # and User Policies][3].
1165
+ #
1166
+ # All Amazon S3 on Outposts REST API requests for this action require an
1167
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1168
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1169
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1170
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1171
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1172
+ # [Examples][4] section.
1173
+ #
1174
+ # The following actions are related to `DeleteBucketPolicy`\:
1175
+ #
1176
+ # * [GetBucketPolicy][5]
1177
+ #
1178
+ # * [PutBucketPolicy][6]
1179
+ #
1180
+ #
1181
+ #
1182
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html
1183
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1184
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
1185
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html#API_control_DeleteBucketPolicy_Examples
1186
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html
1187
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html
683
1188
  #
684
1189
  # @option params [required, String] :account_id
685
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
1190
+ # The account ID of the Outposts bucket.
686
1191
  #
687
- # @option params [required, String] :job_id
688
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
689
- # delete.
1192
+ # @option params [required, String] :bucket
1193
+ # Specifies the bucket.
1194
+ #
1195
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1196
+ # you must specify the name and the x-amz-outpost-id as well.
1197
+ #
1198
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1199
+ # you must specify the ARN of the bucket accessed in the format
1200
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1201
+ # For example, to access the bucket `reports` through outpost
1202
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1203
+ # use the URL encoding of
1204
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1205
+ # The value must be URL encoded.
690
1206
  #
691
1207
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
692
1208
  #
693
1209
  # @example Request syntax with placeholder values
694
1210
  #
695
- # resp = client.delete_job_tagging({
1211
+ # resp = client.delete_bucket_policy({
696
1212
  # account_id: "AccountId", # required
697
- # job_id: "JobId", # required
1213
+ # bucket: "BucketName", # required
698
1214
  # })
699
1215
  #
700
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTagging AWS API Documentation
1216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicy AWS API Documentation
701
1217
  #
702
- # @overload delete_job_tagging(params = {})
1218
+ # @overload delete_bucket_policy(params = {})
703
1219
  # @param [Hash] params ({})
704
- def delete_job_tagging(params = {}, options = {})
705
- req = build_request(:delete_job_tagging, params)
1220
+ def delete_bucket_policy(params = {}, options = {})
1221
+ req = build_request(:delete_bucket_policy, params)
706
1222
  req.send_request(options)
707
1223
  end
708
1224
 
709
- # Removes the `PublicAccessBlock` configuration for an Amazon Web
710
- # Services account.
1225
+ # <note markdown="1"> This operation deletes an Amazon S3 on Outposts bucket's tags. To
1226
+ # delete an S3 bucket tags, see [DeleteBucketTagging][1] in the *Amazon
1227
+ # Simple Storage Service API*.
1228
+ #
1229
+ # </note>
1230
+ #
1231
+ # Deletes the tags from the Outposts bucket. For more information, see
1232
+ # [Using Amazon S3 on Outposts][2] in *Amazon Simple Storage Service
1233
+ # Developer Guide*.
1234
+ #
1235
+ # To use this operation, you must have permission to perform the
1236
+ # `PutBucketTagging` action. By default, the bucket owner has this
1237
+ # permission and can grant this permission to others.
1238
+ #
1239
+ # All Amazon S3 on Outposts REST API requests for this action require an
1240
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1241
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1242
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1243
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1244
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1245
+ # [Examples][3] section.
1246
+ #
1247
+ # The following actions are related to `DeleteBucketTagging`\:
1248
+ #
1249
+ # * [GetBucketTagging][4]
1250
+ #
1251
+ # * [PutBucketTagging][5]
1252
+ #
1253
+ #
1254
+ #
1255
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
1256
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1257
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html#API_control_DeleteBucketTagging_Examples
1258
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html
1259
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html
711
1260
  #
712
1261
  # @option params [required, String] :account_id
713
- # The account ID for the Amazon Web Services account whose
714
- # `PublicAccessBlock` configuration you want to remove.
1262
+ # The AWS account ID of the Outposts bucket tag set to be removed.
1263
+ #
1264
+ # @option params [required, String] :bucket
1265
+ # The bucket ARN that has the tag set to be removed.
1266
+ #
1267
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1268
+ # you must specify the name and the x-amz-outpost-id as well.
1269
+ #
1270
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1271
+ # you must specify the ARN of the bucket accessed in the format
1272
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1273
+ # For example, to access the bucket `reports` through outpost
1274
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1275
+ # use the URL encoding of
1276
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1277
+ # The value must be URL encoded.
715
1278
  #
716
1279
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
717
1280
  #
718
1281
  # @example Request syntax with placeholder values
719
1282
  #
720
- # resp = client.delete_public_access_block({
1283
+ # resp = client.delete_bucket_tagging({
721
1284
  # account_id: "AccountId", # required
1285
+ # bucket: "BucketName", # required
722
1286
  # })
723
1287
  #
724
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock AWS API Documentation
1288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTagging AWS API Documentation
725
1289
  #
726
- # @overload delete_public_access_block(params = {})
1290
+ # @overload delete_bucket_tagging(params = {})
727
1291
  # @param [Hash] params ({})
728
- def delete_public_access_block(params = {}, options = {})
729
- req = build_request(:delete_public_access_block, params)
1292
+ def delete_bucket_tagging(params = {}, options = {})
1293
+ req = build_request(:delete_bucket_tagging, params)
730
1294
  req.send_request(options)
731
1295
  end
732
1296
 
733
- # 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.
1297
+ # Removes the entire tag set from the specified S3 Batch Operations job.
1298
+ # To use this operation, you must have permission to perform the
1299
+ # `s3:DeleteJobTagging` action. For more information, see [Controlling
1300
+ # access and labeling jobs using tags][1] in the *Amazon Simple Storage
1301
+ # Service Developer Guide*.
736
1302
  #
737
1303
  #
738
1304
  #
739
1305
  # Related actions include:
740
1306
  #
741
- # * CreateJob
742
- #
743
- # * ListJobs
1307
+ # * [CreateJob][2]
744
1308
  #
745
- # * UpdateJobPriority
1309
+ # * [GetJobTagging][3]
746
1310
  #
747
- # * UpdateJobStatus
1311
+ # * [PutJobTagging][4]
748
1312
  #
749
1313
  #
750
1314
  #
751
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
1315
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
1316
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
1317
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html
1318
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html
752
1319
  #
753
1320
  # @option params [required, String] :account_id
1321
+ # The AWS account ID associated with the S3 Batch Operations job.
754
1322
  #
755
1323
  # @option params [required, String] :job_id
756
- # The ID for the job whose information you want to retrieve.
757
- #
758
- # @return [Types::DescribeJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1324
+ # The ID for the S3 Batch Operations job whose tags you want to delete.
759
1325
  #
760
- # * {Types::DescribeJobResult#job #job} => Types::JobDescriptor
1326
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
761
1327
  #
762
1328
  # @example Request syntax with placeholder values
763
1329
  #
764
- # resp = client.describe_job({
1330
+ # resp = client.delete_job_tagging({
765
1331
  # account_id: "AccountId", # required
766
1332
  # job_id: "JobId", # required
767
1333
  # })
768
1334
  #
769
- # @example Response structure
1335
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTagging AWS API Documentation
770
1336
  #
771
- # resp.job.job_id #=> String
772
- # resp.job.confirmation_required #=> Boolean
773
- # resp.job.description #=> String
774
- # resp.job.job_arn #=> String
775
- # resp.job.status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
776
- # resp.job.manifest.spec.format #=> String, one of "S3BatchOperations_CSV_20180820", "S3InventoryReport_CSV_20161130"
777
- # resp.job.manifest.spec.fields #=> Array
778
- # resp.job.manifest.spec.fields[0] #=> String, one of "Ignore", "Bucket", "Key", "VersionId"
779
- # resp.job.manifest.location.object_arn #=> String
780
- # resp.job.manifest.location.object_version_id #=> String
781
- # resp.job.manifest.location.etag #=> String
782
- # resp.job.operation.lambda_invoke.function_arn #=> String
783
- # resp.job.operation.s3_put_object_copy.target_resource #=> String
784
- # resp.job.operation.s3_put_object_copy.canned_access_control_list #=> String, one of "private", "public-read", "public-read-write", "aws-exec-read", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control"
785
- # resp.job.operation.s3_put_object_copy.access_control_grants #=> Array
786
- # resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.type_identifier #=> String, one of "id", "emailAddress", "uri"
787
- # resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.identifier #=> String
1337
+ # @overload delete_job_tagging(params = {})
1338
+ # @param [Hash] params ({})
1339
+ def delete_job_tagging(params = {}, options = {})
1340
+ req = build_request(:delete_job_tagging, params)
1341
+ req.send_request(options)
1342
+ end
1343
+
1344
+ # Removes the `PublicAccessBlock` configuration for an AWS account. For
1345
+ # more information, see [ Using Amazon S3 block public access][1].
1346
+ #
1347
+ # Related actions include:
1348
+ #
1349
+ # * [GetPublicAccessBlock][2]
1350
+ #
1351
+ # * [PutPublicAccessBlock][3]
1352
+ #
1353
+ #
1354
+ #
1355
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
1356
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html
1357
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html
1358
+ #
1359
+ # @option params [required, String] :account_id
1360
+ # The account ID for the AWS account whose `PublicAccessBlock`
1361
+ # configuration you want to remove.
1362
+ #
1363
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1364
+ #
1365
+ # @example Request syntax with placeholder values
1366
+ #
1367
+ # resp = client.delete_public_access_block({
1368
+ # account_id: "AccountId", # required
1369
+ # })
1370
+ #
1371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock AWS API Documentation
1372
+ #
1373
+ # @overload delete_public_access_block(params = {})
1374
+ # @param [Hash] params ({})
1375
+ def delete_public_access_block(params = {}, options = {})
1376
+ req = build_request(:delete_public_access_block, params)
1377
+ req.send_request(options)
1378
+ end
1379
+
1380
+ # Deletes the Amazon S3 Storage Lens configuration. For more information
1381
+ # about S3 Storage Lens, see [Assessing your storage activity and usage
1382
+ # with Amazon S3 Storage Lens ][1] in the *Amazon Simple Storage Service
1383
+ # Developer Guide*.
1384
+ #
1385
+ # <note markdown="1"> To use this action, you must have permission to perform the
1386
+ # `s3:DeleteStorageLensConfiguration` action. For more information, see
1387
+ # [Setting permissions to use Amazon S3 Storage Lens][2] in the *Amazon
1388
+ # Simple Storage Service Developer Guide*.
1389
+ #
1390
+ # </note>
1391
+ #
1392
+ #
1393
+ #
1394
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
1395
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
1396
+ #
1397
+ # @option params [required, String] :config_id
1398
+ # The ID of the S3 Storage Lens configuration.
1399
+ #
1400
+ # @option params [required, String] :account_id
1401
+ # The account ID of the requester.
1402
+ #
1403
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1404
+ #
1405
+ # @example Request syntax with placeholder values
1406
+ #
1407
+ # resp = client.delete_storage_lens_configuration({
1408
+ # config_id: "ConfigId", # required
1409
+ # account_id: "AccountId", # required
1410
+ # })
1411
+ #
1412
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfiguration AWS API Documentation
1413
+ #
1414
+ # @overload delete_storage_lens_configuration(params = {})
1415
+ # @param [Hash] params ({})
1416
+ def delete_storage_lens_configuration(params = {}, options = {})
1417
+ req = build_request(:delete_storage_lens_configuration, params)
1418
+ req.send_request(options)
1419
+ end
1420
+
1421
+ # Deletes the Amazon S3 Storage Lens configuration tags. For more
1422
+ # information about S3 Storage Lens, see [Assessing your storage
1423
+ # activity and usage with Amazon S3 Storage Lens ][1] in the *Amazon
1424
+ # Simple Storage Service Developer Guide*.
1425
+ #
1426
+ # <note markdown="1"> To use this action, you must have permission to perform the
1427
+ # `s3:DeleteStorageLensConfigurationTagging` action. For more
1428
+ # information, see [Setting permissions to use Amazon S3 Storage
1429
+ # Lens][2] in the *Amazon Simple Storage Service Developer Guide*.
1430
+ #
1431
+ # </note>
1432
+ #
1433
+ #
1434
+ #
1435
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
1436
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
1437
+ #
1438
+ # @option params [required, String] :config_id
1439
+ # The ID of the S3 Storage Lens configuration.
1440
+ #
1441
+ # @option params [required, String] :account_id
1442
+ # The account ID of the requester.
1443
+ #
1444
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1445
+ #
1446
+ # @example Request syntax with placeholder values
1447
+ #
1448
+ # resp = client.delete_storage_lens_configuration_tagging({
1449
+ # config_id: "ConfigId", # required
1450
+ # account_id: "AccountId", # required
1451
+ # })
1452
+ #
1453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTagging AWS API Documentation
1454
+ #
1455
+ # @overload delete_storage_lens_configuration_tagging(params = {})
1456
+ # @param [Hash] params ({})
1457
+ def delete_storage_lens_configuration_tagging(params = {}, options = {})
1458
+ req = build_request(:delete_storage_lens_configuration_tagging, params)
1459
+ req.send_request(options)
1460
+ end
1461
+
1462
+ # Retrieves the configuration parameters and status for a Batch
1463
+ # Operations job. For more information, see [S3 Batch Operations][1] in
1464
+ # the *Amazon Simple Storage Service Developer Guide*.
1465
+ #
1466
+ #
1467
+ #
1468
+ # Related actions include:
1469
+ #
1470
+ # * [CreateJob][2]
1471
+ #
1472
+ # * [ListJobs][3]
1473
+ #
1474
+ # * [UpdateJobPriority][4]
1475
+ #
1476
+ # * [UpdateJobStatus][5]
1477
+ #
1478
+ #
1479
+ #
1480
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
1481
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
1482
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
1483
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
1484
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
1485
+ #
1486
+ # @option params [required, String] :account_id
1487
+ # The AWS account ID associated with the S3 Batch Operations job.
1488
+ #
1489
+ # @option params [required, String] :job_id
1490
+ # The ID for the job whose information you want to retrieve.
1491
+ #
1492
+ # @return [Types::DescribeJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1493
+ #
1494
+ # * {Types::DescribeJobResult#job #job} => Types::JobDescriptor
1495
+ #
1496
+ # @example Request syntax with placeholder values
1497
+ #
1498
+ # resp = client.describe_job({
1499
+ # account_id: "AccountId", # required
1500
+ # job_id: "JobId", # required
1501
+ # })
1502
+ #
1503
+ # @example Response structure
1504
+ #
1505
+ # resp.job.job_id #=> String
1506
+ # resp.job.confirmation_required #=> Boolean
1507
+ # resp.job.description #=> String
1508
+ # resp.job.job_arn #=> String
1509
+ # resp.job.status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
1510
+ # resp.job.manifest.spec.format #=> String, one of "S3BatchOperations_CSV_20180820", "S3InventoryReport_CSV_20161130"
1511
+ # resp.job.manifest.spec.fields #=> Array
1512
+ # resp.job.manifest.spec.fields[0] #=> String, one of "Ignore", "Bucket", "Key", "VersionId"
1513
+ # resp.job.manifest.location.object_arn #=> String
1514
+ # resp.job.manifest.location.object_version_id #=> String
1515
+ # resp.job.manifest.location.etag #=> String
1516
+ # resp.job.operation.lambda_invoke.function_arn #=> String
1517
+ # resp.job.operation.s3_put_object_copy.target_resource #=> String
1518
+ # resp.job.operation.s3_put_object_copy.canned_access_control_list #=> String, one of "private", "public-read", "public-read-write", "aws-exec-read", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control"
1519
+ # resp.job.operation.s3_put_object_copy.access_control_grants #=> Array
1520
+ # resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.type_identifier #=> String, one of "id", "emailAddress", "uri"
1521
+ # resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.identifier #=> String
788
1522
  # resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.display_name #=> String
789
1523
  # resp.job.operation.s3_put_object_copy.access_control_grants[0].permission #=> String, one of "FULL_CONTROL", "READ", "WRITE", "READ_ACP", "WRITE_ACP"
790
1524
  # resp.job.operation.s3_put_object_copy.metadata_directive #=> String, one of "COPY", "REPLACE"
@@ -860,6 +1594,31 @@ module Aws::S3Control
860
1594
 
861
1595
  # Returns configuration information about the specified access point.
862
1596
  #
1597
+ #
1598
+ #
1599
+ # All Amazon S3 on Outposts REST API requests for this action require an
1600
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1601
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1602
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1603
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1604
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1605
+ # [Examples][1] section.
1606
+ #
1607
+ # The following actions are related to `GetAccessPoint`\:
1608
+ #
1609
+ # * [CreateAccessPoint][2]
1610
+ #
1611
+ # * [DeleteAccessPoint][3]
1612
+ #
1613
+ # * [ListAccessPoints][4]
1614
+ #
1615
+ #
1616
+ #
1617
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples
1618
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html
1619
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html
1620
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html
1621
+ #
863
1622
  # @option params [required, String] :account_id
864
1623
  # The account ID for the account that owns the specified access point.
865
1624
  #
@@ -867,6 +1626,18 @@ module Aws::S3Control
867
1626
  # The name of the access point whose configuration information you want
868
1627
  # to retrieve.
869
1628
  #
1629
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1630
+ # you must specify the name and the x-amz-outpost-id as well.
1631
+ #
1632
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1633
+ # you must specify the ARN of the access point accessed in the format
1634
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
1635
+ # For example, to access the access point `reports-ap` through outpost
1636
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1637
+ # use the URL encoding of
1638
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
1639
+ # The value must be URL encoded.
1640
+ #
870
1641
  # @return [Types::GetAccessPointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
871
1642
  #
872
1643
  # * {Types::GetAccessPointResult#name #name} => String
@@ -907,12 +1678,35 @@ module Aws::S3Control
907
1678
  # Returns the access point policy associated with the specified access
908
1679
  # point.
909
1680
  #
1681
+ # The following actions are related to `GetAccessPointPolicy`\:
1682
+ #
1683
+ # * [PutAccessPointPolicy][1]
1684
+ #
1685
+ # * [DeleteAccessPointPolicy][2]
1686
+ #
1687
+ #
1688
+ #
1689
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html
1690
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html
1691
+ #
910
1692
  # @option params [required, String] :account_id
911
1693
  # The account ID for the account that owns the specified access point.
912
1694
  #
913
1695
  # @option params [required, String] :name
914
1696
  # The name of the access point whose policy you want to retrieve.
915
1697
  #
1698
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1699
+ # you must specify the name and the x-amz-outpost-id as well.
1700
+ #
1701
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1702
+ # you must specify the ARN of the access point accessed in the format
1703
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
1704
+ # For example, to access the access point `reports-ap` through outpost
1705
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1706
+ # use the URL encoding of
1707
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
1708
+ # The value must be URL encoded.
1709
+ #
916
1710
  # @return [Types::GetAccessPointPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
917
1711
  #
918
1712
  # * {Types::GetAccessPointPolicyResult#policy #policy} => String
@@ -976,181 +1770,745 @@ module Aws::S3Control
976
1770
  req.send_request(options)
977
1771
  end
978
1772
 
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
982
- # Simple Storage Service Developer Guide*.
1773
+ # Gets an Amazon S3 on Outposts bucket. For more information, see [
1774
+ # Using Amazon S3 on Outposts][1] in the *Amazon Simple Storage Service
1775
+ # Developer Guide*.
983
1776
  #
1777
+ # If you are using an identity other than the root user of the AWS
1778
+ # account that owns the bucket, the calling identity must have the
1779
+ # `s3-outposts:GetBucket` permissions on the specified bucket and belong
1780
+ # to the bucket owner's account in order to use this operation. Only
1781
+ # users from Outposts bucket owner account with the right permissions
1782
+ # can perform actions on an Outposts bucket.
984
1783
  #
1784
+ # If you don't have `s3-outposts:GetBucket` permissions or you're not
1785
+ # using an identity that belongs to the bucket owner's account, Amazon
1786
+ # S3 returns a `403 Access Denied` error.
985
1787
  #
986
- # Related actions include:
1788
+ # The following actions are related to `GetBucket` for Amazon S3 on
1789
+ # Outposts:
987
1790
  #
988
- # * CreateJob
1791
+ # All Amazon S3 on Outposts REST API requests for this action require an
1792
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1793
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1794
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1795
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1796
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1797
+ # [Examples][2] section.
989
1798
  #
990
- # * PutJobTagging
1799
+ # * [PutObject][3]
991
1800
  #
992
- # * DeleteJobTagging
1801
+ # * [CreateBucket][4]
993
1802
  #
1803
+ # * [DeleteBucket][5]
994
1804
  #
995
1805
  #
996
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
1806
+ #
1807
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1808
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html#API_control_GetBucket_Examples
1809
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1810
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
1811
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html
997
1812
  #
998
1813
  # @option params [required, String] :account_id
999
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
1814
+ # The AWS account ID of the Outposts bucket.
1000
1815
  #
1001
- # @option params [required, String] :job_id
1002
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
1003
- # retrieve.
1816
+ # @option params [required, String] :bucket
1817
+ # Specifies the bucket.
1004
1818
  #
1005
- # @return [Types::GetJobTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1819
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1820
+ # you must specify the name and the x-amz-outpost-id as well.
1006
1821
  #
1007
- # * {Types::GetJobTaggingResult#tags #tags} => Array&lt;Types::S3Tag&gt;
1822
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1823
+ # you must specify the ARN of the bucket accessed in the format
1824
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1825
+ # For example, to access the bucket `reports` through outpost
1826
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1827
+ # use the URL encoding of
1828
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1829
+ # The value must be URL encoded.
1830
+ #
1831
+ # @return [Types::GetBucketResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1832
+ #
1833
+ # * {Types::GetBucketResult#bucket #bucket} => String
1834
+ # * {Types::GetBucketResult#public_access_block_enabled #public_access_block_enabled} => Boolean
1835
+ # * {Types::GetBucketResult#creation_date #creation_date} => Time
1008
1836
  #
1009
1837
  # @example Request syntax with placeholder values
1010
1838
  #
1011
- # resp = client.get_job_tagging({
1839
+ # resp = client.get_bucket({
1012
1840
  # account_id: "AccountId", # required
1013
- # job_id: "JobId", # required
1841
+ # bucket: "BucketName", # required
1014
1842
  # })
1015
1843
  #
1016
1844
  # @example Response structure
1017
1845
  #
1018
- # resp.tags #=> Array
1019
- # resp.tags[0].key #=> String
1020
- # resp.tags[0].value #=> String
1846
+ # resp.bucket #=> String
1847
+ # resp.public_access_block_enabled #=> Boolean
1848
+ # resp.creation_date #=> Time
1021
1849
  #
1022
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging AWS API Documentation
1850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucket AWS API Documentation
1023
1851
  #
1024
- # @overload get_job_tagging(params = {})
1852
+ # @overload get_bucket(params = {})
1025
1853
  # @param [Hash] params ({})
1026
- def get_job_tagging(params = {}, options = {})
1027
- req = build_request(:get_job_tagging, params)
1854
+ def get_bucket(params = {}, options = {})
1855
+ req = build_request(:get_bucket, params)
1028
1856
  req.send_request(options)
1029
1857
  end
1030
1858
 
1031
- # Retrieves the `PublicAccessBlock` configuration for an Amazon Web
1032
- # Services account.
1859
+ # <note markdown="1"> This operation gets an Amazon S3 on Outposts bucket's lifecycle
1860
+ # configuration. To get an S3 bucket's lifecycle configuration, see
1861
+ # [GetBucketLifecycleConfiguration][1] in the *Amazon Simple Storage
1862
+ # Service API*.
1033
1863
  #
1034
- # @option params [required, String] :account_id
1035
- # The account ID for the Amazon Web Services account whose
1036
- # `PublicAccessBlock` configuration you want to retrieve.
1864
+ # </note>
1037
1865
  #
1038
- # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1866
+ # Returns the lifecycle configuration information set on the Outposts
1867
+ # bucket. For more information, see [Using Amazon S3 on Outposts][2] and
1868
+ # for information about lifecycle configuration, see [ Object Lifecycle
1869
+ # Management][3] in *Amazon Simple Storage Service Developer Guide*.
1039
1870
  #
1040
- # * {Types::GetPublicAccessBlockOutput#public_access_block_configuration #public_access_block_configuration} => Types::PublicAccessBlockConfiguration
1871
+ # To use this operation, you must have permission to perform the
1872
+ # `s3-outposts:GetLifecycleConfiguration` action. The Outposts bucket
1873
+ # owner has this permission, by default. The bucket owner can grant this
1874
+ # permission to others. For more information about permissions, see
1875
+ # [Permissions Related to Bucket Subresource Operations][4] and
1876
+ # [Managing Access Permissions to Your Amazon S3 Resources][5].
1041
1877
  #
1042
- # @example Request syntax with placeholder values
1878
+ # All Amazon S3 on Outposts REST API requests for this action require an
1879
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1880
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1881
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1882
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1883
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1884
+ # [Examples][6] section.
1043
1885
  #
1044
- # resp = client.get_public_access_block({
1045
- # account_id: "AccountId", # required
1046
- # })
1886
+ # `GetBucketLifecycleConfiguration` has the following special error:
1047
1887
  #
1048
- # @example Response structure
1888
+ # * Error code: `NoSuchLifecycleConfiguration`
1049
1889
  #
1050
- # resp.public_access_block_configuration.block_public_acls #=> Boolean
1051
- # resp.public_access_block_configuration.ignore_public_acls #=> Boolean
1052
- # resp.public_access_block_configuration.block_public_policy #=> Boolean
1053
- # resp.public_access_block_configuration.restrict_public_buckets #=> Boolean
1890
+ # * Description: The lifecycle configuration does not exist.
1054
1891
  #
1055
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock AWS API Documentation
1892
+ # * HTTP Status Code: 404 Not Found
1056
1893
  #
1057
- # @overload get_public_access_block(params = {})
1058
- # @param [Hash] params ({})
1059
- def get_public_access_block(params = {}, options = {})
1060
- req = build_request(:get_public_access_block, params)
1061
- req.send_request(options)
1062
- end
1063
-
1064
- # Returns a list of the access points currently associated with the
1065
- # specified bucket. You can retrieve up to 1000 access points per call.
1066
- # If the specified bucket has more than 1,000 access points (or the
1067
- # number specified in `maxResults`, whichever is less), the response
1068
- # will include a continuation token that you can use to list the
1069
- # additional access points.
1894
+ # * SOAP Fault Code Prefix: Client
1070
1895
  #
1071
- # @option params [required, String] :account_id
1072
- # The AWS account ID for owner of the bucket whose access points you
1073
- # want to list.
1896
+ # The following actions are related to
1897
+ # `GetBucketLifecycleConfiguration`\:
1074
1898
  #
1075
- # @option params [String] :bucket
1076
- # The name of the bucket whose associated access points you want to
1077
- # list.
1899
+ # * [PutBucketLifecycleConfiguration][7]
1078
1900
  #
1079
- # @option params [String] :next_token
1080
- # A continuation token. If a previous call to `ListAccessPoints`
1081
- # returned a continuation token in the `NextToken` field, then providing
1082
- # that value here causes Amazon S3 to retrieve the next page of results.
1901
+ # * [DeleteBucketLifecycleConfiguration][8]
1083
1902
  #
1084
- # @option params [Integer] :max_results
1085
- # The maximum number of access points that you want to include in the
1086
- # list. If the specified bucket has more than this number of access
1087
- # points, then the response will include a continuation token in the
1088
- # `NextToken` field that you can use to retrieve the next page of access
1089
- # points.
1090
1903
  #
1091
- # @return [Types::ListAccessPointsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1092
1904
  #
1093
- # * {Types::ListAccessPointsResult#access_point_list #access_point_list} => Array&lt;Types::AccessPoint&gt;
1094
- # * {Types::ListAccessPointsResult#next_token #next_token} => String
1905
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
1906
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1907
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
1908
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1909
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
1910
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html#API_control_GetBucketLifecycleConfiguration_Examples
1911
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html
1912
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html
1095
1913
  #
1096
- # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1914
+ # @option params [required, String] :account_id
1915
+ # The AWS account ID of the Outposts bucket.
1916
+ #
1917
+ # @option params [required, String] :bucket
1918
+ # The Amazon Resource Name (ARN) of the bucket.
1919
+ #
1920
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1921
+ # you must specify the name and the x-amz-outpost-id as well.
1922
+ #
1923
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1924
+ # you must specify the ARN of the bucket accessed in the format
1925
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1926
+ # For example, to access the bucket `reports` through outpost
1927
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1928
+ # use the URL encoding of
1929
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1930
+ # The value must be URL encoded.
1931
+ #
1932
+ # @return [Types::GetBucketLifecycleConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1933
+ #
1934
+ # * {Types::GetBucketLifecycleConfigurationResult#rules #rules} => Array&lt;Types::LifecycleRule&gt;
1097
1935
  #
1098
1936
  # @example Request syntax with placeholder values
1099
1937
  #
1100
- # resp = client.list_access_points({
1938
+ # resp = client.get_bucket_lifecycle_configuration({
1101
1939
  # account_id: "AccountId", # required
1102
- # bucket: "BucketName",
1103
- # next_token: "NonEmptyMaxLength1024String",
1104
- # max_results: 1,
1940
+ # bucket: "BucketName", # required
1105
1941
  # })
1106
1942
  #
1107
1943
  # @example Response structure
1108
1944
  #
1109
- # resp.access_point_list #=> Array
1110
- # resp.access_point_list[0].name #=> String
1111
- # resp.access_point_list[0].network_origin #=> String, one of "Internet", "VPC"
1112
- # resp.access_point_list[0].vpc_configuration.vpc_id #=> String
1113
- # resp.access_point_list[0].bucket #=> String
1114
- # resp.next_token #=> String
1115
- #
1116
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints AWS API Documentation
1117
- #
1118
- # @overload list_access_points(params = {})
1945
+ # resp.rules #=> Array
1946
+ # resp.rules[0].expiration.date #=> Time
1947
+ # resp.rules[0].expiration.days #=> Integer
1948
+ # resp.rules[0].expiration.expired_object_delete_marker #=> Boolean
1949
+ # resp.rules[0].id #=> String
1950
+ # resp.rules[0].filter.prefix #=> String
1951
+ # resp.rules[0].filter.tag.key #=> String
1952
+ # resp.rules[0].filter.tag.value #=> String
1953
+ # resp.rules[0].filter.and.prefix #=> String
1954
+ # resp.rules[0].filter.and.tags #=> Array
1955
+ # resp.rules[0].filter.and.tags[0].key #=> String
1956
+ # resp.rules[0].filter.and.tags[0].value #=> String
1957
+ # resp.rules[0].status #=> String, one of "Enabled", "Disabled"
1958
+ # resp.rules[0].transitions #=> Array
1959
+ # resp.rules[0].transitions[0].date #=> Time
1960
+ # resp.rules[0].transitions[0].days #=> Integer
1961
+ # resp.rules[0].transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
1962
+ # resp.rules[0].noncurrent_version_transitions #=> Array
1963
+ # resp.rules[0].noncurrent_version_transitions[0].noncurrent_days #=> Integer
1964
+ # resp.rules[0].noncurrent_version_transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
1965
+ # resp.rules[0].noncurrent_version_expiration.noncurrent_days #=> Integer
1966
+ # resp.rules[0].abort_incomplete_multipart_upload.days_after_initiation #=> Integer
1967
+ #
1968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfiguration AWS API Documentation
1969
+ #
1970
+ # @overload get_bucket_lifecycle_configuration(params = {})
1119
1971
  # @param [Hash] params ({})
1120
- def list_access_points(params = {}, options = {})
1121
- req = build_request(:list_access_points, params)
1972
+ def get_bucket_lifecycle_configuration(params = {}, options = {})
1973
+ req = build_request(:get_bucket_lifecycle_configuration, params)
1122
1974
  req.send_request(options)
1123
1975
  end
1124
1976
 
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
1977
+ # <note markdown="1"> This action gets a bucket policy for an Amazon S3 on Outposts bucket.
1978
+ # To get a policy for an S3 bucket, see [GetBucketPolicy][1] in the
1979
+ # *Amazon Simple Storage Service API*.
1980
+ #
1981
+ # </note>
1982
+ #
1983
+ # Returns the policy of a specified Outposts bucket. For more
1984
+ # information, see [Using Amazon S3 on Outposts][2] in the *Amazon
1128
1985
  # Simple Storage Service Developer Guide*.
1129
1986
  #
1130
- # Related actions include:
1987
+ # If you are using an identity other than the root user of the AWS
1988
+ # account that owns the bucket, the calling identity must have the
1989
+ # `GetBucketPolicy` permissions on the specified bucket and belong to
1990
+ # the bucket owner's account in order to use this operation.
1131
1991
  #
1992
+ # Only users from Outposts bucket owner account with the right
1993
+ # permissions can perform actions on an Outposts bucket. If you don't
1994
+ # have `s3-outposts:GetBucketPolicy` permissions or you're not using an
1995
+ # identity that belongs to the bucket owner's account, Amazon S3
1996
+ # returns a `403 Access Denied` error.
1132
1997
  #
1998
+ # As a security precaution, the root user of the AWS account that owns a
1999
+ # bucket can always use this operation, even if the policy explicitly
2000
+ # denies the root user the ability to perform this action.
1133
2001
  #
1134
- # * CreateJob
2002
+ # For more information about bucket policies, see [Using Bucket Policies
2003
+ # and User Policies][3].
1135
2004
  #
1136
- # * DescribeJob
2005
+ # All Amazon S3 on Outposts REST API requests for this action require an
2006
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2007
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2008
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2009
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2010
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2011
+ # [Examples][4] section.
1137
2012
  #
1138
- # * UpdateJobPriority
2013
+ # The following actions are related to `GetBucketPolicy`\:
1139
2014
  #
1140
- # * UpdateJobStatus
2015
+ # * [GetObject][5]
1141
2016
  #
2017
+ # * [PutBucketPolicy][6]
1142
2018
  #
2019
+ # * [DeleteBucketPolicy][7]
1143
2020
  #
1144
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
2021
+ #
2022
+ #
2023
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html
2024
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2025
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
2026
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html#API_control_GetBucketPolicy_Examples
2027
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
2028
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html
2029
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html
1145
2030
  #
1146
2031
  # @option params [required, String] :account_id
2032
+ # The AWS account ID of the Outposts bucket.
1147
2033
  #
1148
- # @option params [Array<String>] :job_statuses
1149
- # The `List Jobs` request returns jobs that match the statuses listed in
1150
- # this element.
2034
+ # @option params [required, String] :bucket
2035
+ # Specifies the bucket.
1151
2036
  #
1152
- # @option params [String] :next_token
1153
- # A pagination token to request the next page of results. Use the token
2037
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2038
+ # you must specify the name and the x-amz-outpost-id as well.
2039
+ #
2040
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2041
+ # you must specify the ARN of the bucket accessed in the format
2042
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2043
+ # For example, to access the bucket `reports` through outpost
2044
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2045
+ # use the URL encoding of
2046
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2047
+ # The value must be URL encoded.
2048
+ #
2049
+ # @return [Types::GetBucketPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2050
+ #
2051
+ # * {Types::GetBucketPolicyResult#policy #policy} => String
2052
+ #
2053
+ # @example Request syntax with placeholder values
2054
+ #
2055
+ # resp = client.get_bucket_policy({
2056
+ # account_id: "AccountId", # required
2057
+ # bucket: "BucketName", # required
2058
+ # })
2059
+ #
2060
+ # @example Response structure
2061
+ #
2062
+ # resp.policy #=> String
2063
+ #
2064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicy AWS API Documentation
2065
+ #
2066
+ # @overload get_bucket_policy(params = {})
2067
+ # @param [Hash] params ({})
2068
+ def get_bucket_policy(params = {}, options = {})
2069
+ req = build_request(:get_bucket_policy, params)
2070
+ req.send_request(options)
2071
+ end
2072
+
2073
+ # <note markdown="1"> This operation gets an Amazon S3 on Outposts bucket's tags. To get an
2074
+ # S3 bucket tags, see [GetBucketTagging][1] in the *Amazon Simple
2075
+ # Storage Service API*.
2076
+ #
2077
+ # </note>
2078
+ #
2079
+ # Returns the tag set associated with the Outposts bucket. For more
2080
+ # information, see [Using Amazon S3 on Outposts][2] in the *Amazon
2081
+ # Simple Storage Service Developer Guide*.
2082
+ #
2083
+ # To use this operation, you must have permission to perform the
2084
+ # `GetBucketTagging` action. By default, the bucket owner has this
2085
+ # permission and can grant this permission to others.
2086
+ #
2087
+ # `GetBucketTagging` has the following special error:
2088
+ #
2089
+ # * Error code: `NoSuchTagSetError`
2090
+ #
2091
+ # * Description: There is no tag set associated with the bucket.
2092
+ #
2093
+ # ^
2094
+ #
2095
+ # All Amazon S3 on Outposts REST API requests for this action require an
2096
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2097
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2098
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2099
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2100
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2101
+ # [Examples][3] section.
2102
+ #
2103
+ # The following actions are related to `GetBucketTagging`\:
2104
+ #
2105
+ # * [PutBucketTagging][4]
2106
+ #
2107
+ # * [DeleteBucketTagging][5]
2108
+ #
2109
+ #
2110
+ #
2111
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
2112
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2113
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html#API_control_GetBucketTagging_Examples
2114
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html
2115
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html
2116
+ #
2117
+ # @option params [required, String] :account_id
2118
+ # The AWS account ID of the Outposts bucket.
2119
+ #
2120
+ # @option params [required, String] :bucket
2121
+ # Specifies the bucket.
2122
+ #
2123
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2124
+ # you must specify the name and the x-amz-outpost-id as well.
2125
+ #
2126
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2127
+ # you must specify the ARN of the bucket accessed in the format
2128
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2129
+ # For example, to access the bucket `reports` through outpost
2130
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2131
+ # use the URL encoding of
2132
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2133
+ # The value must be URL encoded.
2134
+ #
2135
+ # @return [Types::GetBucketTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2136
+ #
2137
+ # * {Types::GetBucketTaggingResult#tag_set #tag_set} => Array&lt;Types::S3Tag&gt;
2138
+ #
2139
+ # @example Request syntax with placeholder values
2140
+ #
2141
+ # resp = client.get_bucket_tagging({
2142
+ # account_id: "AccountId", # required
2143
+ # bucket: "BucketName", # required
2144
+ # })
2145
+ #
2146
+ # @example Response structure
2147
+ #
2148
+ # resp.tag_set #=> Array
2149
+ # resp.tag_set[0].key #=> String
2150
+ # resp.tag_set[0].value #=> String
2151
+ #
2152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTagging AWS API Documentation
2153
+ #
2154
+ # @overload get_bucket_tagging(params = {})
2155
+ # @param [Hash] params ({})
2156
+ def get_bucket_tagging(params = {}, options = {})
2157
+ req = build_request(:get_bucket_tagging, params)
2158
+ req.send_request(options)
2159
+ end
2160
+
2161
+ # Returns the tags on an S3 Batch Operations job. To use this operation,
2162
+ # you must have permission to perform the `s3:GetJobTagging` action. For
2163
+ # more information, see [Controlling access and labeling jobs using
2164
+ # tags][1] in the *Amazon Simple Storage Service Developer Guide*.
2165
+ #
2166
+ #
2167
+ #
2168
+ # Related actions include:
2169
+ #
2170
+ # * [CreateJob][2]
2171
+ #
2172
+ # * [PutJobTagging][3]
2173
+ #
2174
+ # * [DeleteJobTagging][4]
2175
+ #
2176
+ #
2177
+ #
2178
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
2179
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
2180
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html
2181
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html
2182
+ #
2183
+ # @option params [required, String] :account_id
2184
+ # The AWS account ID associated with the S3 Batch Operations job.
2185
+ #
2186
+ # @option params [required, String] :job_id
2187
+ # The ID for the S3 Batch Operations job whose tags you want to
2188
+ # retrieve.
2189
+ #
2190
+ # @return [Types::GetJobTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2191
+ #
2192
+ # * {Types::GetJobTaggingResult#tags #tags} => Array&lt;Types::S3Tag&gt;
2193
+ #
2194
+ # @example Request syntax with placeholder values
2195
+ #
2196
+ # resp = client.get_job_tagging({
2197
+ # account_id: "AccountId", # required
2198
+ # job_id: "JobId", # required
2199
+ # })
2200
+ #
2201
+ # @example Response structure
2202
+ #
2203
+ # resp.tags #=> Array
2204
+ # resp.tags[0].key #=> String
2205
+ # resp.tags[0].value #=> String
2206
+ #
2207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging AWS API Documentation
2208
+ #
2209
+ # @overload get_job_tagging(params = {})
2210
+ # @param [Hash] params ({})
2211
+ def get_job_tagging(params = {}, options = {})
2212
+ req = build_request(:get_job_tagging, params)
2213
+ req.send_request(options)
2214
+ end
2215
+
2216
+ # Retrieves the `PublicAccessBlock` configuration for an AWS account.
2217
+ # For more information, see [ Using Amazon S3 block public access][1].
2218
+ #
2219
+ # Related actions include:
2220
+ #
2221
+ # * [DeletePublicAccessBlock][2]
2222
+ #
2223
+ # * [PutPublicAccessBlock][3]
2224
+ #
2225
+ #
2226
+ #
2227
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
2228
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html
2229
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html
2230
+ #
2231
+ # @option params [required, String] :account_id
2232
+ # The account ID for the AWS account whose `PublicAccessBlock`
2233
+ # configuration you want to retrieve.
2234
+ #
2235
+ # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2236
+ #
2237
+ # * {Types::GetPublicAccessBlockOutput#public_access_block_configuration #public_access_block_configuration} => Types::PublicAccessBlockConfiguration
2238
+ #
2239
+ # @example Request syntax with placeholder values
2240
+ #
2241
+ # resp = client.get_public_access_block({
2242
+ # account_id: "AccountId", # required
2243
+ # })
2244
+ #
2245
+ # @example Response structure
2246
+ #
2247
+ # resp.public_access_block_configuration.block_public_acls #=> Boolean
2248
+ # resp.public_access_block_configuration.ignore_public_acls #=> Boolean
2249
+ # resp.public_access_block_configuration.block_public_policy #=> Boolean
2250
+ # resp.public_access_block_configuration.restrict_public_buckets #=> Boolean
2251
+ #
2252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock AWS API Documentation
2253
+ #
2254
+ # @overload get_public_access_block(params = {})
2255
+ # @param [Hash] params ({})
2256
+ def get_public_access_block(params = {}, options = {})
2257
+ req = build_request(:get_public_access_block, params)
2258
+ req.send_request(options)
2259
+ end
2260
+
2261
+ # Gets the Amazon S3 Storage Lens configuration. For more information,
2262
+ # see [Assessing your storage activity and usage with Amazon S3 Storage
2263
+ # Lens ][1] in the *Amazon Simple Storage Service Developer Guide*.
2264
+ #
2265
+ # <note markdown="1"> To use this action, you must have permission to perform the
2266
+ # `s3:GetStorageLensConfiguration` action. For more information, see
2267
+ # [Setting permissions to use Amazon S3 Storage Lens][2] in the *Amazon
2268
+ # Simple Storage Service Developer Guide*.
2269
+ #
2270
+ # </note>
2271
+ #
2272
+ #
2273
+ #
2274
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
2275
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
2276
+ #
2277
+ # @option params [required, String] :config_id
2278
+ # The ID of the Amazon S3 Storage Lens configuration.
2279
+ #
2280
+ # @option params [required, String] :account_id
2281
+ # The account ID of the requester.
2282
+ #
2283
+ # @return [Types::GetStorageLensConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2284
+ #
2285
+ # * {Types::GetStorageLensConfigurationResult#storage_lens_configuration #storage_lens_configuration} => Types::StorageLensConfiguration
2286
+ #
2287
+ # @example Request syntax with placeholder values
2288
+ #
2289
+ # resp = client.get_storage_lens_configuration({
2290
+ # config_id: "ConfigId", # required
2291
+ # account_id: "AccountId", # required
2292
+ # })
2293
+ #
2294
+ # @example Response structure
2295
+ #
2296
+ # resp.storage_lens_configuration.id #=> String
2297
+ # resp.storage_lens_configuration.account_level.activity_metrics.is_enabled #=> Boolean
2298
+ # resp.storage_lens_configuration.account_level.bucket_level.activity_metrics.is_enabled #=> Boolean
2299
+ # resp.storage_lens_configuration.account_level.bucket_level.prefix_level.storage_metrics.is_enabled #=> Boolean
2300
+ # resp.storage_lens_configuration.account_level.bucket_level.prefix_level.storage_metrics.selection_criteria.delimiter #=> String
2301
+ # resp.storage_lens_configuration.account_level.bucket_level.prefix_level.storage_metrics.selection_criteria.max_depth #=> Integer
2302
+ # resp.storage_lens_configuration.account_level.bucket_level.prefix_level.storage_metrics.selection_criteria.min_storage_bytes_percentage #=> Float
2303
+ # resp.storage_lens_configuration.include.buckets #=> Array
2304
+ # resp.storage_lens_configuration.include.buckets[0] #=> String
2305
+ # resp.storage_lens_configuration.include.regions #=> Array
2306
+ # resp.storage_lens_configuration.include.regions[0] #=> String
2307
+ # resp.storage_lens_configuration.exclude.buckets #=> Array
2308
+ # resp.storage_lens_configuration.exclude.buckets[0] #=> String
2309
+ # resp.storage_lens_configuration.exclude.regions #=> Array
2310
+ # resp.storage_lens_configuration.exclude.regions[0] #=> String
2311
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.format #=> String, one of "CSV", "Parquet"
2312
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.output_schema_version #=> String, one of "V_1"
2313
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.account_id #=> String
2314
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.arn #=> String
2315
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.prefix #=> String
2316
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.encryption.ssekms.key_id #=> String
2317
+ # resp.storage_lens_configuration.is_enabled #=> Boolean
2318
+ # resp.storage_lens_configuration.aws_org.arn #=> String
2319
+ # resp.storage_lens_configuration.storage_lens_arn #=> String
2320
+ #
2321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfiguration AWS API Documentation
2322
+ #
2323
+ # @overload get_storage_lens_configuration(params = {})
2324
+ # @param [Hash] params ({})
2325
+ def get_storage_lens_configuration(params = {}, options = {})
2326
+ req = build_request(:get_storage_lens_configuration, params)
2327
+ req.send_request(options)
2328
+ end
2329
+
2330
+ # Gets the tags of Amazon S3 Storage Lens configuration. For more
2331
+ # information about S3 Storage Lens, see [Assessing your storage
2332
+ # activity and usage with Amazon S3 Storage Lens ][1] in the *Amazon
2333
+ # Simple Storage Service Developer Guide*.
2334
+ #
2335
+ # <note markdown="1"> To use this action, you must have permission to perform the
2336
+ # `s3:GetStorageLensConfigurationTagging` action. For more information,
2337
+ # see [Setting permissions to use Amazon S3 Storage Lens][2] in the
2338
+ # *Amazon Simple Storage Service Developer Guide*.
2339
+ #
2340
+ # </note>
2341
+ #
2342
+ #
2343
+ #
2344
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
2345
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
2346
+ #
2347
+ # @option params [required, String] :config_id
2348
+ # The ID of the Amazon S3 Storage Lens configuration.
2349
+ #
2350
+ # @option params [required, String] :account_id
2351
+ # The account ID of the requester.
2352
+ #
2353
+ # @return [Types::GetStorageLensConfigurationTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2354
+ #
2355
+ # * {Types::GetStorageLensConfigurationTaggingResult#tags #tags} => Array&lt;Types::StorageLensTag&gt;
2356
+ #
2357
+ # @example Request syntax with placeholder values
2358
+ #
2359
+ # resp = client.get_storage_lens_configuration_tagging({
2360
+ # config_id: "ConfigId", # required
2361
+ # account_id: "AccountId", # required
2362
+ # })
2363
+ #
2364
+ # @example Response structure
2365
+ #
2366
+ # resp.tags #=> Array
2367
+ # resp.tags[0].key #=> String
2368
+ # resp.tags[0].value #=> String
2369
+ #
2370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTagging AWS API Documentation
2371
+ #
2372
+ # @overload get_storage_lens_configuration_tagging(params = {})
2373
+ # @param [Hash] params ({})
2374
+ def get_storage_lens_configuration_tagging(params = {}, options = {})
2375
+ req = build_request(:get_storage_lens_configuration_tagging, params)
2376
+ req.send_request(options)
2377
+ end
2378
+
2379
+ # Returns a list of the access points currently associated with the
2380
+ # specified bucket. You can retrieve up to 1000 access points per call.
2381
+ # If the specified bucket has more than 1,000 access points (or the
2382
+ # number specified in `maxResults`, whichever is less), the response
2383
+ # will include a continuation token that you can use to list the
2384
+ # additional access points.
2385
+ #
2386
+ #
2387
+ #
2388
+ # All Amazon S3 on Outposts REST API requests for this action require an
2389
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2390
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2391
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2392
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2393
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2394
+ # [Examples][1] section.
2395
+ #
2396
+ # The following actions are related to `ListAccessPoints`\:
2397
+ #
2398
+ # * [CreateAccessPoint][2]
2399
+ #
2400
+ # * [DeleteAccessPoint][3]
2401
+ #
2402
+ # * [GetAccessPoint][4]
2403
+ #
2404
+ #
2405
+ #
2406
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples
2407
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html
2408
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html
2409
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html
2410
+ #
2411
+ # @option params [required, String] :account_id
2412
+ # The AWS account ID for owner of the bucket whose access points you
2413
+ # want to list.
2414
+ #
2415
+ # @option params [String] :bucket
2416
+ # The name of the bucket whose associated access points you want to
2417
+ # list.
2418
+ #
2419
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2420
+ # you must specify the name and the x-amz-outpost-id as well.
2421
+ #
2422
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2423
+ # you must specify the ARN of the bucket accessed in the format
2424
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2425
+ # For example, to access the bucket `reports` through outpost
2426
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2427
+ # use the URL encoding of
2428
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2429
+ # The value must be URL encoded.
2430
+ #
2431
+ # @option params [String] :next_token
2432
+ # A continuation token. If a previous call to `ListAccessPoints`
2433
+ # returned a continuation token in the `NextToken` field, then providing
2434
+ # that value here causes Amazon S3 to retrieve the next page of results.
2435
+ #
2436
+ # @option params [Integer] :max_results
2437
+ # The maximum number of access points that you want to include in the
2438
+ # list. If the specified bucket has more than this number of access
2439
+ # points, then the response will include a continuation token in the
2440
+ # `NextToken` field that you can use to retrieve the next page of access
2441
+ # points.
2442
+ #
2443
+ # @return [Types::ListAccessPointsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2444
+ #
2445
+ # * {Types::ListAccessPointsResult#access_point_list #access_point_list} => Array&lt;Types::AccessPoint&gt;
2446
+ # * {Types::ListAccessPointsResult#next_token #next_token} => String
2447
+ #
2448
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2449
+ #
2450
+ # @example Request syntax with placeholder values
2451
+ #
2452
+ # resp = client.list_access_points({
2453
+ # account_id: "AccountId", # required
2454
+ # bucket: "BucketName",
2455
+ # next_token: "NonEmptyMaxLength1024String",
2456
+ # max_results: 1,
2457
+ # })
2458
+ #
2459
+ # @example Response structure
2460
+ #
2461
+ # resp.access_point_list #=> Array
2462
+ # resp.access_point_list[0].name #=> String
2463
+ # resp.access_point_list[0].network_origin #=> String, one of "Internet", "VPC"
2464
+ # resp.access_point_list[0].vpc_configuration.vpc_id #=> String
2465
+ # resp.access_point_list[0].bucket #=> String
2466
+ # resp.access_point_list[0].access_point_arn #=> String
2467
+ # resp.next_token #=> String
2468
+ #
2469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints AWS API Documentation
2470
+ #
2471
+ # @overload list_access_points(params = {})
2472
+ # @param [Hash] params ({})
2473
+ def list_access_points(params = {}, options = {})
2474
+ req = build_request(:list_access_points, params)
2475
+ req.send_request(options)
2476
+ end
2477
+
2478
+ # Lists current S3 Batch Operations jobs and jobs that have ended within
2479
+ # the last 30 days for the AWS account making the request. For more
2480
+ # information, see [S3 Batch Operations][1] in the *Amazon Simple
2481
+ # Storage Service Developer Guide*.
2482
+ #
2483
+ # Related actions include:
2484
+ #
2485
+ #
2486
+ #
2487
+ # * [CreateJob][2]
2488
+ #
2489
+ # * [DescribeJob][3]
2490
+ #
2491
+ # * [UpdateJobPriority][4]
2492
+ #
2493
+ # * [UpdateJobStatus][5]
2494
+ #
2495
+ #
2496
+ #
2497
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
2498
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
2499
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
2500
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
2501
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
2502
+ #
2503
+ # @option params [required, String] :account_id
2504
+ # The AWS account ID associated with the S3 Batch Operations job.
2505
+ #
2506
+ # @option params [Array<String>] :job_statuses
2507
+ # The `List Jobs` request returns jobs that match the statuses listed in
2508
+ # this element.
2509
+ #
2510
+ # @option params [String] :next_token
2511
+ # A pagination token to request the next page of results. Use the token
1154
2512
  # that Amazon S3 returned in the `NextToken` element of the
1155
2513
  # `ListJobsResult` from the previous `List Jobs` request.
1156
2514
  #
@@ -1160,43 +2518,159 @@ module Aws::S3Control
1160
2518
  # will include a pagination token in the `NextToken` field to enable you
1161
2519
  # to retrieve the next page of results.
1162
2520
  #
1163
- # @return [Types::ListJobsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2521
+ # @return [Types::ListJobsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2522
+ #
2523
+ # * {Types::ListJobsResult#next_token #next_token} => String
2524
+ # * {Types::ListJobsResult#jobs #jobs} => Array&lt;Types::JobListDescriptor&gt;
2525
+ #
2526
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2527
+ #
2528
+ # @example Request syntax with placeholder values
2529
+ #
2530
+ # resp = client.list_jobs({
2531
+ # account_id: "AccountId", # required
2532
+ # job_statuses: ["Active"], # accepts Active, Cancelled, Cancelling, Complete, Completing, Failed, Failing, New, Paused, Pausing, Preparing, Ready, Suspended
2533
+ # next_token: "StringForNextToken",
2534
+ # max_results: 1,
2535
+ # })
2536
+ #
2537
+ # @example Response structure
2538
+ #
2539
+ # resp.next_token #=> String
2540
+ # resp.jobs #=> Array
2541
+ # resp.jobs[0].job_id #=> String
2542
+ # resp.jobs[0].description #=> String
2543
+ # resp.jobs[0].operation #=> String, one of "LambdaInvoke", "S3PutObjectCopy", "S3PutObjectAcl", "S3PutObjectTagging", "S3DeleteObjectTagging", "S3InitiateRestoreObject", "S3PutObjectLegalHold", "S3PutObjectRetention"
2544
+ # resp.jobs[0].priority #=> Integer
2545
+ # resp.jobs[0].status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
2546
+ # resp.jobs[0].creation_time #=> Time
2547
+ # resp.jobs[0].termination_date #=> Time
2548
+ # resp.jobs[0].progress_summary.total_number_of_tasks #=> Integer
2549
+ # resp.jobs[0].progress_summary.number_of_tasks_succeeded #=> Integer
2550
+ # resp.jobs[0].progress_summary.number_of_tasks_failed #=> Integer
2551
+ #
2552
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs AWS API Documentation
2553
+ #
2554
+ # @overload list_jobs(params = {})
2555
+ # @param [Hash] params ({})
2556
+ def list_jobs(params = {}, options = {})
2557
+ req = build_request(:list_jobs, params)
2558
+ req.send_request(options)
2559
+ end
2560
+
2561
+ # Returns a list of all Outposts buckets in an Outpost that are owned by
2562
+ # the authenticated sender of the request. For more information, see
2563
+ # [Using Amazon S3 on Outposts][1] in the *Amazon Simple Storage Service
2564
+ # Developer Guide*.
2565
+ #
2566
+ # For an example of the request syntax for Amazon S3 on Outposts that
2567
+ # uses the S3 on Outposts endpoint hostname prefix and
2568
+ # `x-amz-outpost-id` in your request, see the [Examples][2] section.
2569
+ #
2570
+ #
2571
+ #
2572
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2573
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListRegionalBuckets.html#API_control_ListRegionalBuckets_Examples
2574
+ #
2575
+ # @option params [required, String] :account_id
2576
+ # The AWS account ID of the Outposts bucket.
2577
+ #
2578
+ # @option params [String] :next_token
2579
+ #
2580
+ # @option params [Integer] :max_results
2581
+ #
2582
+ # @option params [String] :outpost_id
2583
+ # The ID of the AWS Outposts.
2584
+ #
2585
+ # <note markdown="1"> This is required by Amazon S3 on Outposts buckets.
2586
+ #
2587
+ # </note>
2588
+ #
2589
+ # @return [Types::ListRegionalBucketsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2590
+ #
2591
+ # * {Types::ListRegionalBucketsResult#regional_bucket_list #regional_bucket_list} => Array&lt;Types::RegionalBucket&gt;
2592
+ # * {Types::ListRegionalBucketsResult#next_token #next_token} => String
2593
+ #
2594
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2595
+ #
2596
+ # @example Request syntax with placeholder values
2597
+ #
2598
+ # resp = client.list_regional_buckets({
2599
+ # account_id: "AccountId", # required
2600
+ # next_token: "NonEmptyMaxLength1024String",
2601
+ # max_results: 1,
2602
+ # outpost_id: "NonEmptyMaxLength64String",
2603
+ # })
2604
+ #
2605
+ # @example Response structure
2606
+ #
2607
+ # resp.regional_bucket_list #=> Array
2608
+ # resp.regional_bucket_list[0].bucket #=> String
2609
+ # resp.regional_bucket_list[0].bucket_arn #=> String
2610
+ # resp.regional_bucket_list[0].public_access_block_enabled #=> Boolean
2611
+ # resp.regional_bucket_list[0].creation_date #=> Time
2612
+ # resp.regional_bucket_list[0].outpost_id #=> String
2613
+ # resp.next_token #=> String
2614
+ #
2615
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBuckets AWS API Documentation
2616
+ #
2617
+ # @overload list_regional_buckets(params = {})
2618
+ # @param [Hash] params ({})
2619
+ def list_regional_buckets(params = {}, options = {})
2620
+ req = build_request(:list_regional_buckets, params)
2621
+ req.send_request(options)
2622
+ end
2623
+
2624
+ # Gets a list of Amazon S3 Storage Lens configurations. For more
2625
+ # information about S3 Storage Lens, see [Assessing your storage
2626
+ # activity and usage with Amazon S3 Storage Lens ][1] in the *Amazon
2627
+ # Simple Storage Service Developer Guide*.
2628
+ #
2629
+ # <note markdown="1"> To use this action, you must have permission to perform the
2630
+ # `s3:ListStorageLensConfigurations` action. For more information, see
2631
+ # [Setting permissions to use Amazon S3 Storage Lens][2] in the *Amazon
2632
+ # Simple Storage Service Developer Guide*.
2633
+ #
2634
+ # </note>
2635
+ #
2636
+ #
2637
+ #
2638
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
2639
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
2640
+ #
2641
+ # @option params [required, String] :account_id
2642
+ # The account ID of the requester.
2643
+ #
2644
+ # @option params [String] :next_token
2645
+ # A pagination token to request the next page of results.
1164
2646
  #
1165
- # * {Types::ListJobsResult#next_token #next_token} => String
1166
- # * {Types::ListJobsResult#jobs #jobs} => Array&lt;Types::JobListDescriptor&gt;
2647
+ # @return [Types::ListStorageLensConfigurationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1167
2648
  #
1168
- # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2649
+ # * {Types::ListStorageLensConfigurationsResult#next_token #next_token} => String
2650
+ # * {Types::ListStorageLensConfigurationsResult#storage_lens_configuration_list #storage_lens_configuration_list} => Array&lt;Types::ListStorageLensConfigurationEntry&gt;
1169
2651
  #
1170
2652
  # @example Request syntax with placeholder values
1171
2653
  #
1172
- # resp = client.list_jobs({
2654
+ # resp = client.list_storage_lens_configurations({
1173
2655
  # account_id: "AccountId", # required
1174
- # job_statuses: ["Active"], # accepts Active, Cancelled, Cancelling, Complete, Completing, Failed, Failing, New, Paused, Pausing, Preparing, Ready, Suspended
1175
- # next_token: "StringForNextToken",
1176
- # max_results: 1,
2656
+ # next_token: "ContinuationToken",
1177
2657
  # })
1178
2658
  #
1179
2659
  # @example Response structure
1180
2660
  #
1181
2661
  # resp.next_token #=> String
1182
- # resp.jobs #=> Array
1183
- # resp.jobs[0].job_id #=> String
1184
- # resp.jobs[0].description #=> String
1185
- # resp.jobs[0].operation #=> String, one of "LambdaInvoke", "S3PutObjectCopy", "S3PutObjectAcl", "S3PutObjectTagging", "S3InitiateRestoreObject", "S3PutObjectLegalHold", "S3PutObjectRetention"
1186
- # resp.jobs[0].priority #=> Integer
1187
- # resp.jobs[0].status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
1188
- # resp.jobs[0].creation_time #=> Time
1189
- # resp.jobs[0].termination_date #=> Time
1190
- # resp.jobs[0].progress_summary.total_number_of_tasks #=> Integer
1191
- # resp.jobs[0].progress_summary.number_of_tasks_succeeded #=> Integer
1192
- # resp.jobs[0].progress_summary.number_of_tasks_failed #=> Integer
2662
+ # resp.storage_lens_configuration_list #=> Array
2663
+ # resp.storage_lens_configuration_list[0].id #=> String
2664
+ # resp.storage_lens_configuration_list[0].storage_lens_arn #=> String
2665
+ # resp.storage_lens_configuration_list[0].home_region #=> String
2666
+ # resp.storage_lens_configuration_list[0].is_enabled #=> Boolean
1193
2667
  #
1194
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs AWS API Documentation
2668
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurations AWS API Documentation
1195
2669
  #
1196
- # @overload list_jobs(params = {})
2670
+ # @overload list_storage_lens_configurations(params = {})
1197
2671
  # @param [Hash] params ({})
1198
- def list_jobs(params = {}, options = {})
1199
- req = build_request(:list_jobs, params)
2672
+ def list_storage_lens_configurations(params = {}, options = {})
2673
+ req = build_request(:list_storage_lens_configurations, params)
1200
2674
  req.send_request(options)
1201
2675
  end
1202
2676
 
@@ -1205,6 +2679,28 @@ module Aws::S3Control
1205
2679
  # replaces any existing policy associated with the specified access
1206
2680
  # point.
1207
2681
  #
2682
+ #
2683
+ #
2684
+ # All Amazon S3 on Outposts REST API requests for this action require an
2685
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2686
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2687
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2688
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2689
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2690
+ # [Examples][1] section.
2691
+ #
2692
+ # The following actions are related to `PutAccessPointPolicy`\:
2693
+ #
2694
+ # * [GetAccessPointPolicy][2]
2695
+ #
2696
+ # * [DeleteAccessPointPolicy][3]
2697
+ #
2698
+ #
2699
+ #
2700
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html#API_control_PutAccessPointPolicy_Examples
2701
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html
2702
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html
2703
+ #
1208
2704
  # @option params [required, String] :account_id
1209
2705
  # The AWS account ID for owner of the bucket associated with the
1210
2706
  # specified access point.
@@ -1213,10 +2709,22 @@ module Aws::S3Control
1213
2709
  # The name of the access point that you want to associate with the
1214
2710
  # specified policy.
1215
2711
  #
2712
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2713
+ # you must specify the name and the x-amz-outpost-id as well.
2714
+ #
2715
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2716
+ # you must specify the ARN of the access point accessed in the format
2717
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
2718
+ # For example, to access the access point `reports-ap` through outpost
2719
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2720
+ # use the URL encoding of
2721
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
2722
+ # The value must be URL encoded.
2723
+ #
1216
2724
  # @option params [required, String] :policy
1217
2725
  # The policy that you want to apply to the specified access point. For
1218
- # more information about access point policies, see [Managing Data
1219
- # Access with Amazon S3 Access Points][1] in the *Amazon Simple Storage
2726
+ # more information about access point policies, see [Managing data
2727
+ # access with Amazon S3 Access Points][1] in the *Amazon Simple Storage
1220
2728
  # Service Developer Guide*.
1221
2729
  #
1222
2730
  #
@@ -1242,28 +2750,378 @@ module Aws::S3Control
1242
2750
  req.send_request(options)
1243
2751
  end
1244
2752
 
1245
- # Set the supplied tag-set on an Amazon S3 Batch Operations job.
2753
+ # <note markdown="1"> This action puts a lifecycle configuration to an Amazon S3 on Outposts
2754
+ # bucket. To put a lifecycle configuration to an S3 bucket, see
2755
+ # [PutBucketLifecycleConfiguration][1] in the *Amazon Simple Storage
2756
+ # Service API*.
2757
+ #
2758
+ # </note>
2759
+ #
2760
+ # Creates a new lifecycle configuration for the Outposts bucket or
2761
+ # replaces an existing lifecycle configuration. Outposts buckets only
2762
+ # support lifecycle configurations that delete/expire objects after a
2763
+ # certain period of time and abort incomplete multipart uploads. For
2764
+ # more information, see [Managing Lifecycle Permissions for Amazon S3 on
2765
+ # Outposts][2].
2766
+ #
2767
+ #
2768
+ #
2769
+ # All Amazon S3 on Outposts REST API requests for this action require an
2770
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2771
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2772
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2773
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2774
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2775
+ # [Examples][3] section.
2776
+ #
2777
+ # The following actions are related to
2778
+ # `PutBucketLifecycleConfiguration`\:
2779
+ #
2780
+ # * [GetBucketLifecycleConfiguration][4]
2781
+ #
2782
+ # * [DeleteBucketLifecycleConfiguration][5]
2783
+ #
2784
+ #
2785
+ #
2786
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
2787
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2788
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html#API_control_PutBucketLifecycleConfiguration_Examples
2789
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html
2790
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html
2791
+ #
2792
+ # @option params [required, String] :account_id
2793
+ # The AWS account ID of the Outposts bucket.
2794
+ #
2795
+ # @option params [required, String] :bucket
2796
+ # The name of the bucket for which to set the configuration.
2797
+ #
2798
+ # @option params [Types::LifecycleConfiguration] :lifecycle_configuration
2799
+ # Container for lifecycle rules. You can add as many as 1,000 rules.
2800
+ #
2801
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2802
+ #
2803
+ # @example Request syntax with placeholder values
2804
+ #
2805
+ # resp = client.put_bucket_lifecycle_configuration({
2806
+ # account_id: "AccountId", # required
2807
+ # bucket: "BucketName", # required
2808
+ # lifecycle_configuration: {
2809
+ # rules: [
2810
+ # {
2811
+ # expiration: {
2812
+ # date: Time.now,
2813
+ # days: 1,
2814
+ # expired_object_delete_marker: false,
2815
+ # },
2816
+ # id: "ID",
2817
+ # filter: {
2818
+ # prefix: "Prefix",
2819
+ # tag: {
2820
+ # key: "TagKeyString", # required
2821
+ # value: "TagValueString", # required
2822
+ # },
2823
+ # and: {
2824
+ # prefix: "Prefix",
2825
+ # tags: [
2826
+ # {
2827
+ # key: "TagKeyString", # required
2828
+ # value: "TagValueString", # required
2829
+ # },
2830
+ # ],
2831
+ # },
2832
+ # },
2833
+ # status: "Enabled", # required, accepts Enabled, Disabled
2834
+ # transitions: [
2835
+ # {
2836
+ # date: Time.now,
2837
+ # days: 1,
2838
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2839
+ # },
2840
+ # ],
2841
+ # noncurrent_version_transitions: [
2842
+ # {
2843
+ # noncurrent_days: 1,
2844
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2845
+ # },
2846
+ # ],
2847
+ # noncurrent_version_expiration: {
2848
+ # noncurrent_days: 1,
2849
+ # },
2850
+ # abort_incomplete_multipart_upload: {
2851
+ # days_after_initiation: 1,
2852
+ # },
2853
+ # },
2854
+ # ],
2855
+ # },
2856
+ # })
2857
+ #
2858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfiguration AWS API Documentation
2859
+ #
2860
+ # @overload put_bucket_lifecycle_configuration(params = {})
2861
+ # @param [Hash] params ({})
2862
+ def put_bucket_lifecycle_configuration(params = {}, options = {})
2863
+ req = build_request(:put_bucket_lifecycle_configuration, params)
2864
+ req.send_request(options)
2865
+ end
2866
+
2867
+ # <note markdown="1"> This action puts a bucket policy to an Amazon S3 on Outposts bucket.
2868
+ # To put a policy on an S3 bucket, see [PutBucketPolicy][1] in the
2869
+ # *Amazon Simple Storage Service API*.
2870
+ #
2871
+ # </note>
2872
+ #
2873
+ # Applies an Amazon S3 bucket policy to an Outposts bucket. For more
2874
+ # information, see [Using Amazon S3 on Outposts][2] in the *Amazon
2875
+ # Simple Storage Service Developer Guide*.
2876
+ #
2877
+ # If you are using an identity other than the root user of the AWS
2878
+ # account that owns the Outposts bucket, the calling identity must have
2879
+ # the `PutBucketPolicy` permissions on the specified Outposts bucket and
2880
+ # belong to the bucket owner's account in order to use this operation.
2881
+ #
2882
+ # If you don't have `PutBucketPolicy` permissions, Amazon S3 returns a
2883
+ # `403 Access Denied` error. If you have the correct permissions, but
2884
+ # you're not using an identity that belongs to the bucket owner's
2885
+ # account, Amazon S3 returns a `405 Method Not Allowed` error.
2886
+ #
2887
+ # As a security precaution, the root user of the AWS account that owns a
2888
+ # bucket can always use this operation, even if the policy explicitly
2889
+ # denies the root user the ability to perform this action.
2890
+ #
2891
+ # For more information about bucket policies, see [Using Bucket Policies
2892
+ # and User Policies][3].
2893
+ #
2894
+ # All Amazon S3 on Outposts REST API requests for this action require an
2895
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2896
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2897
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2898
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2899
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2900
+ # [Examples][4] section.
2901
+ #
2902
+ # The following actions are related to `PutBucketPolicy`\:
2903
+ #
2904
+ # * [GetBucketPolicy][5]
2905
+ #
2906
+ # * [DeleteBucketPolicy][6]
2907
+ #
2908
+ #
2909
+ #
2910
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html
2911
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2912
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
2913
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html#API_control_PutBucketPolicy_Examples
2914
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html
2915
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html
2916
+ #
2917
+ # @option params [required, String] :account_id
2918
+ # The AWS account ID of the Outposts bucket.
2919
+ #
2920
+ # @option params [required, String] :bucket
2921
+ # Specifies the bucket.
2922
+ #
2923
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2924
+ # you must specify the name and the x-amz-outpost-id as well.
2925
+ #
2926
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2927
+ # you must specify the ARN of the bucket accessed in the format
2928
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2929
+ # For example, to access the bucket `reports` through outpost
2930
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2931
+ # use the URL encoding of
2932
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2933
+ # The value must be URL encoded.
2934
+ #
2935
+ # @option params [Boolean] :confirm_remove_self_bucket_access
2936
+ # Set this parameter to true to confirm that you want to remove your
2937
+ # permissions to change this bucket policy in the future.
2938
+ #
2939
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2940
+ #
2941
+ # </note>
2942
+ #
2943
+ # @option params [required, String] :policy
2944
+ # The bucket policy as a JSON document.
2945
+ #
2946
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2947
+ #
2948
+ # @example Request syntax with placeholder values
2949
+ #
2950
+ # resp = client.put_bucket_policy({
2951
+ # account_id: "AccountId", # required
2952
+ # bucket: "BucketName", # required
2953
+ # confirm_remove_self_bucket_access: false,
2954
+ # policy: "Policy", # required
2955
+ # })
2956
+ #
2957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicy AWS API Documentation
2958
+ #
2959
+ # @overload put_bucket_policy(params = {})
2960
+ # @param [Hash] params ({})
2961
+ def put_bucket_policy(params = {}, options = {})
2962
+ req = build_request(:put_bucket_policy, params)
2963
+ req.send_request(options)
2964
+ end
2965
+
2966
+ # <note markdown="1"> This action puts tags on an Amazon S3 on Outposts bucket. To put tags
2967
+ # on an S3 bucket, see [PutBucketTagging][1] in the *Amazon Simple
2968
+ # Storage Service API*.
2969
+ #
2970
+ # </note>
2971
+ #
2972
+ # Sets the tags for an Outposts bucket. For more information, see [Using
2973
+ # Amazon S3 on Outposts][2] in the *Amazon Simple Storage Service
2974
+ # Developer Guide*.
2975
+ #
2976
+ # Use tags to organize your AWS bill to reflect your own cost structure.
2977
+ # To do this, sign up to get your AWS account bill with tag key values
2978
+ # included. Then, to see the cost of combined resources, organize your
2979
+ # billing information according to resources with the same tag key
2980
+ # values. For example, you can tag several resources with a specific
2981
+ # application name, and then organize your billing information to see
2982
+ # the total cost of that application across several services. For more
2983
+ # information, see [Cost Allocation and Tagging][3].
2984
+ #
2985
+ # <note markdown="1"> Within a bucket, if you add a tag that has the same key as an existing
2986
+ # tag, the new value overwrites the old value. For more information, see
2987
+ # [ Using Cost Allocation in Amazon S3 Bucket Tags][4].
2988
+ #
2989
+ # </note>
2990
+ #
2991
+ # To use this operation, you must have permissions to perform the
2992
+ # `s3-outposts:PutBucketTagging` action. The Outposts bucket owner has
2993
+ # this permission by default and can grant this permission to others.
2994
+ # For more information about permissions, see [ Permissions Related to
2995
+ # Bucket Subresource Operations][5] and [Managing Access Permissions to
2996
+ # Your Amazon S3 Resources][6].
2997
+ #
2998
+ # `PutBucketTagging` has the following special errors:
2999
+ #
3000
+ # * Error code: `InvalidTagError`
3001
+ #
3002
+ # * Description: The tag provided was not a valid tag. This error can
3003
+ # occur if the tag did not pass input validation. For information
3004
+ # about tag restrictions, see [ User-Defined Tag Restrictions][7]
3005
+ # and [ AWS-Generated Cost Allocation Tag Restrictions][8].
3006
+ #
3007
+ # ^
3008
+ #
3009
+ # * Error code: `MalformedXMLError`
3010
+ #
3011
+ # * Description: The XML provided does not match the schema.
3012
+ #
3013
+ # ^
3014
+ #
3015
+ # * Error code: `OperationAbortedError `
3016
+ #
3017
+ # * Description: A conflicting conditional operation is currently in
3018
+ # progress against this resource. Try again.
3019
+ #
3020
+ # ^
3021
+ #
3022
+ # * Error code: `InternalError`
3023
+ #
3024
+ # * Description: The service was unable to apply the provided tag to
3025
+ # the bucket.
3026
+ #
3027
+ # ^
3028
+ #
3029
+ # All Amazon S3 on Outposts REST API requests for this action require an
3030
+ # additional parameter of `x-amz-outpost-id` to be passed with the
3031
+ # request and an S3 on Outposts endpoint hostname prefix instead of
3032
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
3033
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
3034
+ # `x-amz-outpost-id` derived using the access point ARN, see the
3035
+ # [Examples][9] section.
3036
+ #
3037
+ # The following actions are related to `PutBucketTagging`\:
3038
+ #
3039
+ # * [GetBucketTagging][10]
3040
+ #
3041
+ # * [DeleteBucketTagging][11]
3042
+ #
3043
+ #
3044
+ #
3045
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
3046
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
3047
+ # [3]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
3048
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html
3049
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
3050
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
3051
+ # [7]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
3052
+ # [8]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html
3053
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html#API_control_PutBucketTagging_Examples
3054
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html
3055
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html
3056
+ #
3057
+ # @option params [required, String] :account_id
3058
+ # The AWS account ID of the Outposts bucket.
3059
+ #
3060
+ # @option params [required, String] :bucket
3061
+ # The Amazon Resource Name (ARN) of the bucket.
3062
+ #
3063
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
3064
+ # you must specify the name and the x-amz-outpost-id as well.
3065
+ #
3066
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
3067
+ # you must specify the ARN of the bucket accessed in the format
3068
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
3069
+ # For example, to access the bucket `reports` through outpost
3070
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
3071
+ # use the URL encoding of
3072
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
3073
+ # The value must be URL encoded.
3074
+ #
3075
+ # @option params [required, Types::Tagging] :tagging
3076
+ #
3077
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3078
+ #
3079
+ # @example Request syntax with placeholder values
3080
+ #
3081
+ # resp = client.put_bucket_tagging({
3082
+ # account_id: "AccountId", # required
3083
+ # bucket: "BucketName", # required
3084
+ # tagging: { # required
3085
+ # tag_set: [ # required
3086
+ # {
3087
+ # key: "TagKeyString", # required
3088
+ # value: "TagValueString", # required
3089
+ # },
3090
+ # ],
3091
+ # },
3092
+ # })
3093
+ #
3094
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging AWS API Documentation
3095
+ #
3096
+ # @overload put_bucket_tagging(params = {})
3097
+ # @param [Hash] params ({})
3098
+ def put_bucket_tagging(params = {}, options = {})
3099
+ req = build_request(:put_bucket_tagging, params)
3100
+ req.send_request(options)
3101
+ end
3102
+
3103
+ # Sets the supplied tag-set on an S3 Batch Operations job.
1246
3104
  #
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.
3105
+ # A tag is a key-value pair. You can associate S3 Batch Operations tags
3106
+ # with any job by sending a PUT request against the tagging subresource
3107
+ # that is associated with the job. To modify the existing tag set, you
3108
+ # can either replace the existing tag set entirely, or make changes
3109
+ # within the existing tag set by retrieving the existing tag set using
3110
+ # [GetJobTagging][1], modify that tag set, and use this action to
3111
+ # replace the tag set with the one you modified. For more information,
3112
+ # see [Controlling access and labeling jobs using tags][2] in the
3113
+ # *Amazon Simple Storage Service Developer Guide*.
1256
3114
  #
1257
3115
  #
1258
3116
  #
1259
3117
  # <note markdown="1"> * If you send this request with an empty tag set, Amazon S3 deletes
1260
3118
  # 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].
3119
+ # method, you are charged for a Tier 1 Request (PUT). For more
3120
+ # information, see [Amazon S3 pricing][3].
1263
3121
  #
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.
3122
+ # * For deleting existing tags for your Batch Operations job, a
3123
+ # [DeleteJobTagging][4] request is preferred because it achieves the
3124
+ # same result without incurring charges.
1267
3125
  #
1268
3126
  # * A few things to consider about using tags:
1269
3127
  #
@@ -1278,7 +3136,8 @@ module Aws::S3Control
1278
3136
  # * The key and values are case sensitive.
1279
3137
  #
1280
3138
  # * For tagging-related restrictions related to characters and
1281
- # encodings, see [User-Defined Tag Restrictions][3].
3139
+ # encodings, see [User-Defined Tag Restrictions][5] in the *AWS
3140
+ # Billing and Cost Management User Guide*.
1282
3141
  #
1283
3142
  # </note>
1284
3143
  #
@@ -1289,27 +3148,29 @@ module Aws::S3Control
1289
3148
  #
1290
3149
  # Related actions include:
1291
3150
  #
1292
- # * CreateJob
3151
+ # * [CreatJob][6]
1293
3152
  #
1294
- # * GetJobTagging
3153
+ # * [GetJobTagging][1]
1295
3154
  #
1296
- # * DeleteJobTagging
3155
+ # * [DeleteJobTagging][4]
1297
3156
  #
1298
3157
  #
1299
3158
  #
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
3159
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html
3160
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
3161
+ # [3]: http://aws.amazon.com/s3/pricing/
3162
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html
3163
+ # [5]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
3164
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
1303
3165
  #
1304
3166
  # @option params [required, String] :account_id
1305
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
3167
+ # The AWS account ID associated with the S3 Batch Operations job.
1306
3168
  #
1307
3169
  # @option params [required, String] :job_id
1308
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
1309
- # replace.
3170
+ # The ID for the S3 Batch Operations job whose tags you want to replace.
1310
3171
  #
1311
3172
  # @option params [required, Array<Types::S3Tag>] :tags
1312
- # The set of tags to associate with the Amazon S3 Batch Operations job.
3173
+ # The set of tags to associate with the S3 Batch Operations job.
1313
3174
  #
1314
3175
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1315
3176
  #
@@ -1335,16 +3196,29 @@ module Aws::S3Control
1335
3196
  req.send_request(options)
1336
3197
  end
1337
3198
 
1338
- # Creates or modifies the `PublicAccessBlock` configuration for an
1339
- # Amazon Web Services account.
3199
+ # Creates or modifies the `PublicAccessBlock` configuration for an AWS
3200
+ # account. For more information, see [ Using Amazon S3 block public
3201
+ # access][1].
3202
+ #
3203
+ # Related actions include:
3204
+ #
3205
+ # * [GetPublicAccessBlock][2]
3206
+ #
3207
+ # * [DeletePublicAccessBlock][3]
3208
+ #
3209
+ #
3210
+ #
3211
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
3212
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html
3213
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html
1340
3214
  #
1341
3215
  # @option params [required, Types::PublicAccessBlockConfiguration] :public_access_block_configuration
1342
3216
  # The `PublicAccessBlock` configuration that you want to apply to the
1343
- # specified Amazon Web Services account.
3217
+ # specified AWS account.
1344
3218
  #
1345
3219
  # @option params [required, String] :account_id
1346
- # The account ID for the Amazon Web Services account whose
1347
- # `PublicAccessBlock` configuration you want to set.
3220
+ # The account ID for the AWS account whose `PublicAccessBlock`
3221
+ # configuration you want to set.
1348
3222
  #
1349
3223
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1350
3224
  #
@@ -1369,27 +3243,194 @@ module Aws::S3Control
1369
3243
  req.send_request(options)
1370
3244
  end
1371
3245
 
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.
3246
+ # Puts an Amazon S3 Storage Lens configuration. For more information
3247
+ # about S3 Storage Lens, see [Working with Amazon S3 Storage Lens][1] in
3248
+ # the *Amazon Simple Storage Service Developer Guide*.
3249
+ #
3250
+ # <note markdown="1"> To use this action, you must have permission to perform the
3251
+ # `s3:PutStorageLensConfiguration` action. For more information, see
3252
+ # [Setting permissions to use Amazon S3 Storage Lens][2] in the *Amazon
3253
+ # Simple Storage Service Developer Guide*.
3254
+ #
3255
+ # </note>
3256
+ #
3257
+ #
3258
+ #
3259
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
3260
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
3261
+ #
3262
+ # @option params [required, String] :config_id
3263
+ # The ID of the S3 Storage Lens configuration.
3264
+ #
3265
+ # @option params [required, String] :account_id
3266
+ # The account ID of the requester.
3267
+ #
3268
+ # @option params [required, Types::StorageLensConfiguration] :storage_lens_configuration
3269
+ # The S3 Storage Lens configuration.
3270
+ #
3271
+ # @option params [Array<Types::StorageLensTag>] :tags
3272
+ # The tag set of the S3 Storage Lens configuration.
3273
+ #
3274
+ # <note markdown="1"> You can set up to a maximum of 50 tags.
3275
+ #
3276
+ # </note>
3277
+ #
3278
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3279
+ #
3280
+ # @example Request syntax with placeholder values
3281
+ #
3282
+ # resp = client.put_storage_lens_configuration({
3283
+ # config_id: "ConfigId", # required
3284
+ # account_id: "AccountId", # required
3285
+ # storage_lens_configuration: { # required
3286
+ # id: "ConfigId", # required
3287
+ # account_level: { # required
3288
+ # activity_metrics: {
3289
+ # is_enabled: false,
3290
+ # },
3291
+ # bucket_level: { # required
3292
+ # activity_metrics: {
3293
+ # is_enabled: false,
3294
+ # },
3295
+ # prefix_level: {
3296
+ # storage_metrics: { # required
3297
+ # is_enabled: false,
3298
+ # selection_criteria: {
3299
+ # delimiter: "StorageLensPrefixLevelDelimiter",
3300
+ # max_depth: 1,
3301
+ # min_storage_bytes_percentage: 1.0,
3302
+ # },
3303
+ # },
3304
+ # },
3305
+ # },
3306
+ # },
3307
+ # include: {
3308
+ # buckets: ["S3BucketArnString"],
3309
+ # regions: ["S3AWSRegion"],
3310
+ # },
3311
+ # exclude: {
3312
+ # buckets: ["S3BucketArnString"],
3313
+ # regions: ["S3AWSRegion"],
3314
+ # },
3315
+ # data_export: {
3316
+ # s3_bucket_destination: { # required
3317
+ # format: "CSV", # required, accepts CSV, Parquet
3318
+ # output_schema_version: "V_1", # required, accepts V_1
3319
+ # account_id: "AccountId", # required
3320
+ # arn: "S3BucketArnString", # required
3321
+ # prefix: "Prefix",
3322
+ # encryption: {
3323
+ # sses3: {
3324
+ # },
3325
+ # ssekms: {
3326
+ # key_id: "SSEKMSKeyId", # required
3327
+ # },
3328
+ # },
3329
+ # },
3330
+ # },
3331
+ # is_enabled: false, # required
3332
+ # aws_org: {
3333
+ # arn: "AwsOrgArn", # required
3334
+ # },
3335
+ # storage_lens_arn: "StorageLensArn",
3336
+ # },
3337
+ # tags: [
3338
+ # {
3339
+ # key: "TagKeyString", # required
3340
+ # value: "TagValueString", # required
3341
+ # },
3342
+ # ],
3343
+ # })
3344
+ #
3345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration AWS API Documentation
3346
+ #
3347
+ # @overload put_storage_lens_configuration(params = {})
3348
+ # @param [Hash] params ({})
3349
+ def put_storage_lens_configuration(params = {}, options = {})
3350
+ req = build_request(:put_storage_lens_configuration, params)
3351
+ req.send_request(options)
3352
+ end
3353
+
3354
+ # Put or replace tags on an existing Amazon S3 Storage Lens
3355
+ # configuration. For more information about S3 Storage Lens, see
3356
+ # [Assessing your storage activity and usage with Amazon S3 Storage Lens
3357
+ # ][1] in the *Amazon Simple Storage Service Developer Guide*.
3358
+ #
3359
+ # <note markdown="1"> To use this action, you must have permission to perform the
3360
+ # `s3:PutStorageLensConfigurationTagging` action. For more information,
3361
+ # see [Setting permissions to use Amazon S3 Storage Lens][2] in the
3362
+ # *Amazon Simple Storage Service Developer Guide*.
3363
+ #
3364
+ # </note>
3365
+ #
3366
+ #
3367
+ #
3368
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
3369
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
3370
+ #
3371
+ # @option params [required, String] :config_id
3372
+ # The ID of the S3 Storage Lens configuration.
3373
+ #
3374
+ # @option params [required, String] :account_id
3375
+ # The account ID of the requester.
3376
+ #
3377
+ # @option params [required, Array<Types::StorageLensTag>] :tags
3378
+ # The tag set of the S3 Storage Lens configuration.
3379
+ #
3380
+ # <note markdown="1"> You can set up to a maximum of 50 tags.
3381
+ #
3382
+ # </note>
3383
+ #
3384
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3385
+ #
3386
+ # @example Request syntax with placeholder values
3387
+ #
3388
+ # resp = client.put_storage_lens_configuration_tagging({
3389
+ # config_id: "ConfigId", # required
3390
+ # account_id: "AccountId", # required
3391
+ # tags: [ # required
3392
+ # {
3393
+ # key: "TagKeyString", # required
3394
+ # value: "TagValueString", # required
3395
+ # },
3396
+ # ],
3397
+ # })
3398
+ #
3399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging AWS API Documentation
3400
+ #
3401
+ # @overload put_storage_lens_configuration_tagging(params = {})
3402
+ # @param [Hash] params ({})
3403
+ def put_storage_lens_configuration_tagging(params = {}, options = {})
3404
+ req = build_request(:put_storage_lens_configuration_tagging, params)
3405
+ req.send_request(options)
3406
+ end
3407
+
3408
+ # Updates an existing S3 Batch Operations job's priority. For more
3409
+ # information, see [S3 Batch Operations][1] in the *Amazon Simple
3410
+ # Storage Service Developer Guide*.
1375
3411
  #
1376
3412
  #
1377
3413
  #
1378
3414
  # Related actions include:
1379
3415
  #
1380
- # * CreateJob
3416
+ # * [CreateJob][2]
1381
3417
  #
1382
- # * ListJobs
3418
+ # * [ListJobs][3]
1383
3419
  #
1384
- # * DescribeJob
3420
+ # * [DescribeJob][4]
1385
3421
  #
1386
- # * UpdateJobStatus
3422
+ # * [UpdateJobStatus][5]
1387
3423
  #
1388
3424
  #
1389
3425
  #
1390
3426
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
3427
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
3428
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
3429
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
3430
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
1391
3431
  #
1392
3432
  # @option params [required, String] :account_id
3433
+ # The AWS account ID associated with the S3 Batch Operations job.
1393
3434
  #
1394
3435
  # @option params [required, String] :job_id
1395
3436
  # The ID for the job whose priority you want to update.
@@ -1426,26 +3467,31 @@ module Aws::S3Control
1426
3467
 
1427
3468
  # Updates the status for the specified job. Use this operation to
1428
3469
  # 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.
3470
+ # more information, see [S3 Batch Operations][1] in the *Amazon Simple
3471
+ # Storage Service Developer Guide*.
1431
3472
  #
1432
3473
  #
1433
3474
  #
1434
3475
  # Related actions include:
1435
3476
  #
1436
- # * CreateJob
3477
+ # * [CreateJob][2]
1437
3478
  #
1438
- # * ListJobs
3479
+ # * [ListJobs][3]
1439
3480
  #
1440
- # * DescribeJob
3481
+ # * [DescribeJob][4]
1441
3482
  #
1442
- # * UpdateJobStatus
3483
+ # * [UpdateJobStatus][5]
1443
3484
  #
1444
3485
  #
1445
3486
  #
1446
3487
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
3488
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
3489
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
3490
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
3491
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
1447
3492
  #
1448
3493
  # @option params [required, String] :account_id
3494
+ # The AWS account ID associated with the S3 Batch Operations job.
1449
3495
  #
1450
3496
  # @option params [required, String] :job_id
1451
3497
  # The ID of the job whose status you want to update.
@@ -1500,7 +3546,7 @@ module Aws::S3Control
1500
3546
  params: params,
1501
3547
  config: config)
1502
3548
  context[:gem_name] = 'aws-sdk-s3control'
1503
- context[:gem_version] = '1.23.0'
3549
+ context[:gem_version] = '1.28.0'
1504
3550
  Seahorse::Client::Request.new(handlers, context)
1505
3551
  end
1506
3552