aws-sdk-s3control 1.23.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f088de3ba6d80a2abd597fab94badf858d8cd6317ca1a89a4c624f7427b3ec22
4
- data.tar.gz: 1184e06f9cce8ba12d0d7abe7cf600839025a6bfb11866e69b0c26aeab975868
3
+ metadata.gz: 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