aws-sdk-macie2 1.27.0 → 1.28.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b52d5175c41c494be9cf58b4e8d5cb714b082fa7d7086e5893cb6db016400856
4
- data.tar.gz: 517e2a12fc1e5086bf8c7791d22acd5e65ad3ff26a6aeb9eb712eb4153e5faf7
3
+ metadata.gz: dbbad04367b91fe07755bd485b002b407250c6cd7c276fb7d8cd81f7e8fac2c7
4
+ data.tar.gz: 526029b883dd217c33c22620b005429ef114bca51b1ec993dac1fee054e6fe1f
5
5
  SHA512:
6
- metadata.gz: ef03ba248c71d3c5d3472b9aa5cc336eb7264d029bfbd47795fd8715c811385d3debefc97a97c3f39540339b8b96aac967defd54b846d42d8f26ea77ec5e9667
7
- data.tar.gz: 7866928330a894da7908780670ea1b8573abae7dcf3667b508135ea412875cc08ff91ed30bac9c9b2616b10c68bbcc86ac684878623864e734ebae5cd9d820d9
6
+ metadata.gz: 3f206e8a1f70890b8d9de97a1b8c44fe376c384a94dbd3fb1ba78d682fd2ae5db99461a4bf1b790dbbed45b26eece4e9c5396f9ce9db8ae44dd3a1e1e829e01a
7
+ data.tar.gz: 43af1625460f102f29f5de184950992455ce5d78493c60b39df55a029fff11b8c7beeca5ffc12c31c1c50190caa2214d9cbd262b47303d2775a449eb768a4c6b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.28.0 (2021-05-14)
5
+ ------------------
6
+
7
+ * Feature - This release of the Amazon Macie API adds support for defining run-time, S3 bucket criteria for classification jobs. It also adds resources for querying data about AWS resources that Macie monitors.
8
+
4
9
  1.27.0 (2021-04-29)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.27.0
1
+ 1.28.0
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-macie2/customizations'
48
48
  # @!group service
49
49
  module Aws::Macie2
50
50
 
51
- GEM_VERSION = '1.27.0'
51
+ GEM_VERSION = '1.28.0'
52
52
 
53
53
  end
@@ -410,7 +410,12 @@ module Aws::Macie2
410
410
  #
411
411
  # @option params [required, Types::S3JobDefinition] :s3_job_definition
412
412
  # Specifies which S3 buckets contain the objects that a classification
413
- # job analyzes, and the scope of that analysis.
413
+ # job analyzes, and the scope of that analysis. The bucket specification
414
+ # can be static (bucketDefinitions) or dynamic (bucketCriteria). If
415
+ # it's static, the job analyzes objects in the same predefined set of
416
+ # buckets each time the job runs. If it's dynamic, the job analyzes
417
+ # objects in any buckets that match the specified criteria each time the
418
+ # job starts to run.
414
419
  #
415
420
  # @option params [Integer] :sampling_percentage
416
421
  #
@@ -489,6 +494,48 @@ module Aws::Macie2
489
494
  # ],
490
495
  # },
491
496
  # },
497
+ # bucket_criteria: {
498
+ # excludes: {
499
+ # and: [
500
+ # {
501
+ # simple_criterion: {
502
+ # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
503
+ # key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
504
+ # values: ["__string"],
505
+ # },
506
+ # tag_criterion: {
507
+ # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
508
+ # tag_values: [
509
+ # {
510
+ # key: "__string",
511
+ # value: "__string",
512
+ # },
513
+ # ],
514
+ # },
515
+ # },
516
+ # ],
517
+ # },
518
+ # includes: {
519
+ # and: [
520
+ # {
521
+ # simple_criterion: {
522
+ # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
523
+ # key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
524
+ # values: ["__string"],
525
+ # },
526
+ # tag_criterion: {
527
+ # comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
528
+ # tag_values: [
529
+ # {
530
+ # key: "__string",
531
+ # value: "__string",
532
+ # },
533
+ # ],
534
+ # },
535
+ # },
536
+ # ],
537
+ # },
538
+ # },
492
539
  # },
493
540
  # sampling_percentage: 1,
494
541
  # schedule_frequency: {
@@ -1052,6 +1099,24 @@ module Aws::Macie2
1052
1099
  # resp.s3_job_definition.scoping.includes.and[0].tag_scope_term.tag_values[0].key #=> String
1053
1100
  # resp.s3_job_definition.scoping.includes.and[0].tag_scope_term.tag_values[0].value #=> String
1054
1101
  # resp.s3_job_definition.scoping.includes.and[0].tag_scope_term.target #=> String, one of "S3_OBJECT"
1102
+ # resp.s3_job_definition.bucket_criteria.excludes.and #=> Array
1103
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1104
+ # 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"
1105
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.values #=> Array
1106
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].simple_criterion.values[0] #=> String
1107
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1108
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.tag_values #=> Array
1109
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.tag_values[0].key #=> String
1110
+ # resp.s3_job_definition.bucket_criteria.excludes.and[0].tag_criterion.tag_values[0].value #=> String
1111
+ # resp.s3_job_definition.bucket_criteria.includes.and #=> Array
1112
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1113
+ # 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"
1114
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.values #=> Array
1115
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].simple_criterion.values[0] #=> String
1116
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
1117
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.tag_values #=> Array
1118
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.tag_values[0].key #=> String
1119
+ # resp.s3_job_definition.bucket_criteria.includes.and[0].tag_criterion.tag_values[0].value #=> String
1055
1120
  # resp.sampling_percentage #=> Integer
1056
1121
  # resp.schedule_frequency.monthly_schedule.day_of_month #=> Integer
1057
1122
  # resp.schedule_frequency.weekly_schedule.day_of_week #=> String, one of "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"
@@ -2032,6 +2097,24 @@ module Aws::Macie2
2032
2097
  # resp.items[0].user_paused_details.job_expires_at #=> Time
2033
2098
  # resp.items[0].user_paused_details.job_imminent_expiration_health_event_arn #=> String
2034
2099
  # resp.items[0].user_paused_details.job_paused_at #=> Time
2100
+ # resp.items[0].bucket_criteria.excludes.and #=> Array
2101
+ # resp.items[0].bucket_criteria.excludes.and[0].simple_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
2102
+ # 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"
2103
+ # resp.items[0].bucket_criteria.excludes.and[0].simple_criterion.values #=> Array
2104
+ # resp.items[0].bucket_criteria.excludes.and[0].simple_criterion.values[0] #=> String
2105
+ # resp.items[0].bucket_criteria.excludes.and[0].tag_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
2106
+ # resp.items[0].bucket_criteria.excludes.and[0].tag_criterion.tag_values #=> Array
2107
+ # resp.items[0].bucket_criteria.excludes.and[0].tag_criterion.tag_values[0].key #=> String
2108
+ # resp.items[0].bucket_criteria.excludes.and[0].tag_criterion.tag_values[0].value #=> String
2109
+ # resp.items[0].bucket_criteria.includes.and #=> Array
2110
+ # resp.items[0].bucket_criteria.includes.and[0].simple_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
2111
+ # resp.items[0].bucket_criteria.includes.and[0].simple_criterion.key #=> String, one of "ACCOUNT_ID", "S3_BUCKET_NAME", "S3_BUCKET_EFFECTIVE_PERMISSION", "S3_BUCKET_SHARED_ACCESS"
2112
+ # resp.items[0].bucket_criteria.includes.and[0].simple_criterion.values #=> Array
2113
+ # resp.items[0].bucket_criteria.includes.and[0].simple_criterion.values[0] #=> String
2114
+ # resp.items[0].bucket_criteria.includes.and[0].tag_criterion.comparator #=> String, one of "EQ", "GT", "GTE", "LT", "LTE", "NE", "CONTAINS", "STARTS_WITH"
2115
+ # resp.items[0].bucket_criteria.includes.and[0].tag_criterion.tag_values #=> Array
2116
+ # resp.items[0].bucket_criteria.includes.and[0].tag_criterion.tag_values[0].key #=> String
2117
+ # resp.items[0].bucket_criteria.includes.and[0].tag_criterion.tag_values[0].value #=> String
2035
2118
  # resp.next_token #=> String
2036
2119
  #
2037
2120
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListClassificationJobs AWS API Documentation
@@ -2414,6 +2497,118 @@ module Aws::Macie2
2414
2497
  req.send_request(options)
2415
2498
  end
2416
2499
 
2500
+ # Retrieves (queries) statistical data and other information about AWS
2501
+ # resources that Amazon Macie monitors and analyzes.
2502
+ #
2503
+ # @option params [Types::SearchResourcesBucketCriteria] :bucket_criteria
2504
+ # Specifies property- and tag-based conditions that define filter
2505
+ # criteria for including or excluding S3 buckets from the query results.
2506
+ # Exclude conditions take precedence over include conditions.
2507
+ #
2508
+ # @option params [Integer] :max_results
2509
+ #
2510
+ # @option params [String] :next_token
2511
+ #
2512
+ # @option params [Types::SearchResourcesSortCriteria] :sort_criteria
2513
+ # Specifies criteria for sorting the results of a query for information
2514
+ # about AWS resources that Amazon Macie monitors and analyzes.
2515
+ #
2516
+ # @return [Types::SearchResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2517
+ #
2518
+ # * {Types::SearchResourcesResponse#matching_resources #matching_resources} => Array<Types::MatchingResource>
2519
+ # * {Types::SearchResourcesResponse#next_token #next_token} => String
2520
+ #
2521
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2522
+ #
2523
+ # @example Request syntax with placeholder values
2524
+ #
2525
+ # resp = client.search_resources({
2526
+ # bucket_criteria: {
2527
+ # excludes: {
2528
+ # and: [
2529
+ # {
2530
+ # simple_criterion: {
2531
+ # comparator: "EQ", # accepts EQ, NE
2532
+ # key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
2533
+ # values: ["__string"],
2534
+ # },
2535
+ # tag_criterion: {
2536
+ # comparator: "EQ", # accepts EQ, NE
2537
+ # tag_values: [
2538
+ # {
2539
+ # key: "__string",
2540
+ # value: "__string",
2541
+ # },
2542
+ # ],
2543
+ # },
2544
+ # },
2545
+ # ],
2546
+ # },
2547
+ # includes: {
2548
+ # and: [
2549
+ # {
2550
+ # simple_criterion: {
2551
+ # comparator: "EQ", # accepts EQ, NE
2552
+ # key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
2553
+ # values: ["__string"],
2554
+ # },
2555
+ # tag_criterion: {
2556
+ # comparator: "EQ", # accepts EQ, NE
2557
+ # tag_values: [
2558
+ # {
2559
+ # key: "__string",
2560
+ # value: "__string",
2561
+ # },
2562
+ # ],
2563
+ # },
2564
+ # },
2565
+ # ],
2566
+ # },
2567
+ # },
2568
+ # max_results: 1,
2569
+ # next_token: "__string",
2570
+ # sort_criteria: {
2571
+ # attribute_name: "ACCOUNT_ID", # accepts ACCOUNT_ID, RESOURCE_NAME, S3_CLASSIFIABLE_OBJECT_COUNT, S3_CLASSIFIABLE_SIZE_IN_BYTES
2572
+ # order_by: "ASC", # accepts ASC, DESC
2573
+ # },
2574
+ # })
2575
+ #
2576
+ # @example Response structure
2577
+ #
2578
+ # resp.matching_resources #=> Array
2579
+ # resp.matching_resources[0].matching_bucket.account_id #=> String
2580
+ # resp.matching_resources[0].matching_bucket.bucket_name #=> String
2581
+ # resp.matching_resources[0].matching_bucket.classifiable_object_count #=> Integer
2582
+ # resp.matching_resources[0].matching_bucket.classifiable_size_in_bytes #=> Integer
2583
+ # resp.matching_resources[0].matching_bucket.job_details.is_defined_in_job #=> String, one of "TRUE", "FALSE", "UNKNOWN"
2584
+ # resp.matching_resources[0].matching_bucket.job_details.is_monitored_by_job #=> String, one of "TRUE", "FALSE", "UNKNOWN"
2585
+ # resp.matching_resources[0].matching_bucket.job_details.last_job_id #=> String
2586
+ # resp.matching_resources[0].matching_bucket.job_details.last_job_run_time #=> Time
2587
+ # resp.matching_resources[0].matching_bucket.object_count #=> Integer
2588
+ # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.customer_managed #=> Integer
2589
+ # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.kms_managed #=> Integer
2590
+ # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.s3_managed #=> Integer
2591
+ # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.unencrypted #=> Integer
2592
+ # resp.matching_resources[0].matching_bucket.object_count_by_encryption_type.unknown #=> Integer
2593
+ # resp.matching_resources[0].matching_bucket.size_in_bytes #=> Integer
2594
+ # resp.matching_resources[0].matching_bucket.size_in_bytes_compressed #=> Integer
2595
+ # resp.matching_resources[0].matching_bucket.unclassifiable_object_count.file_type #=> Integer
2596
+ # resp.matching_resources[0].matching_bucket.unclassifiable_object_count.storage_class #=> Integer
2597
+ # resp.matching_resources[0].matching_bucket.unclassifiable_object_count.total #=> Integer
2598
+ # resp.matching_resources[0].matching_bucket.unclassifiable_object_size_in_bytes.file_type #=> Integer
2599
+ # resp.matching_resources[0].matching_bucket.unclassifiable_object_size_in_bytes.storage_class #=> Integer
2600
+ # resp.matching_resources[0].matching_bucket.unclassifiable_object_size_in_bytes.total #=> Integer
2601
+ # resp.next_token #=> String
2602
+ #
2603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/SearchResources AWS API Documentation
2604
+ #
2605
+ # @overload search_resources(params = {})
2606
+ # @param [Hash] params ({})
2607
+ def search_resources(params = {}, options = {})
2608
+ req = build_request(:search_resources, params)
2609
+ req.send_request(options)
2610
+ end
2611
+
2417
2612
  # Adds or updates one or more tags (keys and values) that are associated
2418
2613
  # with a classification job, custom data identifier, findings filter, or
2419
2614
  # member account.
@@ -2691,7 +2886,7 @@ module Aws::Macie2
2691
2886
  params: params,
2692
2887
  config: config)
2693
2888
  context[:gem_name] = 'aws-sdk-macie2'
2694
- context[:gem_version] = '1.27.0'
2889
+ context[:gem_version] = '1.28.0'
2695
2890
  Seahorse::Client::Request.new(handlers, context)
2696
2891
  end
2697
2892
 
@@ -62,6 +62,8 @@ module Aws::Macie2
62
62
  CreateMemberResponse = Shapes::StructureShape.new(name: 'CreateMemberResponse')
63
63
  CreateSampleFindingsRequest = Shapes::StructureShape.new(name: 'CreateSampleFindingsRequest')
64
64
  CreateSampleFindingsResponse = Shapes::StructureShape.new(name: 'CreateSampleFindingsResponse')
65
+ CriteriaBlockForJob = Shapes::StructureShape.new(name: 'CriteriaBlockForJob')
66
+ CriteriaForJob = Shapes::StructureShape.new(name: 'CriteriaForJob')
65
67
  Criterion = Shapes::MapShape.new(name: 'Criterion')
66
68
  CriterionAdditionalProperties = Shapes::StructureShape.new(name: 'CriterionAdditionalProperties')
67
69
  Currency = Shapes::StringShape.new(name: 'Currency')
@@ -195,6 +197,8 @@ module Aws::Macie2
195
197
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
196
198
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
197
199
  MacieStatus = Shapes::StringShape.new(name: 'MacieStatus')
200
+ MatchingBucket = Shapes::StructureShape.new(name: 'MatchingBucket')
201
+ MatchingResource = Shapes::StructureShape.new(name: 'MatchingResource')
198
202
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
199
203
  Member = Shapes::StructureShape.new(name: 'Member')
200
204
  MonthlySchedule = Shapes::StructureShape.new(name: 'MonthlySchedule')
@@ -218,6 +222,7 @@ module Aws::Macie2
218
222
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
219
223
  ResourcesAffected = Shapes::StructureShape.new(name: 'ResourcesAffected')
220
224
  S3Bucket = Shapes::StructureShape.new(name: 'S3Bucket')
225
+ S3BucketCriteriaForJob = Shapes::StructureShape.new(name: 'S3BucketCriteriaForJob')
221
226
  S3BucketDefinitionForJob = Shapes::StructureShape.new(name: 'S3BucketDefinitionForJob')
222
227
  S3BucketOwner = Shapes::StructureShape.new(name: 'S3BucketOwner')
223
228
  S3Destination = Shapes::StructureShape.new(name: 'S3Destination')
@@ -225,6 +230,18 @@ module Aws::Macie2
225
230
  S3Object = Shapes::StructureShape.new(name: 'S3Object')
226
231
  ScopeFilterKey = Shapes::StringShape.new(name: 'ScopeFilterKey')
227
232
  Scoping = Shapes::StructureShape.new(name: 'Scoping')
233
+ SearchResourcesBucketCriteria = Shapes::StructureShape.new(name: 'SearchResourcesBucketCriteria')
234
+ SearchResourcesComparator = Shapes::StringShape.new(name: 'SearchResourcesComparator')
235
+ SearchResourcesCriteria = Shapes::StructureShape.new(name: 'SearchResourcesCriteria')
236
+ SearchResourcesCriteriaBlock = Shapes::StructureShape.new(name: 'SearchResourcesCriteriaBlock')
237
+ SearchResourcesRequest = Shapes::StructureShape.new(name: 'SearchResourcesRequest')
238
+ SearchResourcesResponse = Shapes::StructureShape.new(name: 'SearchResourcesResponse')
239
+ SearchResourcesSimpleCriterion = Shapes::StructureShape.new(name: 'SearchResourcesSimpleCriterion')
240
+ SearchResourcesSimpleCriterionKey = Shapes::StringShape.new(name: 'SearchResourcesSimpleCriterionKey')
241
+ SearchResourcesSortAttributeName = Shapes::StringShape.new(name: 'SearchResourcesSortAttributeName')
242
+ SearchResourcesSortCriteria = Shapes::StructureShape.new(name: 'SearchResourcesSortCriteria')
243
+ SearchResourcesTagCriterion = Shapes::StructureShape.new(name: 'SearchResourcesTagCriterion')
244
+ SearchResourcesTagCriterionPair = Shapes::StructureShape.new(name: 'SearchResourcesTagCriterionPair')
228
245
  SecurityHubConfiguration = Shapes::StructureShape.new(name: 'SecurityHubConfiguration')
229
246
  SensitiveData = Shapes::ListShape.new(name: 'SensitiveData')
230
247
  SensitiveDataItem = Shapes::StructureShape.new(name: 'SensitiveDataItem')
@@ -238,10 +255,14 @@ module Aws::Macie2
238
255
  Severity = Shapes::StructureShape.new(name: 'Severity')
239
256
  SeverityDescription = Shapes::StringShape.new(name: 'SeverityDescription')
240
257
  SharedAccess = Shapes::StringShape.new(name: 'SharedAccess')
258
+ SimpleCriterionForJob = Shapes::StructureShape.new(name: 'SimpleCriterionForJob')
259
+ SimpleCriterionKeyForJob = Shapes::StringShape.new(name: 'SimpleCriterionKeyForJob')
241
260
  SimpleScopeTerm = Shapes::StructureShape.new(name: 'SimpleScopeTerm')
242
261
  SortCriteria = Shapes::StructureShape.new(name: 'SortCriteria')
243
262
  Statistics = Shapes::StructureShape.new(name: 'Statistics')
244
263
  StorageClass = Shapes::StringShape.new(name: 'StorageClass')
264
+ TagCriterionForJob = Shapes::StructureShape.new(name: 'TagCriterionForJob')
265
+ TagCriterionPairForJob = Shapes::StructureShape.new(name: 'TagCriterionPairForJob')
245
266
  TagMap = Shapes::MapShape.new(name: 'TagMap')
246
267
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
247
268
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
@@ -288,6 +309,7 @@ module Aws::Macie2
288
309
  __listOfAdminAccount = Shapes::ListShape.new(name: '__listOfAdminAccount')
289
310
  __listOfBatchGetCustomDataIdentifierSummary = Shapes::ListShape.new(name: '__listOfBatchGetCustomDataIdentifierSummary')
290
311
  __listOfBucketMetadata = Shapes::ListShape.new(name: '__listOfBucketMetadata')
312
+ __listOfCriteriaForJob = Shapes::ListShape.new(name: '__listOfCriteriaForJob')
291
313
  __listOfCustomDataIdentifierSummary = Shapes::ListShape.new(name: '__listOfCustomDataIdentifierSummary')
292
314
  __listOfFinding = Shapes::ListShape.new(name: '__listOfFinding')
293
315
  __listOfFindingType = Shapes::ListShape.new(name: '__listOfFindingType')
@@ -298,8 +320,12 @@ module Aws::Macie2
298
320
  __listOfJobSummary = Shapes::ListShape.new(name: '__listOfJobSummary')
299
321
  __listOfKeyValuePair = Shapes::ListShape.new(name: '__listOfKeyValuePair')
300
322
  __listOfListJobsFilterTerm = Shapes::ListShape.new(name: '__listOfListJobsFilterTerm')
323
+ __listOfMatchingResource = Shapes::ListShape.new(name: '__listOfMatchingResource')
301
324
  __listOfMember = Shapes::ListShape.new(name: '__listOfMember')
302
325
  __listOfS3BucketDefinitionForJob = Shapes::ListShape.new(name: '__listOfS3BucketDefinitionForJob')
326
+ __listOfSearchResourcesCriteria = Shapes::ListShape.new(name: '__listOfSearchResourcesCriteria')
327
+ __listOfSearchResourcesTagCriterionPair = Shapes::ListShape.new(name: '__listOfSearchResourcesTagCriterionPair')
328
+ __listOfTagCriterionPairForJob = Shapes::ListShape.new(name: '__listOfTagCriterionPairForJob')
303
329
  __listOfTagValuePair = Shapes::ListShape.new(name: '__listOfTagValuePair')
304
330
  __listOfUnprocessedAccount = Shapes::ListShape.new(name: '__listOfUnprocessedAccount')
305
331
  __listOfUsageByAccount = Shapes::ListShape.new(name: '__listOfUsageByAccount')
@@ -556,6 +582,13 @@ module Aws::Macie2
556
582
 
557
583
  CreateSampleFindingsResponse.struct_class = Types::CreateSampleFindingsResponse
558
584
 
585
+ CriteriaBlockForJob.add_member(:and, Shapes::ShapeRef.new(shape: __listOfCriteriaForJob, location_name: "and"))
586
+ CriteriaBlockForJob.struct_class = Types::CriteriaBlockForJob
587
+
588
+ CriteriaForJob.add_member(:simple_criterion, Shapes::ShapeRef.new(shape: SimpleCriterionForJob, location_name: "simpleCriterion"))
589
+ CriteriaForJob.add_member(:tag_criterion, Shapes::ShapeRef.new(shape: TagCriterionForJob, location_name: "tagCriterion"))
590
+ CriteriaForJob.struct_class = Types::CriteriaForJob
591
+
559
592
  Criterion.key = Shapes::ShapeRef.new(shape: __string)
560
593
  Criterion.value = Shapes::ShapeRef.new(shape: CriterionAdditionalProperties)
561
594
 
@@ -951,6 +984,7 @@ module Aws::Macie2
951
984
  JobSummary.add_member(:last_run_error_status, Shapes::ShapeRef.new(shape: LastRunErrorStatus, location_name: "lastRunErrorStatus"))
952
985
  JobSummary.add_member(:name, Shapes::ShapeRef.new(shape: __string, location_name: "name"))
953
986
  JobSummary.add_member(:user_paused_details, Shapes::ShapeRef.new(shape: UserPausedDetails, location_name: "userPausedDetails"))
987
+ JobSummary.add_member(:bucket_criteria, Shapes::ShapeRef.new(shape: S3BucketCriteriaForJob, location_name: "bucketCriteria"))
954
988
  JobSummary.struct_class = Types::JobSummary
955
989
 
956
990
  KeyValuePair.add_member(:key, Shapes::ShapeRef.new(shape: __string, location_name: "key"))
@@ -1042,6 +1076,22 @@ module Aws::Macie2
1042
1076
  ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
1043
1077
  ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
1044
1078
 
1079
+ MatchingBucket.add_member(:account_id, Shapes::ShapeRef.new(shape: __string, location_name: "accountId"))
1080
+ MatchingBucket.add_member(:bucket_name, Shapes::ShapeRef.new(shape: __string, location_name: "bucketName"))
1081
+ MatchingBucket.add_member(:classifiable_object_count, Shapes::ShapeRef.new(shape: __long, location_name: "classifiableObjectCount"))
1082
+ MatchingBucket.add_member(:classifiable_size_in_bytes, Shapes::ShapeRef.new(shape: __long, location_name: "classifiableSizeInBytes"))
1083
+ MatchingBucket.add_member(:job_details, Shapes::ShapeRef.new(shape: JobDetails, location_name: "jobDetails"))
1084
+ MatchingBucket.add_member(:object_count, Shapes::ShapeRef.new(shape: __long, location_name: "objectCount"))
1085
+ MatchingBucket.add_member(:object_count_by_encryption_type, Shapes::ShapeRef.new(shape: ObjectCountByEncryptionType, location_name: "objectCountByEncryptionType"))
1086
+ MatchingBucket.add_member(:size_in_bytes, Shapes::ShapeRef.new(shape: __long, location_name: "sizeInBytes"))
1087
+ MatchingBucket.add_member(:size_in_bytes_compressed, Shapes::ShapeRef.new(shape: __long, location_name: "sizeInBytesCompressed"))
1088
+ MatchingBucket.add_member(:unclassifiable_object_count, Shapes::ShapeRef.new(shape: ObjectLevelStatistics, location_name: "unclassifiableObjectCount"))
1089
+ MatchingBucket.add_member(:unclassifiable_object_size_in_bytes, Shapes::ShapeRef.new(shape: ObjectLevelStatistics, location_name: "unclassifiableObjectSizeInBytes"))
1090
+ MatchingBucket.struct_class = Types::MatchingBucket
1091
+
1092
+ MatchingResource.add_member(:matching_bucket, Shapes::ShapeRef.new(shape: MatchingBucket, location_name: "matchingBucket"))
1093
+ MatchingResource.struct_class = Types::MatchingResource
1094
+
1045
1095
  Member.add_member(:account_id, Shapes::ShapeRef.new(shape: __string, location_name: "accountId"))
1046
1096
  Member.add_member(:administrator_account_id, Shapes::ShapeRef.new(shape: __string, location_name: "administratorAccountId"))
1047
1097
  Member.add_member(:arn, Shapes::ShapeRef.new(shape: __string, location_name: "arn"))
@@ -1133,6 +1183,10 @@ module Aws::Macie2
1133
1183
  S3Bucket.add_member(:tags, Shapes::ShapeRef.new(shape: KeyValuePairList, location_name: "tags"))
1134
1184
  S3Bucket.struct_class = Types::S3Bucket
1135
1185
 
1186
+ S3BucketCriteriaForJob.add_member(:excludes, Shapes::ShapeRef.new(shape: CriteriaBlockForJob, location_name: "excludes"))
1187
+ S3BucketCriteriaForJob.add_member(:includes, Shapes::ShapeRef.new(shape: CriteriaBlockForJob, location_name: "includes"))
1188
+ S3BucketCriteriaForJob.struct_class = Types::S3BucketCriteriaForJob
1189
+
1136
1190
  S3BucketDefinitionForJob.add_member(:account_id, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "accountId"))
1137
1191
  S3BucketDefinitionForJob.add_member(:buckets, Shapes::ShapeRef.new(shape: __listOf__string, required: true, location_name: "buckets"))
1138
1192
  S3BucketDefinitionForJob.struct_class = Types::S3BucketDefinitionForJob
@@ -1148,6 +1202,7 @@ module Aws::Macie2
1148
1202
 
1149
1203
  S3JobDefinition.add_member(:bucket_definitions, Shapes::ShapeRef.new(shape: __listOfS3BucketDefinitionForJob, location_name: "bucketDefinitions"))
1150
1204
  S3JobDefinition.add_member(:scoping, Shapes::ShapeRef.new(shape: Scoping, location_name: "scoping"))
1205
+ S3JobDefinition.add_member(:bucket_criteria, Shapes::ShapeRef.new(shape: S3BucketCriteriaForJob, location_name: "bucketCriteria"))
1151
1206
  S3JobDefinition.struct_class = Types::S3JobDefinition
1152
1207
 
1153
1208
  S3Object.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: __string, location_name: "bucketArn"))
@@ -1168,6 +1223,44 @@ module Aws::Macie2
1168
1223
  Scoping.add_member(:includes, Shapes::ShapeRef.new(shape: JobScopingBlock, location_name: "includes"))
1169
1224
  Scoping.struct_class = Types::Scoping
1170
1225
 
1226
+ SearchResourcesBucketCriteria.add_member(:excludes, Shapes::ShapeRef.new(shape: SearchResourcesCriteriaBlock, location_name: "excludes"))
1227
+ SearchResourcesBucketCriteria.add_member(:includes, Shapes::ShapeRef.new(shape: SearchResourcesCriteriaBlock, location_name: "includes"))
1228
+ SearchResourcesBucketCriteria.struct_class = Types::SearchResourcesBucketCriteria
1229
+
1230
+ SearchResourcesCriteria.add_member(:simple_criterion, Shapes::ShapeRef.new(shape: SearchResourcesSimpleCriterion, location_name: "simpleCriterion"))
1231
+ SearchResourcesCriteria.add_member(:tag_criterion, Shapes::ShapeRef.new(shape: SearchResourcesTagCriterion, location_name: "tagCriterion"))
1232
+ SearchResourcesCriteria.struct_class = Types::SearchResourcesCriteria
1233
+
1234
+ SearchResourcesCriteriaBlock.add_member(:and, Shapes::ShapeRef.new(shape: __listOfSearchResourcesCriteria, location_name: "and"))
1235
+ SearchResourcesCriteriaBlock.struct_class = Types::SearchResourcesCriteriaBlock
1236
+
1237
+ SearchResourcesRequest.add_member(:bucket_criteria, Shapes::ShapeRef.new(shape: SearchResourcesBucketCriteria, location_name: "bucketCriteria"))
1238
+ SearchResourcesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: __integer, location_name: "maxResults"))
1239
+ SearchResourcesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: __string, location_name: "nextToken"))
1240
+ SearchResourcesRequest.add_member(:sort_criteria, Shapes::ShapeRef.new(shape: SearchResourcesSortCriteria, location_name: "sortCriteria"))
1241
+ SearchResourcesRequest.struct_class = Types::SearchResourcesRequest
1242
+
1243
+ SearchResourcesResponse.add_member(:matching_resources, Shapes::ShapeRef.new(shape: __listOfMatchingResource, location_name: "matchingResources"))
1244
+ SearchResourcesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: __string, location_name: "nextToken"))
1245
+ SearchResourcesResponse.struct_class = Types::SearchResourcesResponse
1246
+
1247
+ SearchResourcesSimpleCriterion.add_member(:comparator, Shapes::ShapeRef.new(shape: SearchResourcesComparator, location_name: "comparator"))
1248
+ SearchResourcesSimpleCriterion.add_member(:key, Shapes::ShapeRef.new(shape: SearchResourcesSimpleCriterionKey, location_name: "key"))
1249
+ SearchResourcesSimpleCriterion.add_member(:values, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "values"))
1250
+ SearchResourcesSimpleCriterion.struct_class = Types::SearchResourcesSimpleCriterion
1251
+
1252
+ SearchResourcesSortCriteria.add_member(:attribute_name, Shapes::ShapeRef.new(shape: SearchResourcesSortAttributeName, location_name: "attributeName"))
1253
+ SearchResourcesSortCriteria.add_member(:order_by, Shapes::ShapeRef.new(shape: OrderBy, location_name: "orderBy"))
1254
+ SearchResourcesSortCriteria.struct_class = Types::SearchResourcesSortCriteria
1255
+
1256
+ SearchResourcesTagCriterion.add_member(:comparator, Shapes::ShapeRef.new(shape: SearchResourcesComparator, location_name: "comparator"))
1257
+ SearchResourcesTagCriterion.add_member(:tag_values, Shapes::ShapeRef.new(shape: __listOfSearchResourcesTagCriterionPair, location_name: "tagValues"))
1258
+ SearchResourcesTagCriterion.struct_class = Types::SearchResourcesTagCriterion
1259
+
1260
+ SearchResourcesTagCriterionPair.add_member(:key, Shapes::ShapeRef.new(shape: __string, location_name: "key"))
1261
+ SearchResourcesTagCriterionPair.add_member(:value, Shapes::ShapeRef.new(shape: __string, location_name: "value"))
1262
+ SearchResourcesTagCriterionPair.struct_class = Types::SearchResourcesTagCriterionPair
1263
+
1171
1264
  SecurityHubConfiguration.add_member(:publish_classification_findings, Shapes::ShapeRef.new(shape: __boolean, required: true, location_name: "publishClassificationFindings"))
1172
1265
  SecurityHubConfiguration.add_member(:publish_policy_findings, Shapes::ShapeRef.new(shape: __boolean, required: true, location_name: "publishPolicyFindings"))
1173
1266
  SecurityHubConfiguration.struct_class = Types::SecurityHubConfiguration
@@ -1210,6 +1303,11 @@ module Aws::Macie2
1210
1303
  Severity.add_member(:score, Shapes::ShapeRef.new(shape: __long, location_name: "score"))
1211
1304
  Severity.struct_class = Types::Severity
1212
1305
 
1306
+ SimpleCriterionForJob.add_member(:comparator, Shapes::ShapeRef.new(shape: JobComparator, location_name: "comparator"))
1307
+ SimpleCriterionForJob.add_member(:key, Shapes::ShapeRef.new(shape: SimpleCriterionKeyForJob, location_name: "key"))
1308
+ SimpleCriterionForJob.add_member(:values, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "values"))
1309
+ SimpleCriterionForJob.struct_class = Types::SimpleCriterionForJob
1310
+
1213
1311
  SimpleScopeTerm.add_member(:comparator, Shapes::ShapeRef.new(shape: JobComparator, location_name: "comparator"))
1214
1312
  SimpleScopeTerm.add_member(:key, Shapes::ShapeRef.new(shape: ScopeFilterKey, location_name: "key"))
1215
1313
  SimpleScopeTerm.add_member(:values, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "values"))
@@ -1223,6 +1321,14 @@ module Aws::Macie2
1223
1321
  Statistics.add_member(:number_of_runs, Shapes::ShapeRef.new(shape: __double, location_name: "numberOfRuns"))
1224
1322
  Statistics.struct_class = Types::Statistics
1225
1323
 
1324
+ TagCriterionForJob.add_member(:comparator, Shapes::ShapeRef.new(shape: JobComparator, location_name: "comparator"))
1325
+ TagCriterionForJob.add_member(:tag_values, Shapes::ShapeRef.new(shape: __listOfTagCriterionPairForJob, location_name: "tagValues"))
1326
+ TagCriterionForJob.struct_class = Types::TagCriterionForJob
1327
+
1328
+ TagCriterionPairForJob.add_member(:key, Shapes::ShapeRef.new(shape: __string, location_name: "key"))
1329
+ TagCriterionPairForJob.add_member(:value, Shapes::ShapeRef.new(shape: __string, location_name: "value"))
1330
+ TagCriterionPairForJob.struct_class = Types::TagCriterionPairForJob
1331
+
1226
1332
  TagMap.key = Shapes::ShapeRef.new(shape: __string)
1227
1333
  TagMap.value = Shapes::ShapeRef.new(shape: __string)
1228
1334
 
@@ -1357,6 +1463,8 @@ module Aws::Macie2
1357
1463
 
1358
1464
  __listOfBucketMetadata.member = Shapes::ShapeRef.new(shape: BucketMetadata)
1359
1465
 
1466
+ __listOfCriteriaForJob.member = Shapes::ShapeRef.new(shape: CriteriaForJob)
1467
+
1360
1468
  __listOfCustomDataIdentifierSummary.member = Shapes::ShapeRef.new(shape: CustomDataIdentifierSummary)
1361
1469
 
1362
1470
  __listOfFinding.member = Shapes::ShapeRef.new(shape: Finding)
@@ -1377,10 +1485,18 @@ module Aws::Macie2
1377
1485
 
1378
1486
  __listOfListJobsFilterTerm.member = Shapes::ShapeRef.new(shape: ListJobsFilterTerm)
1379
1487
 
1488
+ __listOfMatchingResource.member = Shapes::ShapeRef.new(shape: MatchingResource)
1489
+
1380
1490
  __listOfMember.member = Shapes::ShapeRef.new(shape: Member)
1381
1491
 
1382
1492
  __listOfS3BucketDefinitionForJob.member = Shapes::ShapeRef.new(shape: S3BucketDefinitionForJob)
1383
1493
 
1494
+ __listOfSearchResourcesCriteria.member = Shapes::ShapeRef.new(shape: SearchResourcesCriteria)
1495
+
1496
+ __listOfSearchResourcesTagCriterionPair.member = Shapes::ShapeRef.new(shape: SearchResourcesTagCriterionPair)
1497
+
1498
+ __listOfTagCriterionPairForJob.member = Shapes::ShapeRef.new(shape: TagCriterionPairForJob)
1499
+
1384
1500
  __listOfTagValuePair.member = Shapes::ShapeRef.new(shape: TagValuePair)
1385
1501
 
1386
1502
  __listOfUnprocessedAccount.member = Shapes::ShapeRef.new(shape: UnprocessedAccount)
@@ -2165,6 +2281,27 @@ module Aws::Macie2
2165
2281
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2166
2282
  end)
2167
2283
 
2284
+ api.add_operation(:search_resources, Seahorse::Model::Operation.new.tap do |o|
2285
+ o.name = "SearchResources"
2286
+ o.http_method = "POST"
2287
+ o.http_request_uri = "/datasources/search-resources"
2288
+ o.input = Shapes::ShapeRef.new(shape: SearchResourcesRequest)
2289
+ o.output = Shapes::ShapeRef.new(shape: SearchResourcesResponse)
2290
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2291
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2292
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
2293
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2294
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2295
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2296
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2297
+ o[:pager] = Aws::Pager.new(
2298
+ limit_key: "max_results",
2299
+ tokens: {
2300
+ "next_token" => "next_token"
2301
+ }
2302
+ )
2303
+ end)
2304
+
2168
2305
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
2169
2306
  o.name = "TagResource"
2170
2307
  o.http_method = "POST"