aws-sdk-s3control 1.20.1 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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