aws-sdk-macie2 1.43.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: 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