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