aws-sdk-macie2 1.40.0 → 1.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:macie2)
@@ -73,8 +77,13 @@ module Aws::Macie2
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::Macie2::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::Macie2
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::Macie2
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::Macie2
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::Macie2
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -277,6 +308,19 @@ module Aws::Macie2
277
308
  # ** Please note ** When response stubbing is enabled, no HTTP
278
309
  # requests are made, and retries are disabled.
279
310
  #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
280
324
  # @option options [Boolean] :use_dualstack_endpoint
281
325
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
326
  # will be used if available.
@@ -290,6 +334,9 @@ module Aws::Macie2
290
334
  # When `true`, request parameters are validated before
291
335
  # sending the request.
292
336
  #
337
+ # @option options [Aws::Macie2::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Macie2::EndpointParameters`
339
+ #
293
340
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
341
  # requests through. Formatted like 'http://proxy.com:123'.
295
342
  #
@@ -297,7 +344,7 @@ module Aws::Macie2
297
344
  # seconds to wait when opening a HTTP session before raising a
298
345
  # `Timeout::Error`.
299
346
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
347
+ # @option options [Float] :http_read_timeout (60) The default
301
348
  # number of seconds to wait for response data. This value can
302
349
  # safely be set per-request on the session.
303
350
  #
@@ -313,6 +360,9 @@ module Aws::Macie2
313
360
  # disables this behaviour. This value can safely be set per
314
361
  # request on the session.
315
362
  #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
316
366
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
367
  # HTTP debug output will be sent to the `:logger`.
318
368
  #
@@ -402,8 +452,66 @@ module Aws::Macie2
402
452
  req.send_request(options)
403
453
  end
404
454
 
455
+ # Creates and defines the settings for an allow list.
456
+ #
457
+ # @option params [required, String] :client_token
458
+ # **A suitable default value is auto-generated.** You should normally
459
+ # not need to pass this option.**
460
+ #
461
+ # @option params [required, Types::AllowListCriteria] :criteria
462
+ # Specifies the criteria for an allow list. The criteria must specify a
463
+ # regular expression (regex) or an S3 object (s3WordsList). It can't
464
+ # specify both.
465
+ #
466
+ # @option params [String] :description
467
+ #
468
+ # @option params [required, String] :name
469
+ #
470
+ # @option params [Hash<String,String>] :tags
471
+ # A string-to-string map of key-value pairs that specifies the tags
472
+ # (keys and values) for an Amazon Macie resource.
473
+ #
474
+ # @return [Types::CreateAllowListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
475
+ #
476
+ # * {Types::CreateAllowListResponse#arn #arn} => String
477
+ # * {Types::CreateAllowListResponse#id #id} => String
478
+ #
479
+ # @example Request syntax with placeholder values
480
+ #
481
+ # resp = client.create_allow_list({
482
+ # client_token: "__string", # required
483
+ # criteria: { # required
484
+ # regex: "__stringMin1Max512PatternSS",
485
+ # s3_words_list: {
486
+ # bucket_name: "__stringMin3Max255PatternAZaZ093255", # required
487
+ # object_key: "__stringMin1Max1024PatternSS", # required
488
+ # },
489
+ # },
490
+ # description: "__stringMin1Max512PatternSS",
491
+ # name: "__stringMin1Max128Pattern", # required
492
+ # tags: {
493
+ # "__string" => "__string",
494
+ # },
495
+ # })
496
+ #
497
+ # @example Response structure
498
+ #
499
+ # resp.arn #=> String
500
+ # resp.id #=> String
501
+ #
502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateAllowList AWS API Documentation
503
+ #
504
+ # @overload create_allow_list(params = {})
505
+ # @param [Hash] params ({})
506
+ def create_allow_list(params = {}, options = {})
507
+ req = build_request(:create_allow_list, params)
508
+ req.send_request(options)
509
+ end
510
+
405
511
  # Creates and defines the settings for a classification job.
406
512
  #
513
+ # @option params [Array<String>] :allow_list_ids
514
+ #
407
515
  # @option params [required, String] :client_token
408
516
  # **A suitable default value is auto-generated.** You should normally
409
517
  # not need to pass this option.**
@@ -441,8 +549,7 @@ module Aws::Macie2
441
549
  #
442
550
  # @option params [Hash<String,String>] :tags
443
551
  # A string-to-string map of key-value pairs that specifies the tags
444
- # (keys and values) for a classification job, custom data identifier,
445
- # findings filter, or member account.
552
+ # (keys and values) for an Amazon Macie resource.
446
553
  #
447
554
  # @return [Types::CreateClassificationJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
448
555
  #
@@ -452,40 +559,33 @@ module Aws::Macie2
452
559
  # @example Request syntax with placeholder values
453
560
  #
454
561
  # resp = client.create_classification_job({
562
+ # allow_list_ids: ["__string"],
455
563
  # client_token: "__string", # required
456
564
  # custom_data_identifier_ids: ["__string"],
457
565
  # description: "__string",
458
566
  # initial_run: false,
459
567
  # job_type: "ONE_TIME", # required, accepts ONE_TIME, SCHEDULED
460
568
  # managed_data_identifier_ids: ["__string"],
461
- # managed_data_identifier_selector: "ALL", # accepts ALL, EXCLUDE, INCLUDE, NONE
569
+ # managed_data_identifier_selector: "ALL", # accepts ALL, EXCLUDE, INCLUDE, NONE, RECOMMENDED
462
570
  # name: "__string", # required
463
571
  # s3_job_definition: { # required
464
- # bucket_definitions: [
465
- # {
466
- # account_id: "__string", # required
467
- # buckets: ["__string"], # required
468
- # },
469
- # ],
470
- # scoping: {
572
+ # bucket_criteria: {
471
573
  # excludes: {
472
574
  # and: [
473
575
  # {
474
- # simple_scope_term: {
576
+ # simple_criterion: {
475
577
  # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
476
- # key: "OBJECT_EXTENSION", # accepts OBJECT_EXTENSION, OBJECT_LAST_MODIFIED_DATE, OBJECT_SIZE, OBJECT_KEY
578
+ # key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
477
579
  # values: ["__string"],
478
580
  # },
479
- # tag_scope_term: {
581
+ # tag_criterion: {
480
582
  # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
481
- # key: "__string",
482
583
  # tag_values: [
483
584
  # {
484
585
  # key: "__string",
485
586
  # value: "__string",
486
587
  # },
487
588
  # ],
488
- # target: "S3_OBJECT", # accepts S3_OBJECT
489
589
  # },
490
590
  # },
491
591
  # ],
@@ -493,43 +593,49 @@ module Aws::Macie2
493
593
  # includes: {
494
594
  # and: [
495
595
  # {
496
- # simple_scope_term: {
596
+ # simple_criterion: {
497
597
  # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
498
- # key: "OBJECT_EXTENSION", # accepts OBJECT_EXTENSION, OBJECT_LAST_MODIFIED_DATE, OBJECT_SIZE, OBJECT_KEY
598
+ # key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
499
599
  # values: ["__string"],
500
600
  # },
501
- # tag_scope_term: {
601
+ # tag_criterion: {
502
602
  # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
503
- # key: "__string",
504
603
  # tag_values: [
505
604
  # {
506
605
  # key: "__string",
507
606
  # value: "__string",
508
607
  # },
509
608
  # ],
510
- # target: "S3_OBJECT", # accepts S3_OBJECT
511
609
  # },
512
610
  # },
513
611
  # ],
514
612
  # },
515
613
  # },
516
- # bucket_criteria: {
614
+ # bucket_definitions: [
615
+ # {
616
+ # account_id: "__string", # required
617
+ # buckets: ["__string"], # required
618
+ # },
619
+ # ],
620
+ # scoping: {
517
621
  # excludes: {
518
622
  # and: [
519
623
  # {
520
- # simple_criterion: {
624
+ # simple_scope_term: {
521
625
  # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
522
- # key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
626
+ # key: "OBJECT_EXTENSION", # accepts OBJECT_EXTENSION, OBJECT_LAST_MODIFIED_DATE, OBJECT_SIZE, OBJECT_KEY
523
627
  # values: ["__string"],
524
628
  # },
525
- # tag_criterion: {
629
+ # tag_scope_term: {
526
630
  # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
631
+ # key: "__string",
527
632
  # tag_values: [
528
633
  # {
529
634
  # key: "__string",
530
635
  # value: "__string",
531
636
  # },
532
637
  # ],
638
+ # target: "S3_OBJECT", # accepts S3_OBJECT
533
639
  # },
534
640
  # },
535
641
  # ],
@@ -537,19 +643,21 @@ module Aws::Macie2
537
643
  # includes: {
538
644
  # and: [
539
645
  # {
540
- # simple_criterion: {
646
+ # simple_scope_term: {
541
647
  # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
542
- # key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
648
+ # key: "OBJECT_EXTENSION", # accepts OBJECT_EXTENSION, OBJECT_LAST_MODIFIED_DATE, OBJECT_SIZE, OBJECT_KEY
543
649
  # values: ["__string"],
544
650
  # },
545
- # tag_criterion: {
651
+ # tag_scope_term: {
546
652
  # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
653
+ # key: "__string",
547
654
  # tag_values: [
548
655
  # {
549
656
  # key: "__string",
550
657
  # value: "__string",
551
658
  # },
552
659
  # ],
660
+ # target: "S3_OBJECT", # accepts S3_OBJECT
553
661
  # },
554
662
  # },
555
663
  # ],
@@ -601,9 +709,9 @@ module Aws::Macie2
601
709
  #
602
710
  # @option params [Integer] :maximum_match_distance
603
711
  #
604
- # @option params [String] :name
712
+ # @option params [required, String] :name
605
713
  #
606
- # @option params [String] :regex
714
+ # @option params [required, String] :regex
607
715
  #
608
716
  # @option params [Array<Types::SeverityLevel>] :severity_levels
609
717
  # The severity to assign to findings that the custom data identifier
@@ -623,8 +731,7 @@ module Aws::Macie2
623
731
  #
624
732
  # @option params [Hash<String,String>] :tags
625
733
  # A string-to-string map of key-value pairs that specifies the tags
626
- # (keys and values) for a classification job, custom data identifier,
627
- # findings filter, or member account.
734
+ # (keys and values) for an Amazon Macie resource.
628
735
  #
629
736
  # @return [Types::CreateCustomDataIdentifierResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
630
737
  #
@@ -638,8 +745,8 @@ module Aws::Macie2
638
745
  # ignore_words: ["__string"],
639
746
  # keywords: ["__string"],
640
747
  # maximum_match_distance: 1,
641
- # name: "__string",
642
- # regex: "__string",
748
+ # name: "__string", # required
749
+ # regex: "__string", # required
643
750
  # severity_levels: [
644
751
  # {
645
752
  # occurrences_threshold: 1, # required
@@ -668,8 +775,8 @@ module Aws::Macie2
668
775
  # filter.
669
776
  #
670
777
  # @option params [required, String] :action
671
- # The action to perform on findings that meet the filter criteria. To
672
- # suppress (automatically archive) findings that meet the criteria, set
778
+ # The action to perform on findings that match the filter criteria. To
779
+ # suppress (automatically archive) findings that match the criteria, set
673
780
  # this value to ARCHIVE. Valid values are:
674
781
  #
675
782
  # @option params [String] :client_token
@@ -688,8 +795,7 @@ module Aws::Macie2
688
795
  #
689
796
  # @option params [Hash<String,String>] :tags
690
797
  # A string-to-string map of key-value pairs that specifies the tags
691
- # (keys and values) for a classification job, custom data identifier,
692
- # findings filter, or member account.
798
+ # (keys and values) for an Amazon Macie resource.
693
799
  #
694
800
  # @return [Types::CreateFindingsFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
695
801
  #
@@ -780,8 +886,7 @@ module Aws::Macie2
780
886
  #
781
887
  # @option params [Hash<String,String>] :tags
782
888
  # A string-to-string map of key-value pairs that specifies the tags
783
- # (keys and values) for a classification job, custom data identifier,
784
- # findings filter, or member account.
889
+ # (keys and values) for an Amazon Macie resource.
785
890
  #
786
891
  # @return [Types::CreateMemberResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
787
892
  #
@@ -821,7 +926,7 @@ module Aws::Macie2
821
926
  # @example Request syntax with placeholder values
822
927
  #
823
928
  # resp = client.create_sample_findings({
824
- # finding_types: ["SensitiveData:S3Object/Multiple"], # accepts SensitiveData:S3Object/Multiple, SensitiveData:S3Object/Financial, SensitiveData:S3Object/Personal, SensitiveData:S3Object/Credentials, SensitiveData:S3Object/CustomIdentifier, Policy:IAMUser/S3BucketPublic, Policy:IAMUser/S3BucketSharedExternally, Policy:IAMUser/S3BucketReplicatedExternally, Policy:IAMUser/S3BucketEncryptionDisabled, Policy:IAMUser/S3BlockPublicAccessDisabled
929
+ # finding_types: ["SensitiveData:S3Object/Multiple"], # accepts SensitiveData:S3Object/Multiple, SensitiveData:S3Object/Financial, SensitiveData:S3Object/Personal, SensitiveData:S3Object/Credentials, SensitiveData:S3Object/CustomIdentifier, Policy:IAMUser/S3BucketPublic, Policy:IAMUser/S3BucketSharedExternally, Policy:IAMUser/S3BucketReplicatedExternally, Policy:IAMUser/S3BucketEncryptionDisabled, Policy:IAMUser/S3BlockPublicAccessDisabled, Policy:IAMUser/S3BucketSharedWithCloudFront
825
930
  # })
826
931
  #
827
932
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateSampleFindings AWS API Documentation
@@ -864,6 +969,30 @@ module Aws::Macie2
864
969
  req.send_request(options)
865
970
  end
866
971
 
972
+ # Deletes an allow list.
973
+ #
974
+ # @option params [required, String] :id
975
+ #
976
+ # @option params [String] :ignore_job_checks
977
+ #
978
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
979
+ #
980
+ # @example Request syntax with placeholder values
981
+ #
982
+ # resp = client.delete_allow_list({
983
+ # id: "__string", # required
984
+ # ignore_job_checks: "__string",
985
+ # })
986
+ #
987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeleteAllowList AWS API Documentation
988
+ #
989
+ # @overload delete_allow_list(params = {})
990
+ # @param [Hash] params ({})
991
+ def delete_allow_list(params = {}, options = {})
992
+ req = build_request(:delete_allow_list, params)
993
+ req.send_request(options)
994
+ end
995
+
867
996
  # Soft deletes a custom data identifier.
868
997
  #
869
998
  # @option params [required, String] :id
@@ -960,7 +1089,8 @@ module Aws::Macie2
960
1089
  end
961
1090
 
962
1091
  # Retrieves (queries) statistical data and other information about one
963
- # or more S3 buckets that Amazon Macie monitors and analyzes.
1092
+ # or more S3 buckets that Amazon Macie monitors and analyzes for an
1093
+ # account.
964
1094
  #
965
1095
  # @option params [Hash<String,Types::BucketCriteriaAdditionalProperties>] :criteria
966
1096
  # Specifies, as a map, one or more property-based conditions that filter
@@ -1019,6 +1149,7 @@ module Aws::Macie2
1019
1149
  # resp.buckets[0].job_details.is_monitored_by_job #=> String, one of "TRUE", "FALSE", "UNKNOWN"
1020
1150
  # resp.buckets[0].job_details.last_job_id #=> String
1021
1151
  # resp.buckets[0].job_details.last_job_run_time #=> Time
1152
+ # resp.buckets[0].last_automated_discovery_time #=> Time
1022
1153
  # resp.buckets[0].last_updated #=> Time
1023
1154
  # resp.buckets[0].object_count #=> Integer
1024
1155
  # resp.buckets[0].object_count_by_encryption_type.customer_managed #=> Integer
@@ -1044,6 +1175,7 @@ module Aws::Macie2
1044
1175
  # resp.buckets[0].replication_details.replicated_externally #=> Boolean
1045
1176
  # resp.buckets[0].replication_details.replication_accounts #=> Array
1046
1177
  # resp.buckets[0].replication_details.replication_accounts[0] #=> String
1178
+ # resp.buckets[0].sensitivity_score #=> Integer
1047
1179
  # resp.buckets[0].server_side_encryption.kms_master_key_id #=> String
1048
1180
  # resp.buckets[0].server_side_encryption.type #=> String, one of "NONE", "AES256", "aws:kms"
1049
1181
  # resp.buckets[0].shared_access #=> String, one of "EXTERNAL", "INTERNAL", "NOT_SHARED", "UNKNOWN"
@@ -1076,6 +1208,7 @@ module Aws::Macie2
1076
1208
  #
1077
1209
  # @return [Types::DescribeClassificationJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1078
1210
  #
1211
+ # * {Types::DescribeClassificationJobResponse#allow_list_ids #allow_list_ids} => Array&lt;String&gt;
1079
1212
  # * {Types::DescribeClassificationJobResponse#client_token #client_token} => String
1080
1213
  # * {Types::DescribeClassificationJobResponse#created_at #created_at} => Time
1081
1214
  # * {Types::DescribeClassificationJobResponse#custom_data_identifier_ids #custom_data_identifier_ids} => Array&lt;String&gt;
@@ -1105,6 +1238,8 @@ module Aws::Macie2
1105
1238
  #
1106
1239
  # @example Response structure
1107
1240
  #
1241
+ # resp.allow_list_ids #=> Array
1242
+ # resp.allow_list_ids[0] #=> String
1108
1243
  # resp.client_token #=> String
1109
1244
  # resp.created_at #=> Time
1110
1245
  # resp.custom_data_identifier_ids #=> Array
@@ -1119,8 +1254,26 @@ module Aws::Macie2
1119
1254
  # resp.last_run_time #=> Time
1120
1255
  # resp.managed_data_identifier_ids #=> Array
1121
1256
  # resp.managed_data_identifier_ids[0] #=> String
1122
- # resp.managed_data_identifier_selector #=> String, one of "ALL", "EXCLUDE", "INCLUDE", "NONE"
1257
+ # resp.managed_data_identifier_selector #=> String, one of "ALL", "EXCLUDE", "INCLUDE", "NONE", "RECOMMENDED"
1123
1258
  # resp.name #=> String
1259
+ # resp.s3_job_definition.bucket_criteria.excludes.and #=> Array
1260
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1261
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.key #=> String, one of "ACCOUNT_ID", "S3_BUCKET_NAME", "S3_BUCKET_EFFECTIVE_PERMISSION", "S3_BUCKET_SHARED_ACCESS"
1262
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.values #=> Array
1263
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.values[0] #=> String
1264
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1265
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.tag_values #=> Array
1266
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.tag_values[0].key #=> String
1267
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.tag_values[0].value #=> String
1268
+ # resp.s3_job_definition.bucket_criteria.includes.and #=> Array
1269
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1270
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.key #=> String, one of "ACCOUNT_ID", "S3_BUCKET_NAME", "S3_BUCKET_EFFECTIVE_PERMISSION", "S3_BUCKET_SHARED_ACCESS"
1271
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.values #=> Array
1272
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.values[0] #=> String
1273
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1274
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.tag_values #=> Array
1275
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.tag_values[0].key #=> String
1276
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.tag_values[0].value #=> String
1124
1277
  # resp.s3_job_definition.bucket_definitions #=> Array
1125
1278
  # resp.s3_job_definition.bucket_definitions[0].account_id #=> String
1126
1279
  # resp.s3_job_definition.bucket_definitions[0].buckets #=> Array
@@ -1147,24 +1300,6 @@ module Aws::Macie2
1147
1300
  # resp.s3_job_definition.scoping.includes.and[0].tag_scope_term.tag_values[0].key #=> String
1148
1301
  # resp.s3_job_definition.scoping.includes.and[0].tag_scope_term.tag_values[0].value #=> String
1149
1302
  # resp.s3_job_definition.scoping.includes.and[0].tag_scope_term.target #=> String, one of "S3_OBJECT"
1150
- # resp.s3_job_definition.bucket_criteria.excludes.and #=> Array
1151
- # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1152
- # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.key #=> String, one of "ACCOUNT_ID", "S3_BUCKET_NAME", "S3_BUCKET_EFFECTIVE_PERMISSION", "S3_BUCKET_SHARED_ACCESS"
1153
- # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.values #=> Array
1154
- # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.values[0] #=> String
1155
- # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1156
- # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.tag_values #=> Array
1157
- # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.tag_values[0].key #=> String
1158
- # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.tag_values[0].value #=> String
1159
- # resp.s3_job_definition.bucket_criteria.includes.and #=> Array
1160
- # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1161
- # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.key #=> String, one of "ACCOUNT_ID", "S3_BUCKET_NAME", "S3_BUCKET_EFFECTIVE_PERMISSION", "S3_BUCKET_SHARED_ACCESS"
1162
- # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.values #=> Array
1163
- # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.values[0] #=> String
1164
- # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1165
- # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.tag_values #=> Array
1166
- # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.tag_values[0].key #=> String
1167
- # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.tag_values[0].value #=> String
1168
1303
  # resp.sampling_percentage #=> Integer
1169
1304
  # resp.schedule_frequency.monthly_schedule.day_of_month #=> Integer
1170
1305
  # resp.schedule_frequency.weekly_schedule.day_of_week #=> String, one of "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"
@@ -1306,9 +1441,9 @@ module Aws::Macie2
1306
1441
  # @option params [String] :finding_publishing_frequency
1307
1442
  # The frequency with which Amazon Macie publishes updates to policy
1308
1443
  # findings for an account. This includes publishing updates to Security
1309
- # Hub and Amazon EventBridge (formerly called Amazon CloudWatch Events).
1310
- # For more information, see [Monitoring and processing findings][1] in
1311
- # the *Amazon Macie User Guide*. Valid values are:
1444
+ # Hub and Amazon EventBridge (formerly Amazon CloudWatch Events). For
1445
+ # more information, see [Monitoring and processing findings][1] in the
1446
+ # *Amazon Macie User Guide*. Valid values are:
1312
1447
  #
1313
1448
  #
1314
1449
  #
@@ -1386,8 +1521,85 @@ module Aws::Macie2
1386
1521
  req.send_request(options)
1387
1522
  end
1388
1523
 
1389
- # Retrieves (queries) aggregated statistical data about S3 buckets that
1390
- # Amazon Macie monitors and analyzes.
1524
+ # Retrieves the settings and status of an allow list.
1525
+ #
1526
+ # @option params [required, String] :id
1527
+ #
1528
+ # @return [Types::GetAllowListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1529
+ #
1530
+ # * {Types::GetAllowListResponse#arn #arn} => String
1531
+ # * {Types::GetAllowListResponse#created_at #created_at} => Time
1532
+ # * {Types::GetAllowListResponse#criteria #criteria} => Types::AllowListCriteria
1533
+ # * {Types::GetAllowListResponse#description #description} => String
1534
+ # * {Types::GetAllowListResponse#id #id} => String
1535
+ # * {Types::GetAllowListResponse#name #name} => String
1536
+ # * {Types::GetAllowListResponse#status #status} => Types::AllowListStatus
1537
+ # * {Types::GetAllowListResponse#tags #tags} => Hash&lt;String,String&gt;
1538
+ # * {Types::GetAllowListResponse#updated_at #updated_at} => Time
1539
+ #
1540
+ # @example Request syntax with placeholder values
1541
+ #
1542
+ # resp = client.get_allow_list({
1543
+ # id: "__string", # required
1544
+ # })
1545
+ #
1546
+ # @example Response structure
1547
+ #
1548
+ # resp.arn #=> String
1549
+ # resp.created_at #=> Time
1550
+ # resp.criteria.regex #=> String
1551
+ # resp.criteria.s3_words_list.bucket_name #=> String
1552
+ # resp.criteria.s3_words_list.object_key #=> String
1553
+ # resp.description #=> String
1554
+ # resp.id #=> String
1555
+ # resp.name #=> String
1556
+ # resp.status.code #=> String, one of "OK", "S3_OBJECT_NOT_FOUND", "S3_USER_ACCESS_DENIED", "S3_OBJECT_ACCESS_DENIED", "S3_THROTTLED", "S3_OBJECT_OVERSIZE", "S3_OBJECT_EMPTY", "UNKNOWN_ERROR"
1557
+ # resp.status.description #=> String
1558
+ # resp.tags #=> Hash
1559
+ # resp.tags["__string"] #=> String
1560
+ # resp.updated_at #=> Time
1561
+ #
1562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetAllowList AWS API Documentation
1563
+ #
1564
+ # @overload get_allow_list(params = {})
1565
+ # @param [Hash] params ({})
1566
+ def get_allow_list(params = {}, options = {})
1567
+ req = build_request(:get_allow_list, params)
1568
+ req.send_request(options)
1569
+ end
1570
+
1571
+ # Retrieves the configuration settings and status of automated sensitive
1572
+ # data discovery for an account.
1573
+ #
1574
+ # @return [Types::GetAutomatedDiscoveryConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1575
+ #
1576
+ # * {Types::GetAutomatedDiscoveryConfigurationResponse#classification_scope_id #classification_scope_id} => String
1577
+ # * {Types::GetAutomatedDiscoveryConfigurationResponse#disabled_at #disabled_at} => Time
1578
+ # * {Types::GetAutomatedDiscoveryConfigurationResponse#first_enabled_at #first_enabled_at} => Time
1579
+ # * {Types::GetAutomatedDiscoveryConfigurationResponse#last_updated_at #last_updated_at} => Time
1580
+ # * {Types::GetAutomatedDiscoveryConfigurationResponse#sensitivity_inspection_template_id #sensitivity_inspection_template_id} => String
1581
+ # * {Types::GetAutomatedDiscoveryConfigurationResponse#status #status} => String
1582
+ #
1583
+ # @example Response structure
1584
+ #
1585
+ # resp.classification_scope_id #=> String
1586
+ # resp.disabled_at #=> Time
1587
+ # resp.first_enabled_at #=> Time
1588
+ # resp.last_updated_at #=> Time
1589
+ # resp.sensitivity_inspection_template_id #=> String
1590
+ # resp.status #=> String, one of "ENABLED", "DISABLED"
1591
+ #
1592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetAutomatedDiscoveryConfiguration AWS API Documentation
1593
+ #
1594
+ # @overload get_automated_discovery_configuration(params = {})
1595
+ # @param [Hash] params ({})
1596
+ def get_automated_discovery_configuration(params = {}, options = {})
1597
+ req = build_request(:get_automated_discovery_configuration, params)
1598
+ req.send_request(options)
1599
+ end
1600
+
1601
+ # Retrieves (queries) aggregated statistical data about all the S3
1602
+ # buckets that Amazon Macie monitors and analyzes for an account.
1391
1603
  #
1392
1604
  # @option params [String] :account_id
1393
1605
  #
@@ -1398,6 +1610,7 @@ module Aws::Macie2
1398
1610
  # * {Types::GetBucketStatisticsResponse#bucket_count_by_encryption_type #bucket_count_by_encryption_type} => Types::BucketCountByEncryptionType
1399
1611
  # * {Types::GetBucketStatisticsResponse#bucket_count_by_object_encryption_requirement #bucket_count_by_object_encryption_requirement} => Types::BucketCountPolicyAllowsUnencryptedObjectUploads
1400
1612
  # * {Types::GetBucketStatisticsResponse#bucket_count_by_shared_access_type #bucket_count_by_shared_access_type} => Types::BucketCountBySharedAccessType
1613
+ # * {Types::GetBucketStatisticsResponse#bucket_statistics_by_sensitivity #bucket_statistics_by_sensitivity} => Types::BucketStatisticsBySensitivity
1401
1614
  # * {Types::GetBucketStatisticsResponse#classifiable_object_count #classifiable_object_count} => Integer
1402
1615
  # * {Types::GetBucketStatisticsResponse#classifiable_size_in_bytes #classifiable_size_in_bytes} => Integer
1403
1616
  # * {Types::GetBucketStatisticsResponse#last_updated #last_updated} => Time
@@ -1431,6 +1644,22 @@ module Aws::Macie2
1431
1644
  # resp.bucket_count_by_shared_access_type.internal #=> Integer
1432
1645
  # resp.bucket_count_by_shared_access_type.not_shared #=> Integer
1433
1646
  # resp.bucket_count_by_shared_access_type.unknown #=> Integer
1647
+ # resp.bucket_statistics_by_sensitivity.classification_error.classifiable_size_in_bytes #=> Integer
1648
+ # resp.bucket_statistics_by_sensitivity.classification_error.publicly_accessible_count #=> Integer
1649
+ # resp.bucket_statistics_by_sensitivity.classification_error.total_count #=> Integer
1650
+ # resp.bucket_statistics_by_sensitivity.classification_error.total_size_in_bytes #=> Integer
1651
+ # resp.bucket_statistics_by_sensitivity.not_classified.classifiable_size_in_bytes #=> Integer
1652
+ # resp.bucket_statistics_by_sensitivity.not_classified.publicly_accessible_count #=> Integer
1653
+ # resp.bucket_statistics_by_sensitivity.not_classified.total_count #=> Integer
1654
+ # resp.bucket_statistics_by_sensitivity.not_classified.total_size_in_bytes #=> Integer
1655
+ # resp.bucket_statistics_by_sensitivity.not_sensitive.classifiable_size_in_bytes #=> Integer
1656
+ # resp.bucket_statistics_by_sensitivity.not_sensitive.publicly_accessible_count #=> Integer
1657
+ # resp.bucket_statistics_by_sensitivity.not_sensitive.total_count #=> Integer
1658
+ # resp.bucket_statistics_by_sensitivity.not_sensitive.total_size_in_bytes #=> Integer
1659
+ # resp.bucket_statistics_by_sensitivity.sensitive.classifiable_size_in_bytes #=> Integer
1660
+ # resp.bucket_statistics_by_sensitivity.sensitive.publicly_accessible_count #=> Integer
1661
+ # resp.bucket_statistics_by_sensitivity.sensitive.total_count #=> Integer
1662
+ # resp.bucket_statistics_by_sensitivity.sensitive.total_size_in_bytes #=> Integer
1434
1663
  # resp.classifiable_object_count #=> Integer
1435
1664
  # resp.classifiable_size_in_bytes #=> Integer
1436
1665
  # resp.last_updated #=> Time
@@ -1475,6 +1704,38 @@ module Aws::Macie2
1475
1704
  req.send_request(options)
1476
1705
  end
1477
1706
 
1707
+ # Retrieves the classification scope settings for an account.
1708
+ #
1709
+ # @option params [required, String] :id
1710
+ #
1711
+ # @return [Types::GetClassificationScopeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1712
+ #
1713
+ # * {Types::GetClassificationScopeResponse#id #id} => String
1714
+ # * {Types::GetClassificationScopeResponse#name #name} => String
1715
+ # * {Types::GetClassificationScopeResponse#s3 #s3} => Types::S3ClassificationScope
1716
+ #
1717
+ # @example Request syntax with placeholder values
1718
+ #
1719
+ # resp = client.get_classification_scope({
1720
+ # id: "__string", # required
1721
+ # })
1722
+ #
1723
+ # @example Response structure
1724
+ #
1725
+ # resp.id #=> String
1726
+ # resp.name #=> String
1727
+ # resp.s3.excludes.bucket_names #=> Array
1728
+ # resp.s3.excludes.bucket_names[0] #=> String
1729
+ #
1730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetClassificationScope AWS API Documentation
1731
+ #
1732
+ # @overload get_classification_scope(params = {})
1733
+ # @param [Hash] params ({})
1734
+ def get_classification_scope(params = {}, options = {})
1735
+ req = build_request(:get_classification_scope, params)
1736
+ req.send_request(options)
1737
+ end
1738
+
1478
1739
  # Retrieves the criteria and other settings for a custom data
1479
1740
  # identifier.
1480
1741
  #
@@ -1617,6 +1878,7 @@ module Aws::Macie2
1617
1878
  # resp.findings[0].classification_details.detailed_results_location #=> String
1618
1879
  # resp.findings[0].classification_details.job_arn #=> String
1619
1880
  # resp.findings[0].classification_details.job_id #=> String
1881
+ # resp.findings[0].classification_details.origin_type #=> String, one of "SENSITIVE_DATA_DISCOVERY_JOB", "AUTOMATED_SENSITIVE_DATA_DISCOVERY"
1620
1882
  # resp.findings[0].classification_details.result.additional_occurrences #=> Boolean
1621
1883
  # resp.findings[0].classification_details.result.custom_data_identifiers.detections #=> Array
1622
1884
  # resp.findings[0].classification_details.result.custom_data_identifiers.detections[0].arn #=> String
@@ -1770,7 +2032,7 @@ module Aws::Macie2
1770
2032
  # resp.findings[0].resources_affected.s3_object.server_side_encryption.encryption_type #=> String, one of "NONE", "AES256", "aws:kms", "UNKNOWN"
1771
2033
  # resp.findings[0].resources_affected.s3_object.server_side_encryption.kms_master_key_id #=> String
1772
2034
  # resp.findings[0].resources_affected.s3_object.size #=> Integer
1773
- # resp.findings[0].resources_affected.s3_object.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "ONEZONE_IA", "GLACIER"
2035
+ # resp.findings[0].resources_affected.s3_object.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "ONEZONE_IA", "GLACIER", "GLACIER_IR", "OUTPOSTS"
1774
2036
  # resp.findings[0].resources_affected.s3_object.tags #=> Array
1775
2037
  # resp.findings[0].resources_affected.s3_object.tags[0].key #=> String
1776
2038
  # resp.findings[0].resources_affected.s3_object.tags[0].value #=> String
@@ -1780,7 +2042,7 @@ module Aws::Macie2
1780
2042
  # resp.findings[0].severity.description #=> String, one of "Low", "Medium", "High"
1781
2043
  # resp.findings[0].severity.score #=> Integer
1782
2044
  # resp.findings[0].title #=> String
1783
- # resp.findings[0].type #=> String, one of "SensitiveData:S3Object/Multiple", "SensitiveData:S3Object/Financial", "SensitiveData:S3Object/Personal", "SensitiveData:S3Object/Credentials", "SensitiveData:S3Object/CustomIdentifier", "Policy:IAMUser/S3BucketPublic", "Policy:IAMUser/S3BucketSharedExternally", "Policy:IAMUser/S3BucketReplicatedExternally", "Policy:IAMUser/S3BucketEncryptionDisabled", "Policy:IAMUser/S3BlockPublicAccessDisabled"
2045
+ # resp.findings[0].type #=> String, one of "SensitiveData:S3Object/Multiple", "SensitiveData:S3Object/Financial", "SensitiveData:S3Object/Personal", "SensitiveData:S3Object/Credentials", "SensitiveData:S3Object/CustomIdentifier", "Policy:IAMUser/S3BucketPublic", "Policy:IAMUser/S3BucketSharedExternally", "Policy:IAMUser/S3BucketReplicatedExternally", "Policy:IAMUser/S3BucketEncryptionDisabled", "Policy:IAMUser/S3BlockPublicAccessDisabled", "Policy:IAMUser/S3BucketSharedWithCloudFront"
1784
2046
  # resp.findings[0].updated_at #=> Time
1785
2047
  #
1786
2048
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetFindings AWS API Documentation
@@ -1885,8 +2147,8 @@ module Aws::Macie2
1885
2147
  req.send_request(options)
1886
2148
  end
1887
2149
 
1888
- # Retrieves the current status and configuration settings for an Amazon
1889
- # Macie account.
2150
+ # Retrieves the status and configuration settings for an Amazon Macie
2151
+ # account.
1890
2152
  #
1891
2153
  # @return [Types::GetMacieSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1892
2154
  #
@@ -1984,36 +2246,210 @@ module Aws::Macie2
1984
2246
  req.send_request(options)
1985
2247
  end
1986
2248
 
1987
- # Retrieves (queries) quotas and aggregated usage data for one or more
1988
- # accounts.
2249
+ # Retrieves (queries) sensitive data discovery statistics and the
2250
+ # sensitivity score for an S3 bucket.
1989
2251
  #
1990
- # @option params [Array<Types::UsageStatisticsFilter>] :filter_by
2252
+ # @option params [required, String] :resource_arn
1991
2253
  #
1992
- # @option params [Integer] :max_results
2254
+ # @return [Types::GetResourceProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1993
2255
  #
1994
- # @option params [String] :next_token
2256
+ # * {Types::GetResourceProfileResponse#profile_updated_at #profile_updated_at} => Time
2257
+ # * {Types::GetResourceProfileResponse#sensitivity_score #sensitivity_score} => Integer
2258
+ # * {Types::GetResourceProfileResponse#sensitivity_score_overridden #sensitivity_score_overridden} => Boolean
2259
+ # * {Types::GetResourceProfileResponse#statistics #statistics} => Types::ResourceStatistics
1995
2260
  #
1996
- # @option params [Types::UsageStatisticsSortBy] :sort_by
1997
- # Specifies criteria for sorting the results of a query for Amazon Macie
1998
- # account quotas and usage data.
2261
+ # @example Request syntax with placeholder values
1999
2262
  #
2000
- # @option params [String] :time_range
2001
- # An inclusive time period that Amazon Macie usage data applies to.
2002
- # Possible values are:
2263
+ # resp = client.get_resource_profile({
2264
+ # resource_arn: "__string", # required
2265
+ # })
2003
2266
  #
2004
- # @return [Types::GetUsageStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2267
+ # @example Response structure
2005
2268
  #
2006
- # * {Types::GetUsageStatisticsResponse#next_token #next_token} => String
2007
- # * {Types::GetUsageStatisticsResponse#records #records} => Array&lt;Types::UsageRecord&gt;
2008
- # * {Types::GetUsageStatisticsResponse#time_range #time_range} => String
2269
+ # resp.profile_updated_at #=> Time
2270
+ # resp.sensitivity_score #=> Integer
2271
+ # resp.sensitivity_score_overridden #=> Boolean
2272
+ # resp.statistics.total_bytes_classified #=> Integer
2273
+ # resp.statistics.total_detections #=> Integer
2274
+ # resp.statistics.total_detections_suppressed #=> Integer
2275
+ # resp.statistics.total_items_classified #=> Integer
2276
+ # resp.statistics.total_items_sensitive #=> Integer
2277
+ # resp.statistics.total_items_skipped #=> Integer
2278
+ # resp.statistics.total_items_skipped_invalid_encryption #=> Integer
2279
+ # resp.statistics.total_items_skipped_invalid_kms #=> Integer
2280
+ # resp.statistics.total_items_skipped_permission_denied #=> Integer
2281
+ #
2282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetResourceProfile AWS API Documentation
2283
+ #
2284
+ # @overload get_resource_profile(params = {})
2285
+ # @param [Hash] params ({})
2286
+ def get_resource_profile(params = {}, options = {})
2287
+ req = build_request(:get_resource_profile, params)
2288
+ req.send_request(options)
2289
+ end
2290
+
2291
+ # Retrieves the status and configuration settings for retrieving
2292
+ # occurrences of sensitive data reported by findings.
2009
2293
  #
2010
- # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2294
+ # @return [Types::GetRevealConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2295
+ #
2296
+ # * {Types::GetRevealConfigurationResponse#configuration #configuration} => Types::RevealConfiguration
2297
+ #
2298
+ # @example Response structure
2299
+ #
2300
+ # resp.configuration.kms_key_id #=> String
2301
+ # resp.configuration.status #=> String, one of "ENABLED", "DISABLED"
2302
+ #
2303
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetRevealConfiguration AWS API Documentation
2304
+ #
2305
+ # @overload get_reveal_configuration(params = {})
2306
+ # @param [Hash] params ({})
2307
+ def get_reveal_configuration(params = {}, options = {})
2308
+ req = build_request(:get_reveal_configuration, params)
2309
+ req.send_request(options)
2310
+ end
2311
+
2312
+ # Retrieves occurrences of sensitive data reported by a finding.
2313
+ #
2314
+ # @option params [required, String] :finding_id
2315
+ #
2316
+ # @return [Types::GetSensitiveDataOccurrencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2317
+ #
2318
+ # * {Types::GetSensitiveDataOccurrencesResponse#error #error} => String
2319
+ # * {Types::GetSensitiveDataOccurrencesResponse#sensitive_data_occurrences #sensitive_data_occurrences} => Hash&lt;String,Array&lt;Types::DetectedDataDetails&gt;&gt;
2320
+ # * {Types::GetSensitiveDataOccurrencesResponse#status #status} => String
2011
2321
  #
2012
2322
  # @example Request syntax with placeholder values
2013
2323
  #
2014
- # resp = client.get_usage_statistics({
2015
- # filter_by: [
2016
- # {
2324
+ # resp = client.get_sensitive_data_occurrences({
2325
+ # finding_id: "__string", # required
2326
+ # })
2327
+ #
2328
+ # @example Response structure
2329
+ #
2330
+ # resp.error #=> String
2331
+ # resp.sensitive_data_occurrences #=> Hash
2332
+ # resp.sensitive_data_occurrences["__string"] #=> Array
2333
+ # resp.sensitive_data_occurrences["__string"][0].value #=> String
2334
+ # resp.status #=> String, one of "SUCCESS", "PROCESSING", "ERROR"
2335
+ #
2336
+ #
2337
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
2338
+ #
2339
+ # * finding_revealed
2340
+ #
2341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrences AWS API Documentation
2342
+ #
2343
+ # @overload get_sensitive_data_occurrences(params = {})
2344
+ # @param [Hash] params ({})
2345
+ def get_sensitive_data_occurrences(params = {}, options = {})
2346
+ req = build_request(:get_sensitive_data_occurrences, params)
2347
+ req.send_request(options)
2348
+ end
2349
+
2350
+ # Checks whether occurrences of sensitive data can be retrieved for a
2351
+ # finding.
2352
+ #
2353
+ # @option params [required, String] :finding_id
2354
+ #
2355
+ # @return [Types::GetSensitiveDataOccurrencesAvailabilityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2356
+ #
2357
+ # * {Types::GetSensitiveDataOccurrencesAvailabilityResponse#code #code} => String
2358
+ # * {Types::GetSensitiveDataOccurrencesAvailabilityResponse#reasons #reasons} => Array&lt;String&gt;
2359
+ #
2360
+ # @example Request syntax with placeholder values
2361
+ #
2362
+ # resp = client.get_sensitive_data_occurrences_availability({
2363
+ # finding_id: "__string", # required
2364
+ # })
2365
+ #
2366
+ # @example Response structure
2367
+ #
2368
+ # resp.code #=> String, one of "AVAILABLE", "UNAVAILABLE"
2369
+ # resp.reasons #=> Array
2370
+ # resp.reasons[0] #=> String, one of "OBJECT_EXCEEDS_SIZE_QUOTA", "UNSUPPORTED_OBJECT_TYPE", "UNSUPPORTED_FINDING_TYPE", "INVALID_CLASSIFICATION_RESULT", "OBJECT_UNAVAILABLE"
2371
+ #
2372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrencesAvailability AWS API Documentation
2373
+ #
2374
+ # @overload get_sensitive_data_occurrences_availability(params = {})
2375
+ # @param [Hash] params ({})
2376
+ def get_sensitive_data_occurrences_availability(params = {}, options = {})
2377
+ req = build_request(:get_sensitive_data_occurrences_availability, params)
2378
+ req.send_request(options)
2379
+ end
2380
+
2381
+ # Retrieves the settings for the sensitivity inspection template for an
2382
+ # account.
2383
+ #
2384
+ # @option params [required, String] :id
2385
+ #
2386
+ # @return [Types::GetSensitivityInspectionTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2387
+ #
2388
+ # * {Types::GetSensitivityInspectionTemplateResponse#description #description} => String
2389
+ # * {Types::GetSensitivityInspectionTemplateResponse#excludes #excludes} => Types::SensitivityInspectionTemplateExcludes
2390
+ # * {Types::GetSensitivityInspectionTemplateResponse#includes #includes} => Types::SensitivityInspectionTemplateIncludes
2391
+ # * {Types::GetSensitivityInspectionTemplateResponse#name #name} => String
2392
+ # * {Types::GetSensitivityInspectionTemplateResponse#sensitivity_inspection_template_id #sensitivity_inspection_template_id} => String
2393
+ #
2394
+ # @example Request syntax with placeholder values
2395
+ #
2396
+ # resp = client.get_sensitivity_inspection_template({
2397
+ # id: "__string", # required
2398
+ # })
2399
+ #
2400
+ # @example Response structure
2401
+ #
2402
+ # resp.description #=> String
2403
+ # resp.excludes.managed_data_identifier_ids #=> Array
2404
+ # resp.excludes.managed_data_identifier_ids[0] #=> String
2405
+ # resp.includes.allow_list_ids #=> Array
2406
+ # resp.includes.allow_list_ids[0] #=> String
2407
+ # resp.includes.custom_data_identifier_ids #=> Array
2408
+ # resp.includes.custom_data_identifier_ids[0] #=> String
2409
+ # resp.includes.managed_data_identifier_ids #=> Array
2410
+ # resp.includes.managed_data_identifier_ids[0] #=> String
2411
+ # resp.name #=> String
2412
+ # resp.sensitivity_inspection_template_id #=> String
2413
+ #
2414
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitivityInspectionTemplate AWS API Documentation
2415
+ #
2416
+ # @overload get_sensitivity_inspection_template(params = {})
2417
+ # @param [Hash] params ({})
2418
+ def get_sensitivity_inspection_template(params = {}, options = {})
2419
+ req = build_request(:get_sensitivity_inspection_template, params)
2420
+ req.send_request(options)
2421
+ end
2422
+
2423
+ # Retrieves (queries) quotas and aggregated usage data for one or more
2424
+ # accounts.
2425
+ #
2426
+ # @option params [Array<Types::UsageStatisticsFilter>] :filter_by
2427
+ #
2428
+ # @option params [Integer] :max_results
2429
+ #
2430
+ # @option params [String] :next_token
2431
+ #
2432
+ # @option params [Types::UsageStatisticsSortBy] :sort_by
2433
+ # Specifies criteria for sorting the results of a query for Amazon Macie
2434
+ # account quotas and usage data.
2435
+ #
2436
+ # @option params [String] :time_range
2437
+ # An inclusive time period that Amazon Macie usage data applies to.
2438
+ # Possible values are:
2439
+ #
2440
+ # @return [Types::GetUsageStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2441
+ #
2442
+ # * {Types::GetUsageStatisticsResponse#next_token #next_token} => String
2443
+ # * {Types::GetUsageStatisticsResponse#records #records} => Array&lt;Types::UsageRecord&gt;
2444
+ # * {Types::GetUsageStatisticsResponse#time_range #time_range} => String
2445
+ #
2446
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2447
+ #
2448
+ # @example Request syntax with placeholder values
2449
+ #
2450
+ # resp = client.get_usage_statistics({
2451
+ # filter_by: [
2452
+ # {
2017
2453
  # comparator: "GT", # accepts GT, GTE, LT, LTE, EQ, NE, CONTAINS
2018
2454
  # key: "accountId", # accepts accountId, serviceLimit, freeTrialStartDate, total
2019
2455
  # values: ["__string"],
@@ -2033,6 +2469,7 @@ module Aws::Macie2
2033
2469
  # resp.next_token #=> String
2034
2470
  # resp.records #=> Array
2035
2471
  # resp.records[0].account_id #=> String
2472
+ # resp.records[0].automated_discovery_free_trial_start_date #=> Time
2036
2473
  # resp.records[0].free_trial_start_date #=> Time
2037
2474
  # resp.records[0].usage #=> Array
2038
2475
  # resp.records[0].usage[0].currency #=> String, one of "USD"
@@ -2040,7 +2477,7 @@ module Aws::Macie2
2040
2477
  # resp.records[0].usage[0].service_limit.is_service_limited #=> Boolean
2041
2478
  # resp.records[0].usage[0].service_limit.unit #=> String, one of "TERABYTES"
2042
2479
  # resp.records[0].usage[0].service_limit.value #=> Integer
2043
- # resp.records[0].usage[0].type #=> String, one of "DATA_INVENTORY_EVALUATION", "SENSITIVE_DATA_DISCOVERY"
2480
+ # resp.records[0].usage[0].type #=> String, one of "DATA_INVENTORY_EVALUATION", "SENSITIVE_DATA_DISCOVERY", "AUTOMATED_SENSITIVE_DATA_DISCOVERY", "AUTOMATED_OBJECT_MONITORING"
2044
2481
  # resp.time_range #=> String, one of "MONTH_TO_DATE", "PAST_30_DAYS"
2045
2482
  #
2046
2483
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetUsageStatistics AWS API Documentation
@@ -2073,7 +2510,7 @@ module Aws::Macie2
2073
2510
  # resp.usage_totals #=> Array
2074
2511
  # resp.usage_totals[0].currency #=> String, one of "USD"
2075
2512
  # resp.usage_totals[0].estimated_cost #=> String
2076
- # resp.usage_totals[0].type #=> String, one of "DATA_INVENTORY_EVALUATION", "SENSITIVE_DATA_DISCOVERY"
2513
+ # resp.usage_totals[0].type #=> String, one of "DATA_INVENTORY_EVALUATION", "SENSITIVE_DATA_DISCOVERY", "AUTOMATED_SENSITIVE_DATA_DISCOVERY", "AUTOMATED_OBJECT_MONITORING"
2077
2514
  #
2078
2515
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetUsageTotals AWS API Documentation
2079
2516
  #
@@ -2084,6 +2521,47 @@ module Aws::Macie2
2084
2521
  req.send_request(options)
2085
2522
  end
2086
2523
 
2524
+ # Retrieves a subset of information about all the allow lists for an
2525
+ # account.
2526
+ #
2527
+ # @option params [Integer] :max_results
2528
+ #
2529
+ # @option params [String] :next_token
2530
+ #
2531
+ # @return [Types::ListAllowListsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2532
+ #
2533
+ # * {Types::ListAllowListsResponse#allow_lists #allow_lists} => Array&lt;Types::AllowListSummary&gt;
2534
+ # * {Types::ListAllowListsResponse#next_token #next_token} => String
2535
+ #
2536
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2537
+ #
2538
+ # @example Request syntax with placeholder values
2539
+ #
2540
+ # resp = client.list_allow_lists({
2541
+ # max_results: 1,
2542
+ # next_token: "__string",
2543
+ # })
2544
+ #
2545
+ # @example Response structure
2546
+ #
2547
+ # resp.allow_lists #=> Array
2548
+ # resp.allow_lists[0].arn #=> String
2549
+ # resp.allow_lists[0].created_at #=> Time
2550
+ # resp.allow_lists[0].description #=> String
2551
+ # resp.allow_lists[0].id #=> String
2552
+ # resp.allow_lists[0].name #=> String
2553
+ # resp.allow_lists[0].updated_at #=> Time
2554
+ # resp.next_token #=> String
2555
+ #
2556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListAllowLists AWS API Documentation
2557
+ #
2558
+ # @overload list_allow_lists(params = {})
2559
+ # @param [Hash] params ({})
2560
+ def list_allow_lists(params = {}, options = {})
2561
+ req = build_request(:list_allow_lists, params)
2562
+ req.send_request(options)
2563
+ end
2564
+
2087
2565
  # Retrieves a subset of information about one or more classification
2088
2566
  # jobs.
2089
2567
  #
@@ -2136,19 +2614,6 @@ module Aws::Macie2
2136
2614
  # @example Response structure
2137
2615
  #
2138
2616
  # resp.items #=> Array
2139
- # resp.items[0].bucket_definitions #=> Array
2140
- # resp.items[0].bucket_definitions[0].account_id #=> String
2141
- # resp.items[0].bucket_definitions[0].buckets #=> Array
2142
- # resp.items[0].bucket_definitions[0].buckets[0] #=> String
2143
- # resp.items[0].created_at #=> Time
2144
- # resp.items[0].job_id #=> String
2145
- # resp.items[0].job_status #=> String, one of "RUNNING", "PAUSED", "CANCELLED", "COMPLETE", "IDLE", "USER_PAUSED"
2146
- # resp.items[0].job_type #=> String, one of "ONE_TIME", "SCHEDULED"
2147
- # resp.items[0].last_run_error_status.code #=> String, one of "NONE", "ERROR"
2148
- # resp.items[0].name #=> String
2149
- # resp.items[0].user_paused_details.job_expires_at #=> Time
2150
- # resp.items[0].user_paused_details.job_imminent_expiration_health_event_arn #=> String
2151
- # resp.items[0].user_paused_details.job_paused_at #=> Time
2152
2617
  # resp.items[0].bucket_criteria.excludes.and #=> Array
2153
2618
  # resp.items[0].bucket_criteria.excludes.and[0].simple_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
2154
2619
  # resp.items[0].bucket_criteria.excludes.and[0].simple_criterion.key #=> String, one of "ACCOUNT_ID", "S3_BUCKET_NAME", "S3_BUCKET_EFFECTIVE_PERMISSION", "S3_BUCKET_SHARED_ACCESS"
@@ -2167,6 +2632,19 @@ module Aws::Macie2
2167
2632
  # resp.items[0].bucket_criteria.includes.and[0].tag_criterion.tag_values #=> Array
2168
2633
  # resp.items[0].bucket_criteria.includes.and[0].tag_criterion.tag_values[0].key #=> String
2169
2634
  # resp.items[0].bucket_criteria.includes.and[0].tag_criterion.tag_values[0].value #=> String
2635
+ # resp.items[0].bucket_definitions #=> Array
2636
+ # resp.items[0].bucket_definitions[0].account_id #=> String
2637
+ # resp.items[0].bucket_definitions[0].buckets #=> Array
2638
+ # resp.items[0].bucket_definitions[0].buckets[0] #=> String
2639
+ # resp.items[0].created_at #=> Time
2640
+ # resp.items[0].job_id #=> String
2641
+ # resp.items[0].job_status #=> String, one of "RUNNING", "PAUSED", "CANCELLED", "COMPLETE", "IDLE", "USER_PAUSED"
2642
+ # resp.items[0].job_type #=> String, one of "ONE_TIME", "SCHEDULED"
2643
+ # resp.items[0].last_run_error_status.code #=> String, one of "NONE", "ERROR"
2644
+ # resp.items[0].name #=> String
2645
+ # resp.items[0].user_paused_details.job_expires_at #=> Time
2646
+ # resp.items[0].user_paused_details.job_imminent_expiration_health_event_arn #=> String
2647
+ # resp.items[0].user_paused_details.job_paused_at #=> Time
2170
2648
  # resp.next_token #=> String
2171
2649
  #
2172
2650
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListClassificationJobs AWS API Documentation
@@ -2178,6 +2656,43 @@ module Aws::Macie2
2178
2656
  req.send_request(options)
2179
2657
  end
2180
2658
 
2659
+ # Retrieves a subset of information about the classification scope for
2660
+ # an account.
2661
+ #
2662
+ # @option params [String] :name
2663
+ #
2664
+ # @option params [String] :next_token
2665
+ #
2666
+ # @return [Types::ListClassificationScopesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2667
+ #
2668
+ # * {Types::ListClassificationScopesResponse#classification_scopes #classification_scopes} => Array&lt;Types::ClassificationScopeSummary&gt;
2669
+ # * {Types::ListClassificationScopesResponse#next_token #next_token} => String
2670
+ #
2671
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2672
+ #
2673
+ # @example Request syntax with placeholder values
2674
+ #
2675
+ # resp = client.list_classification_scopes({
2676
+ # name: "__string",
2677
+ # next_token: "__string",
2678
+ # })
2679
+ #
2680
+ # @example Response structure
2681
+ #
2682
+ # resp.classification_scopes #=> Array
2683
+ # resp.classification_scopes[0].id #=> String
2684
+ # resp.classification_scopes[0].name #=> String
2685
+ # resp.next_token #=> String
2686
+ #
2687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListClassificationScopes AWS API Documentation
2688
+ #
2689
+ # @overload list_classification_scopes(params = {})
2690
+ # @param [Hash] params ({})
2691
+ def list_classification_scopes(params = {}, options = {})
2692
+ req = build_request(:list_classification_scopes, params)
2693
+ req.send_request(options)
2694
+ end
2695
+
2181
2696
  # Retrieves a subset of information about all the custom data
2182
2697
  # identifiers for an account.
2183
2698
  #
@@ -2367,6 +2882,8 @@ module Aws::Macie2
2367
2882
  # * {Types::ListManagedDataIdentifiersResponse#items #items} => Array&lt;Types::ManagedDataIdentifierSummary&gt;
2368
2883
  # * {Types::ListManagedDataIdentifiersResponse#next_token #next_token} => String
2369
2884
  #
2885
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2886
+ #
2370
2887
  # @example Request syntax with placeholder values
2371
2888
  #
2372
2889
  # resp = client.list_managed_data_identifiers({
@@ -2474,9 +2991,127 @@ module Aws::Macie2
2474
2991
  req.send_request(options)
2475
2992
  end
2476
2993
 
2477
- # Retrieves the tags (keys and values) that are associated with a
2478
- # classification job, custom data identifier, findings filter, or member
2479
- # account.
2994
+ # Retrieves information about objects that were selected from an S3
2995
+ # bucket for automated sensitive data discovery.
2996
+ #
2997
+ # @option params [String] :next_token
2998
+ #
2999
+ # @option params [required, String] :resource_arn
3000
+ #
3001
+ # @return [Types::ListResourceProfileArtifactsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3002
+ #
3003
+ # * {Types::ListResourceProfileArtifactsResponse#artifacts #artifacts} => Array&lt;Types::ResourceProfileArtifact&gt;
3004
+ # * {Types::ListResourceProfileArtifactsResponse#next_token #next_token} => String
3005
+ #
3006
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3007
+ #
3008
+ # @example Request syntax with placeholder values
3009
+ #
3010
+ # resp = client.list_resource_profile_artifacts({
3011
+ # next_token: "__string",
3012
+ # resource_arn: "__string", # required
3013
+ # })
3014
+ #
3015
+ # @example Response structure
3016
+ #
3017
+ # resp.artifacts #=> Array
3018
+ # resp.artifacts[0].arn #=> String
3019
+ # resp.artifacts[0].classification_result_status #=> String
3020
+ # resp.artifacts[0].sensitive #=> Boolean
3021
+ # resp.next_token #=> String
3022
+ #
3023
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListResourceProfileArtifacts AWS API Documentation
3024
+ #
3025
+ # @overload list_resource_profile_artifacts(params = {})
3026
+ # @param [Hash] params ({})
3027
+ def list_resource_profile_artifacts(params = {}, options = {})
3028
+ req = build_request(:list_resource_profile_artifacts, params)
3029
+ req.send_request(options)
3030
+ end
3031
+
3032
+ # Retrieves information about the types and amount of sensitive data
3033
+ # that Amazon Macie found in an S3 bucket.
3034
+ #
3035
+ # @option params [Integer] :max_results
3036
+ #
3037
+ # @option params [String] :next_token
3038
+ #
3039
+ # @option params [required, String] :resource_arn
3040
+ #
3041
+ # @return [Types::ListResourceProfileDetectionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3042
+ #
3043
+ # * {Types::ListResourceProfileDetectionsResponse#detections #detections} => Array&lt;Types::Detection&gt;
3044
+ # * {Types::ListResourceProfileDetectionsResponse#next_token #next_token} => String
3045
+ #
3046
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3047
+ #
3048
+ # @example Request syntax with placeholder values
3049
+ #
3050
+ # resp = client.list_resource_profile_detections({
3051
+ # max_results: 1,
3052
+ # next_token: "__string",
3053
+ # resource_arn: "__string", # required
3054
+ # })
3055
+ #
3056
+ # @example Response structure
3057
+ #
3058
+ # resp.detections #=> Array
3059
+ # resp.detections[0].arn #=> String
3060
+ # resp.detections[0].count #=> Integer
3061
+ # resp.detections[0].id #=> String
3062
+ # resp.detections[0].name #=> String
3063
+ # resp.detections[0].suppressed #=> Boolean
3064
+ # resp.detections[0].type #=> String, one of "CUSTOM", "MANAGED"
3065
+ # resp.next_token #=> String
3066
+ #
3067
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListResourceProfileDetections AWS API Documentation
3068
+ #
3069
+ # @overload list_resource_profile_detections(params = {})
3070
+ # @param [Hash] params ({})
3071
+ def list_resource_profile_detections(params = {}, options = {})
3072
+ req = build_request(:list_resource_profile_detections, params)
3073
+ req.send_request(options)
3074
+ end
3075
+
3076
+ # Retrieves a subset of information about the sensitivity inspection
3077
+ # template for an account.
3078
+ #
3079
+ # @option params [Integer] :max_results
3080
+ #
3081
+ # @option params [String] :next_token
3082
+ #
3083
+ # @return [Types::ListSensitivityInspectionTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3084
+ #
3085
+ # * {Types::ListSensitivityInspectionTemplatesResponse#next_token #next_token} => String
3086
+ # * {Types::ListSensitivityInspectionTemplatesResponse#sensitivity_inspection_templates #sensitivity_inspection_templates} => Array&lt;Types::SensitivityInspectionTemplatesEntry&gt;
3087
+ #
3088
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3089
+ #
3090
+ # @example Request syntax with placeholder values
3091
+ #
3092
+ # resp = client.list_sensitivity_inspection_templates({
3093
+ # max_results: 1,
3094
+ # next_token: "__string",
3095
+ # })
3096
+ #
3097
+ # @example Response structure
3098
+ #
3099
+ # resp.next_token #=> String
3100
+ # resp.sensitivity_inspection_templates #=> Array
3101
+ # resp.sensitivity_inspection_templates[0].id #=> String
3102
+ # resp.sensitivity_inspection_templates[0].name #=> String
3103
+ #
3104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListSensitivityInspectionTemplates AWS API Documentation
3105
+ #
3106
+ # @overload list_sensitivity_inspection_templates(params = {})
3107
+ # @param [Hash] params ({})
3108
+ def list_sensitivity_inspection_templates(params = {}, options = {})
3109
+ req = build_request(:list_sensitivity_inspection_templates, params)
3110
+ req.send_request(options)
3111
+ end
3112
+
3113
+ # Retrieves the tags (keys and values) that are associated with an
3114
+ # Amazon Macie resource.
2480
3115
  #
2481
3116
  # @option params [required, String] :resource_arn
2482
3117
  #
@@ -2509,8 +3144,8 @@ module Aws::Macie2
2509
3144
  #
2510
3145
  # @option params [required, Types::ClassificationExportConfiguration] :configuration
2511
3146
  # Specifies where to store data classification results, and the
2512
- # encryption settings to use when storing results in that location.
2513
- # Currently, you can store classification results only in an S3 bucket.
3147
+ # encryption settings to use when storing results in that location. The
3148
+ # location must be an S3 bucket.
2514
3149
  #
2515
3150
  # @return [Types::PutClassificationExportConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2516
3151
  #
@@ -2671,12 +3306,14 @@ module Aws::Macie2
2671
3306
  # resp.matching_resources[0].matching_bucket.job_details.is_monitored_by_job #=> String, one of "TRUE", "FALSE", "UNKNOWN"
2672
3307
  # resp.matching_resources[0].matching_bucket.job_details.last_job_id #=> String
2673
3308
  # resp.matching_resources[0].matching_bucket.job_details.last_job_run_time #=> Time
3309
+ # resp.matching_resources[0].matching_bucket.last_automated_discovery_time #=> Time
2674
3310
  # resp.matching_resources[0].matching_bucket.object_count #=> Integer
2675
3311
  # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.customer_managed #=> Integer
2676
3312
  # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.kms_managed #=> Integer
2677
3313
  # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.s3_managed #=> Integer
2678
3314
  # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.unencrypted #=> Integer
2679
3315
  # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.unknown #=> Integer
3316
+ # resp.matching_resources[0].matching_bucket.sensitivity_score #=> Integer
2680
3317
  # resp.matching_resources[0].matching_bucket.size_in_bytes #=> Integer
2681
3318
  # resp.matching_resources[0].matching_bucket.size_in_bytes_compressed #=> Integer
2682
3319
  # resp.matching_resources[0].matching_bucket.unclassifiable_object_count.file_type #=> Integer
@@ -2697,15 +3334,13 @@ module Aws::Macie2
2697
3334
  end
2698
3335
 
2699
3336
  # Adds or updates one or more tags (keys and values) that are associated
2700
- # with a classification job, custom data identifier, findings filter, or
2701
- # member account.
3337
+ # with an Amazon Macie resource.
2702
3338
  #
2703
3339
  # @option params [required, String] :resource_arn
2704
3340
  #
2705
3341
  # @option params [required, Hash<String,String>] :tags
2706
3342
  # A string-to-string map of key-value pairs that specifies the tags
2707
- # (keys and values) for a classification job, custom data identifier,
2708
- # findings filter, or member account.
3343
+ # (keys and values) for an Amazon Macie resource.
2709
3344
  #
2710
3345
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2711
3346
  #
@@ -2766,8 +3401,8 @@ module Aws::Macie2
2766
3401
  req.send_request(options)
2767
3402
  end
2768
3403
 
2769
- # Removes one or more tags (keys and values) from a classification job,
2770
- # custom data identifier, findings filter, or member account.
3404
+ # Removes one or more tags (keys and values) from an Amazon Macie
3405
+ # resource.
2771
3406
  #
2772
3407
  # @option params [required, String] :resource_arn
2773
3408
  #
@@ -2791,6 +3426,76 @@ module Aws::Macie2
2791
3426
  req.send_request(options)
2792
3427
  end
2793
3428
 
3429
+ # Updates the settings for an allow list.
3430
+ #
3431
+ # @option params [required, Types::AllowListCriteria] :criteria
3432
+ # Specifies the criteria for an allow list. The criteria must specify a
3433
+ # regular expression (regex) or an S3 object (s3WordsList). It can't
3434
+ # specify both.
3435
+ #
3436
+ # @option params [String] :description
3437
+ #
3438
+ # @option params [required, String] :id
3439
+ #
3440
+ # @option params [required, String] :name
3441
+ #
3442
+ # @return [Types::UpdateAllowListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3443
+ #
3444
+ # * {Types::UpdateAllowListResponse#arn #arn} => String
3445
+ # * {Types::UpdateAllowListResponse#id #id} => String
3446
+ #
3447
+ # @example Request syntax with placeholder values
3448
+ #
3449
+ # resp = client.update_allow_list({
3450
+ # criteria: { # required
3451
+ # regex: "__stringMin1Max512PatternSS",
3452
+ # s3_words_list: {
3453
+ # bucket_name: "__stringMin3Max255PatternAZaZ093255", # required
3454
+ # object_key: "__stringMin1Max1024PatternSS", # required
3455
+ # },
3456
+ # },
3457
+ # description: "__stringMin1Max512PatternSS",
3458
+ # id: "__string", # required
3459
+ # name: "__stringMin1Max128Pattern", # required
3460
+ # })
3461
+ #
3462
+ # @example Response structure
3463
+ #
3464
+ # resp.arn #=> String
3465
+ # resp.id #=> String
3466
+ #
3467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateAllowList AWS API Documentation
3468
+ #
3469
+ # @overload update_allow_list(params = {})
3470
+ # @param [Hash] params ({})
3471
+ def update_allow_list(params = {}, options = {})
3472
+ req = build_request(:update_allow_list, params)
3473
+ req.send_request(options)
3474
+ end
3475
+
3476
+ # Enables or disables automated sensitive data discovery for an account.
3477
+ #
3478
+ # @option params [required, String] :status
3479
+ # The status of the automated sensitive data discovery configuration for
3480
+ # an Amazon Macie account. Valid values are:
3481
+ #
3482
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3483
+ #
3484
+ # @example Request syntax with placeholder values
3485
+ #
3486
+ # resp = client.update_automated_discovery_configuration({
3487
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
3488
+ # })
3489
+ #
3490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateAutomatedDiscoveryConfiguration AWS API Documentation
3491
+ #
3492
+ # @overload update_automated_discovery_configuration(params = {})
3493
+ # @param [Hash] params ({})
3494
+ def update_automated_discovery_configuration(params = {}, options = {})
3495
+ req = build_request(:update_automated_discovery_configuration, params)
3496
+ req.send_request(options)
3497
+ end
3498
+
2794
3499
  # Changes the status of a classification job.
2795
3500
  #
2796
3501
  # @option params [required, String] :job_id
@@ -2816,13 +3521,48 @@ module Aws::Macie2
2816
3521
  req.send_request(options)
2817
3522
  end
2818
3523
 
3524
+ # Updates the classification scope settings for an account.
3525
+ #
3526
+ # @option params [required, String] :id
3527
+ #
3528
+ # @option params [Types::S3ClassificationScopeUpdate] :s3
3529
+ # Specifies changes to the list of S3 buckets that are excluded from
3530
+ # automated sensitive data discovery for an Amazon Macie account.
3531
+ #
3532
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3533
+ #
3534
+ # @example Request syntax with placeholder values
3535
+ #
3536
+ # resp = client.update_classification_scope({
3537
+ # id: "__string", # required
3538
+ # s3: {
3539
+ # excludes: { # required
3540
+ # bucket_names: ["S3BucketName"], # required
3541
+ # operation: "ADD", # required, accepts ADD, REPLACE, REMOVE
3542
+ # },
3543
+ # },
3544
+ # })
3545
+ #
3546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateClassificationScope AWS API Documentation
3547
+ #
3548
+ # @overload update_classification_scope(params = {})
3549
+ # @param [Hash] params ({})
3550
+ def update_classification_scope(params = {}, options = {})
3551
+ req = build_request(:update_classification_scope, params)
3552
+ req.send_request(options)
3553
+ end
3554
+
2819
3555
  # Updates the criteria and other settings for a findings filter.
2820
3556
  #
2821
3557
  # @option params [String] :action
2822
- # The action to perform on findings that meet the filter criteria. To
2823
- # suppress (automatically archive) findings that meet the criteria, set
3558
+ # The action to perform on findings that match the filter criteria. To
3559
+ # suppress (automatically archive) findings that match the criteria, set
2824
3560
  # this value to ARCHIVE. Valid values are:
2825
3561
  #
3562
+ # @option params [String] :client_token
3563
+ # **A suitable default value is auto-generated.** You should normally
3564
+ # not need to pass this option.**
3565
+ #
2826
3566
  # @option params [String] :description
2827
3567
  #
2828
3568
  # @option params [Types::FindingCriteria] :finding_criteria
@@ -2835,10 +3575,6 @@ module Aws::Macie2
2835
3575
  #
2836
3576
  # @option params [Integer] :position
2837
3577
  #
2838
- # @option params [String] :client_token
2839
- # **A suitable default value is auto-generated.** You should normally
2840
- # not need to pass this option.**
2841
- #
2842
3578
  # @return [Types::UpdateFindingsFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2843
3579
  #
2844
3580
  # * {Types::UpdateFindingsFilterResponse#arn #arn} => String
@@ -2848,6 +3584,7 @@ module Aws::Macie2
2848
3584
  #
2849
3585
  # resp = client.update_findings_filter({
2850
3586
  # action: "ARCHIVE", # accepts ARCHIVE, NOOP
3587
+ # client_token: "__string",
2851
3588
  # description: "__string",
2852
3589
  # finding_criteria: {
2853
3590
  # criterion: {
@@ -2865,7 +3602,6 @@ module Aws::Macie2
2865
3602
  # id: "__string", # required
2866
3603
  # name: "__string",
2867
3604
  # position: 1,
2868
- # client_token: "__string",
2869
3605
  # })
2870
3606
  #
2871
3607
  # @example Response structure
@@ -2888,9 +3624,9 @@ module Aws::Macie2
2888
3624
  # @option params [String] :finding_publishing_frequency
2889
3625
  # The frequency with which Amazon Macie publishes updates to policy
2890
3626
  # findings for an account. This includes publishing updates to Security
2891
- # Hub and Amazon EventBridge (formerly called Amazon CloudWatch Events).
2892
- # For more information, see [Monitoring and processing findings][1] in
2893
- # the *Amazon Macie User Guide*. Valid values are:
3627
+ # Hub and Amazon EventBridge (formerly Amazon CloudWatch Events). For
3628
+ # more information, see [Monitoring and processing findings][1] in the
3629
+ # *Amazon Macie User Guide*. Valid values are:
2894
3630
  #
2895
3631
  #
2896
3632
  #
@@ -2965,6 +3701,154 @@ module Aws::Macie2
2965
3701
  req.send_request(options)
2966
3702
  end
2967
3703
 
3704
+ # Updates the sensitivity score for an S3 bucket.
3705
+ #
3706
+ # @option params [required, String] :resource_arn
3707
+ #
3708
+ # @option params [Integer] :sensitivity_score_override
3709
+ #
3710
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3711
+ #
3712
+ # @example Request syntax with placeholder values
3713
+ #
3714
+ # resp = client.update_resource_profile({
3715
+ # resource_arn: "__string", # required
3716
+ # sensitivity_score_override: 1,
3717
+ # })
3718
+ #
3719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateResourceProfile AWS API Documentation
3720
+ #
3721
+ # @overload update_resource_profile(params = {})
3722
+ # @param [Hash] params ({})
3723
+ def update_resource_profile(params = {}, options = {})
3724
+ req = build_request(:update_resource_profile, params)
3725
+ req.send_request(options)
3726
+ end
3727
+
3728
+ # Updates the sensitivity scoring settings for an S3 bucket.
3729
+ #
3730
+ # @option params [required, String] :resource_arn
3731
+ #
3732
+ # @option params [Array<Types::SuppressDataIdentifier>] :suppress_data_identifiers
3733
+ #
3734
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3735
+ #
3736
+ # @example Request syntax with placeholder values
3737
+ #
3738
+ # resp = client.update_resource_profile_detections({
3739
+ # resource_arn: "__string", # required
3740
+ # suppress_data_identifiers: [
3741
+ # {
3742
+ # id: "__string",
3743
+ # type: "CUSTOM", # accepts CUSTOM, MANAGED
3744
+ # },
3745
+ # ],
3746
+ # })
3747
+ #
3748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateResourceProfileDetections AWS API Documentation
3749
+ #
3750
+ # @overload update_resource_profile_detections(params = {})
3751
+ # @param [Hash] params ({})
3752
+ def update_resource_profile_detections(params = {}, options = {})
3753
+ req = build_request(:update_resource_profile_detections, params)
3754
+ req.send_request(options)
3755
+ end
3756
+
3757
+ # Updates the status and configuration settings for retrieving
3758
+ # occurrences of sensitive data reported by findings.
3759
+ #
3760
+ # @option params [required, Types::RevealConfiguration] :configuration
3761
+ # Specifies the configuration settings for retrieving occurrences of
3762
+ # sensitive data reported by findings, and the status of the
3763
+ # configuration for an Amazon Macie account. When you enable the
3764
+ # configuration for the first time, your request must specify an Key
3765
+ # Management Service (KMS) key. Otherwise, an error occurs. Macie uses
3766
+ # the specified key to encrypt the sensitive data that you retrieve.
3767
+ #
3768
+ # @return [Types::UpdateRevealConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3769
+ #
3770
+ # * {Types::UpdateRevealConfigurationResponse#configuration #configuration} => Types::RevealConfiguration
3771
+ #
3772
+ # @example Request syntax with placeholder values
3773
+ #
3774
+ # resp = client.update_reveal_configuration({
3775
+ # configuration: { # required
3776
+ # kms_key_id: "__stringMin1Max2048",
3777
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
3778
+ # },
3779
+ # })
3780
+ #
3781
+ # @example Response structure
3782
+ #
3783
+ # resp.configuration.kms_key_id #=> String
3784
+ # resp.configuration.status #=> String, one of "ENABLED", "DISABLED"
3785
+ #
3786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateRevealConfiguration AWS API Documentation
3787
+ #
3788
+ # @overload update_reveal_configuration(params = {})
3789
+ # @param [Hash] params ({})
3790
+ def update_reveal_configuration(params = {}, options = {})
3791
+ req = build_request(:update_reveal_configuration, params)
3792
+ req.send_request(options)
3793
+ end
3794
+
3795
+ # Updates the settings for the sensitivity inspection template for an
3796
+ # account.
3797
+ #
3798
+ # @option params [String] :description
3799
+ #
3800
+ # @option params [Types::SensitivityInspectionTemplateExcludes] :excludes
3801
+ # Specifies managed data identifiers to exclude (not use) when
3802
+ # performing automated sensitive data discovery for an Amazon Macie
3803
+ # account. For information about the managed data identifiers that
3804
+ # Amazon Macie currently provides, see [Using managed data
3805
+ # identifiers][1] in the *Amazon Macie User Guide*.
3806
+ #
3807
+ #
3808
+ #
3809
+ # [1]: https://docs.aws.amazon.com/macie/latest/user/managed-data-identifiers.html
3810
+ #
3811
+ # @option params [required, String] :id
3812
+ #
3813
+ # @option params [Types::SensitivityInspectionTemplateIncludes] :includes
3814
+ # Specifies the allow lists, custom data identifiers, and managed data
3815
+ # identifiers to include (use) when performing automated sensitive data
3816
+ # discovery for an Amazon Macie account. The configuration must specify
3817
+ # at least one custom data identifier or managed data identifier. For
3818
+ # information about the managed data identifiers that Amazon Macie
3819
+ # currently provides, see [Using managed data identifiers][1] in the
3820
+ # *Amazon Macie User Guide*.
3821
+ #
3822
+ #
3823
+ #
3824
+ # [1]: https://docs.aws.amazon.com/macie/latest/user/managed-data-identifiers.html
3825
+ #
3826
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3827
+ #
3828
+ # @example Request syntax with placeholder values
3829
+ #
3830
+ # resp = client.update_sensitivity_inspection_template({
3831
+ # description: "__string",
3832
+ # excludes: {
3833
+ # managed_data_identifier_ids: ["__string"],
3834
+ # },
3835
+ # id: "__string", # required
3836
+ # includes: {
3837
+ # allow_list_ids: ["__string"],
3838
+ # custom_data_identifier_ids: ["__string"],
3839
+ # managed_data_identifier_ids: ["__string"],
3840
+ # },
3841
+ # })
3842
+ #
3843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateSensitivityInspectionTemplate AWS API Documentation
3844
+ #
3845
+ # @overload update_sensitivity_inspection_template(params = {})
3846
+ # @param [Hash] params ({})
3847
+ def update_sensitivity_inspection_template(params = {}, options = {})
3848
+ req = build_request(:update_sensitivity_inspection_template, params)
3849
+ req.send_request(options)
3850
+ end
3851
+
2968
3852
  # @!endgroup
2969
3853
 
2970
3854
  # @param params ({})
@@ -2978,14 +3862,127 @@ module Aws::Macie2
2978
3862
  params: params,
2979
3863
  config: config)
2980
3864
  context[:gem_name] = 'aws-sdk-macie2'
2981
- context[:gem_version] = '1.40.0'
3865
+ context[:gem_version] = '1.61.0'
2982
3866
  Seahorse::Client::Request.new(handlers, context)
2983
3867
  end
2984
3868
 
3869
+ # Polls an API operation until a resource enters a desired state.
3870
+ #
3871
+ # ## Basic Usage
3872
+ #
3873
+ # A waiter will call an API operation until:
3874
+ #
3875
+ # * It is successful
3876
+ # * It enters a terminal state
3877
+ # * It makes the maximum number of attempts
3878
+ #
3879
+ # In between attempts, the waiter will sleep.
3880
+ #
3881
+ # # polls in a loop, sleeping between attempts
3882
+ # client.wait_until(waiter_name, params)
3883
+ #
3884
+ # ## Configuration
3885
+ #
3886
+ # You can configure the maximum number of polling attempts, and the
3887
+ # delay (in seconds) between each polling attempt. You can pass
3888
+ # configuration as the final arguments hash.
3889
+ #
3890
+ # # poll for ~25 seconds
3891
+ # client.wait_until(waiter_name, params, {
3892
+ # max_attempts: 5,
3893
+ # delay: 5,
3894
+ # })
3895
+ #
3896
+ # ## Callbacks
3897
+ #
3898
+ # You can be notified before each polling attempt and before each
3899
+ # delay. If you throw `:success` or `:failure` from these callbacks,
3900
+ # it will terminate the waiter.
3901
+ #
3902
+ # started_at = Time.now
3903
+ # client.wait_until(waiter_name, params, {
3904
+ #
3905
+ # # disable max attempts
3906
+ # max_attempts: nil,
3907
+ #
3908
+ # # poll for 1 hour, instead of a number of attempts
3909
+ # before_wait: -> (attempts, response) do
3910
+ # throw :failure if Time.now - started_at > 3600
3911
+ # end
3912
+ # })
3913
+ #
3914
+ # ## Handling Errors
3915
+ #
3916
+ # When a waiter is unsuccessful, it will raise an error.
3917
+ # All of the failure errors extend from
3918
+ # {Aws::Waiters::Errors::WaiterFailed}.
3919
+ #
3920
+ # begin
3921
+ # client.wait_until(...)
3922
+ # rescue Aws::Waiters::Errors::WaiterFailed
3923
+ # # resource did not enter the desired state in time
3924
+ # end
3925
+ #
3926
+ # ## Valid Waiters
3927
+ #
3928
+ # The following table lists the valid waiter names, the operations they call,
3929
+ # and the default `:delay` and `:max_attempts` values.
3930
+ #
3931
+ # | waiter_name | params | :delay | :max_attempts |
3932
+ # | ---------------- | --------------------------------------- | -------- | ------------- |
3933
+ # | finding_revealed | {Client#get_sensitive_data_occurrences} | 2 | 60 |
3934
+ #
3935
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
3936
+ # because the waiter has entered a state that it will not transition
3937
+ # out of, preventing success.
3938
+ #
3939
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
3940
+ # maximum number of attempts have been made, and the waiter is not
3941
+ # yet successful.
3942
+ #
3943
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
3944
+ # while polling for a resource that is not expected.
3945
+ #
3946
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
3947
+ # for an unknown state.
3948
+ #
3949
+ # @return [Boolean] Returns `true` if the waiter was successful.
3950
+ # @param [Symbol] waiter_name
3951
+ # @param [Hash] params ({})
3952
+ # @param [Hash] options ({})
3953
+ # @option options [Integer] :max_attempts
3954
+ # @option options [Integer] :delay
3955
+ # @option options [Proc] :before_attempt
3956
+ # @option options [Proc] :before_wait
3957
+ def wait_until(waiter_name, params = {}, options = {})
3958
+ w = waiter(waiter_name, options)
3959
+ yield(w.waiter) if block_given? # deprecated
3960
+ w.wait(params)
3961
+ end
3962
+
2985
3963
  # @api private
2986
3964
  # @deprecated
2987
3965
  def waiter_names
2988
- []
3966
+ waiters.keys
3967
+ end
3968
+
3969
+ private
3970
+
3971
+ # @param [Symbol] waiter_name
3972
+ # @param [Hash] options ({})
3973
+ def waiter(waiter_name, options = {})
3974
+ waiter_class = waiters[waiter_name]
3975
+ if waiter_class
3976
+ waiter_class.new(options.merge(client: self))
3977
+ else
3978
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
3979
+ end
3980
+ end
3981
+
3982
+ def waiters
3983
+ {
3984
+ finding_revealed: Waiters::FindingRevealed
3985
+ }
2989
3986
  end
2990
3987
 
2991
3988
  class << self