aws-sdk-s3control 1.22.0 → 1.27.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: 91e6ea3b210d0a39fc487a2837face8de0ad075b2641d6e580c1665ebe6c0249
4
- data.tar.gz: ad6d774afaf809daba8f7688283865cdd0eb68c45672814225d6f0a23922eb53
3
+ metadata.gz: c1a5c00be39571ea431e5c2657fcb75164b0d1fd95bb001a547b673092ea7cb4
4
+ data.tar.gz: 6858c8a05b71494c43d92f7e43c4e1c0e6dad516aff47309216fc583438e9f3a
5
5
  SHA512:
6
- metadata.gz: 48b50f77cb22e7037be15393298c81c70d02e4583c6610cec945bde69982d786879921e249634a1d125d58836fb2769b2dae8066203bf8cbfc85ce80164f052e
7
- data.tar.gz: 718399507cf13dc0170f1a4e7e844c49600b93ac5a60c547c225e6fc0545c3a8a76f30778e63704d2f9db3ebefe69d59b1c298292465f4cf5e3fab91743557ca
6
+ metadata.gz: 05cb9c5c7b72128d6e067ad1606c7c54c837f7fc1b4fb6315bf4002a071dc45c2d6dc1880d0805f8223e9a9e438f6cffb3e50ef75aa6166048fd66a2a1141449
7
+ data.tar.gz: 51ff4b9b389b8b89bbaece3980f96284645b9f7fdc7fbd7b287c38ad279b4b06a2692d56910312785c16ff637440491d11aeb2c3803c2c8d5052209f8e6674ef
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sigv4'
11
12
  require 'aws-sdk-core'
12
13
 
@@ -47,6 +48,6 @@ require_relative 'aws-sdk-s3control/customizations'
47
48
  # @!group service
48
49
  module Aws::S3Control
49
50
 
50
- GEM_VERSION = '1.22.0'
51
+ GEM_VERSION = '1.27.0'
51
52
 
52
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,543 @@ 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
+ #
1488
+ # @option params [required, String] :job_id
1489
+ # The ID for the job whose information you want to retrieve.
1490
+ #
1491
+ # @return [Types::DescribeJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1492
+ #
1493
+ # * {Types::DescribeJobResult#job #job} => Types::JobDescriptor
1494
+ #
1495
+ # @example Request syntax with placeholder values
1496
+ #
1497
+ # resp = client.describe_job({
1498
+ # account_id: "AccountId", # required
1499
+ # job_id: "JobId", # required
1500
+ # })
1501
+ #
1502
+ # @example Response structure
1503
+ #
1504
+ # resp.job.job_id #=> String
1505
+ # resp.job.confirmation_required #=> Boolean
1506
+ # resp.job.description #=> String
1507
+ # resp.job.job_arn #=> String
1508
+ # resp.job.status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
1509
+ # resp.job.manifest.spec.format #=> String, one of "S3BatchOperations_CSV_20180820", "S3InventoryReport_CSV_20161130"
1510
+ # resp.job.manifest.spec.fields #=> Array
1511
+ # resp.job.manifest.spec.fields[0] #=> String, one of "Ignore", "Bucket", "Key", "VersionId"
1512
+ # resp.job.manifest.location.object_arn #=> String
1513
+ # resp.job.manifest.location.object_version_id #=> String
1514
+ # resp.job.manifest.location.etag #=> String
1515
+ # resp.job.operation.lambda_invoke.function_arn #=> String
1516
+ # resp.job.operation.s3_put_object_copy.target_resource #=> String
1517
+ # 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"
1518
+ # resp.job.operation.s3_put_object_copy.access_control_grants #=> Array
1519
+ # resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.type_identifier #=> String, one of "id", "emailAddress", "uri"
1520
+ # resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.identifier #=> String
788
1521
  # resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.display_name #=> String
789
1522
  # resp.job.operation.s3_put_object_copy.access_control_grants[0].permission #=> String, one of "FULL_CONTROL", "READ", "WRITE", "READ_ACP", "WRITE_ACP"
790
1523
  # resp.job.operation.s3_put_object_copy.metadata_directive #=> String, one of "COPY", "REPLACE"
@@ -860,6 +1593,31 @@ module Aws::S3Control
860
1593
 
861
1594
  # Returns configuration information about the specified access point.
862
1595
  #
1596
+ #
1597
+ #
1598
+ # All Amazon S3 on Outposts REST API requests for this action require an
1599
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1600
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1601
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1602
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1603
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1604
+ # [Examples][1] section.
1605
+ #
1606
+ # The following actions are related to `GetAccessPoint`\:
1607
+ #
1608
+ # * [CreateAccessPoint][2]
1609
+ #
1610
+ # * [DeleteAccessPoint][3]
1611
+ #
1612
+ # * [ListAccessPoints][4]
1613
+ #
1614
+ #
1615
+ #
1616
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples
1617
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html
1618
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html
1619
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html
1620
+ #
863
1621
  # @option params [required, String] :account_id
864
1622
  # The account ID for the account that owns the specified access point.
865
1623
  #
@@ -867,6 +1625,18 @@ module Aws::S3Control
867
1625
  # The name of the access point whose configuration information you want
868
1626
  # to retrieve.
869
1627
  #
1628
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1629
+ # you must specify the name and the x-amz-outpost-id as well.
1630
+ #
1631
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1632
+ # you must specify the ARN of the access point accessed in the format
1633
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
1634
+ # For example, to access the access point `reports-ap` through outpost
1635
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1636
+ # use the URL encoding of
1637
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
1638
+ # The value must be URL encoded.
1639
+ #
870
1640
  # @return [Types::GetAccessPointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
871
1641
  #
872
1642
  # * {Types::GetAccessPointResult#name #name} => String
@@ -907,12 +1677,35 @@ module Aws::S3Control
907
1677
  # Returns the access point policy associated with the specified access
908
1678
  # point.
909
1679
  #
1680
+ # The following actions are related to `GetAccessPointPolicy`\:
1681
+ #
1682
+ # * [PutAccessPointPolicy][1]
1683
+ #
1684
+ # * [DeleteAccessPointPolicy][2]
1685
+ #
1686
+ #
1687
+ #
1688
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html
1689
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html
1690
+ #
910
1691
  # @option params [required, String] :account_id
911
1692
  # The account ID for the account that owns the specified access point.
912
1693
  #
913
1694
  # @option params [required, String] :name
914
1695
  # The name of the access point whose policy you want to retrieve.
915
1696
  #
1697
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1698
+ # you must specify the name and the x-amz-outpost-id as well.
1699
+ #
1700
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1701
+ # you must specify the ARN of the access point accessed in the format
1702
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
1703
+ # For example, to access the access point `reports-ap` through outpost
1704
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1705
+ # use the URL encoding of
1706
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
1707
+ # The value must be URL encoded.
1708
+ #
916
1709
  # @return [Types::GetAccessPointPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
917
1710
  #
918
1711
  # * {Types::GetAccessPointPolicyResult#policy #policy} => String
@@ -976,181 +1769,744 @@ module Aws::S3Control
976
1769
  req.send_request(options)
977
1770
  end
978
1771
 
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*.
1772
+ # Gets an Amazon S3 on Outposts bucket. For more information, see [
1773
+ # Using Amazon S3 on Outposts][1] in the *Amazon Simple Storage Service
1774
+ # Developer Guide*.
983
1775
  #
1776
+ # If you are using an identity other than the root user of the AWS
1777
+ # account that owns the bucket, the calling identity must have the
1778
+ # `s3-outposts:GetBucket` permissions on the specified bucket and belong
1779
+ # to the bucket owner's account in order to use this operation. Only
1780
+ # users from Outposts bucket owner account with the right permissions
1781
+ # can perform actions on an Outposts bucket.
984
1782
  #
1783
+ # If you don't have `s3-outposts:GetBucket` permissions or you're not
1784
+ # using an identity that belongs to the bucket owner's account, Amazon
1785
+ # S3 returns a `403 Access Denied` error.
985
1786
  #
986
- # Related actions include:
1787
+ # The following actions are related to `GetBucket` for Amazon S3 on
1788
+ # Outposts:
987
1789
  #
988
- # * CreateJob
1790
+ # All Amazon S3 on Outposts REST API requests for this action require an
1791
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1792
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1793
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1794
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1795
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1796
+ # [Examples][2] section.
989
1797
  #
990
- # * PutJobTagging
1798
+ # * [PutObject][3]
991
1799
  #
992
- # * DeleteJobTagging
1800
+ # * [CreateBucket][4]
993
1801
  #
1802
+ # * [DeleteBucket][5]
994
1803
  #
995
1804
  #
996
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
1805
+ #
1806
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1807
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html#API_control_GetBucket_Examples
1808
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1809
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
1810
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html
997
1811
  #
998
1812
  # @option params [required, String] :account_id
999
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
1813
+ # The AWS account ID of the Outposts bucket.
1000
1814
  #
1001
- # @option params [required, String] :job_id
1002
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
1003
- # retrieve.
1815
+ # @option params [required, String] :bucket
1816
+ # Specifies the bucket.
1004
1817
  #
1005
- # @return [Types::GetJobTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1818
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1819
+ # you must specify the name and the x-amz-outpost-id as well.
1006
1820
  #
1007
- # * {Types::GetJobTaggingResult#tags #tags} => Array&lt;Types::S3Tag&gt;
1821
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1822
+ # you must specify the ARN of the bucket accessed in the format
1823
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1824
+ # For example, to access the bucket `reports` through outpost
1825
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1826
+ # use the URL encoding of
1827
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1828
+ # The value must be URL encoded.
1829
+ #
1830
+ # @return [Types::GetBucketResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1831
+ #
1832
+ # * {Types::GetBucketResult#bucket #bucket} => String
1833
+ # * {Types::GetBucketResult#public_access_block_enabled #public_access_block_enabled} => Boolean
1834
+ # * {Types::GetBucketResult#creation_date #creation_date} => Time
1008
1835
  #
1009
1836
  # @example Request syntax with placeholder values
1010
1837
  #
1011
- # resp = client.get_job_tagging({
1838
+ # resp = client.get_bucket({
1012
1839
  # account_id: "AccountId", # required
1013
- # job_id: "JobId", # required
1840
+ # bucket: "BucketName", # required
1014
1841
  # })
1015
1842
  #
1016
1843
  # @example Response structure
1017
1844
  #
1018
- # resp.tags #=> Array
1019
- # resp.tags[0].key #=> String
1020
- # resp.tags[0].value #=> String
1845
+ # resp.bucket #=> String
1846
+ # resp.public_access_block_enabled #=> Boolean
1847
+ # resp.creation_date #=> Time
1021
1848
  #
1022
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging AWS API Documentation
1849
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucket AWS API Documentation
1023
1850
  #
1024
- # @overload get_job_tagging(params = {})
1851
+ # @overload get_bucket(params = {})
1025
1852
  # @param [Hash] params ({})
1026
- def get_job_tagging(params = {}, options = {})
1027
- req = build_request(:get_job_tagging, params)
1853
+ def get_bucket(params = {}, options = {})
1854
+ req = build_request(:get_bucket, params)
1028
1855
  req.send_request(options)
1029
1856
  end
1030
1857
 
1031
- # Retrieves the `PublicAccessBlock` configuration for an Amazon Web
1032
- # Services account.
1858
+ # <note markdown="1"> This operation gets an Amazon S3 on Outposts bucket's lifecycle
1859
+ # configuration. To get an S3 bucket's lifecycle configuration, see
1860
+ # [GetBucketLifecycleConfiguration][1] in the *Amazon Simple Storage
1861
+ # Service API*.
1033
1862
  #
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.
1863
+ # </note>
1037
1864
  #
1038
- # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1865
+ # Returns the lifecycle configuration information set on the Outposts
1866
+ # bucket. For more information, see [Using Amazon S3 on Outposts][2] and
1867
+ # for information about lifecycle configuration, see [ Object Lifecycle
1868
+ # Management][3] in *Amazon Simple Storage Service Developer Guide*.
1039
1869
  #
1040
- # * {Types::GetPublicAccessBlockOutput#public_access_block_configuration #public_access_block_configuration} => Types::PublicAccessBlockConfiguration
1870
+ # To use this operation, you must have permission to perform the
1871
+ # `s3-outposts:GetLifecycleConfiguration` action. The Outposts bucket
1872
+ # owner has this permission, by default. The bucket owner can grant this
1873
+ # permission to others. For more information about permissions, see
1874
+ # [Permissions Related to Bucket Subresource Operations][4] and
1875
+ # [Managing Access Permissions to Your Amazon S3 Resources][5].
1041
1876
  #
1042
- # @example Request syntax with placeholder values
1877
+ # All Amazon S3 on Outposts REST API requests for this action require an
1878
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1879
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1880
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1881
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1882
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1883
+ # [Examples][6] section.
1043
1884
  #
1044
- # resp = client.get_public_access_block({
1045
- # account_id: "AccountId", # required
1046
- # })
1885
+ # `GetBucketLifecycleConfiguration` has the following special error:
1047
1886
  #
1048
- # @example Response structure
1887
+ # * Error code: `NoSuchLifecycleConfiguration`
1049
1888
  #
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
1889
+ # * Description: The lifecycle configuration does not exist.
1054
1890
  #
1055
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock AWS API Documentation
1891
+ # * HTTP Status Code: 404 Not Found
1056
1892
  #
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.
1893
+ # * SOAP Fault Code Prefix: Client
1070
1894
  #
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.
1895
+ # The following actions are related to
1896
+ # `GetBucketLifecycleConfiguration`\:
1074
1897
  #
1075
- # @option params [String] :bucket
1076
- # The name of the bucket whose associated access points you want to
1077
- # list.
1898
+ # * [PutBucketLifecycleConfiguration][7]
1078
1899
  #
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.
1900
+ # * [DeleteBucketLifecycleConfiguration][8]
1083
1901
  #
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
1902
  #
1091
- # @return [Types::ListAccessPointsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1092
1903
  #
1093
- # * {Types::ListAccessPointsResult#access_point_list #access_point_list} => Array&lt;Types::AccessPoint&gt;
1094
- # * {Types::ListAccessPointsResult#next_token #next_token} => String
1904
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
1905
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1906
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
1907
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1908
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
1909
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html#API_control_GetBucketLifecycleConfiguration_Examples
1910
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html
1911
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html
1095
1912
  #
1096
- # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1913
+ # @option params [required, String] :account_id
1914
+ # The AWS account ID of the Outposts bucket.
1915
+ #
1916
+ # @option params [required, String] :bucket
1917
+ # The Amazon Resource Name (ARN) of the bucket.
1918
+ #
1919
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
1920
+ # you must specify the name and the x-amz-outpost-id as well.
1921
+ #
1922
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
1923
+ # you must specify the ARN of the bucket accessed in the format
1924
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1925
+ # For example, to access the bucket `reports` through outpost
1926
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1927
+ # use the URL encoding of
1928
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1929
+ # The value must be URL encoded.
1930
+ #
1931
+ # @return [Types::GetBucketLifecycleConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1932
+ #
1933
+ # * {Types::GetBucketLifecycleConfigurationResult#rules #rules} => Array&lt;Types::LifecycleRule&gt;
1097
1934
  #
1098
1935
  # @example Request syntax with placeholder values
1099
1936
  #
1100
- # resp = client.list_access_points({
1937
+ # resp = client.get_bucket_lifecycle_configuration({
1101
1938
  # account_id: "AccountId", # required
1102
- # bucket: "BucketName",
1103
- # next_token: "NonEmptyMaxLength1024String",
1104
- # max_results: 1,
1939
+ # bucket: "BucketName", # required
1105
1940
  # })
1106
1941
  #
1107
1942
  # @example Response structure
1108
1943
  #
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 = {})
1944
+ # resp.rules #=> Array
1945
+ # resp.rules[0].expiration.date #=> Time
1946
+ # resp.rules[0].expiration.days #=> Integer
1947
+ # resp.rules[0].expiration.expired_object_delete_marker #=> Boolean
1948
+ # resp.rules[0].id #=> String
1949
+ # resp.rules[0].filter.prefix #=> String
1950
+ # resp.rules[0].filter.tag.key #=> String
1951
+ # resp.rules[0].filter.tag.value #=> String
1952
+ # resp.rules[0].filter.and.prefix #=> String
1953
+ # resp.rules[0].filter.and.tags #=> Array
1954
+ # resp.rules[0].filter.and.tags[0].key #=> String
1955
+ # resp.rules[0].filter.and.tags[0].value #=> String
1956
+ # resp.rules[0].status #=> String, one of "Enabled", "Disabled"
1957
+ # resp.rules[0].transitions #=> Array
1958
+ # resp.rules[0].transitions[0].date #=> Time
1959
+ # resp.rules[0].transitions[0].days #=> Integer
1960
+ # resp.rules[0].transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
1961
+ # resp.rules[0].noncurrent_version_transitions #=> Array
1962
+ # resp.rules[0].noncurrent_version_transitions[0].noncurrent_days #=> Integer
1963
+ # resp.rules[0].noncurrent_version_transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
1964
+ # resp.rules[0].noncurrent_version_expiration.noncurrent_days #=> Integer
1965
+ # resp.rules[0].abort_incomplete_multipart_upload.days_after_initiation #=> Integer
1966
+ #
1967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfiguration AWS API Documentation
1968
+ #
1969
+ # @overload get_bucket_lifecycle_configuration(params = {})
1119
1970
  # @param [Hash] params ({})
1120
- def list_access_points(params = {}, options = {})
1121
- req = build_request(:list_access_points, params)
1971
+ def get_bucket_lifecycle_configuration(params = {}, options = {})
1972
+ req = build_request(:get_bucket_lifecycle_configuration, params)
1122
1973
  req.send_request(options)
1123
1974
  end
1124
1975
 
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
1976
+ # <note markdown="1"> This action gets a bucket policy for an Amazon S3 on Outposts bucket.
1977
+ # To get a policy for an S3 bucket, see [GetBucketPolicy][1] in the
1978
+ # *Amazon Simple Storage Service API*.
1979
+ #
1980
+ # </note>
1981
+ #
1982
+ # Returns the policy of a specified Outposts bucket. For more
1983
+ # information, see [Using Amazon S3 on Outposts][2] in the *Amazon
1128
1984
  # Simple Storage Service Developer Guide*.
1129
1985
  #
1130
- # Related actions include:
1986
+ # If you are using an identity other than the root user of the AWS
1987
+ # account that owns the bucket, the calling identity must have the
1988
+ # `GetBucketPolicy` permissions on the specified bucket and belong to
1989
+ # the bucket owner's account in order to use this operation.
1131
1990
  #
1991
+ # Only users from Outposts bucket owner account with the right
1992
+ # permissions can perform actions on an Outposts bucket. If you don't
1993
+ # have `s3-outposts:GetBucketPolicy` permissions or you're not using an
1994
+ # identity that belongs to the bucket owner's account, Amazon S3
1995
+ # returns a `403 Access Denied` error.
1132
1996
  #
1997
+ # As a security precaution, the root user of the AWS account that owns a
1998
+ # bucket can always use this operation, even if the policy explicitly
1999
+ # denies the root user the ability to perform this action.
1133
2000
  #
1134
- # * CreateJob
2001
+ # For more information about bucket policies, see [Using Bucket Policies
2002
+ # and User Policies][3].
1135
2003
  #
1136
- # * DescribeJob
2004
+ # All Amazon S3 on Outposts REST API requests for this action require an
2005
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2006
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2007
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2008
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2009
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2010
+ # [Examples][4] section.
1137
2011
  #
1138
- # * UpdateJobPriority
2012
+ # The following actions are related to `GetBucketPolicy`\:
1139
2013
  #
1140
- # * UpdateJobStatus
2014
+ # * [GetObject][5]
1141
2015
  #
2016
+ # * [PutBucketPolicy][6]
1142
2017
  #
2018
+ # * [DeleteBucketPolicy][7]
1143
2019
  #
1144
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
2020
+ #
2021
+ #
2022
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html
2023
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2024
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
2025
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html#API_control_GetBucketPolicy_Examples
2026
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
2027
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html
2028
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html
1145
2029
  #
1146
2030
  # @option params [required, String] :account_id
2031
+ # The AWS account ID of the Outposts bucket.
1147
2032
  #
1148
- # @option params [Array<String>] :job_statuses
1149
- # The `List Jobs` request returns jobs that match the statuses listed in
1150
- # this element.
2033
+ # @option params [required, String] :bucket
2034
+ # Specifies the bucket.
1151
2035
  #
1152
- # @option params [String] :next_token
1153
- # A pagination token to request the next page of results. Use the token
2036
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2037
+ # you must specify the name and the x-amz-outpost-id as well.
2038
+ #
2039
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2040
+ # you must specify the ARN of the bucket accessed in the format
2041
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2042
+ # For example, to access the bucket `reports` through outpost
2043
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2044
+ # use the URL encoding of
2045
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2046
+ # The value must be URL encoded.
2047
+ #
2048
+ # @return [Types::GetBucketPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2049
+ #
2050
+ # * {Types::GetBucketPolicyResult#policy #policy} => String
2051
+ #
2052
+ # @example Request syntax with placeholder values
2053
+ #
2054
+ # resp = client.get_bucket_policy({
2055
+ # account_id: "AccountId", # required
2056
+ # bucket: "BucketName", # required
2057
+ # })
2058
+ #
2059
+ # @example Response structure
2060
+ #
2061
+ # resp.policy #=> String
2062
+ #
2063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicy AWS API Documentation
2064
+ #
2065
+ # @overload get_bucket_policy(params = {})
2066
+ # @param [Hash] params ({})
2067
+ def get_bucket_policy(params = {}, options = {})
2068
+ req = build_request(:get_bucket_policy, params)
2069
+ req.send_request(options)
2070
+ end
2071
+
2072
+ # <note markdown="1"> This operation gets an Amazon S3 on Outposts bucket's tags. To get an
2073
+ # S3 bucket tags, see [GetBucketTagging][1] in the *Amazon Simple
2074
+ # Storage Service API*.
2075
+ #
2076
+ # </note>
2077
+ #
2078
+ # Returns the tag set associated with the Outposts bucket. For more
2079
+ # information, see [Using Amazon S3 on Outposts][2] in the *Amazon
2080
+ # Simple Storage Service Developer Guide*.
2081
+ #
2082
+ # To use this operation, you must have permission to perform the
2083
+ # `GetBucketTagging` action. By default, the bucket owner has this
2084
+ # permission and can grant this permission to others.
2085
+ #
2086
+ # `GetBucketTagging` has the following special error:
2087
+ #
2088
+ # * Error code: `NoSuchTagSetError`
2089
+ #
2090
+ # * Description: There is no tag set associated with the bucket.
2091
+ #
2092
+ # ^
2093
+ #
2094
+ # All Amazon S3 on Outposts REST API requests for this action require an
2095
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2096
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2097
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2098
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2099
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2100
+ # [Examples][3] section.
2101
+ #
2102
+ # The following actions are related to `GetBucketTagging`\:
2103
+ #
2104
+ # * [PutBucketTagging][4]
2105
+ #
2106
+ # * [DeleteBucketTagging][5]
2107
+ #
2108
+ #
2109
+ #
2110
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
2111
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2112
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html#API_control_GetBucketTagging_Examples
2113
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html
2114
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html
2115
+ #
2116
+ # @option params [required, String] :account_id
2117
+ # The AWS account ID of the Outposts bucket.
2118
+ #
2119
+ # @option params [required, String] :bucket
2120
+ # Specifies the bucket.
2121
+ #
2122
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2123
+ # you must specify the name and the x-amz-outpost-id as well.
2124
+ #
2125
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2126
+ # you must specify the ARN of the bucket accessed in the format
2127
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2128
+ # For example, to access the bucket `reports` through outpost
2129
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2130
+ # use the URL encoding of
2131
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2132
+ # The value must be URL encoded.
2133
+ #
2134
+ # @return [Types::GetBucketTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2135
+ #
2136
+ # * {Types::GetBucketTaggingResult#tag_set #tag_set} => Array&lt;Types::S3Tag&gt;
2137
+ #
2138
+ # @example Request syntax with placeholder values
2139
+ #
2140
+ # resp = client.get_bucket_tagging({
2141
+ # account_id: "AccountId", # required
2142
+ # bucket: "BucketName", # required
2143
+ # })
2144
+ #
2145
+ # @example Response structure
2146
+ #
2147
+ # resp.tag_set #=> Array
2148
+ # resp.tag_set[0].key #=> String
2149
+ # resp.tag_set[0].value #=> String
2150
+ #
2151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTagging AWS API Documentation
2152
+ #
2153
+ # @overload get_bucket_tagging(params = {})
2154
+ # @param [Hash] params ({})
2155
+ def get_bucket_tagging(params = {}, options = {})
2156
+ req = build_request(:get_bucket_tagging, params)
2157
+ req.send_request(options)
2158
+ end
2159
+
2160
+ # Returns the tags on an S3 Batch Operations job. To use this operation,
2161
+ # you must have permission to perform the `s3:GetJobTagging` action. For
2162
+ # more information, see [Controlling access and labeling jobs using
2163
+ # tags][1] in the *Amazon Simple Storage Service Developer Guide*.
2164
+ #
2165
+ #
2166
+ #
2167
+ # Related actions include:
2168
+ #
2169
+ # * [CreateJob][2]
2170
+ #
2171
+ # * [PutJobTagging][3]
2172
+ #
2173
+ # * [DeleteJobTagging][4]
2174
+ #
2175
+ #
2176
+ #
2177
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
2178
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
2179
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html
2180
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html
2181
+ #
2182
+ # @option params [required, String] :account_id
2183
+ # The AWS account ID associated with the S3 Batch Operations job.
2184
+ #
2185
+ # @option params [required, String] :job_id
2186
+ # The ID for the S3 Batch Operations job whose tags you want to
2187
+ # retrieve.
2188
+ #
2189
+ # @return [Types::GetJobTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2190
+ #
2191
+ # * {Types::GetJobTaggingResult#tags #tags} => Array&lt;Types::S3Tag&gt;
2192
+ #
2193
+ # @example Request syntax with placeholder values
2194
+ #
2195
+ # resp = client.get_job_tagging({
2196
+ # account_id: "AccountId", # required
2197
+ # job_id: "JobId", # required
2198
+ # })
2199
+ #
2200
+ # @example Response structure
2201
+ #
2202
+ # resp.tags #=> Array
2203
+ # resp.tags[0].key #=> String
2204
+ # resp.tags[0].value #=> String
2205
+ #
2206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging AWS API Documentation
2207
+ #
2208
+ # @overload get_job_tagging(params = {})
2209
+ # @param [Hash] params ({})
2210
+ def get_job_tagging(params = {}, options = {})
2211
+ req = build_request(:get_job_tagging, params)
2212
+ req.send_request(options)
2213
+ end
2214
+
2215
+ # Retrieves the `PublicAccessBlock` configuration for an AWS account.
2216
+ # For more information, see [ Using Amazon S3 block public access][1].
2217
+ #
2218
+ # Related actions include:
2219
+ #
2220
+ # * [DeletePublicAccessBlock][2]
2221
+ #
2222
+ # * [PutPublicAccessBlock][3]
2223
+ #
2224
+ #
2225
+ #
2226
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
2227
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html
2228
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html
2229
+ #
2230
+ # @option params [required, String] :account_id
2231
+ # The account ID for the AWS account whose `PublicAccessBlock`
2232
+ # configuration you want to retrieve.
2233
+ #
2234
+ # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2235
+ #
2236
+ # * {Types::GetPublicAccessBlockOutput#public_access_block_configuration #public_access_block_configuration} => Types::PublicAccessBlockConfiguration
2237
+ #
2238
+ # @example Request syntax with placeholder values
2239
+ #
2240
+ # resp = client.get_public_access_block({
2241
+ # account_id: "AccountId", # required
2242
+ # })
2243
+ #
2244
+ # @example Response structure
2245
+ #
2246
+ # resp.public_access_block_configuration.block_public_acls #=> Boolean
2247
+ # resp.public_access_block_configuration.ignore_public_acls #=> Boolean
2248
+ # resp.public_access_block_configuration.block_public_policy #=> Boolean
2249
+ # resp.public_access_block_configuration.restrict_public_buckets #=> Boolean
2250
+ #
2251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock AWS API Documentation
2252
+ #
2253
+ # @overload get_public_access_block(params = {})
2254
+ # @param [Hash] params ({})
2255
+ def get_public_access_block(params = {}, options = {})
2256
+ req = build_request(:get_public_access_block, params)
2257
+ req.send_request(options)
2258
+ end
2259
+
2260
+ # Gets the Amazon S3 Storage Lens configuration. For more information,
2261
+ # see [Assessing your storage activity and usage with Amazon S3 Storage
2262
+ # Lens ][1] in the *Amazon Simple Storage Service Developer Guide*.
2263
+ #
2264
+ # <note markdown="1"> To use this action, you must have permission to perform the
2265
+ # `s3:GetStorageLensConfiguration` action. For more information, see
2266
+ # [Setting permissions to use Amazon S3 Storage Lens][2] in the *Amazon
2267
+ # Simple Storage Service Developer Guide*.
2268
+ #
2269
+ # </note>
2270
+ #
2271
+ #
2272
+ #
2273
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
2274
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
2275
+ #
2276
+ # @option params [required, String] :config_id
2277
+ # The ID of the Amazon S3 Storage Lens configuration.
2278
+ #
2279
+ # @option params [required, String] :account_id
2280
+ # The account ID of the requester.
2281
+ #
2282
+ # @return [Types::GetStorageLensConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2283
+ #
2284
+ # * {Types::GetStorageLensConfigurationResult#storage_lens_configuration #storage_lens_configuration} => Types::StorageLensConfiguration
2285
+ #
2286
+ # @example Request syntax with placeholder values
2287
+ #
2288
+ # resp = client.get_storage_lens_configuration({
2289
+ # config_id: "ConfigId", # required
2290
+ # account_id: "AccountId", # required
2291
+ # })
2292
+ #
2293
+ # @example Response structure
2294
+ #
2295
+ # resp.storage_lens_configuration.id #=> String
2296
+ # resp.storage_lens_configuration.account_level.activity_metrics.is_enabled #=> Boolean
2297
+ # resp.storage_lens_configuration.account_level.bucket_level.activity_metrics.is_enabled #=> Boolean
2298
+ # resp.storage_lens_configuration.account_level.bucket_level.prefix_level.storage_metrics.is_enabled #=> Boolean
2299
+ # resp.storage_lens_configuration.account_level.bucket_level.prefix_level.storage_metrics.selection_criteria.delimiter #=> String
2300
+ # resp.storage_lens_configuration.account_level.bucket_level.prefix_level.storage_metrics.selection_criteria.max_depth #=> Integer
2301
+ # resp.storage_lens_configuration.account_level.bucket_level.prefix_level.storage_metrics.selection_criteria.min_storage_bytes_percentage #=> Float
2302
+ # resp.storage_lens_configuration.include.buckets #=> Array
2303
+ # resp.storage_lens_configuration.include.buckets[0] #=> String
2304
+ # resp.storage_lens_configuration.include.regions #=> Array
2305
+ # resp.storage_lens_configuration.include.regions[0] #=> String
2306
+ # resp.storage_lens_configuration.exclude.buckets #=> Array
2307
+ # resp.storage_lens_configuration.exclude.buckets[0] #=> String
2308
+ # resp.storage_lens_configuration.exclude.regions #=> Array
2309
+ # resp.storage_lens_configuration.exclude.regions[0] #=> String
2310
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.format #=> String, one of "CSV", "Parquet"
2311
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.output_schema_version #=> String, one of "V_1"
2312
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.account_id #=> String
2313
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.arn #=> String
2314
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.prefix #=> String
2315
+ # resp.storage_lens_configuration.data_export.s3_bucket_destination.encryption.ssekms.key_id #=> String
2316
+ # resp.storage_lens_configuration.is_enabled #=> Boolean
2317
+ # resp.storage_lens_configuration.aws_org.arn #=> String
2318
+ # resp.storage_lens_configuration.storage_lens_arn #=> String
2319
+ #
2320
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfiguration AWS API Documentation
2321
+ #
2322
+ # @overload get_storage_lens_configuration(params = {})
2323
+ # @param [Hash] params ({})
2324
+ def get_storage_lens_configuration(params = {}, options = {})
2325
+ req = build_request(:get_storage_lens_configuration, params)
2326
+ req.send_request(options)
2327
+ end
2328
+
2329
+ # Gets the tags of Amazon S3 Storage Lens configuration. For more
2330
+ # information about S3 Storage Lens, see [Assessing your storage
2331
+ # activity and usage with Amazon S3 Storage Lens ][1] in the *Amazon
2332
+ # Simple Storage Service Developer Guide*.
2333
+ #
2334
+ # <note markdown="1"> To use this action, you must have permission to perform the
2335
+ # `s3:GetStorageLensConfigurationTagging` action. For more information,
2336
+ # see [Setting permissions to use Amazon S3 Storage Lens][2] in the
2337
+ # *Amazon Simple Storage Service Developer Guide*.
2338
+ #
2339
+ # </note>
2340
+ #
2341
+ #
2342
+ #
2343
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
2344
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
2345
+ #
2346
+ # @option params [required, String] :config_id
2347
+ # The ID of the Amazon S3 Storage Lens configuration.
2348
+ #
2349
+ # @option params [required, String] :account_id
2350
+ # The account ID of the requester.
2351
+ #
2352
+ # @return [Types::GetStorageLensConfigurationTaggingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2353
+ #
2354
+ # * {Types::GetStorageLensConfigurationTaggingResult#tags #tags} => Array&lt;Types::StorageLensTag&gt;
2355
+ #
2356
+ # @example Request syntax with placeholder values
2357
+ #
2358
+ # resp = client.get_storage_lens_configuration_tagging({
2359
+ # config_id: "ConfigId", # required
2360
+ # account_id: "AccountId", # required
2361
+ # })
2362
+ #
2363
+ # @example Response structure
2364
+ #
2365
+ # resp.tags #=> Array
2366
+ # resp.tags[0].key #=> String
2367
+ # resp.tags[0].value #=> String
2368
+ #
2369
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTagging AWS API Documentation
2370
+ #
2371
+ # @overload get_storage_lens_configuration_tagging(params = {})
2372
+ # @param [Hash] params ({})
2373
+ def get_storage_lens_configuration_tagging(params = {}, options = {})
2374
+ req = build_request(:get_storage_lens_configuration_tagging, params)
2375
+ req.send_request(options)
2376
+ end
2377
+
2378
+ # Returns a list of the access points currently associated with the
2379
+ # specified bucket. You can retrieve up to 1000 access points per call.
2380
+ # If the specified bucket has more than 1,000 access points (or the
2381
+ # number specified in `maxResults`, whichever is less), the response
2382
+ # will include a continuation token that you can use to list the
2383
+ # additional access points.
2384
+ #
2385
+ #
2386
+ #
2387
+ # All Amazon S3 on Outposts REST API requests for this action require an
2388
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2389
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2390
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2391
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2392
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2393
+ # [Examples][1] section.
2394
+ #
2395
+ # The following actions are related to `ListAccessPoints`\:
2396
+ #
2397
+ # * [CreateAccessPoint][2]
2398
+ #
2399
+ # * [DeleteAccessPoint][3]
2400
+ #
2401
+ # * [GetAccessPoint][4]
2402
+ #
2403
+ #
2404
+ #
2405
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples
2406
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html
2407
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html
2408
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html
2409
+ #
2410
+ # @option params [required, String] :account_id
2411
+ # The AWS account ID for owner of the bucket whose access points you
2412
+ # want to list.
2413
+ #
2414
+ # @option params [String] :bucket
2415
+ # The name of the bucket whose associated access points you want to
2416
+ # list.
2417
+ #
2418
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2419
+ # you must specify the name and the x-amz-outpost-id as well.
2420
+ #
2421
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2422
+ # you must specify the ARN of the bucket accessed in the format
2423
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2424
+ # For example, to access the bucket `reports` through outpost
2425
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2426
+ # use the URL encoding of
2427
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2428
+ # The value must be URL encoded.
2429
+ #
2430
+ # @option params [String] :next_token
2431
+ # A continuation token. If a previous call to `ListAccessPoints`
2432
+ # returned a continuation token in the `NextToken` field, then providing
2433
+ # that value here causes Amazon S3 to retrieve the next page of results.
2434
+ #
2435
+ # @option params [Integer] :max_results
2436
+ # The maximum number of access points that you want to include in the
2437
+ # list. If the specified bucket has more than this number of access
2438
+ # points, then the response will include a continuation token in the
2439
+ # `NextToken` field that you can use to retrieve the next page of access
2440
+ # points.
2441
+ #
2442
+ # @return [Types::ListAccessPointsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2443
+ #
2444
+ # * {Types::ListAccessPointsResult#access_point_list #access_point_list} => Array&lt;Types::AccessPoint&gt;
2445
+ # * {Types::ListAccessPointsResult#next_token #next_token} => String
2446
+ #
2447
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2448
+ #
2449
+ # @example Request syntax with placeholder values
2450
+ #
2451
+ # resp = client.list_access_points({
2452
+ # account_id: "AccountId", # required
2453
+ # bucket: "BucketName",
2454
+ # next_token: "NonEmptyMaxLength1024String",
2455
+ # max_results: 1,
2456
+ # })
2457
+ #
2458
+ # @example Response structure
2459
+ #
2460
+ # resp.access_point_list #=> Array
2461
+ # resp.access_point_list[0].name #=> String
2462
+ # resp.access_point_list[0].network_origin #=> String, one of "Internet", "VPC"
2463
+ # resp.access_point_list[0].vpc_configuration.vpc_id #=> String
2464
+ # resp.access_point_list[0].bucket #=> String
2465
+ # resp.access_point_list[0].access_point_arn #=> String
2466
+ # resp.next_token #=> String
2467
+ #
2468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints AWS API Documentation
2469
+ #
2470
+ # @overload list_access_points(params = {})
2471
+ # @param [Hash] params ({})
2472
+ def list_access_points(params = {}, options = {})
2473
+ req = build_request(:list_access_points, params)
2474
+ req.send_request(options)
2475
+ end
2476
+
2477
+ # Lists current S3 Batch Operations jobs and jobs that have ended within
2478
+ # the last 30 days for the AWS account making the request. For more
2479
+ # information, see [S3 Batch Operations][1] in the *Amazon Simple
2480
+ # Storage Service Developer Guide*.
2481
+ #
2482
+ # Related actions include:
2483
+ #
2484
+ #
2485
+ #
2486
+ # * [CreateJob][2]
2487
+ #
2488
+ # * [DescribeJob][3]
2489
+ #
2490
+ # * [UpdateJobPriority][4]
2491
+ #
2492
+ # * [UpdateJobStatus][5]
2493
+ #
2494
+ #
2495
+ #
2496
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
2497
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
2498
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
2499
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
2500
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
2501
+ #
2502
+ # @option params [required, String] :account_id
2503
+ #
2504
+ # @option params [Array<String>] :job_statuses
2505
+ # The `List Jobs` request returns jobs that match the statuses listed in
2506
+ # this element.
2507
+ #
2508
+ # @option params [String] :next_token
2509
+ # A pagination token to request the next page of results. Use the token
1154
2510
  # that Amazon S3 returned in the `NextToken` element of the
1155
2511
  # `ListJobsResult` from the previous `List Jobs` request.
1156
2512
  #
@@ -1160,43 +2516,159 @@ module Aws::S3Control
1160
2516
  # will include a pagination token in the `NextToken` field to enable you
1161
2517
  # to retrieve the next page of results.
1162
2518
  #
1163
- # @return [Types::ListJobsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2519
+ # @return [Types::ListJobsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2520
+ #
2521
+ # * {Types::ListJobsResult#next_token #next_token} => String
2522
+ # * {Types::ListJobsResult#jobs #jobs} => Array&lt;Types::JobListDescriptor&gt;
2523
+ #
2524
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2525
+ #
2526
+ # @example Request syntax with placeholder values
2527
+ #
2528
+ # resp = client.list_jobs({
2529
+ # account_id: "AccountId", # required
2530
+ # job_statuses: ["Active"], # accepts Active, Cancelled, Cancelling, Complete, Completing, Failed, Failing, New, Paused, Pausing, Preparing, Ready, Suspended
2531
+ # next_token: "StringForNextToken",
2532
+ # max_results: 1,
2533
+ # })
2534
+ #
2535
+ # @example Response structure
2536
+ #
2537
+ # resp.next_token #=> String
2538
+ # resp.jobs #=> Array
2539
+ # resp.jobs[0].job_id #=> String
2540
+ # resp.jobs[0].description #=> String
2541
+ # resp.jobs[0].operation #=> String, one of "LambdaInvoke", "S3PutObjectCopy", "S3PutObjectAcl", "S3PutObjectTagging", "S3DeleteObjectTagging", "S3InitiateRestoreObject", "S3PutObjectLegalHold", "S3PutObjectRetention"
2542
+ # resp.jobs[0].priority #=> Integer
2543
+ # resp.jobs[0].status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
2544
+ # resp.jobs[0].creation_time #=> Time
2545
+ # resp.jobs[0].termination_date #=> Time
2546
+ # resp.jobs[0].progress_summary.total_number_of_tasks #=> Integer
2547
+ # resp.jobs[0].progress_summary.number_of_tasks_succeeded #=> Integer
2548
+ # resp.jobs[0].progress_summary.number_of_tasks_failed #=> Integer
2549
+ #
2550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs AWS API Documentation
2551
+ #
2552
+ # @overload list_jobs(params = {})
2553
+ # @param [Hash] params ({})
2554
+ def list_jobs(params = {}, options = {})
2555
+ req = build_request(:list_jobs, params)
2556
+ req.send_request(options)
2557
+ end
2558
+
2559
+ # Returns a list of all Outposts buckets in an Outpost that are owned by
2560
+ # the authenticated sender of the request. For more information, see
2561
+ # [Using Amazon S3 on Outposts][1] in the *Amazon Simple Storage Service
2562
+ # Developer Guide*.
2563
+ #
2564
+ # For an example of the request syntax for Amazon S3 on Outposts that
2565
+ # uses the S3 on Outposts endpoint hostname prefix and
2566
+ # `x-amz-outpost-id` in your request, see the [Examples][2] section.
2567
+ #
2568
+ #
2569
+ #
2570
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2571
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListRegionalBuckets.html#API_control_ListRegionalBuckets_Examples
2572
+ #
2573
+ # @option params [required, String] :account_id
2574
+ # The AWS account ID of the Outposts bucket.
2575
+ #
2576
+ # @option params [String] :next_token
2577
+ #
2578
+ # @option params [Integer] :max_results
2579
+ #
2580
+ # @option params [String] :outpost_id
2581
+ # The ID of the AWS Outposts.
2582
+ #
2583
+ # <note markdown="1"> This is required by Amazon S3 on Outposts buckets.
2584
+ #
2585
+ # </note>
2586
+ #
2587
+ # @return [Types::ListRegionalBucketsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2588
+ #
2589
+ # * {Types::ListRegionalBucketsResult#regional_bucket_list #regional_bucket_list} => Array&lt;Types::RegionalBucket&gt;
2590
+ # * {Types::ListRegionalBucketsResult#next_token #next_token} => String
2591
+ #
2592
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2593
+ #
2594
+ # @example Request syntax with placeholder values
2595
+ #
2596
+ # resp = client.list_regional_buckets({
2597
+ # account_id: "AccountId", # required
2598
+ # next_token: "NonEmptyMaxLength1024String",
2599
+ # max_results: 1,
2600
+ # outpost_id: "NonEmptyMaxLength64String",
2601
+ # })
2602
+ #
2603
+ # @example Response structure
2604
+ #
2605
+ # resp.regional_bucket_list #=> Array
2606
+ # resp.regional_bucket_list[0].bucket #=> String
2607
+ # resp.regional_bucket_list[0].bucket_arn #=> String
2608
+ # resp.regional_bucket_list[0].public_access_block_enabled #=> Boolean
2609
+ # resp.regional_bucket_list[0].creation_date #=> Time
2610
+ # resp.regional_bucket_list[0].outpost_id #=> String
2611
+ # resp.next_token #=> String
2612
+ #
2613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBuckets AWS API Documentation
2614
+ #
2615
+ # @overload list_regional_buckets(params = {})
2616
+ # @param [Hash] params ({})
2617
+ def list_regional_buckets(params = {}, options = {})
2618
+ req = build_request(:list_regional_buckets, params)
2619
+ req.send_request(options)
2620
+ end
2621
+
2622
+ # Gets a list of Amazon S3 Storage Lens configurations. For more
2623
+ # information about S3 Storage Lens, see [Assessing your storage
2624
+ # activity and usage with Amazon S3 Storage Lens ][1] in the *Amazon
2625
+ # Simple Storage Service Developer Guide*.
2626
+ #
2627
+ # <note markdown="1"> To use this action, you must have permission to perform the
2628
+ # `s3:ListStorageLensConfigurations` action. For more information, see
2629
+ # [Setting permissions to use Amazon S3 Storage Lens][2] in the *Amazon
2630
+ # Simple Storage Service Developer Guide*.
2631
+ #
2632
+ # </note>
2633
+ #
2634
+ #
2635
+ #
2636
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
2637
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
2638
+ #
2639
+ # @option params [required, String] :account_id
2640
+ # The account ID of the requester.
2641
+ #
2642
+ # @option params [String] :next_token
2643
+ # A pagination token to request the next page of results.
1164
2644
  #
1165
- # * {Types::ListJobsResult#next_token #next_token} => String
1166
- # * {Types::ListJobsResult#jobs #jobs} => Array&lt;Types::JobListDescriptor&gt;
2645
+ # @return [Types::ListStorageLensConfigurationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1167
2646
  #
1168
- # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2647
+ # * {Types::ListStorageLensConfigurationsResult#next_token #next_token} => String
2648
+ # * {Types::ListStorageLensConfigurationsResult#storage_lens_configuration_list #storage_lens_configuration_list} => Array&lt;Types::ListStorageLensConfigurationEntry&gt;
1169
2649
  #
1170
2650
  # @example Request syntax with placeholder values
1171
2651
  #
1172
- # resp = client.list_jobs({
2652
+ # resp = client.list_storage_lens_configurations({
1173
2653
  # 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,
2654
+ # next_token: "ContinuationToken",
1177
2655
  # })
1178
2656
  #
1179
2657
  # @example Response structure
1180
2658
  #
1181
2659
  # 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
2660
+ # resp.storage_lens_configuration_list #=> Array
2661
+ # resp.storage_lens_configuration_list[0].id #=> String
2662
+ # resp.storage_lens_configuration_list[0].storage_lens_arn #=> String
2663
+ # resp.storage_lens_configuration_list[0].home_region #=> String
2664
+ # resp.storage_lens_configuration_list[0].is_enabled #=> Boolean
1193
2665
  #
1194
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs AWS API Documentation
2666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurations AWS API Documentation
1195
2667
  #
1196
- # @overload list_jobs(params = {})
2668
+ # @overload list_storage_lens_configurations(params = {})
1197
2669
  # @param [Hash] params ({})
1198
- def list_jobs(params = {}, options = {})
1199
- req = build_request(:list_jobs, params)
2670
+ def list_storage_lens_configurations(params = {}, options = {})
2671
+ req = build_request(:list_storage_lens_configurations, params)
1200
2672
  req.send_request(options)
1201
2673
  end
1202
2674
 
@@ -1205,6 +2677,28 @@ module Aws::S3Control
1205
2677
  # replaces any existing policy associated with the specified access
1206
2678
  # point.
1207
2679
  #
2680
+ #
2681
+ #
2682
+ # All Amazon S3 on Outposts REST API requests for this action require an
2683
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2684
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2685
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2686
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2687
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2688
+ # [Examples][1] section.
2689
+ #
2690
+ # The following actions are related to `PutAccessPointPolicy`\:
2691
+ #
2692
+ # * [GetAccessPointPolicy][2]
2693
+ #
2694
+ # * [DeleteAccessPointPolicy][3]
2695
+ #
2696
+ #
2697
+ #
2698
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html#API_control_PutAccessPointPolicy_Examples
2699
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html
2700
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html
2701
+ #
1208
2702
  # @option params [required, String] :account_id
1209
2703
  # The AWS account ID for owner of the bucket associated with the
1210
2704
  # specified access point.
@@ -1213,10 +2707,22 @@ module Aws::S3Control
1213
2707
  # The name of the access point that you want to associate with the
1214
2708
  # specified policy.
1215
2709
  #
2710
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2711
+ # you must specify the name and the x-amz-outpost-id as well.
2712
+ #
2713
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2714
+ # you must specify the ARN of the access point accessed in the format
2715
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
2716
+ # For example, to access the access point `reports-ap` through outpost
2717
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2718
+ # use the URL encoding of
2719
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
2720
+ # The value must be URL encoded.
2721
+ #
1216
2722
  # @option params [required, String] :policy
1217
2723
  # 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
2724
+ # more information about access point policies, see [Managing data
2725
+ # access with Amazon S3 Access Points][1] in the *Amazon Simple Storage
1220
2726
  # Service Developer Guide*.
1221
2727
  #
1222
2728
  #
@@ -1242,28 +2748,378 @@ module Aws::S3Control
1242
2748
  req.send_request(options)
1243
2749
  end
1244
2750
 
1245
- # Set the supplied tag-set on an Amazon S3 Batch Operations job.
2751
+ # <note markdown="1"> This action puts a lifecycle configuration to an Amazon S3 on Outposts
2752
+ # bucket. To put a lifecycle configuration to an S3 bucket, see
2753
+ # [PutBucketLifecycleConfiguration][1] in the *Amazon Simple Storage
2754
+ # Service API*.
2755
+ #
2756
+ # </note>
2757
+ #
2758
+ # Creates a new lifecycle configuration for the Outposts bucket or
2759
+ # replaces an existing lifecycle configuration. Outposts buckets only
2760
+ # support lifecycle configurations that delete/expire objects after a
2761
+ # certain period of time and abort incomplete multipart uploads. For
2762
+ # more information, see [Managing Lifecycle Permissions for Amazon S3 on
2763
+ # Outposts][2].
2764
+ #
2765
+ #
2766
+ #
2767
+ # All Amazon S3 on Outposts REST API requests for this action require an
2768
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2769
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2770
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2771
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2772
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2773
+ # [Examples][3] section.
2774
+ #
2775
+ # The following actions are related to
2776
+ # `PutBucketLifecycleConfiguration`\:
2777
+ #
2778
+ # * [GetBucketLifecycleConfiguration][4]
2779
+ #
2780
+ # * [DeleteBucketLifecycleConfiguration][5]
2781
+ #
2782
+ #
2783
+ #
2784
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
2785
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2786
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html#API_control_PutBucketLifecycleConfiguration_Examples
2787
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html
2788
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html
2789
+ #
2790
+ # @option params [required, String] :account_id
2791
+ # The AWS account ID of the Outposts bucket.
2792
+ #
2793
+ # @option params [required, String] :bucket
2794
+ # The name of the bucket for which to set the configuration.
2795
+ #
2796
+ # @option params [Types::LifecycleConfiguration] :lifecycle_configuration
2797
+ # Container for lifecycle rules. You can add as many as 1,000 rules.
2798
+ #
2799
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2800
+ #
2801
+ # @example Request syntax with placeholder values
2802
+ #
2803
+ # resp = client.put_bucket_lifecycle_configuration({
2804
+ # account_id: "AccountId", # required
2805
+ # bucket: "BucketName", # required
2806
+ # lifecycle_configuration: {
2807
+ # rules: [
2808
+ # {
2809
+ # expiration: {
2810
+ # date: Time.now,
2811
+ # days: 1,
2812
+ # expired_object_delete_marker: false,
2813
+ # },
2814
+ # id: "ID",
2815
+ # filter: {
2816
+ # prefix: "Prefix",
2817
+ # tag: {
2818
+ # key: "TagKeyString", # required
2819
+ # value: "TagValueString", # required
2820
+ # },
2821
+ # and: {
2822
+ # prefix: "Prefix",
2823
+ # tags: [
2824
+ # {
2825
+ # key: "TagKeyString", # required
2826
+ # value: "TagValueString", # required
2827
+ # },
2828
+ # ],
2829
+ # },
2830
+ # },
2831
+ # status: "Enabled", # required, accepts Enabled, Disabled
2832
+ # transitions: [
2833
+ # {
2834
+ # date: Time.now,
2835
+ # days: 1,
2836
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2837
+ # },
2838
+ # ],
2839
+ # noncurrent_version_transitions: [
2840
+ # {
2841
+ # noncurrent_days: 1,
2842
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2843
+ # },
2844
+ # ],
2845
+ # noncurrent_version_expiration: {
2846
+ # noncurrent_days: 1,
2847
+ # },
2848
+ # abort_incomplete_multipart_upload: {
2849
+ # days_after_initiation: 1,
2850
+ # },
2851
+ # },
2852
+ # ],
2853
+ # },
2854
+ # })
2855
+ #
2856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfiguration AWS API Documentation
2857
+ #
2858
+ # @overload put_bucket_lifecycle_configuration(params = {})
2859
+ # @param [Hash] params ({})
2860
+ def put_bucket_lifecycle_configuration(params = {}, options = {})
2861
+ req = build_request(:put_bucket_lifecycle_configuration, params)
2862
+ req.send_request(options)
2863
+ end
2864
+
2865
+ # <note markdown="1"> This action puts a bucket policy to an Amazon S3 on Outposts bucket.
2866
+ # To put a policy on an S3 bucket, see [PutBucketPolicy][1] in the
2867
+ # *Amazon Simple Storage Service API*.
2868
+ #
2869
+ # </note>
2870
+ #
2871
+ # Applies an Amazon S3 bucket policy to an Outposts bucket. For more
2872
+ # information, see [Using Amazon S3 on Outposts][2] in the *Amazon
2873
+ # Simple Storage Service Developer Guide*.
2874
+ #
2875
+ # If you are using an identity other than the root user of the AWS
2876
+ # account that owns the Outposts bucket, the calling identity must have
2877
+ # the `PutBucketPolicy` permissions on the specified Outposts bucket and
2878
+ # belong to the bucket owner's account in order to use this operation.
2879
+ #
2880
+ # If you don't have `PutBucketPolicy` permissions, Amazon S3 returns a
2881
+ # `403 Access Denied` error. If you have the correct permissions, but
2882
+ # you're not using an identity that belongs to the bucket owner's
2883
+ # account, Amazon S3 returns a `405 Method Not Allowed` error.
2884
+ #
2885
+ # As a security precaution, the root user of the AWS account that owns a
2886
+ # bucket can always use this operation, even if the policy explicitly
2887
+ # denies the root user the ability to perform this action.
2888
+ #
2889
+ # For more information about bucket policies, see [Using Bucket Policies
2890
+ # and User Policies][3].
2891
+ #
2892
+ # All Amazon S3 on Outposts REST API requests for this action require an
2893
+ # additional parameter of `x-amz-outpost-id` to be passed with the
2894
+ # request and an S3 on Outposts endpoint hostname prefix instead of
2895
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
2896
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
2897
+ # `x-amz-outpost-id` derived using the access point ARN, see the
2898
+ # [Examples][4] section.
2899
+ #
2900
+ # The following actions are related to `PutBucketPolicy`\:
2901
+ #
2902
+ # * [GetBucketPolicy][5]
2903
+ #
2904
+ # * [DeleteBucketPolicy][6]
2905
+ #
2906
+ #
2907
+ #
2908
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html
2909
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2910
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
2911
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html#API_control_PutBucketPolicy_Examples
2912
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html
2913
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html
2914
+ #
2915
+ # @option params [required, String] :account_id
2916
+ # The AWS account ID of the Outposts bucket.
2917
+ #
2918
+ # @option params [required, String] :bucket
2919
+ # Specifies the bucket.
2920
+ #
2921
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
2922
+ # you must specify the name and the x-amz-outpost-id as well.
2923
+ #
2924
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
2925
+ # you must specify the ARN of the bucket accessed in the format
2926
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2927
+ # For example, to access the bucket `reports` through outpost
2928
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2929
+ # use the URL encoding of
2930
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2931
+ # The value must be URL encoded.
2932
+ #
2933
+ # @option params [Boolean] :confirm_remove_self_bucket_access
2934
+ # Set this parameter to true to confirm that you want to remove your
2935
+ # permissions to change this bucket policy in the future.
2936
+ #
2937
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2938
+ #
2939
+ # </note>
2940
+ #
2941
+ # @option params [required, String] :policy
2942
+ # The bucket policy as a JSON document.
2943
+ #
2944
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2945
+ #
2946
+ # @example Request syntax with placeholder values
2947
+ #
2948
+ # resp = client.put_bucket_policy({
2949
+ # account_id: "AccountId", # required
2950
+ # bucket: "BucketName", # required
2951
+ # confirm_remove_self_bucket_access: false,
2952
+ # policy: "Policy", # required
2953
+ # })
2954
+ #
2955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicy AWS API Documentation
2956
+ #
2957
+ # @overload put_bucket_policy(params = {})
2958
+ # @param [Hash] params ({})
2959
+ def put_bucket_policy(params = {}, options = {})
2960
+ req = build_request(:put_bucket_policy, params)
2961
+ req.send_request(options)
2962
+ end
2963
+
2964
+ # <note markdown="1"> This action puts tags on an Amazon S3 on Outposts bucket. To put tags
2965
+ # on an S3 bucket, see [PutBucketTagging][1] in the *Amazon Simple
2966
+ # Storage Service API*.
2967
+ #
2968
+ # </note>
2969
+ #
2970
+ # Sets the tags for an Outposts bucket. For more information, see [Using
2971
+ # Amazon S3 on Outposts][2] in the *Amazon Simple Storage Service
2972
+ # Developer Guide*.
2973
+ #
2974
+ # Use tags to organize your AWS bill to reflect your own cost structure.
2975
+ # To do this, sign up to get your AWS account bill with tag key values
2976
+ # included. Then, to see the cost of combined resources, organize your
2977
+ # billing information according to resources with the same tag key
2978
+ # values. For example, you can tag several resources with a specific
2979
+ # application name, and then organize your billing information to see
2980
+ # the total cost of that application across several services. For more
2981
+ # information, see [Cost Allocation and Tagging][3].
2982
+ #
2983
+ # <note markdown="1"> Within a bucket, if you add a tag that has the same key as an existing
2984
+ # tag, the new value overwrites the old value. For more information, see
2985
+ # [ Using Cost Allocation in Amazon S3 Bucket Tags][4].
2986
+ #
2987
+ # </note>
2988
+ #
2989
+ # To use this operation, you must have permissions to perform the
2990
+ # `s3-outposts:PutBucketTagging` action. The Outposts bucket owner has
2991
+ # this permission by default and can grant this permission to others.
2992
+ # For more information about permissions, see [ Permissions Related to
2993
+ # Bucket Subresource Operations][5] and [Managing Access Permissions to
2994
+ # Your Amazon S3 Resources][6].
2995
+ #
2996
+ # `PutBucketTagging` has the following special errors:
2997
+ #
2998
+ # * Error code: `InvalidTagError`
2999
+ #
3000
+ # * Description: The tag provided was not a valid tag. This error can
3001
+ # occur if the tag did not pass input validation. For information
3002
+ # about tag restrictions, see [ User-Defined Tag Restrictions][7]
3003
+ # and [ AWS-Generated Cost Allocation Tag Restrictions][8].
3004
+ #
3005
+ # ^
3006
+ #
3007
+ # * Error code: `MalformedXMLError`
3008
+ #
3009
+ # * Description: The XML provided does not match the schema.
3010
+ #
3011
+ # ^
3012
+ #
3013
+ # * Error code: `OperationAbortedError `
3014
+ #
3015
+ # * Description: A conflicting conditional operation is currently in
3016
+ # progress against this resource. Try again.
3017
+ #
3018
+ # ^
3019
+ #
3020
+ # * Error code: `InternalError`
3021
+ #
3022
+ # * Description: The service was unable to apply the provided tag to
3023
+ # the bucket.
3024
+ #
3025
+ # ^
3026
+ #
3027
+ # All Amazon S3 on Outposts REST API requests for this action require an
3028
+ # additional parameter of `x-amz-outpost-id` to be passed with the
3029
+ # request and an S3 on Outposts endpoint hostname prefix instead of
3030
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
3031
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
3032
+ # `x-amz-outpost-id` derived using the access point ARN, see the
3033
+ # [Examples][9] section.
3034
+ #
3035
+ # The following actions are related to `PutBucketTagging`\:
3036
+ #
3037
+ # * [GetBucketTagging][10]
3038
+ #
3039
+ # * [DeleteBucketTagging][11]
3040
+ #
3041
+ #
3042
+ #
3043
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
3044
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
3045
+ # [3]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
3046
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html
3047
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
3048
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
3049
+ # [7]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
3050
+ # [8]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html
3051
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html#API_control_PutBucketTagging_Examples
3052
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html
3053
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html
3054
+ #
3055
+ # @option params [required, String] :account_id
3056
+ # The AWS account ID of the Outposts bucket.
3057
+ #
3058
+ # @option params [required, String] :bucket
3059
+ # The Amazon Resource Name (ARN) of the bucket.
3060
+ #
3061
+ # For using this parameter with Amazon S3 on Outposts with the REST API,
3062
+ # you must specify the name and the x-amz-outpost-id as well.
3063
+ #
3064
+ # For using this parameter with S3 on Outposts with the AWS SDK and CLI,
3065
+ # you must specify the ARN of the bucket accessed in the format
3066
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
3067
+ # For example, to access the bucket `reports` through outpost
3068
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
3069
+ # use the URL encoding of
3070
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
3071
+ # The value must be URL encoded.
3072
+ #
3073
+ # @option params [required, Types::Tagging] :tagging
3074
+ #
3075
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3076
+ #
3077
+ # @example Request syntax with placeholder values
3078
+ #
3079
+ # resp = client.put_bucket_tagging({
3080
+ # account_id: "AccountId", # required
3081
+ # bucket: "BucketName", # required
3082
+ # tagging: { # required
3083
+ # tag_set: [ # required
3084
+ # {
3085
+ # key: "TagKeyString", # required
3086
+ # value: "TagValueString", # required
3087
+ # },
3088
+ # ],
3089
+ # },
3090
+ # })
3091
+ #
3092
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging AWS API Documentation
3093
+ #
3094
+ # @overload put_bucket_tagging(params = {})
3095
+ # @param [Hash] params ({})
3096
+ def put_bucket_tagging(params = {}, options = {})
3097
+ req = build_request(:put_bucket_tagging, params)
3098
+ req.send_request(options)
3099
+ end
3100
+
3101
+ # Sets the supplied tag-set on an S3 Batch Operations job.
1246
3102
  #
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.
3103
+ # A tag is a key-value pair. You can associate S3 Batch Operations tags
3104
+ # with any job by sending a PUT request against the tagging subresource
3105
+ # that is associated with the job. To modify the existing tag set, you
3106
+ # can either replace the existing tag set entirely, or make changes
3107
+ # within the existing tag set by retrieving the existing tag set using
3108
+ # [GetJobTagging][1], modify that tag set, and use this action to
3109
+ # replace the tag set with the one you modified. For more information,
3110
+ # see [Controlling access and labeling jobs using tags][2] in the
3111
+ # *Amazon Simple Storage Service Developer Guide*.
1256
3112
  #
1257
3113
  #
1258
3114
  #
1259
3115
  # <note markdown="1"> * If you send this request with an empty tag set, Amazon S3 deletes
1260
3116
  # 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].
3117
+ # method, you are charged for a Tier 1 Request (PUT). For more
3118
+ # information, see [Amazon S3 pricing][3].
1263
3119
  #
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.
3120
+ # * For deleting existing tags for your Batch Operations job, a
3121
+ # [DeleteJobTagging][4] request is preferred because it achieves the
3122
+ # same result without incurring charges.
1267
3123
  #
1268
3124
  # * A few things to consider about using tags:
1269
3125
  #
@@ -1278,7 +3134,8 @@ module Aws::S3Control
1278
3134
  # * The key and values are case sensitive.
1279
3135
  #
1280
3136
  # * For tagging-related restrictions related to characters and
1281
- # encodings, see [User-Defined Tag Restrictions][3].
3137
+ # encodings, see [User-Defined Tag Restrictions][5] in the *AWS
3138
+ # Billing and Cost Management User Guide*.
1282
3139
  #
1283
3140
  # </note>
1284
3141
  #
@@ -1289,27 +3146,29 @@ module Aws::S3Control
1289
3146
  #
1290
3147
  # Related actions include:
1291
3148
  #
1292
- # * CreateJob
3149
+ # * [CreatJob][6]
1293
3150
  #
1294
- # * GetJobTagging
3151
+ # * [GetJobTagging][1]
1295
3152
  #
1296
- # * DeleteJobTagging
3153
+ # * [DeleteJobTagging][4]
1297
3154
  #
1298
3155
  #
1299
3156
  #
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
3157
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html
3158
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
3159
+ # [3]: http://aws.amazon.com/s3/pricing/
3160
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html
3161
+ # [5]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
3162
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
1303
3163
  #
1304
3164
  # @option params [required, String] :account_id
1305
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
3165
+ # The AWS account ID associated with the S3 Batch Operations job.
1306
3166
  #
1307
3167
  # @option params [required, String] :job_id
1308
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
1309
- # replace.
3168
+ # The ID for the S3 Batch Operations job whose tags you want to replace.
1310
3169
  #
1311
3170
  # @option params [required, Array<Types::S3Tag>] :tags
1312
- # The set of tags to associate with the Amazon S3 Batch Operations job.
3171
+ # The set of tags to associate with the S3 Batch Operations job.
1313
3172
  #
1314
3173
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1315
3174
  #
@@ -1335,16 +3194,29 @@ module Aws::S3Control
1335
3194
  req.send_request(options)
1336
3195
  end
1337
3196
 
1338
- # Creates or modifies the `PublicAccessBlock` configuration for an
1339
- # Amazon Web Services account.
3197
+ # Creates or modifies the `PublicAccessBlock` configuration for an AWS
3198
+ # account. For more information, see [ Using Amazon S3 block public
3199
+ # access][1].
3200
+ #
3201
+ # Related actions include:
3202
+ #
3203
+ # * [GetPublicAccessBlock][2]
3204
+ #
3205
+ # * [DeletePublicAccessBlock][3]
3206
+ #
3207
+ #
3208
+ #
3209
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
3210
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html
3211
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html
1340
3212
  #
1341
3213
  # @option params [required, Types::PublicAccessBlockConfiguration] :public_access_block_configuration
1342
3214
  # The `PublicAccessBlock` configuration that you want to apply to the
1343
- # specified Amazon Web Services account.
3215
+ # specified AWS account.
1344
3216
  #
1345
3217
  # @option params [required, String] :account_id
1346
- # The account ID for the Amazon Web Services account whose
1347
- # `PublicAccessBlock` configuration you want to set.
3218
+ # The account ID for the AWS account whose `PublicAccessBlock`
3219
+ # configuration you want to set.
1348
3220
  #
1349
3221
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1350
3222
  #
@@ -1369,25 +3241,191 @@ module Aws::S3Control
1369
3241
  req.send_request(options)
1370
3242
  end
1371
3243
 
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.
3244
+ # Puts an Amazon S3 Storage Lens configuration. For more information
3245
+ # about S3 Storage Lens, see [Working with Amazon S3 Storage Lens][1] in
3246
+ # the *Amazon Simple Storage Service Developer Guide*.
3247
+ #
3248
+ # <note markdown="1"> To use this action, you must have permission to perform the
3249
+ # `s3:PutStorageLensConfiguration` action. For more information, see
3250
+ # [Setting permissions to use Amazon S3 Storage Lens][2] in the *Amazon
3251
+ # Simple Storage Service Developer Guide*.
3252
+ #
3253
+ # </note>
3254
+ #
3255
+ #
3256
+ #
3257
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
3258
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
3259
+ #
3260
+ # @option params [required, String] :config_id
3261
+ # The ID of the S3 Storage Lens configuration.
3262
+ #
3263
+ # @option params [required, String] :account_id
3264
+ # The account ID of the requester.
3265
+ #
3266
+ # @option params [required, Types::StorageLensConfiguration] :storage_lens_configuration
3267
+ # The S3 Storage Lens configuration.
3268
+ #
3269
+ # @option params [Array<Types::StorageLensTag>] :tags
3270
+ # The tag set of the S3 Storage Lens configuration.
3271
+ #
3272
+ # <note markdown="1"> You can set up to a maximum of 50 tags.
3273
+ #
3274
+ # </note>
3275
+ #
3276
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3277
+ #
3278
+ # @example Request syntax with placeholder values
3279
+ #
3280
+ # resp = client.put_storage_lens_configuration({
3281
+ # config_id: "ConfigId", # required
3282
+ # account_id: "AccountId", # required
3283
+ # storage_lens_configuration: { # required
3284
+ # id: "ConfigId", # required
3285
+ # account_level: { # required
3286
+ # activity_metrics: {
3287
+ # is_enabled: false,
3288
+ # },
3289
+ # bucket_level: { # required
3290
+ # activity_metrics: {
3291
+ # is_enabled: false,
3292
+ # },
3293
+ # prefix_level: {
3294
+ # storage_metrics: { # required
3295
+ # is_enabled: false,
3296
+ # selection_criteria: {
3297
+ # delimiter: "StorageLensPrefixLevelDelimiter",
3298
+ # max_depth: 1,
3299
+ # min_storage_bytes_percentage: 1.0,
3300
+ # },
3301
+ # },
3302
+ # },
3303
+ # },
3304
+ # },
3305
+ # include: {
3306
+ # buckets: ["S3BucketArnString"],
3307
+ # regions: ["S3AWSRegion"],
3308
+ # },
3309
+ # exclude: {
3310
+ # buckets: ["S3BucketArnString"],
3311
+ # regions: ["S3AWSRegion"],
3312
+ # },
3313
+ # data_export: {
3314
+ # s3_bucket_destination: { # required
3315
+ # format: "CSV", # required, accepts CSV, Parquet
3316
+ # output_schema_version: "V_1", # required, accepts V_1
3317
+ # account_id: "AccountId", # required
3318
+ # arn: "S3BucketArnString", # required
3319
+ # prefix: "Prefix",
3320
+ # encryption: {
3321
+ # sses3: {
3322
+ # },
3323
+ # ssekms: {
3324
+ # key_id: "SSEKMSKeyId", # required
3325
+ # },
3326
+ # },
3327
+ # },
3328
+ # },
3329
+ # is_enabled: false, # required
3330
+ # aws_org: {
3331
+ # arn: "AwsOrgArn", # required
3332
+ # },
3333
+ # storage_lens_arn: "StorageLensArn",
3334
+ # },
3335
+ # tags: [
3336
+ # {
3337
+ # key: "TagKeyString", # required
3338
+ # value: "TagValueString", # required
3339
+ # },
3340
+ # ],
3341
+ # })
3342
+ #
3343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration AWS API Documentation
3344
+ #
3345
+ # @overload put_storage_lens_configuration(params = {})
3346
+ # @param [Hash] params ({})
3347
+ def put_storage_lens_configuration(params = {}, options = {})
3348
+ req = build_request(:put_storage_lens_configuration, params)
3349
+ req.send_request(options)
3350
+ end
3351
+
3352
+ # Put or replace tags on an existing Amazon S3 Storage Lens
3353
+ # configuration. For more information about S3 Storage Lens, see
3354
+ # [Assessing your storage activity and usage with Amazon S3 Storage Lens
3355
+ # ][1] in the *Amazon Simple Storage Service Developer Guide*.
3356
+ #
3357
+ # <note markdown="1"> To use this action, you must have permission to perform the
3358
+ # `s3:PutStorageLensConfigurationTagging` action. For more information,
3359
+ # see [Setting permissions to use Amazon S3 Storage Lens][2] in the
3360
+ # *Amazon Simple Storage Service Developer Guide*.
3361
+ #
3362
+ # </note>
3363
+ #
3364
+ #
3365
+ #
3366
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
3367
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html
3368
+ #
3369
+ # @option params [required, String] :config_id
3370
+ # The ID of the S3 Storage Lens configuration.
3371
+ #
3372
+ # @option params [required, String] :account_id
3373
+ # The account ID of the requester.
3374
+ #
3375
+ # @option params [required, Array<Types::StorageLensTag>] :tags
3376
+ # The tag set of the S3 Storage Lens configuration.
3377
+ #
3378
+ # <note markdown="1"> You can set up to a maximum of 50 tags.
3379
+ #
3380
+ # </note>
3381
+ #
3382
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3383
+ #
3384
+ # @example Request syntax with placeholder values
3385
+ #
3386
+ # resp = client.put_storage_lens_configuration_tagging({
3387
+ # config_id: "ConfigId", # required
3388
+ # account_id: "AccountId", # required
3389
+ # tags: [ # required
3390
+ # {
3391
+ # key: "TagKeyString", # required
3392
+ # value: "TagValueString", # required
3393
+ # },
3394
+ # ],
3395
+ # })
3396
+ #
3397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging AWS API Documentation
3398
+ #
3399
+ # @overload put_storage_lens_configuration_tagging(params = {})
3400
+ # @param [Hash] params ({})
3401
+ def put_storage_lens_configuration_tagging(params = {}, options = {})
3402
+ req = build_request(:put_storage_lens_configuration_tagging, params)
3403
+ req.send_request(options)
3404
+ end
3405
+
3406
+ # Updates an existing S3 Batch Operations job's priority. For more
3407
+ # information, see [S3 Batch Operations][1] in the *Amazon Simple
3408
+ # Storage Service Developer Guide*.
1375
3409
  #
1376
3410
  #
1377
3411
  #
1378
3412
  # Related actions include:
1379
3413
  #
1380
- # * CreateJob
3414
+ # * [CreateJob][2]
1381
3415
  #
1382
- # * ListJobs
3416
+ # * [ListJobs][3]
1383
3417
  #
1384
- # * DescribeJob
3418
+ # * [DescribeJob][4]
1385
3419
  #
1386
- # * UpdateJobStatus
3420
+ # * [UpdateJobStatus][5]
1387
3421
  #
1388
3422
  #
1389
3423
  #
1390
3424
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
3425
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
3426
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
3427
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
3428
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
1391
3429
  #
1392
3430
  # @option params [required, String] :account_id
1393
3431
  #
@@ -1426,24 +3464,28 @@ module Aws::S3Control
1426
3464
 
1427
3465
  # Updates the status for the specified job. Use this operation to
1428
3466
  # 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.
3467
+ # more information, see [S3 Batch Operations][1] in the *Amazon Simple
3468
+ # Storage Service Developer Guide*.
1431
3469
  #
1432
3470
  #
1433
3471
  #
1434
3472
  # Related actions include:
1435
3473
  #
1436
- # * CreateJob
3474
+ # * [CreateJob][2]
1437
3475
  #
1438
- # * ListJobs
3476
+ # * [ListJobs][3]
1439
3477
  #
1440
- # * DescribeJob
3478
+ # * [DescribeJob][4]
1441
3479
  #
1442
- # * UpdateJobStatus
3480
+ # * [UpdateJobStatus][5]
1443
3481
  #
1444
3482
  #
1445
3483
  #
1446
3484
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
3485
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
3486
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
3487
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
3488
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html
1447
3489
  #
1448
3490
  # @option params [required, String] :account_id
1449
3491
  #
@@ -1500,7 +3542,7 @@ module Aws::S3Control
1500
3542
  params: params,
1501
3543
  config: config)
1502
3544
  context[:gem_name] = 'aws-sdk-s3control'
1503
- context[:gem_version] = '1.22.0'
3545
+ context[:gem_version] = '1.27.0'
1504
3546
  Seahorse::Client::Request.new(handlers, context)
1505
3547
  end
1506
3548