aws-sdk-macie2 1.45.0 → 1.46.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: 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