aws-sdk-macie2 1.45.0 → 1.46.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: 191e518ba8b63e06208886377af3384c9d3b05c9dd2f17584cda9ecc2eaed34f
4
- data.tar.gz: 863b2775be9f2a05c2c9bba762b19fdb8870a1ed0a3cc0410e7a70e02881fb77
3
+ metadata.gz: a317528c809964c80728a1cac6b20a43b636dc0d6aa975f0ff0ec9b586ed8d83
4
+ data.tar.gz: 2e5807f4b3a33234006f4768255b34bcfeec044cefddd895e8f2a6afa5155d8b
5
5
  SHA512:
6
- metadata.gz: 82880aa9115eb30496ca5c473b848cb9537b479a3f868e301850a9aff8cacf3403c62f0183898faec1f36b59a08b8598a647d0c15d3534ca42696f93f4575d64
7
- data.tar.gz: 7a48c942dcbfc23d911e09bb8e4c1d9a3002e066bd678ed034c22873ee40f05786f3a040f7ccbc3056bbcc04497c2e3a53e8dc36a3e590f26c43a2dee43ec43d
6
+ metadata.gz: aa4dfacc438d4eb250dc94c607d3656a702b2a1256689dfea15d291751a3c22d09a4e5c58d2d5fcf8307f633c90d44d0dde59bc92524d413724fa64dc42853de
7
+ data.tar.gz: f272b9eb4b3c9a3b33bfb256855a315712ba79a909ca49bca6ba579b0bbf35bf7a55a32263e38a219d344b62a3cf7e255c6ea75e5e3fcc6fcc8afe9cff290154
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.46.0 (2022-07-26)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for retrieving (revealing) sample occurrences of sensitive data that Amazon Macie detects and reports in findings.
8
+
4
9
  1.45.0 (2022-04-20)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.45.0
1
+ 1.46.0
@@ -1998,6 +1998,97 @@ module Aws::Macie2
1998
1998
  req.send_request(options)
1999
1999
  end
2000
2000
 
2001
+ # Retrieves the status and configuration settings for retrieving
2002
+ # (revealing) occurrences of sensitive data reported by findings.
2003
+ #
2004
+ # @return [Types::GetRevealConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2005
+ #
2006
+ # * {Types::GetRevealConfigurationResponse#configuration #configuration} => Types::RevealConfiguration
2007
+ #
2008
+ # @example Response structure
2009
+ #
2010
+ # resp.configuration.kms_key_id #=> String
2011
+ # resp.configuration.status #=> String, one of "ENABLED", "DISABLED"
2012
+ #
2013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetRevealConfiguration AWS API Documentation
2014
+ #
2015
+ # @overload get_reveal_configuration(params = {})
2016
+ # @param [Hash] params ({})
2017
+ def get_reveal_configuration(params = {}, options = {})
2018
+ req = build_request(:get_reveal_configuration, params)
2019
+ req.send_request(options)
2020
+ end
2021
+
2022
+ # Retrieves (reveals) occurrences of sensitive data reported by a
2023
+ # finding.
2024
+ #
2025
+ # @option params [required, String] :finding_id
2026
+ #
2027
+ # @return [Types::GetSensitiveDataOccurrencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2028
+ #
2029
+ # * {Types::GetSensitiveDataOccurrencesResponse#error #error} => String
2030
+ # * {Types::GetSensitiveDataOccurrencesResponse#sensitive_data_occurrences #sensitive_data_occurrences} => Hash<String,Array<Types::DetectedDataDetails>>
2031
+ # * {Types::GetSensitiveDataOccurrencesResponse#status #status} => String
2032
+ #
2033
+ # @example Request syntax with placeholder values
2034
+ #
2035
+ # resp = client.get_sensitive_data_occurrences({
2036
+ # finding_id: "__string", # required
2037
+ # })
2038
+ #
2039
+ # @example Response structure
2040
+ #
2041
+ # resp.error #=> String
2042
+ # resp.sensitive_data_occurrences #=> Hash
2043
+ # resp.sensitive_data_occurrences["__string"] #=> Array
2044
+ # resp.sensitive_data_occurrences["__string"][0].value #=> String
2045
+ # resp.status #=> String, one of "SUCCESS", "PROCESSING", "ERROR"
2046
+ #
2047
+ #
2048
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
2049
+ #
2050
+ # * finding_revealed
2051
+ #
2052
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrences AWS API Documentation
2053
+ #
2054
+ # @overload get_sensitive_data_occurrences(params = {})
2055
+ # @param [Hash] params ({})
2056
+ def get_sensitive_data_occurrences(params = {}, options = {})
2057
+ req = build_request(:get_sensitive_data_occurrences, params)
2058
+ req.send_request(options)
2059
+ end
2060
+
2061
+ # Checks whether occurrences of sensitive data can be retrieved
2062
+ # (revealed) for a finding.
2063
+ #
2064
+ # @option params [required, String] :finding_id
2065
+ #
2066
+ # @return [Types::GetSensitiveDataOccurrencesAvailabilityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2067
+ #
2068
+ # * {Types::GetSensitiveDataOccurrencesAvailabilityResponse#code #code} => String
2069
+ # * {Types::GetSensitiveDataOccurrencesAvailabilityResponse#reasons #reasons} => Array<String>
2070
+ #
2071
+ # @example Request syntax with placeholder values
2072
+ #
2073
+ # resp = client.get_sensitive_data_occurrences_availability({
2074
+ # finding_id: "__string", # required
2075
+ # })
2076
+ #
2077
+ # @example Response structure
2078
+ #
2079
+ # resp.code #=> String, one of "AVAILABLE", "UNAVAILABLE"
2080
+ # resp.reasons #=> Array
2081
+ # resp.reasons[0] #=> String, one of "OBJECT_EXCEEDS_SIZE_QUOTA", "UNSUPPORTED_OBJECT_TYPE", "UNSUPPORTED_FINDING_TYPE", "INVALID_CLASSIFICATION_RESULT", "OBJECT_UNAVAILABLE"
2082
+ #
2083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrencesAvailability AWS API Documentation
2084
+ #
2085
+ # @overload get_sensitive_data_occurrences_availability(params = {})
2086
+ # @param [Hash] params ({})
2087
+ def get_sensitive_data_occurrences_availability(params = {}, options = {})
2088
+ req = build_request(:get_sensitive_data_occurrences_availability, params)
2089
+ req.send_request(options)
2090
+ end
2091
+
2001
2092
  # Retrieves (queries) quotas and aggregated usage data for one or more
2002
2093
  # accounts.
2003
2094
  #
@@ -2979,6 +3070,45 @@ module Aws::Macie2
2979
3070
  req.send_request(options)
2980
3071
  end
2981
3072
 
3073
+ # Updates the status and configuration settings for retrieving
3074
+ # (revealing) occurrences of sensitive data reported by findings.
3075
+ #
3076
+ # @option params [required, Types::RevealConfiguration] :configuration
3077
+ # Specifies the configuration settings for retrieving occurrences of
3078
+ # sensitive data reported by findings, and the status of the
3079
+ # configuration for an Amazon Macie account. When you enable the
3080
+ # configuration for the first time, your request must specify an AWS Key
3081
+ # Management Service (AWS KMS) key. Otherwise, an error occurs. Macie
3082
+ # uses the specified key to encrypt the sensitive data that you
3083
+ # retrieve.
3084
+ #
3085
+ # @return [Types::UpdateRevealConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3086
+ #
3087
+ # * {Types::UpdateRevealConfigurationResponse#configuration #configuration} => Types::RevealConfiguration
3088
+ #
3089
+ # @example Request syntax with placeholder values
3090
+ #
3091
+ # resp = client.update_reveal_configuration({
3092
+ # configuration: { # required
3093
+ # kms_key_id: "__stringMin1Max2048",
3094
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
3095
+ # },
3096
+ # })
3097
+ #
3098
+ # @example Response structure
3099
+ #
3100
+ # resp.configuration.kms_key_id #=> String
3101
+ # resp.configuration.status #=> String, one of "ENABLED", "DISABLED"
3102
+ #
3103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateRevealConfiguration AWS API Documentation
3104
+ #
3105
+ # @overload update_reveal_configuration(params = {})
3106
+ # @param [Hash] params ({})
3107
+ def update_reveal_configuration(params = {}, options = {})
3108
+ req = build_request(:update_reveal_configuration, params)
3109
+ req.send_request(options)
3110
+ end
3111
+
2982
3112
  # @!endgroup
2983
3113
 
2984
3114
  # @param params ({})
@@ -2992,14 +3122,127 @@ module Aws::Macie2
2992
3122
  params: params,
2993
3123
  config: config)
2994
3124
  context[:gem_name] = 'aws-sdk-macie2'
2995
- context[:gem_version] = '1.45.0'
3125
+ context[:gem_version] = '1.46.0'
2996
3126
  Seahorse::Client::Request.new(handlers, context)
2997
3127
  end
2998
3128
 
3129
+ # Polls an API operation until a resource enters a desired state.
3130
+ #
3131
+ # ## Basic Usage
3132
+ #
3133
+ # A waiter will call an API operation until:
3134
+ #
3135
+ # * It is successful
3136
+ # * It enters a terminal state
3137
+ # * It makes the maximum number of attempts
3138
+ #
3139
+ # In between attempts, the waiter will sleep.
3140
+ #
3141
+ # # polls in a loop, sleeping between attempts
3142
+ # client.wait_until(waiter_name, params)
3143
+ #
3144
+ # ## Configuration
3145
+ #
3146
+ # You can configure the maximum number of polling attempts, and the
3147
+ # delay (in seconds) between each polling attempt. You can pass
3148
+ # configuration as the final arguments hash.
3149
+ #
3150
+ # # poll for ~25 seconds
3151
+ # client.wait_until(waiter_name, params, {
3152
+ # max_attempts: 5,
3153
+ # delay: 5,
3154
+ # })
3155
+ #
3156
+ # ## Callbacks
3157
+ #
3158
+ # You can be notified before each polling attempt and before each
3159
+ # delay. If you throw `:success` or `:failure` from these callbacks,
3160
+ # it will terminate the waiter.
3161
+ #
3162
+ # started_at = Time.now
3163
+ # client.wait_until(waiter_name, params, {
3164
+ #
3165
+ # # disable max attempts
3166
+ # max_attempts: nil,
3167
+ #
3168
+ # # poll for 1 hour, instead of a number of attempts
3169
+ # before_wait: -> (attempts, response) do
3170
+ # throw :failure if Time.now - started_at > 3600
3171
+ # end
3172
+ # })
3173
+ #
3174
+ # ## Handling Errors
3175
+ #
3176
+ # When a waiter is unsuccessful, it will raise an error.
3177
+ # All of the failure errors extend from
3178
+ # {Aws::Waiters::Errors::WaiterFailed}.
3179
+ #
3180
+ # begin
3181
+ # client.wait_until(...)
3182
+ # rescue Aws::Waiters::Errors::WaiterFailed
3183
+ # # resource did not enter the desired state in time
3184
+ # end
3185
+ #
3186
+ # ## Valid Waiters
3187
+ #
3188
+ # The following table lists the valid waiter names, the operations they call,
3189
+ # and the default `:delay` and `:max_attempts` values.
3190
+ #
3191
+ # | waiter_name | params | :delay | :max_attempts |
3192
+ # | ---------------- | --------------------------------------- | -------- | ------------- |
3193
+ # | finding_revealed | {Client#get_sensitive_data_occurrences} | 2 | 60 |
3194
+ #
3195
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
3196
+ # because the waiter has entered a state that it will not transition
3197
+ # out of, preventing success.
3198
+ #
3199
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
3200
+ # maximum number of attempts have been made, and the waiter is not
3201
+ # yet successful.
3202
+ #
3203
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
3204
+ # while polling for a resource that is not expected.
3205
+ #
3206
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
3207
+ # for an unknown state.
3208
+ #
3209
+ # @return [Boolean] Returns `true` if the waiter was successful.
3210
+ # @param [Symbol] waiter_name
3211
+ # @param [Hash] params ({})
3212
+ # @param [Hash] options ({})
3213
+ # @option options [Integer] :max_attempts
3214
+ # @option options [Integer] :delay
3215
+ # @option options [Proc] :before_attempt
3216
+ # @option options [Proc] :before_wait
3217
+ def wait_until(waiter_name, params = {}, options = {})
3218
+ w = waiter(waiter_name, options)
3219
+ yield(w.waiter) if block_given? # deprecated
3220
+ w.wait(params)
3221
+ end
3222
+
2999
3223
  # @api private
3000
3224
  # @deprecated
3001
3225
  def waiter_names
3002
- []
3226
+ waiters.keys
3227
+ end
3228
+
3229
+ private
3230
+
3231
+ # @param [Symbol] waiter_name
3232
+ # @param [Hash] options ({})
3233
+ def waiter(waiter_name, options = {})
3234
+ waiter_class = waiters[waiter_name]
3235
+ if waiter_class
3236
+ waiter_class.new(options.merge(client: self))
3237
+ else
3238
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
3239
+ end
3240
+ end
3241
+
3242
+ def waiters
3243
+ {
3244
+ finding_revealed: Waiters::FindingRevealed
3245
+ }
3003
3246
  end
3004
3247
 
3005
3248
  class << self
@@ -24,6 +24,7 @@ module Aws::Macie2
24
24
  AllowsUnencryptedObjectUploads = Shapes::StringShape.new(name: 'AllowsUnencryptedObjectUploads')
25
25
  ApiCallDetails = Shapes::StructureShape.new(name: 'ApiCallDetails')
26
26
  AssumedRole = Shapes::StructureShape.new(name: 'AssumedRole')
27
+ AvailabilityCode = Shapes::StringShape.new(name: 'AvailabilityCode')
27
28
  AwsAccount = Shapes::StructureShape.new(name: 'AwsAccount')
28
29
  AwsService = Shapes::StructureShape.new(name: 'AwsService')
29
30
  BatchGetCustomDataIdentifierSummary = Shapes::StructureShape.new(name: 'BatchGetCustomDataIdentifierSummary')
@@ -93,6 +94,7 @@ module Aws::Macie2
93
94
  DescribeClassificationJobResponse = Shapes::StructureShape.new(name: 'DescribeClassificationJobResponse')
94
95
  DescribeOrganizationConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeOrganizationConfigurationRequest')
95
96
  DescribeOrganizationConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeOrganizationConfigurationResponse')
97
+ DetectedDataDetails = Shapes::StructureShape.new(name: 'DetectedDataDetails')
96
98
  DisableMacieRequest = Shapes::StructureShape.new(name: 'DisableMacieRequest')
97
99
  DisableMacieResponse = Shapes::StructureShape.new(name: 'DisableMacieResponse')
98
100
  DisableOrganizationAdminAccountRequest = Shapes::StructureShape.new(name: 'DisableOrganizationAdminAccountRequest')
@@ -149,6 +151,12 @@ module Aws::Macie2
149
151
  GetMasterAccountResponse = Shapes::StructureShape.new(name: 'GetMasterAccountResponse')
150
152
  GetMemberRequest = Shapes::StructureShape.new(name: 'GetMemberRequest')
151
153
  GetMemberResponse = Shapes::StructureShape.new(name: 'GetMemberResponse')
154
+ GetRevealConfigurationRequest = Shapes::StructureShape.new(name: 'GetRevealConfigurationRequest')
155
+ GetRevealConfigurationResponse = Shapes::StructureShape.new(name: 'GetRevealConfigurationResponse')
156
+ GetSensitiveDataOccurrencesAvailabilityRequest = Shapes::StructureShape.new(name: 'GetSensitiveDataOccurrencesAvailabilityRequest')
157
+ GetSensitiveDataOccurrencesAvailabilityResponse = Shapes::StructureShape.new(name: 'GetSensitiveDataOccurrencesAvailabilityResponse')
158
+ GetSensitiveDataOccurrencesRequest = Shapes::StructureShape.new(name: 'GetSensitiveDataOccurrencesRequest')
159
+ GetSensitiveDataOccurrencesResponse = Shapes::StructureShape.new(name: 'GetSensitiveDataOccurrencesResponse')
152
160
  GetUsageStatisticsRequest = Shapes::StructureShape.new(name: 'GetUsageStatisticsRequest')
153
161
  GetUsageStatisticsResponse = Shapes::StructureShape.new(name: 'GetUsageStatisticsResponse')
154
162
  GetUsageTotalsRequest = Shapes::StructureShape.new(name: 'GetUsageTotalsRequest')
@@ -228,6 +236,9 @@ module Aws::Macie2
228
236
  ReplicationDetails = Shapes::StructureShape.new(name: 'ReplicationDetails')
229
237
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
230
238
  ResourcesAffected = Shapes::StructureShape.new(name: 'ResourcesAffected')
239
+ RevealConfiguration = Shapes::StructureShape.new(name: 'RevealConfiguration')
240
+ RevealRequestStatus = Shapes::StringShape.new(name: 'RevealRequestStatus')
241
+ RevealStatus = Shapes::StringShape.new(name: 'RevealStatus')
231
242
  S3Bucket = Shapes::StructureShape.new(name: 'S3Bucket')
232
243
  S3BucketCriteriaForJob = Shapes::StructureShape.new(name: 'S3BucketCriteriaForJob')
233
244
  S3BucketDefinitionForJob = Shapes::StructureShape.new(name: 'S3BucketDefinitionForJob')
@@ -253,6 +264,7 @@ module Aws::Macie2
253
264
  SensitiveData = Shapes::ListShape.new(name: 'SensitiveData')
254
265
  SensitiveDataItem = Shapes::StructureShape.new(name: 'SensitiveDataItem')
255
266
  SensitiveDataItemCategory = Shapes::StringShape.new(name: 'SensitiveDataItemCategory')
267
+ SensitiveDataOccurrences = Shapes::MapShape.new(name: 'SensitiveDataOccurrences')
256
268
  ServerSideEncryption = Shapes::StructureShape.new(name: 'ServerSideEncryption')
257
269
  ServiceLimit = Shapes::StructureShape.new(name: 'ServiceLimit')
258
270
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
@@ -283,7 +295,9 @@ module Aws::Macie2
283
295
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
284
296
  TimeRange = Shapes::StringShape.new(name: 'TimeRange')
285
297
  Type = Shapes::StringShape.new(name: 'Type')
298
+ UnavailabilityReasonCode = Shapes::StringShape.new(name: 'UnavailabilityReasonCode')
286
299
  Unit = Shapes::StringShape.new(name: 'Unit')
300
+ UnprocessableEntityException = Shapes::StructureShape.new(name: 'UnprocessableEntityException')
287
301
  UnprocessedAccount = Shapes::StructureShape.new(name: 'UnprocessedAccount')
288
302
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
289
303
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
@@ -297,6 +311,8 @@ module Aws::Macie2
297
311
  UpdateMemberSessionResponse = Shapes::StructureShape.new(name: 'UpdateMemberSessionResponse')
298
312
  UpdateOrganizationConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateOrganizationConfigurationRequest')
299
313
  UpdateOrganizationConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateOrganizationConfigurationResponse')
314
+ UpdateRevealConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateRevealConfigurationRequest')
315
+ UpdateRevealConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateRevealConfigurationResponse')
300
316
  UsageByAccount = Shapes::StructureShape.new(name: 'UsageByAccount')
301
317
  UsageRecord = Shapes::StructureShape.new(name: 'UsageRecord')
302
318
  UsageStatisticsFilter = Shapes::StructureShape.new(name: 'UsageStatisticsFilter')
@@ -320,6 +336,7 @@ module Aws::Macie2
320
336
  __listOfBucketMetadata = Shapes::ListShape.new(name: '__listOfBucketMetadata')
321
337
  __listOfCriteriaForJob = Shapes::ListShape.new(name: '__listOfCriteriaForJob')
322
338
  __listOfCustomDataIdentifierSummary = Shapes::ListShape.new(name: '__listOfCustomDataIdentifierSummary')
339
+ __listOfDetectedDataDetails = Shapes::ListShape.new(name: '__listOfDetectedDataDetails')
323
340
  __listOfFinding = Shapes::ListShape.new(name: '__listOfFinding')
324
341
  __listOfFindingType = Shapes::ListShape.new(name: '__listOfFindingType')
325
342
  __listOfFindingsFilterListItem = Shapes::ListShape.new(name: '__listOfFindingsFilterListItem')
@@ -337,6 +354,7 @@ module Aws::Macie2
337
354
  __listOfSearchResourcesTagCriterionPair = Shapes::ListShape.new(name: '__listOfSearchResourcesTagCriterionPair')
338
355
  __listOfTagCriterionPairForJob = Shapes::ListShape.new(name: '__listOfTagCriterionPairForJob')
339
356
  __listOfTagValuePair = Shapes::ListShape.new(name: '__listOfTagValuePair')
357
+ __listOfUnavailabilityReasonCode = Shapes::ListShape.new(name: '__listOfUnavailabilityReasonCode')
340
358
  __listOfUnprocessedAccount = Shapes::ListShape.new(name: '__listOfUnprocessedAccount')
341
359
  __listOfUsageByAccount = Shapes::ListShape.new(name: '__listOfUsageByAccount')
342
360
  __listOfUsageRecord = Shapes::ListShape.new(name: '__listOfUsageRecord')
@@ -345,6 +363,8 @@ module Aws::Macie2
345
363
  __listOf__string = Shapes::ListShape.new(name: '__listOf__string')
346
364
  __long = Shapes::IntegerShape.new(name: '__long')
347
365
  __string = Shapes::StringShape.new(name: '__string')
366
+ __stringMin1Max128 = Shapes::StringShape.new(name: '__stringMin1Max128')
367
+ __stringMin1Max2048 = Shapes::StringShape.new(name: '__stringMin1Max2048')
348
368
  __timestampIso8601 = Shapes::TimestampShape.new(name: '__timestampIso8601', timestampFormat: "iso8601")
349
369
  __timestampUnix = Shapes::TimestampShape.new(name: '__timestampUnix', timestampFormat: "unixTimestamp")
350
370
 
@@ -713,6 +733,9 @@ module Aws::Macie2
713
733
  DescribeOrganizationConfigurationResponse.add_member(:max_account_limit_reached, Shapes::ShapeRef.new(shape: __boolean, location_name: "maxAccountLimitReached"))
714
734
  DescribeOrganizationConfigurationResponse.struct_class = Types::DescribeOrganizationConfigurationResponse
715
735
 
736
+ DetectedDataDetails.add_member(:value, Shapes::ShapeRef.new(shape: __stringMin1Max128, required: true, location_name: "value"))
737
+ DetectedDataDetails.struct_class = Types::DetectedDataDetails
738
+
716
739
  DisableMacieRequest.struct_class = Types::DisableMacieRequest
717
740
 
718
741
  DisableMacieResponse.struct_class = Types::DisableMacieResponse
@@ -915,6 +938,26 @@ module Aws::Macie2
915
938
  GetMemberResponse.add_member(:updated_at, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "updatedAt"))
916
939
  GetMemberResponse.struct_class = Types::GetMemberResponse
917
940
 
941
+ GetRevealConfigurationRequest.struct_class = Types::GetRevealConfigurationRequest
942
+
943
+ GetRevealConfigurationResponse.add_member(:configuration, Shapes::ShapeRef.new(shape: RevealConfiguration, location_name: "configuration"))
944
+ GetRevealConfigurationResponse.struct_class = Types::GetRevealConfigurationResponse
945
+
946
+ GetSensitiveDataOccurrencesAvailabilityRequest.add_member(:finding_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "findingId"))
947
+ GetSensitiveDataOccurrencesAvailabilityRequest.struct_class = Types::GetSensitiveDataOccurrencesAvailabilityRequest
948
+
949
+ GetSensitiveDataOccurrencesAvailabilityResponse.add_member(:code, Shapes::ShapeRef.new(shape: AvailabilityCode, location_name: "code"))
950
+ GetSensitiveDataOccurrencesAvailabilityResponse.add_member(:reasons, Shapes::ShapeRef.new(shape: __listOfUnavailabilityReasonCode, location_name: "reasons"))
951
+ GetSensitiveDataOccurrencesAvailabilityResponse.struct_class = Types::GetSensitiveDataOccurrencesAvailabilityResponse
952
+
953
+ GetSensitiveDataOccurrencesRequest.add_member(:finding_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "findingId"))
954
+ GetSensitiveDataOccurrencesRequest.struct_class = Types::GetSensitiveDataOccurrencesRequest
955
+
956
+ GetSensitiveDataOccurrencesResponse.add_member(:error, Shapes::ShapeRef.new(shape: __string, location_name: "error"))
957
+ GetSensitiveDataOccurrencesResponse.add_member(:sensitive_data_occurrences, Shapes::ShapeRef.new(shape: SensitiveDataOccurrences, location_name: "sensitiveDataOccurrences"))
958
+ GetSensitiveDataOccurrencesResponse.add_member(:status, Shapes::ShapeRef.new(shape: RevealRequestStatus, location_name: "status"))
959
+ GetSensitiveDataOccurrencesResponse.struct_class = Types::GetSensitiveDataOccurrencesResponse
960
+
918
961
  GetUsageStatisticsRequest.add_member(:filter_by, Shapes::ShapeRef.new(shape: __listOfUsageStatisticsFilter, location_name: "filterBy"))
919
962
  GetUsageStatisticsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: __integer, location_name: "maxResults"))
920
963
  GetUsageStatisticsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: __string, location_name: "nextToken"))
@@ -1205,6 +1248,10 @@ module Aws::Macie2
1205
1248
  ResourcesAffected.add_member(:s3_object, Shapes::ShapeRef.new(shape: S3Object, location_name: "s3Object"))
1206
1249
  ResourcesAffected.struct_class = Types::ResourcesAffected
1207
1250
 
1251
+ RevealConfiguration.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: __stringMin1Max2048, location_name: "kmsKeyId"))
1252
+ RevealConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: RevealStatus, required: true, location_name: "status"))
1253
+ RevealConfiguration.struct_class = Types::RevealConfiguration
1254
+
1208
1255
  S3Bucket.add_member(:allows_unencrypted_object_uploads, Shapes::ShapeRef.new(shape: AllowsUnencryptedObjectUploads, location_name: "allowsUnencryptedObjectUploads"))
1209
1256
  S3Bucket.add_member(:arn, Shapes::ShapeRef.new(shape: __string, location_name: "arn"))
1210
1257
  S3Bucket.add_member(:created_at, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdAt"))
@@ -1304,6 +1351,9 @@ module Aws::Macie2
1304
1351
  SensitiveDataItem.add_member(:total_count, Shapes::ShapeRef.new(shape: __long, location_name: "totalCount"))
1305
1352
  SensitiveDataItem.struct_class = Types::SensitiveDataItem
1306
1353
 
1354
+ SensitiveDataOccurrences.key = Shapes::ShapeRef.new(shape: __string)
1355
+ SensitiveDataOccurrences.value = Shapes::ShapeRef.new(shape: __listOfDetectedDataDetails)
1356
+
1307
1357
  ServerSideEncryption.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, location_name: "encryptionType"))
1308
1358
  ServerSideEncryption.add_member(:kms_master_key_id, Shapes::ShapeRef.new(shape: __string, location_name: "kmsMasterKeyId"))
1309
1359
  ServerSideEncryption.struct_class = Types::ServerSideEncryption
@@ -1399,6 +1449,9 @@ module Aws::Macie2
1399
1449
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: __string, location_name: "message"))
1400
1450
  ThrottlingException.struct_class = Types::ThrottlingException
1401
1451
 
1452
+ UnprocessableEntityException.add_member(:message, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "message"))
1453
+ UnprocessableEntityException.struct_class = Types::UnprocessableEntityException
1454
+
1402
1455
  UnprocessedAccount.add_member(:account_id, Shapes::ShapeRef.new(shape: __string, location_name: "accountId"))
1403
1456
  UnprocessedAccount.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "errorCode"))
1404
1457
  UnprocessedAccount.add_member(:error_message, Shapes::ShapeRef.new(shape: __string, location_name: "errorMessage"))
@@ -1446,6 +1499,12 @@ module Aws::Macie2
1446
1499
 
1447
1500
  UpdateOrganizationConfigurationResponse.struct_class = Types::UpdateOrganizationConfigurationResponse
1448
1501
 
1502
+ UpdateRevealConfigurationRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: RevealConfiguration, required: true, location_name: "configuration"))
1503
+ UpdateRevealConfigurationRequest.struct_class = Types::UpdateRevealConfigurationRequest
1504
+
1505
+ UpdateRevealConfigurationResponse.add_member(:configuration, Shapes::ShapeRef.new(shape: RevealConfiguration, location_name: "configuration"))
1506
+ UpdateRevealConfigurationResponse.struct_class = Types::UpdateRevealConfigurationResponse
1507
+
1449
1508
  UsageByAccount.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
1450
1509
  UsageByAccount.add_member(:estimated_cost, Shapes::ShapeRef.new(shape: __string, location_name: "estimatedCost"))
1451
1510
  UsageByAccount.add_member(:service_limit, Shapes::ShapeRef.new(shape: ServiceLimit, location_name: "serviceLimit"))
@@ -1506,6 +1565,8 @@ module Aws::Macie2
1506
1565
 
1507
1566
  __listOfCustomDataIdentifierSummary.member = Shapes::ShapeRef.new(shape: CustomDataIdentifierSummary)
1508
1567
 
1568
+ __listOfDetectedDataDetails.member = Shapes::ShapeRef.new(shape: DetectedDataDetails)
1569
+
1509
1570
  __listOfFinding.member = Shapes::ShapeRef.new(shape: Finding)
1510
1571
 
1511
1572
  __listOfFindingType.member = Shapes::ShapeRef.new(shape: FindingType)
@@ -1540,6 +1601,8 @@ module Aws::Macie2
1540
1601
 
1541
1602
  __listOfTagValuePair.member = Shapes::ShapeRef.new(shape: TagValuePair)
1542
1603
 
1604
+ __listOfUnavailabilityReasonCode.member = Shapes::ShapeRef.new(shape: UnavailabilityReasonCode)
1605
+
1543
1606
  __listOfUnprocessedAccount.member = Shapes::ShapeRef.new(shape: UnprocessedAccount)
1544
1607
 
1545
1608
  __listOfUsageByAccount.member = Shapes::ShapeRef.new(shape: UsageByAccount)
@@ -2101,6 +2164,44 @@ module Aws::Macie2
2101
2164
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2102
2165
  end)
2103
2166
 
2167
+ api.add_operation(:get_reveal_configuration, Seahorse::Model::Operation.new.tap do |o|
2168
+ o.name = "GetRevealConfiguration"
2169
+ o.http_method = "GET"
2170
+ o.http_request_uri = "/reveal-configuration"
2171
+ o.input = Shapes::ShapeRef.new(shape: GetRevealConfigurationRequest)
2172
+ o.output = Shapes::ShapeRef.new(shape: GetRevealConfigurationResponse)
2173
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2174
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2175
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2176
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2177
+ end)
2178
+
2179
+ api.add_operation(:get_sensitive_data_occurrences, Seahorse::Model::Operation.new.tap do |o|
2180
+ o.name = "GetSensitiveDataOccurrences"
2181
+ o.http_method = "GET"
2182
+ o.http_request_uri = "/findings/{findingId}/reveal"
2183
+ o.input = Shapes::ShapeRef.new(shape: GetSensitiveDataOccurrencesRequest)
2184
+ o.output = Shapes::ShapeRef.new(shape: GetSensitiveDataOccurrencesResponse)
2185
+ o.errors << Shapes::ShapeRef.new(shape: UnprocessableEntityException)
2186
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2187
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
2188
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2189
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2190
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2191
+ end)
2192
+
2193
+ api.add_operation(:get_sensitive_data_occurrences_availability, Seahorse::Model::Operation.new.tap do |o|
2194
+ o.name = "GetSensitiveDataOccurrencesAvailability"
2195
+ o.http_method = "GET"
2196
+ o.http_request_uri = "/findings/{findingId}/reveal/availability"
2197
+ o.input = Shapes::ShapeRef.new(shape: GetSensitiveDataOccurrencesAvailabilityRequest)
2198
+ o.output = Shapes::ShapeRef.new(shape: GetSensitiveDataOccurrencesAvailabilityResponse)
2199
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2200
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2201
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2202
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2203
+ end)
2204
+
2104
2205
  api.add_operation(:get_usage_statistics, Seahorse::Model::Operation.new.tap do |o|
2105
2206
  o.name = "GetUsageStatistics"
2106
2207
  o.http_method = "POST"
@@ -2456,6 +2557,18 @@ module Aws::Macie2
2456
2557
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2457
2558
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2458
2559
  end)
2560
+
2561
+ api.add_operation(:update_reveal_configuration, Seahorse::Model::Operation.new.tap do |o|
2562
+ o.name = "UpdateRevealConfiguration"
2563
+ o.http_method = "PUT"
2564
+ o.http_request_uri = "/reveal-configuration"
2565
+ o.input = Shapes::ShapeRef.new(shape: UpdateRevealConfigurationRequest)
2566
+ o.output = Shapes::ShapeRef.new(shape: UpdateRevealConfigurationResponse)
2567
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2568
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2569
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2570
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2571
+ end)
2459
2572
  end
2460
2573
 
2461
2574
  end
@@ -33,6 +33,7 @@ module Aws::Macie2
33
33
  # * {ResourceNotFoundException}
34
34
  # * {ServiceQuotaExceededException}
35
35
  # * {ThrottlingException}
36
+ # * {UnprocessableEntityException}
36
37
  # * {ValidationException}
37
38
  #
38
39
  # Additionally, error classes are dynamically generated for service errors based on the error code
@@ -131,6 +132,21 @@ module Aws::Macie2
131
132
  end
132
133
  end
133
134
 
135
+ class UnprocessableEntityException < ServiceError
136
+
137
+ # @param [Seahorse::Client::RequestContext] context
138
+ # @param [String] message
139
+ # @param [Aws::Macie2::Types::UnprocessableEntityException] data
140
+ def initialize(context, message, data = Aws::EmptyStructure.new)
141
+ super(context, message, data)
142
+ end
143
+
144
+ # @return [String]
145
+ def message
146
+ @message || @data[:message]
147
+ end
148
+ end
149
+
134
150
  class ValidationException < ServiceError
135
151
 
136
152
  # @param [Seahorse::Client::RequestContext] context
@@ -1710,7 +1710,10 @@ module Aws::Macie2
1710
1710
  # @!attribute [rw] occurrences
1711
1711
  # Specifies the location of 1-15 occurrences of sensitive data that
1712
1712
  # was detected by a managed data identifier or a custom data
1713
- # identifier and produced a sensitive data finding.
1713
+ # identifier and produced a sensitive data finding. Depending on the
1714
+ # file or storage format of the affected S3 object, you can optionally
1715
+ # retrieve (reveal) sample occurrences of the sensitive data that was
1716
+ # detected.
1714
1717
  # @return [Types::Occurrences]
1715
1718
  #
1716
1719
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CustomDetection AWS API Documentation
@@ -1778,7 +1781,10 @@ module Aws::Macie2
1778
1781
  # @!attribute [rw] occurrences
1779
1782
  # Specifies the location of 1-15 occurrences of sensitive data that
1780
1783
  # was detected by a managed data identifier or a custom data
1781
- # identifier and produced a sensitive data finding.
1784
+ # identifier and produced a sensitive data finding. Depending on the
1785
+ # file or storage format of the affected S3 object, you can optionally
1786
+ # retrieve (reveal) sample occurrences of the sensitive data that was
1787
+ # detected.
1782
1788
  # @return [Types::Occurrences]
1783
1789
  #
1784
1790
  # @!attribute [rw] type
@@ -2134,6 +2140,20 @@ module Aws::Macie2
2134
2140
  include Aws::Structure
2135
2141
  end
2136
2142
 
2143
+ # Specifies 1-10 occurrences of a specific type of sensitive data
2144
+ # reported by a finding.
2145
+ #
2146
+ # @!attribute [rw] value
2147
+ # @return [String]
2148
+ #
2149
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DetectedDataDetails AWS API Documentation
2150
+ #
2151
+ class DetectedDataDetails < Struct.new(
2152
+ :value)
2153
+ SENSITIVE = []
2154
+ include Aws::Structure
2155
+ end
2156
+
2137
2157
  # @api private
2138
2158
  #
2139
2159
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisableMacieRequest AWS API Documentation
@@ -3219,6 +3239,117 @@ module Aws::Macie2
3219
3239
  include Aws::Structure
3220
3240
  end
3221
3241
 
3242
+ # @api private
3243
+ #
3244
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetRevealConfigurationRequest AWS API Documentation
3245
+ #
3246
+ class GetRevealConfigurationRequest < Aws::EmptyStructure; end
3247
+
3248
+ # Provides information about the configuration settings for retrieving
3249
+ # occurrences of sensitive data reported by findings, and the status of
3250
+ # the configuration for an Amazon Macie account.
3251
+ #
3252
+ # @!attribute [rw] configuration
3253
+ # Specifies the configuration settings for retrieving occurrences of
3254
+ # sensitive data reported by findings, and the status of the
3255
+ # configuration for an Amazon Macie account. When you enable the
3256
+ # configuration for the first time, your request must specify an AWS
3257
+ # Key Management Service (AWS KMS) key. Otherwise, an error occurs.
3258
+ # Macie uses the specified key to encrypt the sensitive data that you
3259
+ # retrieve.
3260
+ # @return [Types::RevealConfiguration]
3261
+ #
3262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetRevealConfigurationResponse AWS API Documentation
3263
+ #
3264
+ class GetRevealConfigurationResponse < Struct.new(
3265
+ :configuration)
3266
+ SENSITIVE = []
3267
+ include Aws::Structure
3268
+ end
3269
+
3270
+ # @note When making an API call, you may pass GetSensitiveDataOccurrencesAvailabilityRequest
3271
+ # data as a hash:
3272
+ #
3273
+ # {
3274
+ # finding_id: "__string", # required
3275
+ # }
3276
+ #
3277
+ # @!attribute [rw] finding_id
3278
+ # @return [String]
3279
+ #
3280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrencesAvailabilityRequest AWS API Documentation
3281
+ #
3282
+ class GetSensitiveDataOccurrencesAvailabilityRequest < Struct.new(
3283
+ :finding_id)
3284
+ SENSITIVE = []
3285
+ include Aws::Structure
3286
+ end
3287
+
3288
+ # Provides information about whether occurrences of sensitive data can
3289
+ # be retrieved for a finding and, if not, why the data can't be
3290
+ # retrieved.
3291
+ #
3292
+ # @!attribute [rw] code
3293
+ # Specifies whether occurrences of sensitive data can be retrieved for
3294
+ # a finding. Possible values are:
3295
+ # @return [String]
3296
+ #
3297
+ # @!attribute [rw] reasons
3298
+ # @return [Array<String>]
3299
+ #
3300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrencesAvailabilityResponse AWS API Documentation
3301
+ #
3302
+ class GetSensitiveDataOccurrencesAvailabilityResponse < Struct.new(
3303
+ :code,
3304
+ :reasons)
3305
+ SENSITIVE = []
3306
+ include Aws::Structure
3307
+ end
3308
+
3309
+ # @note When making an API call, you may pass GetSensitiveDataOccurrencesRequest
3310
+ # data as a hash:
3311
+ #
3312
+ # {
3313
+ # finding_id: "__string", # required
3314
+ # }
3315
+ #
3316
+ # @!attribute [rw] finding_id
3317
+ # @return [String]
3318
+ #
3319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrencesRequest AWS API Documentation
3320
+ #
3321
+ class GetSensitiveDataOccurrencesRequest < Struct.new(
3322
+ :finding_id)
3323
+ SENSITIVE = []
3324
+ include Aws::Structure
3325
+ end
3326
+
3327
+ # Provides the results of a request to retrieve occurrences of sensitive
3328
+ # data reported by a finding.
3329
+ #
3330
+ # @!attribute [rw] error
3331
+ # @return [String]
3332
+ #
3333
+ # @!attribute [rw] sensitive_data_occurrences
3334
+ # Specifies a type of sensitive data reported by a finding and
3335
+ # provides occurrences of the specified type of sensitive data.
3336
+ # @return [Hash<String,Array<Types::DetectedDataDetails>>]
3337
+ #
3338
+ # @!attribute [rw] status
3339
+ # The status of a request to retrieve occurrences of sensitive data
3340
+ # reported by a finding. Possible values are:
3341
+ # @return [String]
3342
+ #
3343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrencesResponse AWS API Documentation
3344
+ #
3345
+ class GetSensitiveDataOccurrencesResponse < Struct.new(
3346
+ :error,
3347
+ :sensitive_data_occurrences,
3348
+ :status)
3349
+ SENSITIVE = []
3350
+ include Aws::Structure
3351
+ end
3352
+
3222
3353
  # Specifies criteria for filtering, sorting, and paginating the results
3223
3354
  # of a query for quotas and aggregated usage data for one or more Amazon
3224
3355
  # Macie accounts.
@@ -4606,7 +4737,9 @@ module Aws::Macie2
4606
4737
 
4607
4738
  # Specifies the location of 1-15 occurrences of sensitive data that was
4608
4739
  # detected by a managed data identifier or a custom data identifier and
4609
- # produced a sensitive data finding.
4740
+ # produced a sensitive data finding. Depending on the file or storage
4741
+ # format of the affected S3 object, you can optionally retrieve (reveal)
4742
+ # sample occurrences of the sensitive data that was detected.
4610
4743
  #
4611
4744
  # @!attribute [rw] cells
4612
4745
  # Specifies the location of occurrences of sensitive data in a
@@ -4882,6 +5015,39 @@ module Aws::Macie2
4882
5015
  include Aws::Structure
4883
5016
  end
4884
5017
 
5018
+ # Specifies the configuration settings for retrieving occurrences of
5019
+ # sensitive data reported by findings, and the status of the
5020
+ # configuration for an Amazon Macie account. When you enable the
5021
+ # configuration for the first time, your request must specify an AWS Key
5022
+ # Management Service (AWS KMS) key. Otherwise, an error occurs. Macie
5023
+ # uses the specified key to encrypt the sensitive data that you
5024
+ # retrieve.
5025
+ #
5026
+ # @note When making an API call, you may pass RevealConfiguration
5027
+ # data as a hash:
5028
+ #
5029
+ # {
5030
+ # kms_key_id: "__stringMin1Max2048",
5031
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
5032
+ # }
5033
+ #
5034
+ # @!attribute [rw] kms_key_id
5035
+ # @return [String]
5036
+ #
5037
+ # @!attribute [rw] status
5038
+ # The status of the configuration for the Amazon Macie account. In a
5039
+ # request, valid values are:
5040
+ # @return [String]
5041
+ #
5042
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/RevealConfiguration AWS API Documentation
5043
+ #
5044
+ class RevealConfiguration < Struct.new(
5045
+ :kms_key_id,
5046
+ :status)
5047
+ SENSITIVE = []
5048
+ include Aws::Structure
5049
+ end
5050
+
4885
5051
  # Provides information about the S3 bucket that a finding applies to.
4886
5052
  #
4887
5053
  # @!attribute [rw] allows_unencrypted_object_uploads
@@ -6328,6 +6494,20 @@ module Aws::Macie2
6328
6494
  include Aws::Structure
6329
6495
  end
6330
6496
 
6497
+ # Provides information about an error that occurred due to an
6498
+ # unprocessable entity.
6499
+ #
6500
+ # @!attribute [rw] message
6501
+ # @return [String]
6502
+ #
6503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UnprocessableEntityException AWS API Documentation
6504
+ #
6505
+ class UnprocessableEntityException < Struct.new(
6506
+ :message)
6507
+ SENSITIVE = []
6508
+ include Aws::Structure
6509
+ end
6510
+
6331
6511
  # Provides information about an account-related request that hasn't
6332
6512
  # been processed.
6333
6513
  #
@@ -6600,6 +6780,60 @@ module Aws::Macie2
6600
6780
  #
6601
6781
  class UpdateOrganizationConfigurationResponse < Aws::EmptyStructure; end
6602
6782
 
6783
+ # Specifies the configuration settings for retrieving occurrences of
6784
+ # sensitive data reported by findings, and the status of the
6785
+ # configuration for an Amazon Macie account.
6786
+ #
6787
+ # @note When making an API call, you may pass UpdateRevealConfigurationRequest
6788
+ # data as a hash:
6789
+ #
6790
+ # {
6791
+ # configuration: { # required
6792
+ # kms_key_id: "__stringMin1Max2048",
6793
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
6794
+ # },
6795
+ # }
6796
+ #
6797
+ # @!attribute [rw] configuration
6798
+ # Specifies the configuration settings for retrieving occurrences of
6799
+ # sensitive data reported by findings, and the status of the
6800
+ # configuration for an Amazon Macie account. When you enable the
6801
+ # configuration for the first time, your request must specify an AWS
6802
+ # Key Management Service (AWS KMS) key. Otherwise, an error occurs.
6803
+ # Macie uses the specified key to encrypt the sensitive data that you
6804
+ # retrieve.
6805
+ # @return [Types::RevealConfiguration]
6806
+ #
6807
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateRevealConfigurationRequest AWS API Documentation
6808
+ #
6809
+ class UpdateRevealConfigurationRequest < Struct.new(
6810
+ :configuration)
6811
+ SENSITIVE = []
6812
+ include Aws::Structure
6813
+ end
6814
+
6815
+ # Provides information about updated configuration settings for
6816
+ # retrieving occurrences of sensitive data reported by findings, and the
6817
+ # status of the configuration for an Amazon Macie account.
6818
+ #
6819
+ # @!attribute [rw] configuration
6820
+ # Specifies the configuration settings for retrieving occurrences of
6821
+ # sensitive data reported by findings, and the status of the
6822
+ # configuration for an Amazon Macie account. When you enable the
6823
+ # configuration for the first time, your request must specify an AWS
6824
+ # Key Management Service (AWS KMS) key. Otherwise, an error occurs.
6825
+ # Macie uses the specified key to encrypt the sensitive data that you
6826
+ # retrieve.
6827
+ # @return [Types::RevealConfiguration]
6828
+ #
6829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateRevealConfigurationResponse AWS API Documentation
6830
+ #
6831
+ class UpdateRevealConfigurationResponse < Struct.new(
6832
+ :configuration)
6833
+ SENSITIVE = []
6834
+ include Aws::Structure
6835
+ end
6836
+
6603
6837
  # Provides data for a specific usage metric and the corresponding quota
6604
6838
  # for an Amazon Macie account.
6605
6839
  #
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'aws-sdk-core/waiters'
11
+
12
+ module Aws::Macie2
13
+ # Waiters are utility methods that poll for a particular state to occur
14
+ # on a client. Waiters can fail after a number of attempts at a polling
15
+ # interval defined for the service client.
16
+ #
17
+ # For a list of operations that can be waited for and the
18
+ # client methods called for each operation, see the table below or the
19
+ # {Client#wait_until} field documentation for the {Client}.
20
+ #
21
+ # # Invoking a Waiter
22
+ # To invoke a waiter, call #wait_until on a {Client}. The first parameter
23
+ # is the waiter name, which is specific to the service client and indicates
24
+ # which operation is being waited for. The second parameter is a hash of
25
+ # parameters that are passed to the client method called by the waiter,
26
+ # which varies according to the waiter name.
27
+ #
28
+ # # Wait Failures
29
+ # To catch errors in a waiter, use WaiterFailed,
30
+ # as shown in the following example.
31
+ #
32
+ # rescue rescue Aws::Waiters::Errors::WaiterFailed => error
33
+ # puts "failed waiting for instance running: #{error.message}
34
+ # end
35
+ #
36
+ # # Configuring a Waiter
37
+ # Each waiter has a default polling interval and a maximum number of
38
+ # attempts it will make before returning control to your program.
39
+ # To set these values, use the `max_attempts` and `delay` parameters
40
+ # in your `#wait_until` call.
41
+ # The following example waits for up to 25 seconds, polling every five seconds.
42
+ #
43
+ # client.wait_until(...) do |w|
44
+ # w.max_attempts = 5
45
+ # w.delay = 5
46
+ # end
47
+ #
48
+ # To disable wait failures, set the value of either of these parameters
49
+ # to `nil`.
50
+ #
51
+ # # Extending a Waiter
52
+ # To modify the behavior of waiters, you can register callbacks that are
53
+ # triggered before each polling attempt and before waiting.
54
+ #
55
+ # The following example implements an exponential backoff in a waiter
56
+ # by doubling the amount of time to wait on every attempt.
57
+ #
58
+ # client.wait_until(...) do |w|
59
+ # w.interval = 0 # disable normal sleep
60
+ # w.before_wait do |n, resp|
61
+ # sleep(n ** 2)
62
+ # end
63
+ # end
64
+ #
65
+ # # Available Waiters
66
+ #
67
+ # The following table lists the valid waiter names, the operations they call,
68
+ # and the default `:delay` and `:max_attempts` values.
69
+ #
70
+ # | waiter_name | params | :delay | :max_attempts |
71
+ # | ---------------- | --------------------------------------- | -------- | ------------- |
72
+ # | finding_revealed | {Client#get_sensitive_data_occurrences} | 2 | 60 |
73
+ #
74
+ module Waiters
75
+
76
+ # Wait until the sensitive data occurrences are ready.
77
+ class FindingRevealed
78
+
79
+ # @param [Hash] options
80
+ # @option options [required, Client] :client
81
+ # @option options [Integer] :max_attempts (60)
82
+ # @option options [Integer] :delay (2)
83
+ # @option options [Proc] :before_attempt
84
+ # @option options [Proc] :before_wait
85
+ def initialize(options)
86
+ @client = options.fetch(:client)
87
+ @waiter = Aws::Waiters::Waiter.new({
88
+ max_attempts: 60,
89
+ delay: 2,
90
+ poller: Aws::Waiters::Poller.new(
91
+ operation_name: :get_sensitive_data_occurrences,
92
+ acceptors: [
93
+ {
94
+ "matcher" => "path",
95
+ "argument" => "status",
96
+ "state" => "success",
97
+ "expected" => "SUCCESS"
98
+ },
99
+ {
100
+ "matcher" => "path",
101
+ "argument" => "status",
102
+ "state" => "success",
103
+ "expected" => "ERROR"
104
+ }
105
+ ]
106
+ )
107
+ }.merge(options))
108
+ end
109
+
110
+ # @option (see Client#get_sensitive_data_occurrences)
111
+ # @return (see Client#get_sensitive_data_occurrences)
112
+ def wait(params = {})
113
+ @waiter.wait(client: @client, params: params)
114
+ end
115
+
116
+ # @api private
117
+ attr_reader :waiter
118
+
119
+ end
120
+ end
121
+ end
@@ -15,6 +15,7 @@ require_relative 'aws-sdk-macie2/types'
15
15
  require_relative 'aws-sdk-macie2/client_api'
16
16
  require_relative 'aws-sdk-macie2/client'
17
17
  require_relative 'aws-sdk-macie2/errors'
18
+ require_relative 'aws-sdk-macie2/waiters'
18
19
  require_relative 'aws-sdk-macie2/resource'
19
20
  require_relative 'aws-sdk-macie2/customizations'
20
21
 
@@ -48,6 +49,6 @@ require_relative 'aws-sdk-macie2/customizations'
48
49
  # @!group service
49
50
  module Aws::Macie2
50
51
 
51
- GEM_VERSION = '1.45.0'
52
+ GEM_VERSION = '1.46.0'
52
53
 
53
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-macie2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.45.0
4
+ version: 1.46.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-20 00:00:00.000000000 Z
11
+ date: 2022-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -62,6 +62,7 @@ files:
62
62
  - lib/aws-sdk-macie2/errors.rb
63
63
  - lib/aws-sdk-macie2/resource.rb
64
64
  - lib/aws-sdk-macie2/types.rb
65
+ - lib/aws-sdk-macie2/waiters.rb
65
66
  homepage: https://github.com/aws/aws-sdk-ruby
66
67
  licenses:
67
68
  - Apache-2.0