aws-sdk-macie2 1.43.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: a076457499469b66c54e4af2541eb0fc067f58b60bee39bbc744a23ef88a987b
4
- data.tar.gz: 34728ca0bdc4be44b73bede1b84c757eae158d398e88d8eb8ea6b92eea4a52b3
3
+ metadata.gz: a317528c809964c80728a1cac6b20a43b636dc0d6aa975f0ff0ec9b586ed8d83
4
+ data.tar.gz: 2e5807f4b3a33234006f4768255b34bcfeec044cefddd895e8f2a6afa5155d8b
5
5
  SHA512:
6
- metadata.gz: e4071892a426894a5517a77ae2a4af36c0f84c73c63f84ab56970c20c8418500a61e1e8f9012a021868750baa52c4b2bfbdca69741809fee92c5718ed47eb8e1
7
- data.tar.gz: ef5b00258f1c35a4bfa428f479141e81eded66a3404844a0be73f6b46975a7dc8bccb6b8bf42ef82e4543bc3cf38401d092a2506971de4cef79dcc3fbee26ace
6
+ metadata.gz: aa4dfacc438d4eb250dc94c607d3656a702b2a1256689dfea15d291751a3c22d09a4e5c58d2d5fcf8307f633c90d44d0dde59bc92524d413724fa64dc42853de
7
+ data.tar.gz: f272b9eb4b3c9a3b33bfb256855a315712ba79a909ca49bca6ba579b0bbf35bf7a55a32263e38a219d344b62a3cf7e255c6ea75e5e3fcc6fcc8afe9cff290154
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
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
+
9
+ 1.45.0 (2022-04-20)
10
+ ------------------
11
+
12
+ * Feature - Sensitive data findings in Amazon Macie now indicate how Macie found the sensitive data that produced a finding (originType).
13
+
14
+ 1.44.0 (2022-02-24)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
4
19
  1.43.0 (2022-02-03)
5
20
  ------------------
6
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.43.0
1
+ 1.46.0
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
30
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
31
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
32
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
@@ -75,6 +76,7 @@ module Aws::Macie2
75
76
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
76
77
  add_plugin(Aws::Plugins::TransferEncoding)
77
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
78
80
  add_plugin(Aws::Plugins::DefaultsMode)
79
81
  add_plugin(Aws::Plugins::RecursionDetection)
80
82
  add_plugin(Aws::Plugins::SignatureV4)
@@ -1628,6 +1630,7 @@ module Aws::Macie2
1628
1630
  # resp.findings[0].classification_details.detailed_results_location #=> String
1629
1631
  # resp.findings[0].classification_details.job_arn #=> String
1630
1632
  # resp.findings[0].classification_details.job_id #=> String
1633
+ # resp.findings[0].classification_details.origin_type #=> String, one of "SENSITIVE_DATA_DISCOVERY_JOB"
1631
1634
  # resp.findings[0].classification_details.result.additional_occurrences #=> Boolean
1632
1635
  # resp.findings[0].classification_details.result.custom_data_identifiers.detections #=> Array
1633
1636
  # resp.findings[0].classification_details.result.custom_data_identifiers.detections[0].arn #=> String
@@ -1995,6 +1998,97 @@ module Aws::Macie2
1995
1998
  req.send_request(options)
1996
1999
  end
1997
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
+
1998
2092
  # Retrieves (queries) quotas and aggregated usage data for one or more
1999
2093
  # accounts.
2000
2094
  #
@@ -2976,6 +3070,45 @@ module Aws::Macie2
2976
3070
  req.send_request(options)
2977
3071
  end
2978
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
+
2979
3112
  # @!endgroup
2980
3113
 
2981
3114
  # @param params ({})
@@ -2989,14 +3122,127 @@ module Aws::Macie2
2989
3122
  params: params,
2990
3123
  config: config)
2991
3124
  context[:gem_name] = 'aws-sdk-macie2'
2992
- context[:gem_version] = '1.43.0'
3125
+ context[:gem_version] = '1.46.0'
2993
3126
  Seahorse::Client::Request.new(handlers, context)
2994
3127
  end
2995
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
+
2996
3223
  # @api private
2997
3224
  # @deprecated
2998
3225
  def waiter_names
2999
- []
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
+ }
3000
3246
  end
3001
3247
 
3002
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')
@@ -212,6 +220,7 @@ module Aws::Macie2
212
220
  ObjectLevelStatistics = Shapes::StructureShape.new(name: 'ObjectLevelStatistics')
213
221
  Occurrences = Shapes::StructureShape.new(name: 'Occurrences')
214
222
  OrderBy = Shapes::StringShape.new(name: 'OrderBy')
223
+ OriginType = Shapes::StringShape.new(name: 'OriginType')
215
224
  Page = Shapes::StructureShape.new(name: 'Page')
216
225
  Pages = Shapes::ListShape.new(name: 'Pages')
217
226
  PolicyDetails = Shapes::StructureShape.new(name: 'PolicyDetails')
@@ -227,6 +236,9 @@ module Aws::Macie2
227
236
  ReplicationDetails = Shapes::StructureShape.new(name: 'ReplicationDetails')
228
237
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
229
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')
230
242
  S3Bucket = Shapes::StructureShape.new(name: 'S3Bucket')
231
243
  S3BucketCriteriaForJob = Shapes::StructureShape.new(name: 'S3BucketCriteriaForJob')
232
244
  S3BucketDefinitionForJob = Shapes::StructureShape.new(name: 'S3BucketDefinitionForJob')
@@ -252,6 +264,7 @@ module Aws::Macie2
252
264
  SensitiveData = Shapes::ListShape.new(name: 'SensitiveData')
253
265
  SensitiveDataItem = Shapes::StructureShape.new(name: 'SensitiveDataItem')
254
266
  SensitiveDataItemCategory = Shapes::StringShape.new(name: 'SensitiveDataItemCategory')
267
+ SensitiveDataOccurrences = Shapes::MapShape.new(name: 'SensitiveDataOccurrences')
255
268
  ServerSideEncryption = Shapes::StructureShape.new(name: 'ServerSideEncryption')
256
269
  ServiceLimit = Shapes::StructureShape.new(name: 'ServiceLimit')
257
270
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
@@ -282,7 +295,9 @@ module Aws::Macie2
282
295
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
283
296
  TimeRange = Shapes::StringShape.new(name: 'TimeRange')
284
297
  Type = Shapes::StringShape.new(name: 'Type')
298
+ UnavailabilityReasonCode = Shapes::StringShape.new(name: 'UnavailabilityReasonCode')
285
299
  Unit = Shapes::StringShape.new(name: 'Unit')
300
+ UnprocessableEntityException = Shapes::StructureShape.new(name: 'UnprocessableEntityException')
286
301
  UnprocessedAccount = Shapes::StructureShape.new(name: 'UnprocessedAccount')
287
302
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
288
303
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
@@ -296,6 +311,8 @@ module Aws::Macie2
296
311
  UpdateMemberSessionResponse = Shapes::StructureShape.new(name: 'UpdateMemberSessionResponse')
297
312
  UpdateOrganizationConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateOrganizationConfigurationRequest')
298
313
  UpdateOrganizationConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateOrganizationConfigurationResponse')
314
+ UpdateRevealConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateRevealConfigurationRequest')
315
+ UpdateRevealConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateRevealConfigurationResponse')
299
316
  UsageByAccount = Shapes::StructureShape.new(name: 'UsageByAccount')
300
317
  UsageRecord = Shapes::StructureShape.new(name: 'UsageRecord')
301
318
  UsageStatisticsFilter = Shapes::StructureShape.new(name: 'UsageStatisticsFilter')
@@ -319,6 +336,7 @@ module Aws::Macie2
319
336
  __listOfBucketMetadata = Shapes::ListShape.new(name: '__listOfBucketMetadata')
320
337
  __listOfCriteriaForJob = Shapes::ListShape.new(name: '__listOfCriteriaForJob')
321
338
  __listOfCustomDataIdentifierSummary = Shapes::ListShape.new(name: '__listOfCustomDataIdentifierSummary')
339
+ __listOfDetectedDataDetails = Shapes::ListShape.new(name: '__listOfDetectedDataDetails')
322
340
  __listOfFinding = Shapes::ListShape.new(name: '__listOfFinding')
323
341
  __listOfFindingType = Shapes::ListShape.new(name: '__listOfFindingType')
324
342
  __listOfFindingsFilterListItem = Shapes::ListShape.new(name: '__listOfFindingsFilterListItem')
@@ -336,6 +354,7 @@ module Aws::Macie2
336
354
  __listOfSearchResourcesTagCriterionPair = Shapes::ListShape.new(name: '__listOfSearchResourcesTagCriterionPair')
337
355
  __listOfTagCriterionPairForJob = Shapes::ListShape.new(name: '__listOfTagCriterionPairForJob')
338
356
  __listOfTagValuePair = Shapes::ListShape.new(name: '__listOfTagValuePair')
357
+ __listOfUnavailabilityReasonCode = Shapes::ListShape.new(name: '__listOfUnavailabilityReasonCode')
339
358
  __listOfUnprocessedAccount = Shapes::ListShape.new(name: '__listOfUnprocessedAccount')
340
359
  __listOfUsageByAccount = Shapes::ListShape.new(name: '__listOfUsageByAccount')
341
360
  __listOfUsageRecord = Shapes::ListShape.new(name: '__listOfUsageRecord')
@@ -344,6 +363,8 @@ module Aws::Macie2
344
363
  __listOf__string = Shapes::ListShape.new(name: '__listOf__string')
345
364
  __long = Shapes::IntegerShape.new(name: '__long')
346
365
  __string = Shapes::StringShape.new(name: '__string')
366
+ __stringMin1Max128 = Shapes::StringShape.new(name: '__stringMin1Max128')
367
+ __stringMin1Max2048 = Shapes::StringShape.new(name: '__stringMin1Max2048')
347
368
  __timestampIso8601 = Shapes::TimestampShape.new(name: '__timestampIso8601', timestampFormat: "iso8601")
348
369
  __timestampUnix = Shapes::TimestampShape.new(name: '__timestampUnix', timestampFormat: "unixTimestamp")
349
370
 
@@ -510,6 +531,7 @@ module Aws::Macie2
510
531
  ClassificationDetails.add_member(:detailed_results_location, Shapes::ShapeRef.new(shape: __string, location_name: "detailedResultsLocation"))
511
532
  ClassificationDetails.add_member(:job_arn, Shapes::ShapeRef.new(shape: __string, location_name: "jobArn"))
512
533
  ClassificationDetails.add_member(:job_id, Shapes::ShapeRef.new(shape: __string, location_name: "jobId"))
534
+ ClassificationDetails.add_member(:origin_type, Shapes::ShapeRef.new(shape: OriginType, location_name: "originType"))
513
535
  ClassificationDetails.add_member(:result, Shapes::ShapeRef.new(shape: ClassificationResult, location_name: "result"))
514
536
  ClassificationDetails.struct_class = Types::ClassificationDetails
515
537
 
@@ -711,6 +733,9 @@ module Aws::Macie2
711
733
  DescribeOrganizationConfigurationResponse.add_member(:max_account_limit_reached, Shapes::ShapeRef.new(shape: __boolean, location_name: "maxAccountLimitReached"))
712
734
  DescribeOrganizationConfigurationResponse.struct_class = Types::DescribeOrganizationConfigurationResponse
713
735
 
736
+ DetectedDataDetails.add_member(:value, Shapes::ShapeRef.new(shape: __stringMin1Max128, required: true, location_name: "value"))
737
+ DetectedDataDetails.struct_class = Types::DetectedDataDetails
738
+
714
739
  DisableMacieRequest.struct_class = Types::DisableMacieRequest
715
740
 
716
741
  DisableMacieResponse.struct_class = Types::DisableMacieResponse
@@ -913,6 +938,26 @@ module Aws::Macie2
913
938
  GetMemberResponse.add_member(:updated_at, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "updatedAt"))
914
939
  GetMemberResponse.struct_class = Types::GetMemberResponse
915
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
+
916
961
  GetUsageStatisticsRequest.add_member(:filter_by, Shapes::ShapeRef.new(shape: __listOfUsageStatisticsFilter, location_name: "filterBy"))
917
962
  GetUsageStatisticsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: __integer, location_name: "maxResults"))
918
963
  GetUsageStatisticsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: __string, location_name: "nextToken"))
@@ -1203,6 +1248,10 @@ module Aws::Macie2
1203
1248
  ResourcesAffected.add_member(:s3_object, Shapes::ShapeRef.new(shape: S3Object, location_name: "s3Object"))
1204
1249
  ResourcesAffected.struct_class = Types::ResourcesAffected
1205
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
+
1206
1255
  S3Bucket.add_member(:allows_unencrypted_object_uploads, Shapes::ShapeRef.new(shape: AllowsUnencryptedObjectUploads, location_name: "allowsUnencryptedObjectUploads"))
1207
1256
  S3Bucket.add_member(:arn, Shapes::ShapeRef.new(shape: __string, location_name: "arn"))
1208
1257
  S3Bucket.add_member(:created_at, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdAt"))
@@ -1302,6 +1351,9 @@ module Aws::Macie2
1302
1351
  SensitiveDataItem.add_member(:total_count, Shapes::ShapeRef.new(shape: __long, location_name: "totalCount"))
1303
1352
  SensitiveDataItem.struct_class = Types::SensitiveDataItem
1304
1353
 
1354
+ SensitiveDataOccurrences.key = Shapes::ShapeRef.new(shape: __string)
1355
+ SensitiveDataOccurrences.value = Shapes::ShapeRef.new(shape: __listOfDetectedDataDetails)
1356
+
1305
1357
  ServerSideEncryption.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, location_name: "encryptionType"))
1306
1358
  ServerSideEncryption.add_member(:kms_master_key_id, Shapes::ShapeRef.new(shape: __string, location_name: "kmsMasterKeyId"))
1307
1359
  ServerSideEncryption.struct_class = Types::ServerSideEncryption
@@ -1397,6 +1449,9 @@ module Aws::Macie2
1397
1449
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: __string, location_name: "message"))
1398
1450
  ThrottlingException.struct_class = Types::ThrottlingException
1399
1451
 
1452
+ UnprocessableEntityException.add_member(:message, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "message"))
1453
+ UnprocessableEntityException.struct_class = Types::UnprocessableEntityException
1454
+
1400
1455
  UnprocessedAccount.add_member(:account_id, Shapes::ShapeRef.new(shape: __string, location_name: "accountId"))
1401
1456
  UnprocessedAccount.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "errorCode"))
1402
1457
  UnprocessedAccount.add_member(:error_message, Shapes::ShapeRef.new(shape: __string, location_name: "errorMessage"))
@@ -1444,6 +1499,12 @@ module Aws::Macie2
1444
1499
 
1445
1500
  UpdateOrganizationConfigurationResponse.struct_class = Types::UpdateOrganizationConfigurationResponse
1446
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
+
1447
1508
  UsageByAccount.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
1448
1509
  UsageByAccount.add_member(:estimated_cost, Shapes::ShapeRef.new(shape: __string, location_name: "estimatedCost"))
1449
1510
  UsageByAccount.add_member(:service_limit, Shapes::ShapeRef.new(shape: ServiceLimit, location_name: "serviceLimit"))
@@ -1504,6 +1565,8 @@ module Aws::Macie2
1504
1565
 
1505
1566
  __listOfCustomDataIdentifierSummary.member = Shapes::ShapeRef.new(shape: CustomDataIdentifierSummary)
1506
1567
 
1568
+ __listOfDetectedDataDetails.member = Shapes::ShapeRef.new(shape: DetectedDataDetails)
1569
+
1507
1570
  __listOfFinding.member = Shapes::ShapeRef.new(shape: Finding)
1508
1571
 
1509
1572
  __listOfFindingType.member = Shapes::ShapeRef.new(shape: FindingType)
@@ -1538,6 +1601,8 @@ module Aws::Macie2
1538
1601
 
1539
1602
  __listOfTagValuePair.member = Shapes::ShapeRef.new(shape: TagValuePair)
1540
1603
 
1604
+ __listOfUnavailabilityReasonCode.member = Shapes::ShapeRef.new(shape: UnavailabilityReasonCode)
1605
+
1541
1606
  __listOfUnprocessedAccount.member = Shapes::ShapeRef.new(shape: UnprocessedAccount)
1542
1607
 
1543
1608
  __listOfUsageByAccount.member = Shapes::ShapeRef.new(shape: UsageByAccount)
@@ -2099,6 +2164,44 @@ module Aws::Macie2
2099
2164
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2100
2165
  end)
2101
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
+
2102
2205
  api.add_operation(:get_usage_statistics, Seahorse::Model::Operation.new.tap do |o|
2103
2206
  o.name = "GetUsageStatistics"
2104
2207
  o.http_method = "POST"
@@ -2454,6 +2557,18 @@ module Aws::Macie2
2454
2557
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2455
2558
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
2456
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)
2457
2572
  end
2458
2573
 
2459
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
@@ -832,8 +832,8 @@ module Aws::Macie2
832
832
  include Aws::Structure
833
833
  end
834
834
 
835
- # Provides information about a sensitive data finding, including the
836
- # classification job that produced the finding.
835
+ # Provides information about a sensitive data finding and the details of
836
+ # the finding.
837
837
  #
838
838
  # @!attribute [rw] detailed_results_location
839
839
  # @return [String]
@@ -844,6 +844,11 @@ module Aws::Macie2
844
844
  # @!attribute [rw] job_id
845
845
  # @return [String]
846
846
  #
847
+ # @!attribute [rw] origin_type
848
+ # Specifies how Amazon Macie found the sensitive data that produced a
849
+ # finding. The only possible value is:
850
+ # @return [String]
851
+ #
847
852
  # @!attribute [rw] result
848
853
  # Provides the details of a sensitive data finding, including the
849
854
  # types, number of occurrences, and locations of the sensitive data
@@ -856,6 +861,7 @@ module Aws::Macie2
856
861
  :detailed_results_location,
857
862
  :job_arn,
858
863
  :job_id,
864
+ :origin_type,
859
865
  :result)
860
866
  SENSITIVE = []
861
867
  include Aws::Structure
@@ -1704,7 +1710,10 @@ module Aws::Macie2
1704
1710
  # @!attribute [rw] occurrences
1705
1711
  # Specifies the location of 1-15 occurrences of sensitive data that
1706
1712
  # was detected by a managed data identifier or a custom data
1707
- # 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.
1708
1717
  # @return [Types::Occurrences]
1709
1718
  #
1710
1719
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CustomDetection AWS API Documentation
@@ -1772,7 +1781,10 @@ module Aws::Macie2
1772
1781
  # @!attribute [rw] occurrences
1773
1782
  # Specifies the location of 1-15 occurrences of sensitive data that
1774
1783
  # was detected by a managed data identifier or a custom data
1775
- # 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.
1776
1788
  # @return [Types::Occurrences]
1777
1789
  #
1778
1790
  # @!attribute [rw] type
@@ -2128,6 +2140,20 @@ module Aws::Macie2
2128
2140
  include Aws::Structure
2129
2141
  end
2130
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
+
2131
2157
  # @api private
2132
2158
  #
2133
2159
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisableMacieRequest AWS API Documentation
@@ -2352,8 +2378,8 @@ module Aws::Macie2
2352
2378
  # @return [String]
2353
2379
  #
2354
2380
  # @!attribute [rw] classification_details
2355
- # Provides information about a sensitive data finding, including the
2356
- # classification job that produced the finding.
2381
+ # Provides information about a sensitive data finding and the details
2382
+ # of the finding.
2357
2383
  # @return [Types::ClassificationDetails]
2358
2384
  #
2359
2385
  # @!attribute [rw] count
@@ -3213,6 +3239,117 @@ module Aws::Macie2
3213
3239
  include Aws::Structure
3214
3240
  end
3215
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
+
3216
3353
  # Specifies criteria for filtering, sorting, and paginating the results
3217
3354
  # of a query for quotas and aggregated usage data for one or more Amazon
3218
3355
  # Macie accounts.
@@ -4117,7 +4254,8 @@ module Aws::Macie2
4117
4254
  # }
4118
4255
  #
4119
4256
  # @!attribute [rw] comparator
4120
- # The operator to use in a condition. Valid values are:
4257
+ # The operator to use in a condition. Depending on the type of
4258
+ # condition, possible values are:
4121
4259
  # @return [String]
4122
4260
  #
4123
4261
  # @!attribute [rw] key
@@ -4599,7 +4737,9 @@ module Aws::Macie2
4599
4737
 
4600
4738
  # Specifies the location of 1-15 occurrences of sensitive data that was
4601
4739
  # detected by a managed data identifier or a custom data identifier and
4602
- # 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.
4603
4743
  #
4604
4744
  # @!attribute [rw] cells
4605
4745
  # Specifies the location of occurrences of sensitive data in a
@@ -4607,9 +4747,13 @@ module Aws::Macie2
4607
4747
  # @return [Array<Types::Cell>]
4608
4748
  #
4609
4749
  # @!attribute [rw] line_ranges
4750
+ # Specifies the locations of occurrences of sensitive data in a
4751
+ # non-binary text file.
4610
4752
  # @return [Array<Types::Range>]
4611
4753
  #
4612
4754
  # @!attribute [rw] offset_ranges
4755
+ # Specifies the locations of occurrences of sensitive data in a
4756
+ # non-binary text file.
4613
4757
  # @return [Array<Types::Range>]
4614
4758
  #
4615
4759
  # @!attribute [rw] pages
@@ -4618,6 +4762,8 @@ module Aws::Macie2
4618
4762
  # @return [Array<Types::Page>]
4619
4763
  #
4620
4764
  # @!attribute [rw] records
4765
+ # Specifies the locations of occurrences of sensitive data in an
4766
+ # Apache Avro object container or a structured data file.
4621
4767
  # @return [Array<Types::Record>]
4622
4768
  #
4623
4769
  # @see http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/Occurrences AWS API Documentation
@@ -4869,6 +5015,39 @@ module Aws::Macie2
4869
5015
  include Aws::Structure
4870
5016
  end
4871
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
+
4872
5051
  # Provides information about the S3 bucket that a finding applies to.
4873
5052
  #
4874
5053
  # @!attribute [rw] allows_unencrypted_object_uploads
@@ -5973,7 +6152,8 @@ module Aws::Macie2
5973
6152
  # }
5974
6153
  #
5975
6154
  # @!attribute [rw] comparator
5976
- # The operator to use in a condition. Valid values are:
6155
+ # The operator to use in a condition. Depending on the type of
6156
+ # condition, possible values are:
5977
6157
  # @return [String]
5978
6158
  #
5979
6159
  # @!attribute [rw] key
@@ -6008,7 +6188,8 @@ module Aws::Macie2
6008
6188
  # }
6009
6189
  #
6010
6190
  # @!attribute [rw] comparator
6011
- # The operator to use in a condition. Valid values are:
6191
+ # The operator to use in a condition. Depending on the type of
6192
+ # condition, possible values are:
6012
6193
  # @return [String]
6013
6194
  #
6014
6195
  # @!attribute [rw] key
@@ -6089,7 +6270,8 @@ module Aws::Macie2
6089
6270
  # }
6090
6271
  #
6091
6272
  # @!attribute [rw] comparator
6092
- # The operator to use in a condition. Valid values are:
6273
+ # The operator to use in a condition. Depending on the type of
6274
+ # condition, possible values are:
6093
6275
  # @return [String]
6094
6276
  #
6095
6277
  # @!attribute [rw] tag_values
@@ -6190,7 +6372,8 @@ module Aws::Macie2
6190
6372
  # }
6191
6373
  #
6192
6374
  # @!attribute [rw] comparator
6193
- # The operator to use in a condition. Valid values are:
6375
+ # The operator to use in a condition. Depending on the type of
6376
+ # condition, possible values are:
6194
6377
  # @return [String]
6195
6378
  #
6196
6379
  # @!attribute [rw] key
@@ -6311,6 +6494,20 @@ module Aws::Macie2
6311
6494
  include Aws::Structure
6312
6495
  end
6313
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
+
6314
6511
  # Provides information about an account-related request that hasn't
6315
6512
  # been processed.
6316
6513
  #
@@ -6583,6 +6780,60 @@ module Aws::Macie2
6583
6780
  #
6584
6781
  class UpdateOrganizationConfigurationResponse < Aws::EmptyStructure; end
6585
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
+
6586
6837
  # Provides data for a specific usage metric and the corresponding quota
6587
6838
  # for an Amazon Macie account.
6588
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.43.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.43.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-02-03 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
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.126.0
22
+ version: 3.127.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.126.0
32
+ version: 3.127.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -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