aws-sdk-s3control 1.20.1 → 1.25.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: b31307a6c1fd17543c7c319f89778a8365690b47817145331f64b88bf48d4a49
4
- data.tar.gz: aed2f6a5a5c54e054c3a07a6d536cadd71e183c01e0c00abf2e304f3dab294cc
3
+ metadata.gz: 4dcedf429314ff27b39826eac44181e8bbd20f7d90d53ef0eb9dbbcd8b2a97f0
4
+ data.tar.gz: 420e638c5d4697c77a2a8008607776135bd0bf9ed0cca214492121ba293d6554
5
5
  SHA512:
6
- metadata.gz: d300acbc4e73c16bc9ff66f14bdc5c9954a18bebebf5d5eeadd652f4ba6c37bf1ce3b3550a54338068d3bd5cc46d1d91f664d02f0e1285762a90aa41afb4e0a5
7
- data.tar.gz: 6d58e0a902109da60f216d51821ba7c879a8ca1890c97358bb923fa25b1f8c4ed23ba532efdcb048016535df565c0e30e162dea0c30ae4677128f3b8ba206afc
6
+ metadata.gz: 478207ef6b6a8d15de3158883db547e16df275a2ffb99323facb4314794ae4cb56ed84bbb1c3561517ff643637c7693aec0c495407b2996a7da2770fa8cf6188
7
+ data.tar.gz: 05e29284660670945a742e05ed948eb1203cb5dc554350883f26ae4f0dfa4e294d3f2c00f46d73e2c75f7c132891965f91e616df8821a698aee4121e1456091a
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -5,6 +7,7 @@
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
10
+
8
11
  require 'aws-sigv4'
9
12
  require 'aws-sdk-core'
10
13
 
@@ -42,9 +45,9 @@ require_relative 'aws-sdk-s3control/customizations'
42
45
  #
43
46
  # See {Errors} for more information.
44
47
  #
45
- # @service
48
+ # @!group service
46
49
  module Aws::S3Control
47
50
 
48
- GEM_VERSION = '1.20.1'
51
+ GEM_VERSION = '1.25.0'
49
52
 
50
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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -26,9 +28,9 @@ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
28
30
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
29
- require 'aws-sdk-s3control/plugins/s3_control_dns.rb'
30
- require 'aws-sdk-s3control/plugins/s3_signer.rb'
31
+ require 'aws-sdk-s3control/plugins/arn.rb'
31
32
  require 'aws-sdk-s3control/plugins/dualstack.rb'
33
+ require 'aws-sdk-s3control/plugins/s3_control_signer.rb'
32
34
  require 'aws-sdk-s3control/plugins/s3_host_id.rb'
33
35
 
34
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:s3control)
@@ -75,9 +77,9 @@ module Aws::S3Control
75
77
  add_plugin(Aws::Plugins::TransferEncoding)
76
78
  add_plugin(Aws::Plugins::HttpChecksum)
77
79
  add_plugin(Aws::Plugins::Protocols::RestXml)
78
- add_plugin(Aws::S3Control::Plugins::S3ControlDns)
79
- add_plugin(Aws::S3Control::Plugins::S3Signer)
80
+ add_plugin(Aws::S3Control::Plugins::ARN)
80
81
  add_plugin(Aws::S3Control::Plugins::Dualstack)
82
+ add_plugin(Aws::S3Control::Plugins::S3ControlSigner)
81
83
  add_plugin(Aws::S3Control::Plugins::S3HostId)
82
84
 
83
85
  # @overload initialize(options)
@@ -89,13 +91,28 @@ module Aws::S3Control
89
91
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
90
92
  # credentials.
91
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
+ #
92
108
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
93
109
  # from an EC2 IMDS on an EC2 instance.
94
110
  #
95
- # * `Aws::SharedCredentials` - Used for loading credentials from a
96
- # shared file, such as `~/.aws/config`.
111
+ # * `Aws::ECSCredentials` - Used for loading credentials from
112
+ # instances running in ECS.
97
113
  #
98
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
114
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
115
+ # from the Cognito Identity service.
99
116
  #
100
117
  # When `:credentials` are not configured directly, the following
101
118
  # locations will be searched for credentials:
@@ -105,10 +122,10 @@ module Aws::S3Control
105
122
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
106
123
  # * `~/.aws/credentials`
107
124
  # * `~/.aws/config`
108
- # * EC2 IMDS instance profile - When used by default, the timeouts are
109
- # very aggressive. Construct and pass an instance of
110
- # `Aws::InstanceProfileCredentails` to enable retries and extended
111
- # 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.
112
129
  #
113
130
  # @option options [required, String] :region
114
131
  # The AWS region to connect to. The configured `:region` is
@@ -251,6 +268,12 @@ module Aws::S3Control
251
268
  # in the future.
252
269
  #
253
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
+ #
254
277
  # @option options [String] :secret_access_key
255
278
  #
256
279
  # @option options [String] :session_token
@@ -321,6 +344,53 @@ module Aws::S3Control
321
344
  # @!group API Operations
322
345
 
323
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
324
394
  #
325
395
  # @option params [required, String] :account_id
326
396
  # The AWS account ID for the owner of the bucket for which you want to
@@ -333,22 +403,43 @@ module Aws::S3Control
333
403
  # The name of the bucket that you want to associate this access point
334
404
  # with.
335
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
+ #
336
418
  # @option params [Types::VpcConfiguration] :vpc_configuration
337
419
  # If you include this field, Amazon S3 restricts access to this access
338
420
  # point to requests from the specified virtual private cloud (VPC).
339
421
  #
422
+ # <note markdown="1"> This is required for creating an access point for Amazon S3 on
423
+ # Outposts buckets.
424
+ #
425
+ # </note>
426
+ #
340
427
  # @option params [Types::PublicAccessBlockConfiguration] :public_access_block_configuration
341
428
  # The `PublicAccessBlock` configuration that you want to apply to this
342
- # Amazon S3 bucket. You can enable the configuration options in any
429
+ # Amazon S3 account. You can enable the configuration options in any
343
430
  # combination. For more information about when Amazon S3 considers a
344
431
  # bucket or object public, see [The Meaning of "Public"][1] in the
345
- # Amazon Simple Storage Service Developer Guide.
432
+ # *Amazon Simple Storage Service Developer Guide*.
433
+ #
434
+ # This is not supported for Amazon S3 on Outposts.
346
435
  #
347
436
  #
348
437
  #
349
438
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
350
439
  #
351
- # @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
352
443
  #
353
444
  # @example Request syntax with placeholder values
354
445
  #
@@ -367,6 +458,10 @@ module Aws::S3Control
367
458
  # },
368
459
  # })
369
460
  #
461
+ # @example Response structure
462
+ #
463
+ # resp.access_point_arn #=> String
464
+ #
370
465
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPoint AWS API Documentation
371
466
  #
372
467
  # @overload create_access_point(params = {})
@@ -376,27 +471,195 @@ module Aws::S3Control
376
471
  req.send_request(options)
377
472
  end
378
473
 
379
- # You can use Amazon S3 Batch Operations to perform large-scale Batch
380
- # Operations on Amazon S3 objects. Amazon S3 Batch Operations can
381
- # execute a single operation or action on lists of Amazon S3 objects
382
- # that you specify. For more information, see [Amazon S3 Batch
383
- # 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
+ #
384
642
  #
385
643
  # Related actions include:
386
644
  #
387
- # * DescribeJob
645
+ # * [DescribeJob][2]
388
646
  #
389
- # * ListJobs
647
+ # * [ListJobs][3]
390
648
  #
391
- # * UpdateJobPriority
649
+ # * [UpdateJobPriority][4]
392
650
  #
393
- # * UpdateJobStatus
651
+ # * [UpdateJobStatus][5]
394
652
  #
395
653
  #
396
654
  #
397
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
398
660
  #
399
661
  # @option params [required, String] :account_id
662
+ # The AWS account ID that creates the job.
400
663
  #
401
664
  # @option params [Boolean] :confirmation_required
402
665
  # Indicates whether confirmation is required before Amazon S3 runs the
@@ -406,8 +669,8 @@ module Aws::S3Control
406
669
  # @option params [required, Types::JobOperation] :operation
407
670
  # The operation that you want this job to perform on each object listed
408
671
  # in the manifest. For more information about the available operations,
409
- # see [Available Operations][1] in the *Amazon Simple Storage Service
410
- # Developer Guide*.
672
+ # see [Operations][1] in the *Amazon Simple Storage Service Developer
673
+ # Guide*.
411
674
  #
412
675
  #
413
676
  #
@@ -437,12 +700,12 @@ module Aws::S3Control
437
700
  #
438
701
  # @option params [required, String] :role_arn
439
702
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
440
- # Management (IAM) role that Batch Operations will use to execute this
703
+ # Management (IAM) role that Batch Operations will use to run this
441
704
  # job's operation on each object in the manifest.
442
705
  #
443
706
  # @option params [Array<Types::S3Tag>] :tags
444
- # A set of tags to associate with the Amazon S3 Batch Operations job.
445
- # This is an optional parameter.
707
+ # A set of tags to associate with the S3 Batch Operations job. This is
708
+ # an optional parameter.
446
709
  #
447
710
  # @return [Types::CreateJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
448
711
  #
@@ -594,12 +857,47 @@ module Aws::S3Control
594
857
 
595
858
  # Deletes the specified access point.
596
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
+ #
597
883
  # @option params [required, String] :account_id
598
884
  # The account ID for the account that owns the specified access point.
599
885
  #
600
886
  # @option params [required, String] :name
601
887
  # The name of the access point you want to delete.
602
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
+ #
603
901
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
604
902
  #
605
903
  # @example Request syntax with placeholder values
@@ -620,12 +918,46 @@ module Aws::S3Control
620
918
 
621
919
  # Deletes the access point policy for the specified access point.
622
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
+ #
623
943
  # @option params [required, String] :account_id
624
944
  # The account ID for the account that owns the specified access point.
625
945
  #
626
946
  # @option params [required, String] :name
627
947
  # The name of the access point whose policy you want to delete.
628
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
+ #
629
961
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
630
962
  #
631
963
  # @example Request syntax with placeholder values
@@ -644,122 +976,533 @@ module Aws::S3Control
644
976
  req.send_request(options)
645
977
  end
646
978
 
647
- # Removes the entire tag set from the specified Amazon S3 Batch
648
- # Operations job. To use this operation, you must have permission to
649
- # perform the `s3:DeleteJobTagging` action. For more information, see
650
- # [Using Job Tags][1] in the Amazon Simple Storage Service Developer
651
- # 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>
652
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*.
653
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.
1079
+ #
1080
+ # For more information about object expiration, see [ Elements to
1081
+ # Describe Lifecycle Actions][4].
654
1082
  #
655
1083
  # Related actions include:
656
1084
  #
657
- # * CreateJob
1085
+ # * [PutBucketLifecycleConfiguration][5]
658
1086
  #
659
- # * GetJobTagging
1087
+ # * [GetBucketLifecycleConfiguration][6]
660
1088
  #
661
- # * PutJobTagging
662
1089
  #
663
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
664
1097
  #
665
- # [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](
1160
+ # https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html).
1161
+ #
1162
+ # All Amazon S3 on Outposts REST API requests for this action require an
1163
+ # additional parameter of `x-amz-outpost-id` to be passed with the
1164
+ # request and an S3 on Outposts endpoint hostname prefix instead of
1165
+ # `s3-control`. For an example of the request syntax for Amazon S3 on
1166
+ # Outposts that uses the S3 on Outposts endpoint hostname prefix and the
1167
+ # `x-amz-outpost-id` derived using the access point ARN, see the
1168
+ # [Examples][3] section.
1169
+ #
1170
+ # The following actions are related to `DeleteBucketPolicy`\:
1171
+ #
1172
+ # * [GetBucketPolicy][4]
1173
+ #
1174
+ # * [PutBucketPolicy][5]
1175
+ #
1176
+ #
1177
+ #
1178
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html
1179
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1180
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html#API_control_DeleteBucketPolicy_Examples
1181
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html
1182
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html
666
1183
  #
667
1184
  # @option params [required, String] :account_id
668
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
1185
+ # The account ID of the Outposts bucket.
669
1186
  #
670
- # @option params [required, String] :job_id
671
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
672
- # 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.
673
1201
  #
674
1202
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
675
1203
  #
676
1204
  # @example Request syntax with placeholder values
677
1205
  #
678
- # resp = client.delete_job_tagging({
1206
+ # resp = client.delete_bucket_policy({
679
1207
  # account_id: "AccountId", # required
680
- # job_id: "JobId", # required
1208
+ # bucket: "BucketName", # required
681
1209
  # })
682
1210
  #
683
- # @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
684
1212
  #
685
- # @overload delete_job_tagging(params = {})
1213
+ # @overload delete_bucket_policy(params = {})
686
1214
  # @param [Hash] params ({})
687
- def delete_job_tagging(params = {}, options = {})
688
- req = build_request(:delete_job_tagging, params)
1215
+ def delete_bucket_policy(params = {}, options = {})
1216
+ req = build_request(:delete_bucket_policy, params)
689
1217
  req.send_request(options)
690
1218
  end
691
1219
 
692
- # Removes the `PublicAccessBlock` configuration for an Amazon Web
693
- # 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
694
1255
  #
695
1256
  # @option params [required, String] :account_id
696
- # The account ID for the Amazon Web Services account whose
697
- # `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.
698
1273
  #
699
1274
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
700
1275
  #
701
1276
  # @example Request syntax with placeholder values
702
1277
  #
703
- # resp = client.delete_public_access_block({
1278
+ # resp = client.delete_bucket_tagging({
704
1279
  # account_id: "AccountId", # required
1280
+ # bucket: "BucketName", # required
705
1281
  # })
706
1282
  #
707
- # @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
708
1284
  #
709
- # @overload delete_public_access_block(params = {})
1285
+ # @overload delete_bucket_tagging(params = {})
710
1286
  # @param [Hash] params ({})
711
- def delete_public_access_block(params = {}, options = {})
712
- req = build_request(:delete_public_access_block, params)
1287
+ def delete_bucket_tagging(params = {}, options = {})
1288
+ req = build_request(:delete_bucket_tagging, params)
713
1289
  req.send_request(options)
714
1290
  end
715
1291
 
716
- # Retrieves the configuration parameters and status for a Batch
717
- # Operations job. For more information, see [Amazon S3 Batch
718
- # 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*.
719
1297
  #
720
1298
  #
721
1299
  #
722
1300
  # Related actions include:
723
1301
  #
724
- # * CreateJob
725
- #
726
- # * ListJobs
1302
+ # * [CreateJob][2]
727
1303
  #
728
- # * UpdateJobPriority
1304
+ # * [GetJobTagging][3]
729
1305
  #
730
- # * UpdateJobStatus
1306
+ # * [PutJobTagging][4]
731
1307
  #
732
1308
  #
733
1309
  #
734
- # [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
735
1314
  #
736
1315
  # @option params [required, String] :account_id
1316
+ # The AWS account ID associated with the S3 Batch Operations job.
737
1317
  #
738
1318
  # @option params [required, String] :job_id
739
- # The ID for the job whose information you want to retrieve.
740
- #
741
- # @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.
742
1320
  #
743
- # * {Types::DescribeJobResult#job #job} => Types::JobDescriptor
1321
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
744
1322
  #
745
1323
  # @example Request syntax with placeholder values
746
1324
  #
747
- # resp = client.describe_job({
1325
+ # resp = client.delete_job_tagging({
748
1326
  # account_id: "AccountId", # required
749
1327
  # job_id: "JobId", # required
750
1328
  # })
751
1329
  #
752
- # @example Response structure
1330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTagging AWS API Documentation
753
1331
  #
754
- # resp.job.job_id #=> String
755
- # resp.job.confirmation_required #=> Boolean
756
- # resp.job.description #=> String
757
- # resp.job.job_arn #=> String
758
- # resp.job.status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
759
- # resp.job.manifest.spec.format #=> String, one of "S3BatchOperations_CSV_20180820", "S3InventoryReport_CSV_20161130"
760
- # resp.job.manifest.spec.fields #=> Array
761
- # resp.job.manifest.spec.fields[0] #=> String, one of "Ignore", "Bucket", "Key", "VersionId"
762
- # resp.job.manifest.location.object_arn #=> 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/https:/docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
1389
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html#storage_lens_IAM
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/https:/docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
1429
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html#storage_lens_IAM
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
763
1506
  # resp.job.manifest.location.object_version_id #=> String
764
1507
  # resp.job.manifest.location.etag #=> String
765
1508
  # resp.job.operation.lambda_invoke.function_arn #=> String
@@ -843,6 +1586,31 @@ module Aws::S3Control
843
1586
 
844
1587
  # Returns configuration information about the specified access point.
845
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
+ #
846
1614
  # @option params [required, String] :account_id
847
1615
  # The account ID for the account that owns the specified access point.
848
1616
  #
@@ -850,6 +1618,18 @@ module Aws::S3Control
850
1618
  # The name of the access point whose configuration information you want
851
1619
  # to retrieve.
852
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
+ #
853
1633
  # @return [Types::GetAccessPointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
854
1634
  #
855
1635
  # * {Types::GetAccessPointResult#name #name} => String
@@ -890,12 +1670,35 @@ module Aws::S3Control
890
1670
  # Returns the access point policy associated with the specified access
891
1671
  # point.
892
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
+ #
893
1684
  # @option params [required, String] :account_id
894
1685
  # The account ID for the account that owns the specified access point.
895
1686
  #
896
1687
  # @option params [required, String] :name
897
1688
  # The name of the access point whose policy you want to retrieve.
898
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
+ #
899
1702
  # @return [Types::GetAccessPointPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
900
1703
  #
901
1704
  # * {Types::GetAccessPointPolicyResult#policy #policy} => String
@@ -959,227 +1762,904 @@ module Aws::S3Control
959
1762
  req.send_request(options)
960
1763
  end
961
1764
 
962
- # Returns the tags on an Amazon S3 Batch Operations job. To use this
963
- # operation, you must have permission to perform the `s3:GetJobTagging`
964
- # action. For more information, see [Using Job Tags][1] in the *Amazon
965
- # 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*.
966
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.
967
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.
968
1779
  #
969
- # Related actions include:
1780
+ # The following actions are related to `GetBucket` for Amazon S3 on
1781
+ # Outposts:
970
1782
  #
971
- # * 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.
972
1790
  #
973
- # * PutJobTagging
1791
+ # * [PutObject][3]
974
1792
  #
975
- # * DeleteJobTagging
1793
+ # * [CreateBucket][4]
976
1794
  #
1795
+ # * [DeleteBucket][5]
977
1796
  #
978
1797
  #
979
- # [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
980
1804
  #
981
1805
  # @option params [required, String] :account_id
982
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
1806
+ # The AWS account ID of the Outposts bucket.
983
1807
  #
984
- # @option params [required, String] :job_id
985
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
986
- # retrieve.
1808
+ # @option params [required, String] :bucket
1809
+ # Specifies the bucket.
987
1810
  #
988
- # @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.
989
1813
  #
990
- # * {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
991
1828
  #
992
1829
  # @example Request syntax with placeholder values
993
1830
  #
994
- # resp = client.get_job_tagging({
1831
+ # resp = client.get_bucket({
995
1832
  # account_id: "AccountId", # required
996
- # job_id: "JobId", # required
1833
+ # bucket: "BucketName", # required
997
1834
  # })
998
1835
  #
999
1836
  # @example Response structure
1000
1837
  #
1001
- # resp.tags #=> Array
1002
- # resp.tags[0].key #=> String
1003
- # resp.tags[0].value #=> String
1838
+ # resp.bucket #=> String
1839
+ # resp.public_access_block_enabled #=> Boolean
1840
+ # resp.creation_date #=> Time
1004
1841
  #
1005
- # @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
1006
1843
  #
1007
- # @overload get_job_tagging(params = {})
1844
+ # @overload get_bucket(params = {})
1008
1845
  # @param [Hash] params ({})
1009
- def get_job_tagging(params = {}, options = {})
1010
- req = build_request(:get_job_tagging, params)
1846
+ def get_bucket(params = {}, options = {})
1847
+ req = build_request(:get_bucket, params)
1011
1848
  req.send_request(options)
1012
1849
  end
1013
1850
 
1014
- # Retrieves the `PublicAccessBlock` configuration for an Amazon Web
1015
- # 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*.
1016
1855
  #
1017
- # @option params [required, String] :account_id
1018
- # The account ID for the Amazon Web Services account whose
1019
- # `PublicAccessBlock` configuration you want to retrieve.
1856
+ # </note>
1020
1857
  #
1021
- # @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*.
1022
1862
  #
1023
- # * {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].
1024
1869
  #
1025
- # @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.
1026
1877
  #
1027
- # resp = client.get_public_access_block({
1028
- # account_id: "AccountId", # required
1029
- # })
1878
+ # `GetBucketLifecycleConfiguration` has the following special error:
1030
1879
  #
1031
- # @example Response structure
1880
+ # * Error code: `NoSuchLifecycleConfiguration`
1032
1881
  #
1033
- # resp.public_access_block_configuration.block_public_acls #=> Boolean
1034
- # resp.public_access_block_configuration.ignore_public_acls #=> Boolean
1035
- # resp.public_access_block_configuration.block_public_policy #=> Boolean
1036
- # resp.public_access_block_configuration.restrict_public_buckets #=> Boolean
1882
+ # * Description: The lifecycle configuration does not exist.
1037
1883
  #
1038
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock AWS API Documentation
1884
+ # * HTTP Status Code: 404 Not Found
1039
1885
  #
1040
- # @overload get_public_access_block(params = {})
1041
- # @param [Hash] params ({})
1042
- def get_public_access_block(params = {}, options = {})
1043
- req = build_request(:get_public_access_block, params)
1044
- req.send_request(options)
1045
- end
1046
-
1047
- # Returns a list of the access points currently associated with the
1048
- # specified bucket. You can retrieve up to 1000 access points per call.
1049
- # If the specified bucket has more than 1,000 access points (or the
1050
- # number specified in `maxResults`, whichever is less), the response
1051
- # will include a continuation token that you can use to list the
1052
- # additional access points.
1886
+ # * SOAP Fault Code Prefix: Client
1053
1887
  #
1054
- # @option params [required, String] :account_id
1055
- # The AWS account ID for owner of the bucket whose access points you
1056
- # want to list.
1888
+ # The following actions are related to
1889
+ # `GetBucketLifecycleConfiguration`\:
1057
1890
  #
1058
- # @option params [String] :bucket
1059
- # The name of the bucket whose associated access points you want to
1060
- # list.
1891
+ # * [PutBucketLifecycleConfiguration][7]
1061
1892
  #
1062
- # @option params [String] :next_token
1063
- # A continuation token. If a previous call to `ListAccessPoints`
1064
- # returned a continuation token in the `NextToken` field, then providing
1065
- # that value here causes Amazon S3 to retrieve the next page of results.
1893
+ # * [DeleteBucketLifecycleConfiguration][8]
1066
1894
  #
1067
- # @option params [Integer] :max_results
1068
- # The maximum number of access points that you want to include in the
1069
- # list. If the specified bucket has more than this number of access
1070
- # points, then the response will include a continuation token in the
1071
- # `NextToken` field that you can use to retrieve the next page of access
1072
- # points.
1073
1895
  #
1074
- # @return [Types::ListAccessPointsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1075
1896
  #
1076
- # * {Types::ListAccessPointsResult#access_point_list #access_point_list} => Array&lt;Types::AccessPoint&gt;
1077
- # * {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
1078
1905
  #
1079
- # 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;
1080
1927
  #
1081
1928
  # @example Request syntax with placeholder values
1082
1929
  #
1083
- # resp = client.list_access_points({
1930
+ # resp = client.get_bucket_lifecycle_configuration({
1084
1931
  # account_id: "AccountId", # required
1085
- # bucket: "BucketName",
1086
- # next_token: "NonEmptyMaxLength1024String",
1087
- # max_results: 1,
1932
+ # bucket: "BucketName", # required
1088
1933
  # })
1089
1934
  #
1090
1935
  # @example Response structure
1091
1936
  #
1092
- # resp.access_point_list #=> Array
1093
- # resp.access_point_list[0].name #=> String
1094
- # resp.access_point_list[0].network_origin #=> String, one of "Internet", "VPC"
1095
- # resp.access_point_list[0].vpc_configuration.vpc_id #=> String
1096
- # resp.access_point_list[0].bucket #=> String
1097
- # resp.next_token #=> String
1098
- #
1099
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints AWS API Documentation
1100
- #
1101
- # @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 = {})
1102
1963
  # @param [Hash] params ({})
1103
- def list_access_points(params = {}, options = {})
1104
- req = build_request(:list_access_points, params)
1964
+ def get_bucket_lifecycle_configuration(params = {}, options = {})
1965
+ req = build_request(:get_bucket_lifecycle_configuration, params)
1105
1966
  req.send_request(options)
1106
1967
  end
1107
1968
 
1108
- # Lists current Amazon S3 Batch Operations jobs and jobs that have ended
1109
- # within the last 30 days for the AWS account making the request. For
1110
- # 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
1111
1977
  # Simple Storage Service Developer Guide*.
1112
1978
  #
1113
- # 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.
1114
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.
1115
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.
1116
1993
  #
1117
- # * CreateJob
1994
+ # For more information about bucket policies, see [Using Bucket Policies
1995
+ # and User Policies][3].
1118
1996
  #
1119
- # * 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.
1120
2004
  #
1121
- # * UpdateJobPriority
2005
+ # The following actions are related to `GetBucketPolicy`\:
1122
2006
  #
1123
- # * UpdateJobStatus
2007
+ # * [GetObject][5]
1124
2008
  #
2009
+ # * [PutBucketPolicy][6]
1125
2010
  #
2011
+ # * [DeleteBucketPolicy][7]
1126
2012
  #
1127
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
2013
+ #
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
1128
2022
  #
1129
2023
  # @option params [required, String] :account_id
2024
+ # The AWS account ID of the Outposts bucket.
1130
2025
  #
1131
- # @option params [Array<String>] :job_statuses
1132
- # The `List Jobs` request returns jobs that match the statuses listed in
1133
- # this element.
2026
+ # @option params [required, String] :bucket
2027
+ # Specifies the bucket.
1134
2028
  #
1135
- # @option params [String] :next_token
1136
- # A pagination token to request the next page of results. Use the token
1137
- # that Amazon S3 returned in the `NextToken` element of the
1138
- # `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.
1139
2031
  #
1140
- # @option params [Integer] :max_results
1141
- # The maximum number of jobs that Amazon S3 will include in the `List
1142
- # Jobs` response. If there are more jobs than this number, the response
1143
- # will include a pagination token in the `NextToken` field to enable you
1144
- # 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.
1145
2040
  #
1146
- # @return [Types::ListJobsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
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/https:/docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
2267
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html#storage_lens_IAM
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/https:/docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
2336
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html#storage_lens_IAM
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.
2510
+ #
2511
+ # @return [Types::ListJobsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1147
2512
  #
1148
2513
  # * {Types::ListJobsResult#next_token #next_token} => String
1149
2514
  # * {Types::ListJobsResult#jobs #jobs} => Array&lt;Types::JobListDescriptor&gt;
1150
2515
  #
1151
- # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
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/https:/docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
2628
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html#storage_lens_IAM
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:
2637
+ #
2638
+ # * {Types::ListStorageLensConfigurationsResult#next_token #next_token} => String
2639
+ # * {Types::ListStorageLensConfigurationsResult#storage_lens_configuration_list #storage_lens_configuration_list} => Array&lt;Types::ListStorageLensConfigurationEntry&gt;
1152
2640
  #
1153
2641
  # @example Request syntax with placeholder values
1154
2642
  #
1155
- # resp = client.list_jobs({
2643
+ # resp = client.list_storage_lens_configurations({
1156
2644
  # account_id: "AccountId", # required
1157
- # job_statuses: ["Active"], # accepts Active, Cancelled, Cancelling, Complete, Completing, Failed, Failing, New, Paused, Pausing, Preparing, Ready, Suspended
1158
- # next_token: "StringForNextToken",
1159
- # max_results: 1,
2645
+ # next_token: "ContinuationToken",
1160
2646
  # })
1161
2647
  #
1162
2648
  # @example Response structure
1163
2649
  #
1164
2650
  # resp.next_token #=> String
1165
- # resp.jobs #=> Array
1166
- # resp.jobs[0].job_id #=> String
1167
- # resp.jobs[0].description #=> String
1168
- # resp.jobs[0].operation #=> String, one of "LambdaInvoke", "S3PutObjectCopy", "S3PutObjectAcl", "S3PutObjectTagging", "S3InitiateRestoreObject", "S3PutObjectLegalHold", "S3PutObjectRetention"
1169
- # resp.jobs[0].priority #=> Integer
1170
- # resp.jobs[0].status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
1171
- # resp.jobs[0].creation_time #=> Time
1172
- # resp.jobs[0].termination_date #=> Time
1173
- # resp.jobs[0].progress_summary.total_number_of_tasks #=> Integer
1174
- # resp.jobs[0].progress_summary.number_of_tasks_succeeded #=> Integer
1175
- # 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
1176
2656
  #
1177
- # @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
1178
2658
  #
1179
- # @overload list_jobs(params = {})
2659
+ # @overload list_storage_lens_configurations(params = {})
1180
2660
  # @param [Hash] params ({})
1181
- def list_jobs(params = {}, options = {})
1182
- req = build_request(:list_jobs, params)
2661
+ def list_storage_lens_configurations(params = {}, options = {})
2662
+ req = build_request(:list_storage_lens_configurations, params)
1183
2663
  req.send_request(options)
1184
2664
  end
1185
2665
 
@@ -1188,6 +2668,28 @@ module Aws::S3Control
1188
2668
  # replaces any existing policy associated with the specified access
1189
2669
  # point.
1190
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
+ #
1191
2693
  # @option params [required, String] :account_id
1192
2694
  # The AWS account ID for owner of the bucket associated with the
1193
2695
  # specified access point.
@@ -1196,10 +2698,22 @@ module Aws::S3Control
1196
2698
  # The name of the access point that you want to associate with the
1197
2699
  # specified policy.
1198
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
+ #
1199
2713
  # @option params [required, String] :policy
1200
2714
  # The policy that you want to apply to the specified access point. For
1201
- # more information about access point policies, see [Managing Data
1202
- # 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
1203
2717
  # Service Developer Guide*.
1204
2718
  #
1205
2719
  #
@@ -1225,28 +2739,378 @@ module Aws::S3Control
1225
2739
  req.send_request(options)
1226
2740
  end
1227
2741
 
1228
- # 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.
1229
3093
  #
1230
- # A tag is a key-value pair. You can associate Amazon S3 Batch
1231
- # Operations tags with any job by sending a PUT request against the
1232
- # tagging subresource that is associated with the job. To modify the
1233
- # existing tag set, you can either replace the existing tag set
1234
- # entirely, or make changes within the existing tag set by retrieving
1235
- # the existing tag set using GetJobTagging, modify that tag set, and use
1236
- # this API action to replace the tag set with the one you have
1237
- # modified.. For more information, see [Using Job Tags][1] in the Amazon
1238
- # 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*.
1239
3103
  #
1240
3104
  #
1241
3105
  #
1242
3106
  # <note markdown="1"> * If you send this request with an empty tag set, Amazon S3 deletes
1243
3107
  # the existing tag set on the Batch Operations job. If you use this
1244
- # method, you will be charged for a Tier 1 Request (PUT). For more
1245
- # 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].
1246
3110
  #
1247
- # * For deleting existing tags for your batch operations job,
1248
- # DeleteJobTagging request is preferred because it achieves the same
1249
- # 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.
1250
3114
  #
1251
3115
  # * A few things to consider about using tags:
1252
3116
  #
@@ -1261,7 +3125,8 @@ module Aws::S3Control
1261
3125
  # * The key and values are case sensitive.
1262
3126
  #
1263
3127
  # * For tagging-related restrictions related to characters and
1264
- # 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*.
1265
3130
  #
1266
3131
  # </note>
1267
3132
  #
@@ -1272,27 +3137,29 @@ module Aws::S3Control
1272
3137
  #
1273
3138
  # Related actions include:
1274
3139
  #
1275
- # * CreateJob
3140
+ # * [CreatJob][6]
1276
3141
  #
1277
- # * GetJobTagging
3142
+ # * [GetJobTagging][1]
1278
3143
  #
1279
- # * DeleteJobTagging
3144
+ # * [DeleteJobTagging][4]
1280
3145
  #
1281
3146
  #
1282
3147
  #
1283
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags
1284
- # [2]: http://aws.amazon.com/s3/pricing/
1285
- # [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
1286
3154
  #
1287
3155
  # @option params [required, String] :account_id
1288
- # The AWS account ID associated with the Amazon S3 Batch Operations job.
3156
+ # The AWS account ID associated with the S3 Batch Operations job.
1289
3157
  #
1290
3158
  # @option params [required, String] :job_id
1291
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
1292
- # replace.
3159
+ # The ID for the S3 Batch Operations job whose tags you want to replace.
1293
3160
  #
1294
3161
  # @option params [required, Array<Types::S3Tag>] :tags
1295
- # 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.
1296
3163
  #
1297
3164
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1298
3165
  #
@@ -1318,16 +3185,29 @@ module Aws::S3Control
1318
3185
  req.send_request(options)
1319
3186
  end
1320
3187
 
1321
- # Creates or modifies the `PublicAccessBlock` configuration for an
1322
- # 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
1323
3203
  #
1324
3204
  # @option params [required, Types::PublicAccessBlockConfiguration] :public_access_block_configuration
1325
3205
  # The `PublicAccessBlock` configuration that you want to apply to the
1326
- # specified Amazon Web Services account.
3206
+ # specified AWS account.
1327
3207
  #
1328
3208
  # @option params [required, String] :account_id
1329
- # The account ID for the Amazon Web Services account whose
1330
- # `PublicAccessBlock` configuration you want to set.
3209
+ # The account ID for the AWS account whose `PublicAccessBlock`
3210
+ # configuration you want to set.
1331
3211
  #
1332
3212
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1333
3213
  #
@@ -1352,25 +3232,191 @@ module Aws::S3Control
1352
3232
  req.send_request(options)
1353
3233
  end
1354
3234
 
1355
- # Updates an existing Amazon S3 Batch Operations job's priority. For
1356
- # more information, see [Amazon S3 Batch Operations][1] in the Amazon
1357
- # 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/https:/docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
3249
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html#storage_lens_IAM
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/https:/docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html
3358
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html#storage_lens_IAM
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*.
1358
3400
  #
1359
3401
  #
1360
3402
  #
1361
3403
  # Related actions include:
1362
3404
  #
1363
- # * CreateJob
3405
+ # * [CreateJob][2]
1364
3406
  #
1365
- # * ListJobs
3407
+ # * [ListJobs][3]
1366
3408
  #
1367
- # * DescribeJob
3409
+ # * [DescribeJob][4]
1368
3410
  #
1369
- # * UpdateJobStatus
3411
+ # * [UpdateJobStatus][5]
1370
3412
  #
1371
3413
  #
1372
3414
  #
1373
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
1374
3420
  #
1375
3421
  # @option params [required, String] :account_id
1376
3422
  #
@@ -1409,24 +3455,28 @@ module Aws::S3Control
1409
3455
 
1410
3456
  # Updates the status for the specified job. Use this operation to
1411
3457
  # confirm that you want to run a job or to cancel an existing job. For
1412
- # more information, see [Amazon S3 Batch Operations][1] in the Amazon
1413
- # Simple Storage Service Developer Guide.
3458
+ # more information, see [S3 Batch Operations][1] in the *Amazon Simple
3459
+ # Storage Service Developer Guide*.
1414
3460
  #
1415
3461
  #
1416
3462
  #
1417
3463
  # Related actions include:
1418
3464
  #
1419
- # * CreateJob
3465
+ # * [CreateJob][2]
1420
3466
  #
1421
- # * ListJobs
3467
+ # * [ListJobs][3]
1422
3468
  #
1423
- # * DescribeJob
3469
+ # * [DescribeJob][4]
1424
3470
  #
1425
- # * UpdateJobStatus
3471
+ # * [UpdateJobStatus][5]
1426
3472
  #
1427
3473
  #
1428
3474
  #
1429
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
1430
3480
  #
1431
3481
  # @option params [required, String] :account_id
1432
3482
  #
@@ -1483,7 +3533,7 @@ module Aws::S3Control
1483
3533
  params: params,
1484
3534
  config: config)
1485
3535
  context[:gem_name] = 'aws-sdk-s3control'
1486
- context[:gem_version] = '1.20.1'
3536
+ context[:gem_version] = '1.25.0'
1487
3537
  Seahorse::Client::Request.new(handlers, context)
1488
3538
  end
1489
3539