aws-sdk-macie2 1.27.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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"