aws-sdk-macie2 1.40.0 → 1.61.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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