aws-sdk-auditmanager 1.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c76091e3da8b6fbb20caea68f8c150b8d28d904c33c7e2b5b364986bf7f0b35d
4
+ data.tar.gz: 67c50a24bdd4c916c3a7f4739e5983e4ba9185082ce4ad8ab4b8cd89b39b81fa
5
+ SHA512:
6
+ metadata.gz: e1b0b0bcd922ac4587032ba6ebdea996150b21cc1ca4c24ad986adb172d4e5653acfc5aed60d16d8fcc39cdb52a0e757f776b532bd6a47c962105ac146d9d56d
7
+ data.tar.gz: 6639ca200be74da06515b9cdf7f2d5240466922804254d72c3784da548b2e8868774d2d97302d027e850a9281515a9777aa465daf377372b60d6b3a33803bbbd
@@ -0,0 +1,53 @@
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/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ require 'aws-sdk-core'
12
+ require 'aws-sigv4'
13
+
14
+ require_relative 'aws-sdk-auditmanager/types'
15
+ require_relative 'aws-sdk-auditmanager/client_api'
16
+ require_relative 'aws-sdk-auditmanager/client'
17
+ require_relative 'aws-sdk-auditmanager/errors'
18
+ require_relative 'aws-sdk-auditmanager/resource'
19
+ require_relative 'aws-sdk-auditmanager/customizations'
20
+
21
+ # This module provides support for AWS Audit Manager. This module is available in the
22
+ # `aws-sdk-auditmanager` gem.
23
+ #
24
+ # # Client
25
+ #
26
+ # The {Client} class provides one method for each API operation. Operation
27
+ # methods each accept a hash of request parameters and return a response
28
+ # structure.
29
+ #
30
+ # audit_manager = Aws::AuditManager::Client.new
31
+ # resp = audit_manager.associate_assessment_report_evidence_folder(params)
32
+ #
33
+ # See {Client} for more information.
34
+ #
35
+ # # Errors
36
+ #
37
+ # Errors returned from AWS Audit Manager are defined in the
38
+ # {Errors} module and all extend {Errors::ServiceError}.
39
+ #
40
+ # begin
41
+ # # do stuff
42
+ # rescue Aws::AuditManager::Errors::ServiceError
43
+ # # rescues all AWS Audit Manager API errors
44
+ # end
45
+ #
46
+ # See {Errors} for more information.
47
+ #
48
+ # @!group service
49
+ module Aws::AuditManager
50
+
51
+ GEM_VERSION = '1.0.0'
52
+
53
+ end
@@ -0,0 +1,3024 @@
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/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:auditmanager)
34
+
35
+ module Aws::AuditManager
36
+ # An API client for AuditManager. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::AuditManager::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :auditmanager
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :stub_responses (false)
270
+ # Causes the client to return stubbed responses. By default
271
+ # fake responses are generated and returned. You can specify
272
+ # the response data to return or errors to raise by calling
273
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
274
+ #
275
+ # ** Please note ** When response stubbing is enabled, no HTTP
276
+ # requests are made, and retries are disabled.
277
+ #
278
+ # @option options [Boolean] :validate_params (true)
279
+ # When `true`, request parameters are validated before
280
+ # sending the request.
281
+ #
282
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
283
+ # requests through. Formatted like 'http://proxy.com:123'.
284
+ #
285
+ # @option options [Float] :http_open_timeout (15) The number of
286
+ # seconds to wait when opening a HTTP session before raising a
287
+ # `Timeout::Error`.
288
+ #
289
+ # @option options [Integer] :http_read_timeout (60) The default
290
+ # number of seconds to wait for response data. This value can
291
+ # safely be set per-request on the session.
292
+ #
293
+ # @option options [Float] :http_idle_timeout (5) The number of
294
+ # seconds a connection is allowed to sit idle before it is
295
+ # considered stale. Stale connections are closed and removed
296
+ # from the pool before making a request.
297
+ #
298
+ # @option options [Float] :http_continue_timeout (1) The number of
299
+ # seconds to wait for a 100-continue response before sending the
300
+ # request body. This option has no effect unless the request has
301
+ # "Expect" header set to "100-continue". Defaults to `nil` which
302
+ # disables this behaviour. This value can safely be set per
303
+ # request on the session.
304
+ #
305
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
306
+ # HTTP debug output will be sent to the `:logger`.
307
+ #
308
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
309
+ # SSL peer certificates are verified when establishing a
310
+ # connection.
311
+ #
312
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
313
+ # certificate authority bundle file that should be used when
314
+ # verifying peer certificates. If you do not pass
315
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
316
+ # will be used if available.
317
+ #
318
+ # @option options [String] :ssl_ca_directory Full path of the
319
+ # directory that contains the unbundled SSL certificate
320
+ # authority files for verifying peer certificates. If you do
321
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
322
+ # system default will be used if available.
323
+ #
324
+ def initialize(*args)
325
+ super
326
+ end
327
+
328
+ # @!group API Operations
329
+
330
+ # Associates an evidence folder to the specified assessment report in
331
+ # AWS Audit Manager.
332
+ #
333
+ # @option params [required, String] :assessment_id
334
+ # The identifier for the specified assessment.
335
+ #
336
+ # @option params [required, String] :evidence_folder_id
337
+ # The identifier for the folder in which evidence is stored.
338
+ #
339
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
340
+ #
341
+ # @example Request syntax with placeholder values
342
+ #
343
+ # resp = client.associate_assessment_report_evidence_folder({
344
+ # assessment_id: "UUID", # required
345
+ # evidence_folder_id: "UUID", # required
346
+ # })
347
+ #
348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/AssociateAssessmentReportEvidenceFolder AWS API Documentation
349
+ #
350
+ # @overload associate_assessment_report_evidence_folder(params = {})
351
+ # @param [Hash] params ({})
352
+ def associate_assessment_report_evidence_folder(params = {}, options = {})
353
+ req = build_request(:associate_assessment_report_evidence_folder, params)
354
+ req.send_request(options)
355
+ end
356
+
357
+ # Associates a list of evidence to an assessment report in an AWS Audit
358
+ # Manager assessment.
359
+ #
360
+ # @option params [required, String] :assessment_id
361
+ # The unique identifier for the specified assessment.
362
+ #
363
+ # @option params [required, String] :evidence_folder_id
364
+ # The identifier for the folder in which the evidence is stored.
365
+ #
366
+ # @option params [required, Array<String>] :evidence_ids
367
+ # The list of evidence identifiers.
368
+ #
369
+ # @return [Types::BatchAssociateAssessmentReportEvidenceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
370
+ #
371
+ # * {Types::BatchAssociateAssessmentReportEvidenceResponse#evidence_ids #evidence_ids} => Array&lt;String&gt;
372
+ # * {Types::BatchAssociateAssessmentReportEvidenceResponse#errors #errors} => Array&lt;Types::AssessmentReportEvidenceError&gt;
373
+ #
374
+ # @example Request syntax with placeholder values
375
+ #
376
+ # resp = client.batch_associate_assessment_report_evidence({
377
+ # assessment_id: "UUID", # required
378
+ # evidence_folder_id: "UUID", # required
379
+ # evidence_ids: ["UUID"], # required
380
+ # })
381
+ #
382
+ # @example Response structure
383
+ #
384
+ # resp.evidence_ids #=> Array
385
+ # resp.evidence_ids[0] #=> String
386
+ # resp.errors #=> Array
387
+ # resp.errors[0].evidence_id #=> String
388
+ # resp.errors[0].error_code #=> String
389
+ # resp.errors[0].error_message #=> String
390
+ #
391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchAssociateAssessmentReportEvidence AWS API Documentation
392
+ #
393
+ # @overload batch_associate_assessment_report_evidence(params = {})
394
+ # @param [Hash] params ({})
395
+ def batch_associate_assessment_report_evidence(params = {}, options = {})
396
+ req = build_request(:batch_associate_assessment_report_evidence, params)
397
+ req.send_request(options)
398
+ end
399
+
400
+ # Create a batch of delegations for a specified assessment in AWS Audit
401
+ # Manager.
402
+ #
403
+ # @option params [required, Array<Types::CreateDelegationRequest>] :create_delegation_requests
404
+ # The API request to batch create delegations in AWS Audit Manager.
405
+ #
406
+ # @option params [required, String] :assessment_id
407
+ # The identifier for the specified assessment.
408
+ #
409
+ # @return [Types::BatchCreateDelegationByAssessmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
410
+ #
411
+ # * {Types::BatchCreateDelegationByAssessmentResponse#delegations #delegations} => Array&lt;Types::Delegation&gt;
412
+ # * {Types::BatchCreateDelegationByAssessmentResponse#errors #errors} => Array&lt;Types::BatchCreateDelegationByAssessmentError&gt;
413
+ #
414
+ # @example Request syntax with placeholder values
415
+ #
416
+ # resp = client.batch_create_delegation_by_assessment({
417
+ # create_delegation_requests: [ # required
418
+ # {
419
+ # comment: "DelegationComment",
420
+ # control_set_id: "ControlSetId",
421
+ # role_arn: "IamArn",
422
+ # role_type: "PROCESS_OWNER", # accepts PROCESS_OWNER, RESOURCE_OWNER
423
+ # },
424
+ # ],
425
+ # assessment_id: "UUID", # required
426
+ # })
427
+ #
428
+ # @example Response structure
429
+ #
430
+ # resp.delegations #=> Array
431
+ # resp.delegations[0].id #=> String
432
+ # resp.delegations[0].assessment_name #=> String
433
+ # resp.delegations[0].assessment_id #=> String
434
+ # resp.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
435
+ # resp.delegations[0].role_arn #=> String
436
+ # resp.delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
437
+ # resp.delegations[0].creation_time #=> Time
438
+ # resp.delegations[0].last_updated #=> Time
439
+ # resp.delegations[0].control_set_id #=> String
440
+ # resp.delegations[0].comment #=> String
441
+ # resp.delegations[0].created_by #=> String
442
+ # resp.errors #=> Array
443
+ # resp.errors[0].create_delegation_request.comment #=> String
444
+ # resp.errors[0].create_delegation_request.control_set_id #=> String
445
+ # resp.errors[0].create_delegation_request.role_arn #=> String
446
+ # resp.errors[0].create_delegation_request.role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
447
+ # resp.errors[0].error_code #=> String
448
+ # resp.errors[0].error_message #=> String
449
+ #
450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchCreateDelegationByAssessment AWS API Documentation
451
+ #
452
+ # @overload batch_create_delegation_by_assessment(params = {})
453
+ # @param [Hash] params ({})
454
+ def batch_create_delegation_by_assessment(params = {}, options = {})
455
+ req = build_request(:batch_create_delegation_by_assessment, params)
456
+ req.send_request(options)
457
+ end
458
+
459
+ # Deletes the delegations in the specified AWS Audit Manager assessment.
460
+ #
461
+ # @option params [required, Array<String>] :delegation_ids
462
+ # The identifiers for the specified delegations.
463
+ #
464
+ # @option params [required, String] :assessment_id
465
+ # The identifier for the specified assessment.
466
+ #
467
+ # @return [Types::BatchDeleteDelegationByAssessmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
468
+ #
469
+ # * {Types::BatchDeleteDelegationByAssessmentResponse#errors #errors} => Array&lt;Types::BatchDeleteDelegationByAssessmentError&gt;
470
+ #
471
+ # @example Request syntax with placeholder values
472
+ #
473
+ # resp = client.batch_delete_delegation_by_assessment({
474
+ # delegation_ids: ["UUID"], # required
475
+ # assessment_id: "UUID", # required
476
+ # })
477
+ #
478
+ # @example Response structure
479
+ #
480
+ # resp.errors #=> Array
481
+ # resp.errors[0].delegation_id #=> String
482
+ # resp.errors[0].error_code #=> String
483
+ # resp.errors[0].error_message #=> String
484
+ #
485
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDeleteDelegationByAssessment AWS API Documentation
486
+ #
487
+ # @overload batch_delete_delegation_by_assessment(params = {})
488
+ # @param [Hash] params ({})
489
+ def batch_delete_delegation_by_assessment(params = {}, options = {})
490
+ req = build_request(:batch_delete_delegation_by_assessment, params)
491
+ req.send_request(options)
492
+ end
493
+
494
+ # Disassociates a list of evidence from the specified assessment report
495
+ # in AWS Audit Manager.
496
+ #
497
+ # @option params [required, String] :assessment_id
498
+ # The identifier for the specified assessment.
499
+ #
500
+ # @option params [required, String] :evidence_folder_id
501
+ # The identifier for the folder in which evidence is stored.
502
+ #
503
+ # @option params [required, Array<String>] :evidence_ids
504
+ # The list of evidence identifiers.
505
+ #
506
+ # @return [Types::BatchDisassociateAssessmentReportEvidenceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
507
+ #
508
+ # * {Types::BatchDisassociateAssessmentReportEvidenceResponse#evidence_ids #evidence_ids} => Array&lt;String&gt;
509
+ # * {Types::BatchDisassociateAssessmentReportEvidenceResponse#errors #errors} => Array&lt;Types::AssessmentReportEvidenceError&gt;
510
+ #
511
+ # @example Request syntax with placeholder values
512
+ #
513
+ # resp = client.batch_disassociate_assessment_report_evidence({
514
+ # assessment_id: "UUID", # required
515
+ # evidence_folder_id: "UUID", # required
516
+ # evidence_ids: ["UUID"], # required
517
+ # })
518
+ #
519
+ # @example Response structure
520
+ #
521
+ # resp.evidence_ids #=> Array
522
+ # resp.evidence_ids[0] #=> String
523
+ # resp.errors #=> Array
524
+ # resp.errors[0].evidence_id #=> String
525
+ # resp.errors[0].error_code #=> String
526
+ # resp.errors[0].error_message #=> String
527
+ #
528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDisassociateAssessmentReportEvidence AWS API Documentation
529
+ #
530
+ # @overload batch_disassociate_assessment_report_evidence(params = {})
531
+ # @param [Hash] params ({})
532
+ def batch_disassociate_assessment_report_evidence(params = {}, options = {})
533
+ req = build_request(:batch_disassociate_assessment_report_evidence, params)
534
+ req.send_request(options)
535
+ end
536
+
537
+ # Uploads one or more pieces of evidence to the specified control in the
538
+ # assessment in AWS Audit Manager.
539
+ #
540
+ # @option params [required, String] :assessment_id
541
+ # The identifier for the specified assessment.
542
+ #
543
+ # @option params [required, String] :control_set_id
544
+ # The identifier for the specified control set.
545
+ #
546
+ # @option params [required, String] :control_id
547
+ # The identifier for the specified control.
548
+ #
549
+ # @option params [required, Array<Types::ManualEvidence>] :manual_evidence
550
+ # The list of manual evidence objects.
551
+ #
552
+ # @return [Types::BatchImportEvidenceToAssessmentControlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
553
+ #
554
+ # * {Types::BatchImportEvidenceToAssessmentControlResponse#errors #errors} => Array&lt;Types::BatchImportEvidenceToAssessmentControlError&gt;
555
+ #
556
+ # @example Request syntax with placeholder values
557
+ #
558
+ # resp = client.batch_import_evidence_to_assessment_control({
559
+ # assessment_id: "UUID", # required
560
+ # control_set_id: "ControlSetId", # required
561
+ # control_id: "UUID", # required
562
+ # manual_evidence: [ # required
563
+ # {
564
+ # s3_resource_path: "S3Url",
565
+ # },
566
+ # ],
567
+ # })
568
+ #
569
+ # @example Response structure
570
+ #
571
+ # resp.errors #=> Array
572
+ # resp.errors[0].manual_evidence.s3_resource_path #=> String
573
+ # resp.errors[0].error_code #=> String
574
+ # resp.errors[0].error_message #=> String
575
+ #
576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchImportEvidenceToAssessmentControl AWS API Documentation
577
+ #
578
+ # @overload batch_import_evidence_to_assessment_control(params = {})
579
+ # @param [Hash] params ({})
580
+ def batch_import_evidence_to_assessment_control(params = {}, options = {})
581
+ req = build_request(:batch_import_evidence_to_assessment_control, params)
582
+ req.send_request(options)
583
+ end
584
+
585
+ # Creates an assessment in AWS Audit Manager.
586
+ #
587
+ # @option params [required, String] :name
588
+ # The name of the assessment to be created.
589
+ #
590
+ # @option params [String] :description
591
+ # The optional description of the assessment to be created.
592
+ #
593
+ # @option params [required, Types::AssessmentReportsDestination] :assessment_reports_destination
594
+ # The assessment report storage destination for the specified assessment
595
+ # that is being created.
596
+ #
597
+ # @option params [required, Types::Scope] :scope
598
+ # The wrapper that contains the AWS accounts and AWS services in scope
599
+ # for the assessment.
600
+ #
601
+ # @option params [required, Array<Types::Role>] :roles
602
+ # The list of roles for the specified assessment.
603
+ #
604
+ # @option params [required, String] :framework_id
605
+ # The identifier for the specified framework.
606
+ #
607
+ # @option params [Hash<String,String>] :tags
608
+ # The tags associated with the assessment.
609
+ #
610
+ # @return [Types::CreateAssessmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
611
+ #
612
+ # * {Types::CreateAssessmentResponse#assessment #assessment} => Types::Assessment
613
+ #
614
+ # @example Request syntax with placeholder values
615
+ #
616
+ # resp = client.create_assessment({
617
+ # name: "AssessmentName", # required
618
+ # description: "AssessmentDescription",
619
+ # assessment_reports_destination: { # required
620
+ # destination_type: "S3", # accepts S3
621
+ # destination: "S3Url",
622
+ # },
623
+ # scope: { # required
624
+ # aws_accounts: [
625
+ # {
626
+ # id: "AccountId",
627
+ # email_address: "EmailAddress",
628
+ # name: "AccountName",
629
+ # },
630
+ # ],
631
+ # aws_services: [
632
+ # {
633
+ # service_name: "AWSServiceName",
634
+ # },
635
+ # ],
636
+ # },
637
+ # roles: [ # required
638
+ # {
639
+ # role_type: "PROCESS_OWNER", # accepts PROCESS_OWNER, RESOURCE_OWNER
640
+ # role_arn: "IamArn",
641
+ # },
642
+ # ],
643
+ # framework_id: "UUID", # required
644
+ # tags: {
645
+ # "TagKey" => "TagValue",
646
+ # },
647
+ # })
648
+ #
649
+ # @example Response structure
650
+ #
651
+ # resp.assessment.arn #=> String
652
+ # resp.assessment.aws_account.id #=> String
653
+ # resp.assessment.aws_account.email_address #=> String
654
+ # resp.assessment.aws_account.name #=> String
655
+ # resp.assessment.metadata.name #=> String
656
+ # resp.assessment.metadata.id #=> String
657
+ # resp.assessment.metadata.description #=> String
658
+ # resp.assessment.metadata.compliance_type #=> String
659
+ # resp.assessment.metadata.status #=> String, one of "ACTIVE", "INACTIVE"
660
+ # resp.assessment.metadata.assessment_reports_destination.destination_type #=> String, one of "S3"
661
+ # resp.assessment.metadata.assessment_reports_destination.destination #=> String
662
+ # resp.assessment.metadata.scope.aws_accounts #=> Array
663
+ # resp.assessment.metadata.scope.aws_accounts[0].id #=> String
664
+ # resp.assessment.metadata.scope.aws_accounts[0].email_address #=> String
665
+ # resp.assessment.metadata.scope.aws_accounts[0].name #=> String
666
+ # resp.assessment.metadata.scope.aws_services #=> Array
667
+ # resp.assessment.metadata.scope.aws_services[0].service_name #=> String
668
+ # resp.assessment.metadata.roles #=> Array
669
+ # resp.assessment.metadata.roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
670
+ # resp.assessment.metadata.roles[0].role_arn #=> String
671
+ # resp.assessment.metadata.delegations #=> Array
672
+ # resp.assessment.metadata.delegations[0].id #=> String
673
+ # resp.assessment.metadata.delegations[0].assessment_name #=> String
674
+ # resp.assessment.metadata.delegations[0].assessment_id #=> String
675
+ # resp.assessment.metadata.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
676
+ # resp.assessment.metadata.delegations[0].role_arn #=> String
677
+ # resp.assessment.metadata.delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
678
+ # resp.assessment.metadata.delegations[0].creation_time #=> Time
679
+ # resp.assessment.metadata.delegations[0].last_updated #=> Time
680
+ # resp.assessment.metadata.delegations[0].control_set_id #=> String
681
+ # resp.assessment.metadata.delegations[0].comment #=> String
682
+ # resp.assessment.metadata.delegations[0].created_by #=> String
683
+ # resp.assessment.metadata.creation_time #=> Time
684
+ # resp.assessment.metadata.last_updated #=> Time
685
+ # resp.assessment.framework.id #=> String
686
+ # resp.assessment.framework.arn #=> String
687
+ # resp.assessment.framework.metadata.name #=> String
688
+ # resp.assessment.framework.metadata.description #=> String
689
+ # resp.assessment.framework.metadata.logo #=> String
690
+ # resp.assessment.framework.metadata.compliance_type #=> String
691
+ # resp.assessment.framework.control_sets #=> Array
692
+ # resp.assessment.framework.control_sets[0].id #=> String
693
+ # resp.assessment.framework.control_sets[0].description #=> String
694
+ # resp.assessment.framework.control_sets[0].status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
695
+ # resp.assessment.framework.control_sets[0].roles #=> Array
696
+ # resp.assessment.framework.control_sets[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
697
+ # resp.assessment.framework.control_sets[0].roles[0].role_arn #=> String
698
+ # resp.assessment.framework.control_sets[0].controls #=> Array
699
+ # resp.assessment.framework.control_sets[0].controls[0].id #=> String
700
+ # resp.assessment.framework.control_sets[0].controls[0].name #=> String
701
+ # resp.assessment.framework.control_sets[0].controls[0].description #=> String
702
+ # resp.assessment.framework.control_sets[0].controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
703
+ # resp.assessment.framework.control_sets[0].controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
704
+ # resp.assessment.framework.control_sets[0].controls[0].comments #=> Array
705
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].author_name #=> String
706
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].comment_body #=> String
707
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].posted_date #=> Time
708
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_sources #=> Array
709
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_sources[0] #=> String
710
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_count #=> Integer
711
+ # resp.assessment.framework.control_sets[0].controls[0].assessment_report_evidence_count #=> Integer
712
+ # resp.assessment.framework.control_sets[0].delegations #=> Array
713
+ # resp.assessment.framework.control_sets[0].delegations[0].id #=> String
714
+ # resp.assessment.framework.control_sets[0].delegations[0].assessment_name #=> String
715
+ # resp.assessment.framework.control_sets[0].delegations[0].assessment_id #=> String
716
+ # resp.assessment.framework.control_sets[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
717
+ # resp.assessment.framework.control_sets[0].delegations[0].role_arn #=> String
718
+ # resp.assessment.framework.control_sets[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
719
+ # resp.assessment.framework.control_sets[0].delegations[0].creation_time #=> Time
720
+ # resp.assessment.framework.control_sets[0].delegations[0].last_updated #=> Time
721
+ # resp.assessment.framework.control_sets[0].delegations[0].control_set_id #=> String
722
+ # resp.assessment.framework.control_sets[0].delegations[0].comment #=> String
723
+ # resp.assessment.framework.control_sets[0].delegations[0].created_by #=> String
724
+ # resp.assessment.framework.control_sets[0].system_evidence_count #=> Integer
725
+ # resp.assessment.framework.control_sets[0].manual_evidence_count #=> Integer
726
+ # resp.assessment.tags #=> Hash
727
+ # resp.assessment.tags["TagKey"] #=> String
728
+ #
729
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessment AWS API Documentation
730
+ #
731
+ # @overload create_assessment(params = {})
732
+ # @param [Hash] params ({})
733
+ def create_assessment(params = {}, options = {})
734
+ req = build_request(:create_assessment, params)
735
+ req.send_request(options)
736
+ end
737
+
738
+ # Creates a custom framework in AWS Audit Manager.
739
+ #
740
+ # @option params [required, String] :name
741
+ # The name of the new custom framework.
742
+ #
743
+ # @option params [String] :description
744
+ # An optional description for the new custom framework.
745
+ #
746
+ # @option params [String] :compliance_type
747
+ # The compliance type that the new custom framework supports, such as
748
+ # CIS or HIPAA.
749
+ #
750
+ # @option params [required, Array<Types::CreateAssessmentFrameworkControlSet>] :control_sets
751
+ # The control sets to be associated with the framework.
752
+ #
753
+ # @return [Types::CreateAssessmentFrameworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
754
+ #
755
+ # * {Types::CreateAssessmentFrameworkResponse#framework #framework} => Types::Framework
756
+ #
757
+ # @example Request syntax with placeholder values
758
+ #
759
+ # resp = client.create_assessment_framework({
760
+ # name: "FrameworkName", # required
761
+ # description: "FrameworkDescription",
762
+ # compliance_type: "ComplianceType",
763
+ # control_sets: [ # required
764
+ # {
765
+ # name: "ControlSetName",
766
+ # controls: [
767
+ # {
768
+ # id: "UUID",
769
+ # },
770
+ # ],
771
+ # },
772
+ # ],
773
+ # })
774
+ #
775
+ # @example Response structure
776
+ #
777
+ # resp.framework.arn #=> String
778
+ # resp.framework.id #=> String
779
+ # resp.framework.name #=> String
780
+ # resp.framework.type #=> String, one of "Standard", "Custom"
781
+ # resp.framework.compliance_type #=> String
782
+ # resp.framework.description #=> String
783
+ # resp.framework.logo #=> String
784
+ # resp.framework.control_sources #=> String
785
+ # resp.framework.control_sets #=> Array
786
+ # resp.framework.control_sets[0].id #=> String
787
+ # resp.framework.control_sets[0].name #=> String
788
+ # resp.framework.control_sets[0].controls #=> Array
789
+ # resp.framework.control_sets[0].controls[0].arn #=> String
790
+ # resp.framework.control_sets[0].controls[0].id #=> String
791
+ # resp.framework.control_sets[0].controls[0].type #=> String, one of "Standard", "Custom"
792
+ # resp.framework.control_sets[0].controls[0].name #=> String
793
+ # resp.framework.control_sets[0].controls[0].description #=> String
794
+ # resp.framework.control_sets[0].controls[0].testing_information #=> String
795
+ # resp.framework.control_sets[0].controls[0].action_plan_title #=> String
796
+ # resp.framework.control_sets[0].controls[0].action_plan_instructions #=> String
797
+ # resp.framework.control_sets[0].controls[0].control_sources #=> String
798
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources #=> Array
799
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_id #=> String
800
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_name #=> String
801
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_description #=> String
802
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
803
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_type #=> String, one of "AWS_Cloudtrail", "AWS_Config", "AWS_Security_Hub", "AWS_API_Call", "MANUAL"
804
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST"
805
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_value #=> String
806
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
807
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].troubleshooting_text #=> String
808
+ # resp.framework.control_sets[0].controls[0].created_at #=> Time
809
+ # resp.framework.control_sets[0].controls[0].last_updated_at #=> Time
810
+ # resp.framework.control_sets[0].controls[0].created_by #=> String
811
+ # resp.framework.control_sets[0].controls[0].last_updated_by #=> String
812
+ # resp.framework.control_sets[0].controls[0].tags #=> Hash
813
+ # resp.framework.control_sets[0].controls[0].tags["TagKey"] #=> String
814
+ # resp.framework.created_at #=> Time
815
+ # resp.framework.last_updated_at #=> Time
816
+ # resp.framework.created_by #=> String
817
+ # resp.framework.last_updated_by #=> String
818
+ #
819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentFramework AWS API Documentation
820
+ #
821
+ # @overload create_assessment_framework(params = {})
822
+ # @param [Hash] params ({})
823
+ def create_assessment_framework(params = {}, options = {})
824
+ req = build_request(:create_assessment_framework, params)
825
+ req.send_request(options)
826
+ end
827
+
828
+ # Creates an assessment report for the specified assessment.
829
+ #
830
+ # @option params [required, String] :name
831
+ # The name of the new assessment report.
832
+ #
833
+ # @option params [String] :description
834
+ # The description of the assessment report.
835
+ #
836
+ # @option params [required, String] :assessment_id
837
+ # The identifier for the specified assessment.
838
+ #
839
+ # @return [Types::CreateAssessmentReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
840
+ #
841
+ # * {Types::CreateAssessmentReportResponse#assessment_report #assessment_report} => Types::AssessmentReport
842
+ #
843
+ # @example Request syntax with placeholder values
844
+ #
845
+ # resp = client.create_assessment_report({
846
+ # name: "AssessmentReportName", # required
847
+ # description: "AssessmentReportDescription",
848
+ # assessment_id: "UUID", # required
849
+ # })
850
+ #
851
+ # @example Response structure
852
+ #
853
+ # resp.assessment_report.id #=> String
854
+ # resp.assessment_report.name #=> String
855
+ # resp.assessment_report.description #=> String
856
+ # resp.assessment_report.aws_account_id #=> String
857
+ # resp.assessment_report.assessment_id #=> String
858
+ # resp.assessment_report.assessment_name #=> String
859
+ # resp.assessment_report.author #=> String
860
+ # resp.assessment_report.status #=> String, one of "COMPLETE", "IN_PROGRESS", "FAILED"
861
+ # resp.assessment_report.creation_time #=> Time
862
+ #
863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentReport AWS API Documentation
864
+ #
865
+ # @overload create_assessment_report(params = {})
866
+ # @param [Hash] params ({})
867
+ def create_assessment_report(params = {}, options = {})
868
+ req = build_request(:create_assessment_report, params)
869
+ req.send_request(options)
870
+ end
871
+
872
+ # Creates a new custom control in AWS Audit Manager.
873
+ #
874
+ # @option params [required, String] :name
875
+ # The name of the control.
876
+ #
877
+ # @option params [String] :description
878
+ # The description of the control.
879
+ #
880
+ # @option params [String] :testing_information
881
+ # The steps to follow to determine if the control has been satisfied.
882
+ #
883
+ # @option params [String] :action_plan_title
884
+ # The title of the action plan for remediating the control.
885
+ #
886
+ # @option params [String] :action_plan_instructions
887
+ # The recommended actions to carry out if the control is not fulfilled.
888
+ #
889
+ # @option params [required, Array<Types::CreateControlMappingSource>] :control_mapping_sources
890
+ # The data source that determines from where AWS Audit Manager collects
891
+ # evidence for the control.
892
+ #
893
+ # @option params [Hash<String,String>] :tags
894
+ # The tags associated with the control.
895
+ #
896
+ # @return [Types::CreateControlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
897
+ #
898
+ # * {Types::CreateControlResponse#control #control} => Types::Control
899
+ #
900
+ # @example Request syntax with placeholder values
901
+ #
902
+ # resp = client.create_control({
903
+ # name: "ControlName", # required
904
+ # description: "ControlDescription",
905
+ # testing_information: "TestingInformation",
906
+ # action_plan_title: "ActionPlanTitle",
907
+ # action_plan_instructions: "ActionPlanInstructions",
908
+ # control_mapping_sources: [ # required
909
+ # {
910
+ # source_name: "SourceName",
911
+ # source_description: "SourceDescription",
912
+ # source_set_up_option: "System_Controls_Mapping", # accepts System_Controls_Mapping, Procedural_Controls_Mapping
913
+ # source_type: "AWS_Cloudtrail", # accepts AWS_Cloudtrail, AWS_Config, AWS_Security_Hub, AWS_API_Call, MANUAL
914
+ # source_keyword: {
915
+ # keyword_input_type: "SELECT_FROM_LIST", # accepts SELECT_FROM_LIST
916
+ # keyword_value: "KeywordValue",
917
+ # },
918
+ # source_frequency: "DAILY", # accepts DAILY, WEEKLY, MONTHLY
919
+ # troubleshooting_text: "TroubleshootingText",
920
+ # },
921
+ # ],
922
+ # tags: {
923
+ # "TagKey" => "TagValue",
924
+ # },
925
+ # })
926
+ #
927
+ # @example Response structure
928
+ #
929
+ # resp.control.arn #=> String
930
+ # resp.control.id #=> String
931
+ # resp.control.type #=> String, one of "Standard", "Custom"
932
+ # resp.control.name #=> String
933
+ # resp.control.description #=> String
934
+ # resp.control.testing_information #=> String
935
+ # resp.control.action_plan_title #=> String
936
+ # resp.control.action_plan_instructions #=> String
937
+ # resp.control.control_sources #=> String
938
+ # resp.control.control_mapping_sources #=> Array
939
+ # resp.control.control_mapping_sources[0].source_id #=> String
940
+ # resp.control.control_mapping_sources[0].source_name #=> String
941
+ # resp.control.control_mapping_sources[0].source_description #=> String
942
+ # resp.control.control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
943
+ # resp.control.control_mapping_sources[0].source_type #=> String, one of "AWS_Cloudtrail", "AWS_Config", "AWS_Security_Hub", "AWS_API_Call", "MANUAL"
944
+ # resp.control.control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST"
945
+ # resp.control.control_mapping_sources[0].source_keyword.keyword_value #=> String
946
+ # resp.control.control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
947
+ # resp.control.control_mapping_sources[0].troubleshooting_text #=> String
948
+ # resp.control.created_at #=> Time
949
+ # resp.control.last_updated_at #=> Time
950
+ # resp.control.created_by #=> String
951
+ # resp.control.last_updated_by #=> String
952
+ # resp.control.tags #=> Hash
953
+ # resp.control.tags["TagKey"] #=> String
954
+ #
955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateControl AWS API Documentation
956
+ #
957
+ # @overload create_control(params = {})
958
+ # @param [Hash] params ({})
959
+ def create_control(params = {}, options = {})
960
+ req = build_request(:create_control, params)
961
+ req.send_request(options)
962
+ end
963
+
964
+ # Deletes an assessment in AWS Audit Manager.
965
+ #
966
+ # @option params [required, String] :assessment_id
967
+ # The identifier for the specified assessment.
968
+ #
969
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
970
+ #
971
+ # @example Request syntax with placeholder values
972
+ #
973
+ # resp = client.delete_assessment({
974
+ # assessment_id: "UUID", # required
975
+ # })
976
+ #
977
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessment AWS API Documentation
978
+ #
979
+ # @overload delete_assessment(params = {})
980
+ # @param [Hash] params ({})
981
+ def delete_assessment(params = {}, options = {})
982
+ req = build_request(:delete_assessment, params)
983
+ req.send_request(options)
984
+ end
985
+
986
+ # Deletes a custom framework in AWS Audit Manager.
987
+ #
988
+ # @option params [required, String] :framework_id
989
+ # The identifier for the specified framework.
990
+ #
991
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
992
+ #
993
+ # @example Request syntax with placeholder values
994
+ #
995
+ # resp = client.delete_assessment_framework({
996
+ # framework_id: "UUID", # required
997
+ # })
998
+ #
999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentFramework AWS API Documentation
1000
+ #
1001
+ # @overload delete_assessment_framework(params = {})
1002
+ # @param [Hash] params ({})
1003
+ def delete_assessment_framework(params = {}, options = {})
1004
+ req = build_request(:delete_assessment_framework, params)
1005
+ req.send_request(options)
1006
+ end
1007
+
1008
+ # Deletes an assessment report from an assessment in AWS Audit Manager.
1009
+ #
1010
+ # @option params [required, String] :assessment_id
1011
+ # The identifier for the specified assessment.
1012
+ #
1013
+ # @option params [required, String] :assessment_report_id
1014
+ # The unique identifier for the assessment report.
1015
+ #
1016
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1017
+ #
1018
+ # @example Request syntax with placeholder values
1019
+ #
1020
+ # resp = client.delete_assessment_report({
1021
+ # assessment_id: "UUID", # required
1022
+ # assessment_report_id: "UUID", # required
1023
+ # })
1024
+ #
1025
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentReport AWS API Documentation
1026
+ #
1027
+ # @overload delete_assessment_report(params = {})
1028
+ # @param [Hash] params ({})
1029
+ def delete_assessment_report(params = {}, options = {})
1030
+ req = build_request(:delete_assessment_report, params)
1031
+ req.send_request(options)
1032
+ end
1033
+
1034
+ # Deletes a custom control in AWS Audit Manager.
1035
+ #
1036
+ # @option params [required, String] :control_id
1037
+ # The identifier for the specified control.
1038
+ #
1039
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1040
+ #
1041
+ # @example Request syntax with placeholder values
1042
+ #
1043
+ # resp = client.delete_control({
1044
+ # control_id: "UUID", # required
1045
+ # })
1046
+ #
1047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteControl AWS API Documentation
1048
+ #
1049
+ # @overload delete_control(params = {})
1050
+ # @param [Hash] params ({})
1051
+ def delete_control(params = {}, options = {})
1052
+ req = build_request(:delete_control, params)
1053
+ req.send_request(options)
1054
+ end
1055
+
1056
+ # Deregisters an account in AWS Audit Manager.
1057
+ #
1058
+ # @return [Types::DeregisterAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1059
+ #
1060
+ # * {Types::DeregisterAccountResponse#status #status} => String
1061
+ #
1062
+ # @example Response structure
1063
+ #
1064
+ # resp.status #=> String, one of "ACTIVE", "INACTIVE", "PENDING_ACTIVATION"
1065
+ #
1066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterAccount AWS API Documentation
1067
+ #
1068
+ # @overload deregister_account(params = {})
1069
+ # @param [Hash] params ({})
1070
+ def deregister_account(params = {}, options = {})
1071
+ req = build_request(:deregister_account, params)
1072
+ req.send_request(options)
1073
+ end
1074
+
1075
+ # Deregisters the delegated AWS administrator account from the AWS
1076
+ # organization.
1077
+ #
1078
+ # @option params [String] :admin_account_id
1079
+ # The identifier for the specified administrator account.
1080
+ #
1081
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1082
+ #
1083
+ # @example Request syntax with placeholder values
1084
+ #
1085
+ # resp = client.deregister_organization_admin_account({
1086
+ # admin_account_id: "AccountId",
1087
+ # })
1088
+ #
1089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterOrganizationAdminAccount AWS API Documentation
1090
+ #
1091
+ # @overload deregister_organization_admin_account(params = {})
1092
+ # @param [Hash] params ({})
1093
+ def deregister_organization_admin_account(params = {}, options = {})
1094
+ req = build_request(:deregister_organization_admin_account, params)
1095
+ req.send_request(options)
1096
+ end
1097
+
1098
+ # Disassociates an evidence folder from the specified assessment report
1099
+ # in AWS Audit Manager.
1100
+ #
1101
+ # @option params [required, String] :assessment_id
1102
+ # The identifier for the specified assessment.
1103
+ #
1104
+ # @option params [required, String] :evidence_folder_id
1105
+ # The identifier for the folder in which evidence is stored.
1106
+ #
1107
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1108
+ #
1109
+ # @example Request syntax with placeholder values
1110
+ #
1111
+ # resp = client.disassociate_assessment_report_evidence_folder({
1112
+ # assessment_id: "UUID", # required
1113
+ # evidence_folder_id: "UUID", # required
1114
+ # })
1115
+ #
1116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DisassociateAssessmentReportEvidenceFolder AWS API Documentation
1117
+ #
1118
+ # @overload disassociate_assessment_report_evidence_folder(params = {})
1119
+ # @param [Hash] params ({})
1120
+ def disassociate_assessment_report_evidence_folder(params = {}, options = {})
1121
+ req = build_request(:disassociate_assessment_report_evidence_folder, params)
1122
+ req.send_request(options)
1123
+ end
1124
+
1125
+ # Returns the registration status of an account in AWS Audit Manager.
1126
+ #
1127
+ # @return [Types::GetAccountStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1128
+ #
1129
+ # * {Types::GetAccountStatusResponse#status #status} => String
1130
+ #
1131
+ # @example Response structure
1132
+ #
1133
+ # resp.status #=> String, one of "ACTIVE", "INACTIVE", "PENDING_ACTIVATION"
1134
+ #
1135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAccountStatus AWS API Documentation
1136
+ #
1137
+ # @overload get_account_status(params = {})
1138
+ # @param [Hash] params ({})
1139
+ def get_account_status(params = {}, options = {})
1140
+ req = build_request(:get_account_status, params)
1141
+ req.send_request(options)
1142
+ end
1143
+
1144
+ # Returns an assessment from AWS Audit Manager.
1145
+ #
1146
+ # @option params [required, String] :assessment_id
1147
+ # The identifier for the specified assessment.
1148
+ #
1149
+ # @return [Types::GetAssessmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1150
+ #
1151
+ # * {Types::GetAssessmentResponse#assessment #assessment} => Types::Assessment
1152
+ #
1153
+ # @example Request syntax with placeholder values
1154
+ #
1155
+ # resp = client.get_assessment({
1156
+ # assessment_id: "UUID", # required
1157
+ # })
1158
+ #
1159
+ # @example Response structure
1160
+ #
1161
+ # resp.assessment.arn #=> String
1162
+ # resp.assessment.aws_account.id #=> String
1163
+ # resp.assessment.aws_account.email_address #=> String
1164
+ # resp.assessment.aws_account.name #=> String
1165
+ # resp.assessment.metadata.name #=> String
1166
+ # resp.assessment.metadata.id #=> String
1167
+ # resp.assessment.metadata.description #=> String
1168
+ # resp.assessment.metadata.compliance_type #=> String
1169
+ # resp.assessment.metadata.status #=> String, one of "ACTIVE", "INACTIVE"
1170
+ # resp.assessment.metadata.assessment_reports_destination.destination_type #=> String, one of "S3"
1171
+ # resp.assessment.metadata.assessment_reports_destination.destination #=> String
1172
+ # resp.assessment.metadata.scope.aws_accounts #=> Array
1173
+ # resp.assessment.metadata.scope.aws_accounts[0].id #=> String
1174
+ # resp.assessment.metadata.scope.aws_accounts[0].email_address #=> String
1175
+ # resp.assessment.metadata.scope.aws_accounts[0].name #=> String
1176
+ # resp.assessment.metadata.scope.aws_services #=> Array
1177
+ # resp.assessment.metadata.scope.aws_services[0].service_name #=> String
1178
+ # resp.assessment.metadata.roles #=> Array
1179
+ # resp.assessment.metadata.roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
1180
+ # resp.assessment.metadata.roles[0].role_arn #=> String
1181
+ # resp.assessment.metadata.delegations #=> Array
1182
+ # resp.assessment.metadata.delegations[0].id #=> String
1183
+ # resp.assessment.metadata.delegations[0].assessment_name #=> String
1184
+ # resp.assessment.metadata.delegations[0].assessment_id #=> String
1185
+ # resp.assessment.metadata.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
1186
+ # resp.assessment.metadata.delegations[0].role_arn #=> String
1187
+ # resp.assessment.metadata.delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
1188
+ # resp.assessment.metadata.delegations[0].creation_time #=> Time
1189
+ # resp.assessment.metadata.delegations[0].last_updated #=> Time
1190
+ # resp.assessment.metadata.delegations[0].control_set_id #=> String
1191
+ # resp.assessment.metadata.delegations[0].comment #=> String
1192
+ # resp.assessment.metadata.delegations[0].created_by #=> String
1193
+ # resp.assessment.metadata.creation_time #=> Time
1194
+ # resp.assessment.metadata.last_updated #=> Time
1195
+ # resp.assessment.framework.id #=> String
1196
+ # resp.assessment.framework.arn #=> String
1197
+ # resp.assessment.framework.metadata.name #=> String
1198
+ # resp.assessment.framework.metadata.description #=> String
1199
+ # resp.assessment.framework.metadata.logo #=> String
1200
+ # resp.assessment.framework.metadata.compliance_type #=> String
1201
+ # resp.assessment.framework.control_sets #=> Array
1202
+ # resp.assessment.framework.control_sets[0].id #=> String
1203
+ # resp.assessment.framework.control_sets[0].description #=> String
1204
+ # resp.assessment.framework.control_sets[0].status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
1205
+ # resp.assessment.framework.control_sets[0].roles #=> Array
1206
+ # resp.assessment.framework.control_sets[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
1207
+ # resp.assessment.framework.control_sets[0].roles[0].role_arn #=> String
1208
+ # resp.assessment.framework.control_sets[0].controls #=> Array
1209
+ # resp.assessment.framework.control_sets[0].controls[0].id #=> String
1210
+ # resp.assessment.framework.control_sets[0].controls[0].name #=> String
1211
+ # resp.assessment.framework.control_sets[0].controls[0].description #=> String
1212
+ # resp.assessment.framework.control_sets[0].controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
1213
+ # resp.assessment.framework.control_sets[0].controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
1214
+ # resp.assessment.framework.control_sets[0].controls[0].comments #=> Array
1215
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].author_name #=> String
1216
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].comment_body #=> String
1217
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].posted_date #=> Time
1218
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_sources #=> Array
1219
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_sources[0] #=> String
1220
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_count #=> Integer
1221
+ # resp.assessment.framework.control_sets[0].controls[0].assessment_report_evidence_count #=> Integer
1222
+ # resp.assessment.framework.control_sets[0].delegations #=> Array
1223
+ # resp.assessment.framework.control_sets[0].delegations[0].id #=> String
1224
+ # resp.assessment.framework.control_sets[0].delegations[0].assessment_name #=> String
1225
+ # resp.assessment.framework.control_sets[0].delegations[0].assessment_id #=> String
1226
+ # resp.assessment.framework.control_sets[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
1227
+ # resp.assessment.framework.control_sets[0].delegations[0].role_arn #=> String
1228
+ # resp.assessment.framework.control_sets[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
1229
+ # resp.assessment.framework.control_sets[0].delegations[0].creation_time #=> Time
1230
+ # resp.assessment.framework.control_sets[0].delegations[0].last_updated #=> Time
1231
+ # resp.assessment.framework.control_sets[0].delegations[0].control_set_id #=> String
1232
+ # resp.assessment.framework.control_sets[0].delegations[0].comment #=> String
1233
+ # resp.assessment.framework.control_sets[0].delegations[0].created_by #=> String
1234
+ # resp.assessment.framework.control_sets[0].system_evidence_count #=> Integer
1235
+ # resp.assessment.framework.control_sets[0].manual_evidence_count #=> Integer
1236
+ # resp.assessment.tags #=> Hash
1237
+ # resp.assessment.tags["TagKey"] #=> String
1238
+ #
1239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessment AWS API Documentation
1240
+ #
1241
+ # @overload get_assessment(params = {})
1242
+ # @param [Hash] params ({})
1243
+ def get_assessment(params = {}, options = {})
1244
+ req = build_request(:get_assessment, params)
1245
+ req.send_request(options)
1246
+ end
1247
+
1248
+ # Returns a framework from AWS Audit Manager.
1249
+ #
1250
+ # @option params [required, String] :framework_id
1251
+ # The identifier for the specified framework.
1252
+ #
1253
+ # @return [Types::GetAssessmentFrameworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1254
+ #
1255
+ # * {Types::GetAssessmentFrameworkResponse#framework #framework} => Types::Framework
1256
+ #
1257
+ # @example Request syntax with placeholder values
1258
+ #
1259
+ # resp = client.get_assessment_framework({
1260
+ # framework_id: "UUID", # required
1261
+ # })
1262
+ #
1263
+ # @example Response structure
1264
+ #
1265
+ # resp.framework.arn #=> String
1266
+ # resp.framework.id #=> String
1267
+ # resp.framework.name #=> String
1268
+ # resp.framework.type #=> String, one of "Standard", "Custom"
1269
+ # resp.framework.compliance_type #=> String
1270
+ # resp.framework.description #=> String
1271
+ # resp.framework.logo #=> String
1272
+ # resp.framework.control_sources #=> String
1273
+ # resp.framework.control_sets #=> Array
1274
+ # resp.framework.control_sets[0].id #=> String
1275
+ # resp.framework.control_sets[0].name #=> String
1276
+ # resp.framework.control_sets[0].controls #=> Array
1277
+ # resp.framework.control_sets[0].controls[0].arn #=> String
1278
+ # resp.framework.control_sets[0].controls[0].id #=> String
1279
+ # resp.framework.control_sets[0].controls[0].type #=> String, one of "Standard", "Custom"
1280
+ # resp.framework.control_sets[0].controls[0].name #=> String
1281
+ # resp.framework.control_sets[0].controls[0].description #=> String
1282
+ # resp.framework.control_sets[0].controls[0].testing_information #=> String
1283
+ # resp.framework.control_sets[0].controls[0].action_plan_title #=> String
1284
+ # resp.framework.control_sets[0].controls[0].action_plan_instructions #=> String
1285
+ # resp.framework.control_sets[0].controls[0].control_sources #=> String
1286
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources #=> Array
1287
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_id #=> String
1288
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_name #=> String
1289
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_description #=> String
1290
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
1291
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_type #=> String, one of "AWS_Cloudtrail", "AWS_Config", "AWS_Security_Hub", "AWS_API_Call", "MANUAL"
1292
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST"
1293
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_value #=> String
1294
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
1295
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].troubleshooting_text #=> String
1296
+ # resp.framework.control_sets[0].controls[0].created_at #=> Time
1297
+ # resp.framework.control_sets[0].controls[0].last_updated_at #=> Time
1298
+ # resp.framework.control_sets[0].controls[0].created_by #=> String
1299
+ # resp.framework.control_sets[0].controls[0].last_updated_by #=> String
1300
+ # resp.framework.control_sets[0].controls[0].tags #=> Hash
1301
+ # resp.framework.control_sets[0].controls[0].tags["TagKey"] #=> String
1302
+ # resp.framework.created_at #=> Time
1303
+ # resp.framework.last_updated_at #=> Time
1304
+ # resp.framework.created_by #=> String
1305
+ # resp.framework.last_updated_by #=> String
1306
+ #
1307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentFramework AWS API Documentation
1308
+ #
1309
+ # @overload get_assessment_framework(params = {})
1310
+ # @param [Hash] params ({})
1311
+ def get_assessment_framework(params = {}, options = {})
1312
+ req = build_request(:get_assessment_framework, params)
1313
+ req.send_request(options)
1314
+ end
1315
+
1316
+ # Returns the URL of a specified assessment report in AWS Audit Manager.
1317
+ #
1318
+ # @option params [required, String] :assessment_report_id
1319
+ # The identifier for the assessment report.
1320
+ #
1321
+ # @option params [required, String] :assessment_id
1322
+ # The identifier for the specified assessment.
1323
+ #
1324
+ # @return [Types::GetAssessmentReportUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1325
+ #
1326
+ # * {Types::GetAssessmentReportUrlResponse#pre_signed_url #pre_signed_url} => Types::URL
1327
+ #
1328
+ # @example Request syntax with placeholder values
1329
+ #
1330
+ # resp = client.get_assessment_report_url({
1331
+ # assessment_report_id: "UUID", # required
1332
+ # assessment_id: "UUID", # required
1333
+ # })
1334
+ #
1335
+ # @example Response structure
1336
+ #
1337
+ # resp.pre_signed_url.hyperlink_name #=> String
1338
+ # resp.pre_signed_url.link #=> String
1339
+ #
1340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentReportUrl AWS API Documentation
1341
+ #
1342
+ # @overload get_assessment_report_url(params = {})
1343
+ # @param [Hash] params ({})
1344
+ def get_assessment_report_url(params = {}, options = {})
1345
+ req = build_request(:get_assessment_report_url, params)
1346
+ req.send_request(options)
1347
+ end
1348
+
1349
+ # Returns a list of changelogs from AWS Audit Manager.
1350
+ #
1351
+ # @option params [required, String] :assessment_id
1352
+ # The identifier for the specified assessment.
1353
+ #
1354
+ # @option params [String] :control_set_id
1355
+ # The identifier for the specified control set.
1356
+ #
1357
+ # @option params [String] :control_id
1358
+ # The identifier for the specified control.
1359
+ #
1360
+ # @option params [String] :next_token
1361
+ # The pagination token used to fetch the next set of results.
1362
+ #
1363
+ # @option params [Integer] :max_results
1364
+ # Represents the maximum number of results per page, or per API request
1365
+ # call.
1366
+ #
1367
+ # @return [Types::GetChangeLogsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1368
+ #
1369
+ # * {Types::GetChangeLogsResponse#change_logs #change_logs} => Array&lt;Types::ChangeLog&gt;
1370
+ # * {Types::GetChangeLogsResponse#next_token #next_token} => String
1371
+ #
1372
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1373
+ #
1374
+ # @example Request syntax with placeholder values
1375
+ #
1376
+ # resp = client.get_change_logs({
1377
+ # assessment_id: "UUID", # required
1378
+ # control_set_id: "ControlSetId",
1379
+ # control_id: "UUID",
1380
+ # next_token: "Token",
1381
+ # max_results: 1,
1382
+ # })
1383
+ #
1384
+ # @example Response structure
1385
+ #
1386
+ # resp.change_logs #=> Array
1387
+ # resp.change_logs[0].object_type #=> String, one of "ASSESSMENT", "CONTROL_SET", "CONTROL", "DELEGATION", "ASSESSMENT_REPORT"
1388
+ # resp.change_logs[0].object_name #=> String
1389
+ # resp.change_logs[0].action #=> String, one of "CREATE", "UPDATE_METADATA", "ACTIVE", "INACTIVE", "DELETE", "UNDER_REVIEW", "REVIEWED", "IMPORT_EVIDENCE"
1390
+ # resp.change_logs[0].created_at #=> Time
1391
+ # resp.change_logs[0].created_by #=> String
1392
+ # resp.next_token #=> String
1393
+ #
1394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetChangeLogs AWS API Documentation
1395
+ #
1396
+ # @overload get_change_logs(params = {})
1397
+ # @param [Hash] params ({})
1398
+ def get_change_logs(params = {}, options = {})
1399
+ req = build_request(:get_change_logs, params)
1400
+ req.send_request(options)
1401
+ end
1402
+
1403
+ # Returns a control from AWS Audit Manager.
1404
+ #
1405
+ # @option params [required, String] :control_id
1406
+ # The identifier for the specified control.
1407
+ #
1408
+ # @return [Types::GetControlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1409
+ #
1410
+ # * {Types::GetControlResponse#control #control} => Types::Control
1411
+ #
1412
+ # @example Request syntax with placeholder values
1413
+ #
1414
+ # resp = client.get_control({
1415
+ # control_id: "UUID", # required
1416
+ # })
1417
+ #
1418
+ # @example Response structure
1419
+ #
1420
+ # resp.control.arn #=> String
1421
+ # resp.control.id #=> String
1422
+ # resp.control.type #=> String, one of "Standard", "Custom"
1423
+ # resp.control.name #=> String
1424
+ # resp.control.description #=> String
1425
+ # resp.control.testing_information #=> String
1426
+ # resp.control.action_plan_title #=> String
1427
+ # resp.control.action_plan_instructions #=> String
1428
+ # resp.control.control_sources #=> String
1429
+ # resp.control.control_mapping_sources #=> Array
1430
+ # resp.control.control_mapping_sources[0].source_id #=> String
1431
+ # resp.control.control_mapping_sources[0].source_name #=> String
1432
+ # resp.control.control_mapping_sources[0].source_description #=> String
1433
+ # resp.control.control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
1434
+ # resp.control.control_mapping_sources[0].source_type #=> String, one of "AWS_Cloudtrail", "AWS_Config", "AWS_Security_Hub", "AWS_API_Call", "MANUAL"
1435
+ # resp.control.control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST"
1436
+ # resp.control.control_mapping_sources[0].source_keyword.keyword_value #=> String
1437
+ # resp.control.control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
1438
+ # resp.control.control_mapping_sources[0].troubleshooting_text #=> String
1439
+ # resp.control.created_at #=> Time
1440
+ # resp.control.last_updated_at #=> Time
1441
+ # resp.control.created_by #=> String
1442
+ # resp.control.last_updated_by #=> String
1443
+ # resp.control.tags #=> Hash
1444
+ # resp.control.tags["TagKey"] #=> String
1445
+ #
1446
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetControl AWS API Documentation
1447
+ #
1448
+ # @overload get_control(params = {})
1449
+ # @param [Hash] params ({})
1450
+ def get_control(params = {}, options = {})
1451
+ req = build_request(:get_control, params)
1452
+ req.send_request(options)
1453
+ end
1454
+
1455
+ # Returns a list of delegations from an audit owner to a delegate.
1456
+ #
1457
+ # @option params [String] :next_token
1458
+ # The pagination token used to fetch the next set of results.
1459
+ #
1460
+ # @option params [Integer] :max_results
1461
+ # Represents the maximum number of results per page, or per API request
1462
+ # call.
1463
+ #
1464
+ # @return [Types::GetDelegationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1465
+ #
1466
+ # * {Types::GetDelegationsResponse#delegations #delegations} => Array&lt;Types::DelegationMetadata&gt;
1467
+ # * {Types::GetDelegationsResponse#next_token #next_token} => String
1468
+ #
1469
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1470
+ #
1471
+ # @example Request syntax with placeholder values
1472
+ #
1473
+ # resp = client.get_delegations({
1474
+ # next_token: "Token",
1475
+ # max_results: 1,
1476
+ # })
1477
+ #
1478
+ # @example Response structure
1479
+ #
1480
+ # resp.delegations #=> Array
1481
+ # resp.delegations[0].id #=> String
1482
+ # resp.delegations[0].assessment_name #=> String
1483
+ # resp.delegations[0].assessment_id #=> String
1484
+ # resp.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
1485
+ # resp.delegations[0].role_arn #=> String
1486
+ # resp.delegations[0].creation_time #=> Time
1487
+ # resp.delegations[0].control_set_name #=> String
1488
+ # resp.next_token #=> String
1489
+ #
1490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetDelegations AWS API Documentation
1491
+ #
1492
+ # @overload get_delegations(params = {})
1493
+ # @param [Hash] params ({})
1494
+ def get_delegations(params = {}, options = {})
1495
+ req = build_request(:get_delegations, params)
1496
+ req.send_request(options)
1497
+ end
1498
+
1499
+ # Returns evidence from AWS Audit Manager.
1500
+ #
1501
+ # @option params [required, String] :assessment_id
1502
+ # The identifier for the specified assessment.
1503
+ #
1504
+ # @option params [required, String] :control_set_id
1505
+ # The identifier for the specified control set.
1506
+ #
1507
+ # @option params [required, String] :evidence_folder_id
1508
+ # The identifier for the folder in which the evidence is stored.
1509
+ #
1510
+ # @option params [required, String] :evidence_id
1511
+ # The identifier for the evidence.
1512
+ #
1513
+ # @return [Types::GetEvidenceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1514
+ #
1515
+ # * {Types::GetEvidenceResponse#evidence #evidence} => Types::Evidence
1516
+ #
1517
+ # @example Request syntax with placeholder values
1518
+ #
1519
+ # resp = client.get_evidence({
1520
+ # assessment_id: "UUID", # required
1521
+ # control_set_id: "ControlSetId", # required
1522
+ # evidence_folder_id: "UUID", # required
1523
+ # evidence_id: "UUID", # required
1524
+ # })
1525
+ #
1526
+ # @example Response structure
1527
+ #
1528
+ # resp.evidence.data_source #=> String
1529
+ # resp.evidence.evidence_aws_account_id #=> String
1530
+ # resp.evidence.time #=> Time
1531
+ # resp.evidence.event_source #=> String
1532
+ # resp.evidence.event_name #=> String
1533
+ # resp.evidence.evidence_by_type #=> String
1534
+ # resp.evidence.resources_included #=> Array
1535
+ # resp.evidence.resources_included[0].arn #=> String
1536
+ # resp.evidence.resources_included[0].value #=> String
1537
+ # resp.evidence.attributes #=> Hash
1538
+ # resp.evidence.attributes["EvidenceAttributeKey"] #=> String
1539
+ # resp.evidence.iam_id #=> String
1540
+ # resp.evidence.compliance_check #=> String
1541
+ # resp.evidence.aws_organization #=> String
1542
+ # resp.evidence.aws_account_id #=> String
1543
+ # resp.evidence.evidence_folder_id #=> String
1544
+ # resp.evidence.id #=> String
1545
+ # resp.evidence.assessment_report_selection #=> String
1546
+ #
1547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidence AWS API Documentation
1548
+ #
1549
+ # @overload get_evidence(params = {})
1550
+ # @param [Hash] params ({})
1551
+ def get_evidence(params = {}, options = {})
1552
+ req = build_request(:get_evidence, params)
1553
+ req.send_request(options)
1554
+ end
1555
+
1556
+ # Returns all evidence from a specified evidence folder in AWS Audit
1557
+ # Manager.
1558
+ #
1559
+ # @option params [required, String] :assessment_id
1560
+ # The identifier for the specified assessment.
1561
+ #
1562
+ # @option params [required, String] :control_set_id
1563
+ # The identifier for the control set.
1564
+ #
1565
+ # @option params [required, String] :evidence_folder_id
1566
+ # The unique identifier for the folder in which the evidence is stored.
1567
+ #
1568
+ # @option params [String] :next_token
1569
+ # The pagination token used to fetch the next set of results.
1570
+ #
1571
+ # @option params [Integer] :max_results
1572
+ # Represents the maximum number of results per page, or per API request
1573
+ # call.
1574
+ #
1575
+ # @return [Types::GetEvidenceByEvidenceFolderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1576
+ #
1577
+ # * {Types::GetEvidenceByEvidenceFolderResponse#evidence #evidence} => Array&lt;Types::Evidence&gt;
1578
+ # * {Types::GetEvidenceByEvidenceFolderResponse#next_token #next_token} => String
1579
+ #
1580
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1581
+ #
1582
+ # @example Request syntax with placeholder values
1583
+ #
1584
+ # resp = client.get_evidence_by_evidence_folder({
1585
+ # assessment_id: "UUID", # required
1586
+ # control_set_id: "ControlSetId", # required
1587
+ # evidence_folder_id: "UUID", # required
1588
+ # next_token: "Token",
1589
+ # max_results: 1,
1590
+ # })
1591
+ #
1592
+ # @example Response structure
1593
+ #
1594
+ # resp.evidence #=> Array
1595
+ # resp.evidence[0].data_source #=> String
1596
+ # resp.evidence[0].evidence_aws_account_id #=> String
1597
+ # resp.evidence[0].time #=> Time
1598
+ # resp.evidence[0].event_source #=> String
1599
+ # resp.evidence[0].event_name #=> String
1600
+ # resp.evidence[0].evidence_by_type #=> String
1601
+ # resp.evidence[0].resources_included #=> Array
1602
+ # resp.evidence[0].resources_included[0].arn #=> String
1603
+ # resp.evidence[0].resources_included[0].value #=> String
1604
+ # resp.evidence[0].attributes #=> Hash
1605
+ # resp.evidence[0].attributes["EvidenceAttributeKey"] #=> String
1606
+ # resp.evidence[0].iam_id #=> String
1607
+ # resp.evidence[0].compliance_check #=> String
1608
+ # resp.evidence[0].aws_organization #=> String
1609
+ # resp.evidence[0].aws_account_id #=> String
1610
+ # resp.evidence[0].evidence_folder_id #=> String
1611
+ # resp.evidence[0].id #=> String
1612
+ # resp.evidence[0].assessment_report_selection #=> String
1613
+ # resp.next_token #=> String
1614
+ #
1615
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceByEvidenceFolder AWS API Documentation
1616
+ #
1617
+ # @overload get_evidence_by_evidence_folder(params = {})
1618
+ # @param [Hash] params ({})
1619
+ def get_evidence_by_evidence_folder(params = {}, options = {})
1620
+ req = build_request(:get_evidence_by_evidence_folder, params)
1621
+ req.send_request(options)
1622
+ end
1623
+
1624
+ # Returns an evidence folder from the specified assessment in AWS Audit
1625
+ # Manager.
1626
+ #
1627
+ # @option params [required, String] :assessment_id
1628
+ # The identifier for the specified assessment.
1629
+ #
1630
+ # @option params [required, String] :control_set_id
1631
+ # The identifier for the specified control set.
1632
+ #
1633
+ # @option params [required, String] :evidence_folder_id
1634
+ # The identifier for the folder in which the evidence is stored.
1635
+ #
1636
+ # @return [Types::GetEvidenceFolderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1637
+ #
1638
+ # * {Types::GetEvidenceFolderResponse#evidence_folder #evidence_folder} => Types::AssessmentEvidenceFolder
1639
+ #
1640
+ # @example Request syntax with placeholder values
1641
+ #
1642
+ # resp = client.get_evidence_folder({
1643
+ # assessment_id: "UUID", # required
1644
+ # control_set_id: "ControlSetId", # required
1645
+ # evidence_folder_id: "UUID", # required
1646
+ # })
1647
+ #
1648
+ # @example Response structure
1649
+ #
1650
+ # resp.evidence_folder.name #=> String
1651
+ # resp.evidence_folder.date #=> Time
1652
+ # resp.evidence_folder.assessment_id #=> String
1653
+ # resp.evidence_folder.control_set_id #=> String
1654
+ # resp.evidence_folder.control_id #=> String
1655
+ # resp.evidence_folder.id #=> String
1656
+ # resp.evidence_folder.data_source #=> String
1657
+ # resp.evidence_folder.author #=> String
1658
+ # resp.evidence_folder.total_evidence #=> Integer
1659
+ # resp.evidence_folder.assessment_report_selection_count #=> Integer
1660
+ # resp.evidence_folder.control_name #=> String
1661
+ # resp.evidence_folder.evidence_resources_included_count #=> Integer
1662
+ # resp.evidence_folder.evidence_by_type_configuration_data_count #=> Integer
1663
+ # resp.evidence_folder.evidence_by_type_manual_count #=> Integer
1664
+ # resp.evidence_folder.evidence_by_type_compliance_check_count #=> Integer
1665
+ # resp.evidence_folder.evidence_by_type_compliance_check_issues_count #=> Integer
1666
+ # resp.evidence_folder.evidence_by_type_user_activity_count #=> Integer
1667
+ # resp.evidence_folder.evidence_aws_service_source_count #=> Integer
1668
+ #
1669
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFolder AWS API Documentation
1670
+ #
1671
+ # @overload get_evidence_folder(params = {})
1672
+ # @param [Hash] params ({})
1673
+ def get_evidence_folder(params = {}, options = {})
1674
+ req = build_request(:get_evidence_folder, params)
1675
+ req.send_request(options)
1676
+ end
1677
+
1678
+ # Returns the evidence folders from a specified assessment in AWS Audit
1679
+ # Manager.
1680
+ #
1681
+ # @option params [required, String] :assessment_id
1682
+ # The identifier for the specified assessment.
1683
+ #
1684
+ # @option params [String] :next_token
1685
+ # The pagination token used to fetch the next set of results.
1686
+ #
1687
+ # @option params [Integer] :max_results
1688
+ # Represents the maximum number of results per page, or per API request
1689
+ # call.
1690
+ #
1691
+ # @return [Types::GetEvidenceFoldersByAssessmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1692
+ #
1693
+ # * {Types::GetEvidenceFoldersByAssessmentResponse#evidence_folders #evidence_folders} => Array&lt;Types::AssessmentEvidenceFolder&gt;
1694
+ # * {Types::GetEvidenceFoldersByAssessmentResponse#next_token #next_token} => String
1695
+ #
1696
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1697
+ #
1698
+ # @example Request syntax with placeholder values
1699
+ #
1700
+ # resp = client.get_evidence_folders_by_assessment({
1701
+ # assessment_id: "UUID", # required
1702
+ # next_token: "Token",
1703
+ # max_results: 1,
1704
+ # })
1705
+ #
1706
+ # @example Response structure
1707
+ #
1708
+ # resp.evidence_folders #=> Array
1709
+ # resp.evidence_folders[0].name #=> String
1710
+ # resp.evidence_folders[0].date #=> Time
1711
+ # resp.evidence_folders[0].assessment_id #=> String
1712
+ # resp.evidence_folders[0].control_set_id #=> String
1713
+ # resp.evidence_folders[0].control_id #=> String
1714
+ # resp.evidence_folders[0].id #=> String
1715
+ # resp.evidence_folders[0].data_source #=> String
1716
+ # resp.evidence_folders[0].author #=> String
1717
+ # resp.evidence_folders[0].total_evidence #=> Integer
1718
+ # resp.evidence_folders[0].assessment_report_selection_count #=> Integer
1719
+ # resp.evidence_folders[0].control_name #=> String
1720
+ # resp.evidence_folders[0].evidence_resources_included_count #=> Integer
1721
+ # resp.evidence_folders[0].evidence_by_type_configuration_data_count #=> Integer
1722
+ # resp.evidence_folders[0].evidence_by_type_manual_count #=> Integer
1723
+ # resp.evidence_folders[0].evidence_by_type_compliance_check_count #=> Integer
1724
+ # resp.evidence_folders[0].evidence_by_type_compliance_check_issues_count #=> Integer
1725
+ # resp.evidence_folders[0].evidence_by_type_user_activity_count #=> Integer
1726
+ # resp.evidence_folders[0].evidence_aws_service_source_count #=> Integer
1727
+ # resp.next_token #=> String
1728
+ #
1729
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessment AWS API Documentation
1730
+ #
1731
+ # @overload get_evidence_folders_by_assessment(params = {})
1732
+ # @param [Hash] params ({})
1733
+ def get_evidence_folders_by_assessment(params = {}, options = {})
1734
+ req = build_request(:get_evidence_folders_by_assessment, params)
1735
+ req.send_request(options)
1736
+ end
1737
+
1738
+ # Returns a list of evidence folders associated with a specified control
1739
+ # of an assessment in AWS Audit Manager.
1740
+ #
1741
+ # @option params [required, String] :assessment_id
1742
+ # The identifier for the specified assessment.
1743
+ #
1744
+ # @option params [required, String] :control_set_id
1745
+ # The identifier for the specified control set.
1746
+ #
1747
+ # @option params [required, String] :control_id
1748
+ # The identifier for the specified control.
1749
+ #
1750
+ # @option params [String] :next_token
1751
+ # The pagination token used to fetch the next set of results.
1752
+ #
1753
+ # @option params [Integer] :max_results
1754
+ # Represents the maximum number of results per page, or per API request
1755
+ # call.
1756
+ #
1757
+ # @return [Types::GetEvidenceFoldersByAssessmentControlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1758
+ #
1759
+ # * {Types::GetEvidenceFoldersByAssessmentControlResponse#evidence_folders #evidence_folders} => Array&lt;Types::AssessmentEvidenceFolder&gt;
1760
+ # * {Types::GetEvidenceFoldersByAssessmentControlResponse#next_token #next_token} => String
1761
+ #
1762
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1763
+ #
1764
+ # @example Request syntax with placeholder values
1765
+ #
1766
+ # resp = client.get_evidence_folders_by_assessment_control({
1767
+ # assessment_id: "UUID", # required
1768
+ # control_set_id: "ControlSetId", # required
1769
+ # control_id: "UUID", # required
1770
+ # next_token: "Token",
1771
+ # max_results: 1,
1772
+ # })
1773
+ #
1774
+ # @example Response structure
1775
+ #
1776
+ # resp.evidence_folders #=> Array
1777
+ # resp.evidence_folders[0].name #=> String
1778
+ # resp.evidence_folders[0].date #=> Time
1779
+ # resp.evidence_folders[0].assessment_id #=> String
1780
+ # resp.evidence_folders[0].control_set_id #=> String
1781
+ # resp.evidence_folders[0].control_id #=> String
1782
+ # resp.evidence_folders[0].id #=> String
1783
+ # resp.evidence_folders[0].data_source #=> String
1784
+ # resp.evidence_folders[0].author #=> String
1785
+ # resp.evidence_folders[0].total_evidence #=> Integer
1786
+ # resp.evidence_folders[0].assessment_report_selection_count #=> Integer
1787
+ # resp.evidence_folders[0].control_name #=> String
1788
+ # resp.evidence_folders[0].evidence_resources_included_count #=> Integer
1789
+ # resp.evidence_folders[0].evidence_by_type_configuration_data_count #=> Integer
1790
+ # resp.evidence_folders[0].evidence_by_type_manual_count #=> Integer
1791
+ # resp.evidence_folders[0].evidence_by_type_compliance_check_count #=> Integer
1792
+ # resp.evidence_folders[0].evidence_by_type_compliance_check_issues_count #=> Integer
1793
+ # resp.evidence_folders[0].evidence_by_type_user_activity_count #=> Integer
1794
+ # resp.evidence_folders[0].evidence_aws_service_source_count #=> Integer
1795
+ # resp.next_token #=> String
1796
+ #
1797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessmentControl AWS API Documentation
1798
+ #
1799
+ # @overload get_evidence_folders_by_assessment_control(params = {})
1800
+ # @param [Hash] params ({})
1801
+ def get_evidence_folders_by_assessment_control(params = {}, options = {})
1802
+ req = build_request(:get_evidence_folders_by_assessment_control, params)
1803
+ req.send_request(options)
1804
+ end
1805
+
1806
+ # Returns the name of the delegated AWS administrator account for the
1807
+ # AWS organization.
1808
+ #
1809
+ # @return [Types::GetOrganizationAdminAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1810
+ #
1811
+ # * {Types::GetOrganizationAdminAccountResponse#admin_account_id #admin_account_id} => String
1812
+ # * {Types::GetOrganizationAdminAccountResponse#organization_id #organization_id} => String
1813
+ #
1814
+ # @example Response structure
1815
+ #
1816
+ # resp.admin_account_id #=> String
1817
+ # resp.organization_id #=> String
1818
+ #
1819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetOrganizationAdminAccount AWS API Documentation
1820
+ #
1821
+ # @overload get_organization_admin_account(params = {})
1822
+ # @param [Hash] params ({})
1823
+ def get_organization_admin_account(params = {}, options = {})
1824
+ req = build_request(:get_organization_admin_account, params)
1825
+ req.send_request(options)
1826
+ end
1827
+
1828
+ # Returns a list of the in-scope AWS services for the specified
1829
+ # assessment.
1830
+ #
1831
+ # @return [Types::GetServicesInScopeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1832
+ #
1833
+ # * {Types::GetServicesInScopeResponse#service_metadata #service_metadata} => Array&lt;Types::ServiceMetadata&gt;
1834
+ #
1835
+ # @example Response structure
1836
+ #
1837
+ # resp.service_metadata #=> Array
1838
+ # resp.service_metadata[0].name #=> String
1839
+ # resp.service_metadata[0].display_name #=> String
1840
+ # resp.service_metadata[0].description #=> String
1841
+ # resp.service_metadata[0].category #=> String
1842
+ #
1843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetServicesInScope AWS API Documentation
1844
+ #
1845
+ # @overload get_services_in_scope(params = {})
1846
+ # @param [Hash] params ({})
1847
+ def get_services_in_scope(params = {}, options = {})
1848
+ req = build_request(:get_services_in_scope, params)
1849
+ req.send_request(options)
1850
+ end
1851
+
1852
+ # Returns the settings for the specified AWS account.
1853
+ #
1854
+ # @option params [required, String] :attribute
1855
+ # The list of `SettingAttribute` enum values.
1856
+ #
1857
+ # @return [Types::GetSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1858
+ #
1859
+ # * {Types::GetSettingsResponse#settings #settings} => Types::Settings
1860
+ #
1861
+ # @example Request syntax with placeholder values
1862
+ #
1863
+ # resp = client.get_settings({
1864
+ # attribute: "ALL", # required, accepts ALL, IS_AWS_ORG_ENABLED, SNS_TOPIC, DEFAULT_ASSESSMENT_REPORTS_DESTINATION, DEFAULT_PROCESS_OWNERS
1865
+ # })
1866
+ #
1867
+ # @example Response structure
1868
+ #
1869
+ # resp.settings.is_aws_org_enabled #=> Boolean
1870
+ # resp.settings.sns_topic #=> String
1871
+ # resp.settings.default_assessment_reports_destination.destination_type #=> String, one of "S3"
1872
+ # resp.settings.default_assessment_reports_destination.destination #=> String
1873
+ # resp.settings.default_process_owners #=> Array
1874
+ # resp.settings.default_process_owners[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
1875
+ # resp.settings.default_process_owners[0].role_arn #=> String
1876
+ # resp.settings.kms_key #=> String
1877
+ #
1878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetSettings AWS API Documentation
1879
+ #
1880
+ # @overload get_settings(params = {})
1881
+ # @param [Hash] params ({})
1882
+ def get_settings(params = {}, options = {})
1883
+ req = build_request(:get_settings, params)
1884
+ req.send_request(options)
1885
+ end
1886
+
1887
+ # Returns a list of the frameworks available in the AWS Audit Manager
1888
+ # framework library.
1889
+ #
1890
+ # @option params [required, String] :framework_type
1891
+ # The type of framework, such as standard or custom.
1892
+ #
1893
+ # @option params [String] :next_token
1894
+ # The pagination token used to fetch the next set of results.
1895
+ #
1896
+ # @option params [Integer] :max_results
1897
+ # Represents the maximum number of results per page, or per API request
1898
+ # call.
1899
+ #
1900
+ # @return [Types::ListAssessmentFrameworksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1901
+ #
1902
+ # * {Types::ListAssessmentFrameworksResponse#framework_metadata_list #framework_metadata_list} => Array&lt;Types::AssessmentFrameworkMetadata&gt;
1903
+ # * {Types::ListAssessmentFrameworksResponse#next_token #next_token} => String
1904
+ #
1905
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1906
+ #
1907
+ # @example Request syntax with placeholder values
1908
+ #
1909
+ # resp = client.list_assessment_frameworks({
1910
+ # framework_type: "Standard", # required, accepts Standard, Custom
1911
+ # next_token: "Token",
1912
+ # max_results: 1,
1913
+ # })
1914
+ #
1915
+ # @example Response structure
1916
+ #
1917
+ # resp.framework_metadata_list #=> Array
1918
+ # resp.framework_metadata_list[0].id #=> String
1919
+ # resp.framework_metadata_list[0].type #=> String, one of "Standard", "Custom"
1920
+ # resp.framework_metadata_list[0].name #=> String
1921
+ # resp.framework_metadata_list[0].description #=> String
1922
+ # resp.framework_metadata_list[0].logo #=> String
1923
+ # resp.framework_metadata_list[0].compliance_type #=> String
1924
+ # resp.framework_metadata_list[0].controls_count #=> Integer
1925
+ # resp.framework_metadata_list[0].control_sets_count #=> Integer
1926
+ # resp.framework_metadata_list[0].created_at #=> Time
1927
+ # resp.framework_metadata_list[0].last_updated_at #=> Time
1928
+ # resp.next_token #=> String
1929
+ #
1930
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentFrameworks AWS API Documentation
1931
+ #
1932
+ # @overload list_assessment_frameworks(params = {})
1933
+ # @param [Hash] params ({})
1934
+ def list_assessment_frameworks(params = {}, options = {})
1935
+ req = build_request(:list_assessment_frameworks, params)
1936
+ req.send_request(options)
1937
+ end
1938
+
1939
+ # Returns a list of assessment reports created in AWS Audit Manager.
1940
+ #
1941
+ # @option params [String] :next_token
1942
+ # The pagination token used to fetch the next set of results.
1943
+ #
1944
+ # @option params [Integer] :max_results
1945
+ # Represents the maximum number of results per page, or per API request
1946
+ # call.
1947
+ #
1948
+ # @return [Types::ListAssessmentReportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1949
+ #
1950
+ # * {Types::ListAssessmentReportsResponse#assessment_reports #assessment_reports} => Array&lt;Types::AssessmentReportMetadata&gt;
1951
+ # * {Types::ListAssessmentReportsResponse#next_token #next_token} => String
1952
+ #
1953
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1954
+ #
1955
+ # @example Request syntax with placeholder values
1956
+ #
1957
+ # resp = client.list_assessment_reports({
1958
+ # next_token: "Token",
1959
+ # max_results: 1,
1960
+ # })
1961
+ #
1962
+ # @example Response structure
1963
+ #
1964
+ # resp.assessment_reports #=> Array
1965
+ # resp.assessment_reports[0].id #=> String
1966
+ # resp.assessment_reports[0].name #=> String
1967
+ # resp.assessment_reports[0].description #=> String
1968
+ # resp.assessment_reports[0].assessment_id #=> String
1969
+ # resp.assessment_reports[0].assessment_name #=> String
1970
+ # resp.assessment_reports[0].author #=> String
1971
+ # resp.assessment_reports[0].status #=> String, one of "COMPLETE", "IN_PROGRESS", "FAILED"
1972
+ # resp.assessment_reports[0].creation_time #=> Time
1973
+ # resp.next_token #=> String
1974
+ #
1975
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentReports AWS API Documentation
1976
+ #
1977
+ # @overload list_assessment_reports(params = {})
1978
+ # @param [Hash] params ({})
1979
+ def list_assessment_reports(params = {}, options = {})
1980
+ req = build_request(:list_assessment_reports, params)
1981
+ req.send_request(options)
1982
+ end
1983
+
1984
+ # Returns a list of current and past assessments from AWS Audit Manager.
1985
+ #
1986
+ # @option params [String] :next_token
1987
+ # The pagination token used to fetch the next set of results.
1988
+ #
1989
+ # @option params [Integer] :max_results
1990
+ # Represents the maximum number of results per page, or per API request
1991
+ # call.
1992
+ #
1993
+ # @return [Types::ListAssessmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1994
+ #
1995
+ # * {Types::ListAssessmentsResponse#assessment_metadata #assessment_metadata} => Array&lt;Types::AssessmentMetadataItem&gt;
1996
+ # * {Types::ListAssessmentsResponse#next_token #next_token} => String
1997
+ #
1998
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1999
+ #
2000
+ # @example Request syntax with placeholder values
2001
+ #
2002
+ # resp = client.list_assessments({
2003
+ # next_token: "Token",
2004
+ # max_results: 1,
2005
+ # })
2006
+ #
2007
+ # @example Response structure
2008
+ #
2009
+ # resp.assessment_metadata #=> Array
2010
+ # resp.assessment_metadata[0].name #=> String
2011
+ # resp.assessment_metadata[0].id #=> String
2012
+ # resp.assessment_metadata[0].compliance_type #=> String
2013
+ # resp.assessment_metadata[0].status #=> String, one of "ACTIVE", "INACTIVE"
2014
+ # resp.assessment_metadata[0].roles #=> Array
2015
+ # resp.assessment_metadata[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2016
+ # resp.assessment_metadata[0].roles[0].role_arn #=> String
2017
+ # resp.assessment_metadata[0].delegations #=> Array
2018
+ # resp.assessment_metadata[0].delegations[0].id #=> String
2019
+ # resp.assessment_metadata[0].delegations[0].assessment_name #=> String
2020
+ # resp.assessment_metadata[0].delegations[0].assessment_id #=> String
2021
+ # resp.assessment_metadata[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
2022
+ # resp.assessment_metadata[0].delegations[0].role_arn #=> String
2023
+ # resp.assessment_metadata[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2024
+ # resp.assessment_metadata[0].delegations[0].creation_time #=> Time
2025
+ # resp.assessment_metadata[0].delegations[0].last_updated #=> Time
2026
+ # resp.assessment_metadata[0].delegations[0].control_set_id #=> String
2027
+ # resp.assessment_metadata[0].delegations[0].comment #=> String
2028
+ # resp.assessment_metadata[0].delegations[0].created_by #=> String
2029
+ # resp.assessment_metadata[0].creation_time #=> Time
2030
+ # resp.assessment_metadata[0].last_updated #=> Time
2031
+ # resp.next_token #=> String
2032
+ #
2033
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessments AWS API Documentation
2034
+ #
2035
+ # @overload list_assessments(params = {})
2036
+ # @param [Hash] params ({})
2037
+ def list_assessments(params = {}, options = {})
2038
+ req = build_request(:list_assessments, params)
2039
+ req.send_request(options)
2040
+ end
2041
+
2042
+ # Returns a list of controls from AWS Audit Manager.
2043
+ #
2044
+ # @option params [required, String] :control_type
2045
+ # The type of control, such as standard or custom.
2046
+ #
2047
+ # @option params [String] :next_token
2048
+ # The pagination token used to fetch the next set of results.
2049
+ #
2050
+ # @option params [Integer] :max_results
2051
+ # Represents the maximum number of results per page, or per API request
2052
+ # call.
2053
+ #
2054
+ # @return [Types::ListControlsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2055
+ #
2056
+ # * {Types::ListControlsResponse#control_metadata_list #control_metadata_list} => Array&lt;Types::ControlMetadata&gt;
2057
+ # * {Types::ListControlsResponse#next_token #next_token} => String
2058
+ #
2059
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2060
+ #
2061
+ # @example Request syntax with placeholder values
2062
+ #
2063
+ # resp = client.list_controls({
2064
+ # control_type: "Standard", # required, accepts Standard, Custom
2065
+ # next_token: "Token",
2066
+ # max_results: 1,
2067
+ # })
2068
+ #
2069
+ # @example Response structure
2070
+ #
2071
+ # resp.control_metadata_list #=> Array
2072
+ # resp.control_metadata_list[0].arn #=> String
2073
+ # resp.control_metadata_list[0].id #=> String
2074
+ # resp.control_metadata_list[0].name #=> String
2075
+ # resp.control_metadata_list[0].control_sources #=> String
2076
+ # resp.control_metadata_list[0].created_at #=> Time
2077
+ # resp.control_metadata_list[0].last_updated_at #=> Time
2078
+ # resp.next_token #=> String
2079
+ #
2080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListControls AWS API Documentation
2081
+ #
2082
+ # @overload list_controls(params = {})
2083
+ # @param [Hash] params ({})
2084
+ def list_controls(params = {}, options = {})
2085
+ req = build_request(:list_controls, params)
2086
+ req.send_request(options)
2087
+ end
2088
+
2089
+ # Returns a list of keywords that pre-mapped to the specified control
2090
+ # data source.
2091
+ #
2092
+ # @option params [required, String] :source
2093
+ # The control mapping data source to which the keywords apply.
2094
+ #
2095
+ # @option params [String] :next_token
2096
+ # The pagination token used to fetch the next set of results.
2097
+ #
2098
+ # @option params [Integer] :max_results
2099
+ # Represents the maximum number of results per page, or per API request
2100
+ # call.
2101
+ #
2102
+ # @return [Types::ListKeywordsForDataSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2103
+ #
2104
+ # * {Types::ListKeywordsForDataSourceResponse#keywords #keywords} => Array&lt;String&gt;
2105
+ # * {Types::ListKeywordsForDataSourceResponse#next_token #next_token} => String
2106
+ #
2107
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2108
+ #
2109
+ # @example Request syntax with placeholder values
2110
+ #
2111
+ # resp = client.list_keywords_for_data_source({
2112
+ # source: "AWS_Cloudtrail", # required, accepts AWS_Cloudtrail, AWS_Config, AWS_Security_Hub, AWS_API_Call, MANUAL
2113
+ # next_token: "Token",
2114
+ # max_results: 1,
2115
+ # })
2116
+ #
2117
+ # @example Response structure
2118
+ #
2119
+ # resp.keywords #=> Array
2120
+ # resp.keywords[0] #=> String
2121
+ # resp.next_token #=> String
2122
+ #
2123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListKeywordsForDataSource AWS API Documentation
2124
+ #
2125
+ # @overload list_keywords_for_data_source(params = {})
2126
+ # @param [Hash] params ({})
2127
+ def list_keywords_for_data_source(params = {}, options = {})
2128
+ req = build_request(:list_keywords_for_data_source, params)
2129
+ req.send_request(options)
2130
+ end
2131
+
2132
+ # Returns a list of all AWS Audit Manager notifications.
2133
+ #
2134
+ # @option params [String] :next_token
2135
+ # The pagination token used to fetch the next set of results.
2136
+ #
2137
+ # @option params [Integer] :max_results
2138
+ # Represents the maximum number of results per page, or per API request
2139
+ # call.
2140
+ #
2141
+ # @return [Types::ListNotificationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2142
+ #
2143
+ # * {Types::ListNotificationsResponse#notifications #notifications} => Array&lt;Types::Notification&gt;
2144
+ # * {Types::ListNotificationsResponse#next_token #next_token} => String
2145
+ #
2146
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2147
+ #
2148
+ # @example Request syntax with placeholder values
2149
+ #
2150
+ # resp = client.list_notifications({
2151
+ # next_token: "Token",
2152
+ # max_results: 1,
2153
+ # })
2154
+ #
2155
+ # @example Response structure
2156
+ #
2157
+ # resp.notifications #=> Array
2158
+ # resp.notifications[0].id #=> String
2159
+ # resp.notifications[0].assessment_id #=> String
2160
+ # resp.notifications[0].assessment_name #=> String
2161
+ # resp.notifications[0].control_set_id #=> String
2162
+ # resp.notifications[0].control_set_name #=> String
2163
+ # resp.notifications[0].description #=> String
2164
+ # resp.notifications[0].event_time #=> Time
2165
+ # resp.notifications[0].source #=> String
2166
+ # resp.next_token #=> String
2167
+ #
2168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListNotifications AWS API Documentation
2169
+ #
2170
+ # @overload list_notifications(params = {})
2171
+ # @param [Hash] params ({})
2172
+ def list_notifications(params = {}, options = {})
2173
+ req = build_request(:list_notifications, params)
2174
+ req.send_request(options)
2175
+ end
2176
+
2177
+ # Returns a list of tags for the specified resource in AWS Audit
2178
+ # Manager.
2179
+ #
2180
+ # @option params [required, String] :resource_arn
2181
+ # The Amazon Resource Name (ARN) of the specified resource.
2182
+ #
2183
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2184
+ #
2185
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2186
+ #
2187
+ # @example Request syntax with placeholder values
2188
+ #
2189
+ # resp = client.list_tags_for_resource({
2190
+ # resource_arn: "AuditManagerArn", # required
2191
+ # })
2192
+ #
2193
+ # @example Response structure
2194
+ #
2195
+ # resp.tags #=> Hash
2196
+ # resp.tags["TagKey"] #=> String
2197
+ #
2198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListTagsForResource AWS API Documentation
2199
+ #
2200
+ # @overload list_tags_for_resource(params = {})
2201
+ # @param [Hash] params ({})
2202
+ def list_tags_for_resource(params = {}, options = {})
2203
+ req = build_request(:list_tags_for_resource, params)
2204
+ req.send_request(options)
2205
+ end
2206
+
2207
+ # Enables AWS Audit Manager for the specified AWS account.
2208
+ #
2209
+ # @option params [String] :kms_key
2210
+ # The AWS KMS key details.
2211
+ #
2212
+ # @option params [String] :delegated_admin_account
2213
+ # The delegated administrator account for AWS Audit Manager.
2214
+ #
2215
+ # @return [Types::RegisterAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2216
+ #
2217
+ # * {Types::RegisterAccountResponse#status #status} => String
2218
+ #
2219
+ # @example Request syntax with placeholder values
2220
+ #
2221
+ # resp = client.register_account({
2222
+ # kms_key: "KmsKey",
2223
+ # delegated_admin_account: "AccountId",
2224
+ # })
2225
+ #
2226
+ # @example Response structure
2227
+ #
2228
+ # resp.status #=> String, one of "ACTIVE", "INACTIVE", "PENDING_ACTIVATION"
2229
+ #
2230
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterAccount AWS API Documentation
2231
+ #
2232
+ # @overload register_account(params = {})
2233
+ # @param [Hash] params ({})
2234
+ def register_account(params = {}, options = {})
2235
+ req = build_request(:register_account, params)
2236
+ req.send_request(options)
2237
+ end
2238
+
2239
+ # Enables an AWS account within the organization as the delegated
2240
+ # administrator for AWS Audit Manager.
2241
+ #
2242
+ # @option params [required, String] :admin_account_id
2243
+ # The identifier for the specified delegated administrator account.
2244
+ #
2245
+ # @return [Types::RegisterOrganizationAdminAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2246
+ #
2247
+ # * {Types::RegisterOrganizationAdminAccountResponse#admin_account_id #admin_account_id} => String
2248
+ # * {Types::RegisterOrganizationAdminAccountResponse#organization_id #organization_id} => String
2249
+ #
2250
+ # @example Request syntax with placeholder values
2251
+ #
2252
+ # resp = client.register_organization_admin_account({
2253
+ # admin_account_id: "AccountId", # required
2254
+ # })
2255
+ #
2256
+ # @example Response structure
2257
+ #
2258
+ # resp.admin_account_id #=> String
2259
+ # resp.organization_id #=> String
2260
+ #
2261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterOrganizationAdminAccount AWS API Documentation
2262
+ #
2263
+ # @overload register_organization_admin_account(params = {})
2264
+ # @param [Hash] params ({})
2265
+ def register_organization_admin_account(params = {}, options = {})
2266
+ req = build_request(:register_organization_admin_account, params)
2267
+ req.send_request(options)
2268
+ end
2269
+
2270
+ # Tags the specified resource in AWS Audit Manager.
2271
+ #
2272
+ # @option params [required, String] :resource_arn
2273
+ # The Amazon Resource Name (ARN) of the specified resource.
2274
+ #
2275
+ # @option params [required, Hash<String,String>] :tags
2276
+ # The tags to be associated with the resource.
2277
+ #
2278
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2279
+ #
2280
+ # @example Request syntax with placeholder values
2281
+ #
2282
+ # resp = client.tag_resource({
2283
+ # resource_arn: "AuditManagerArn", # required
2284
+ # tags: { # required
2285
+ # "TagKey" => "TagValue",
2286
+ # },
2287
+ # })
2288
+ #
2289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/TagResource AWS API Documentation
2290
+ #
2291
+ # @overload tag_resource(params = {})
2292
+ # @param [Hash] params ({})
2293
+ def tag_resource(params = {}, options = {})
2294
+ req = build_request(:tag_resource, params)
2295
+ req.send_request(options)
2296
+ end
2297
+
2298
+ # Removes a tag from a resource in AWS Audit Manager.
2299
+ #
2300
+ # @option params [required, String] :resource_arn
2301
+ # The Amazon Resource Name (ARN) of the specified resource.
2302
+ #
2303
+ # @option params [required, Array<String>] :tag_keys
2304
+ # The name or key of the tag.
2305
+ #
2306
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2307
+ #
2308
+ # @example Request syntax with placeholder values
2309
+ #
2310
+ # resp = client.untag_resource({
2311
+ # resource_arn: "AuditManagerArn", # required
2312
+ # tag_keys: ["TagKey"], # required
2313
+ # })
2314
+ #
2315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UntagResource AWS API Documentation
2316
+ #
2317
+ # @overload untag_resource(params = {})
2318
+ # @param [Hash] params ({})
2319
+ def untag_resource(params = {}, options = {})
2320
+ req = build_request(:untag_resource, params)
2321
+ req.send_request(options)
2322
+ end
2323
+
2324
+ # Edits an AWS Audit Manager assessment.
2325
+ #
2326
+ # @option params [required, String] :assessment_id
2327
+ # The identifier for the specified assessment.
2328
+ #
2329
+ # @option params [String] :assessment_name
2330
+ # The name of the specified assessment to be updated.
2331
+ #
2332
+ # @option params [String] :assessment_description
2333
+ # The description of the specified assessment.
2334
+ #
2335
+ # @option params [required, Types::Scope] :scope
2336
+ # The scope of the specified assessment.
2337
+ #
2338
+ # @option params [Types::AssessmentReportsDestination] :assessment_reports_destination
2339
+ # The assessment report storage destination for the specified assessment
2340
+ # that is being updated.
2341
+ #
2342
+ # @option params [Array<Types::Role>] :roles
2343
+ # The list of roles for the specified assessment.
2344
+ #
2345
+ # @return [Types::UpdateAssessmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2346
+ #
2347
+ # * {Types::UpdateAssessmentResponse#assessment #assessment} => Types::Assessment
2348
+ #
2349
+ # @example Request syntax with placeholder values
2350
+ #
2351
+ # resp = client.update_assessment({
2352
+ # assessment_id: "UUID", # required
2353
+ # assessment_name: "AssessmentName",
2354
+ # assessment_description: "AssessmentDescription",
2355
+ # scope: { # required
2356
+ # aws_accounts: [
2357
+ # {
2358
+ # id: "AccountId",
2359
+ # email_address: "EmailAddress",
2360
+ # name: "AccountName",
2361
+ # },
2362
+ # ],
2363
+ # aws_services: [
2364
+ # {
2365
+ # service_name: "AWSServiceName",
2366
+ # },
2367
+ # ],
2368
+ # },
2369
+ # assessment_reports_destination: {
2370
+ # destination_type: "S3", # accepts S3
2371
+ # destination: "S3Url",
2372
+ # },
2373
+ # roles: [
2374
+ # {
2375
+ # role_type: "PROCESS_OWNER", # accepts PROCESS_OWNER, RESOURCE_OWNER
2376
+ # role_arn: "IamArn",
2377
+ # },
2378
+ # ],
2379
+ # })
2380
+ #
2381
+ # @example Response structure
2382
+ #
2383
+ # resp.assessment.arn #=> String
2384
+ # resp.assessment.aws_account.id #=> String
2385
+ # resp.assessment.aws_account.email_address #=> String
2386
+ # resp.assessment.aws_account.name #=> String
2387
+ # resp.assessment.metadata.name #=> String
2388
+ # resp.assessment.metadata.id #=> String
2389
+ # resp.assessment.metadata.description #=> String
2390
+ # resp.assessment.metadata.compliance_type #=> String
2391
+ # resp.assessment.metadata.status #=> String, one of "ACTIVE", "INACTIVE"
2392
+ # resp.assessment.metadata.assessment_reports_destination.destination_type #=> String, one of "S3"
2393
+ # resp.assessment.metadata.assessment_reports_destination.destination #=> String
2394
+ # resp.assessment.metadata.scope.aws_accounts #=> Array
2395
+ # resp.assessment.metadata.scope.aws_accounts[0].id #=> String
2396
+ # resp.assessment.metadata.scope.aws_accounts[0].email_address #=> String
2397
+ # resp.assessment.metadata.scope.aws_accounts[0].name #=> String
2398
+ # resp.assessment.metadata.scope.aws_services #=> Array
2399
+ # resp.assessment.metadata.scope.aws_services[0].service_name #=> String
2400
+ # resp.assessment.metadata.roles #=> Array
2401
+ # resp.assessment.metadata.roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2402
+ # resp.assessment.metadata.roles[0].role_arn #=> String
2403
+ # resp.assessment.metadata.delegations #=> Array
2404
+ # resp.assessment.metadata.delegations[0].id #=> String
2405
+ # resp.assessment.metadata.delegations[0].assessment_name #=> String
2406
+ # resp.assessment.metadata.delegations[0].assessment_id #=> String
2407
+ # resp.assessment.metadata.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
2408
+ # resp.assessment.metadata.delegations[0].role_arn #=> String
2409
+ # resp.assessment.metadata.delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2410
+ # resp.assessment.metadata.delegations[0].creation_time #=> Time
2411
+ # resp.assessment.metadata.delegations[0].last_updated #=> Time
2412
+ # resp.assessment.metadata.delegations[0].control_set_id #=> String
2413
+ # resp.assessment.metadata.delegations[0].comment #=> String
2414
+ # resp.assessment.metadata.delegations[0].created_by #=> String
2415
+ # resp.assessment.metadata.creation_time #=> Time
2416
+ # resp.assessment.metadata.last_updated #=> Time
2417
+ # resp.assessment.framework.id #=> String
2418
+ # resp.assessment.framework.arn #=> String
2419
+ # resp.assessment.framework.metadata.name #=> String
2420
+ # resp.assessment.framework.metadata.description #=> String
2421
+ # resp.assessment.framework.metadata.logo #=> String
2422
+ # resp.assessment.framework.metadata.compliance_type #=> String
2423
+ # resp.assessment.framework.control_sets #=> Array
2424
+ # resp.assessment.framework.control_sets[0].id #=> String
2425
+ # resp.assessment.framework.control_sets[0].description #=> String
2426
+ # resp.assessment.framework.control_sets[0].status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
2427
+ # resp.assessment.framework.control_sets[0].roles #=> Array
2428
+ # resp.assessment.framework.control_sets[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2429
+ # resp.assessment.framework.control_sets[0].roles[0].role_arn #=> String
2430
+ # resp.assessment.framework.control_sets[0].controls #=> Array
2431
+ # resp.assessment.framework.control_sets[0].controls[0].id #=> String
2432
+ # resp.assessment.framework.control_sets[0].controls[0].name #=> String
2433
+ # resp.assessment.framework.control_sets[0].controls[0].description #=> String
2434
+ # resp.assessment.framework.control_sets[0].controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
2435
+ # resp.assessment.framework.control_sets[0].controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
2436
+ # resp.assessment.framework.control_sets[0].controls[0].comments #=> Array
2437
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].author_name #=> String
2438
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].comment_body #=> String
2439
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].posted_date #=> Time
2440
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_sources #=> Array
2441
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_sources[0] #=> String
2442
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_count #=> Integer
2443
+ # resp.assessment.framework.control_sets[0].controls[0].assessment_report_evidence_count #=> Integer
2444
+ # resp.assessment.framework.control_sets[0].delegations #=> Array
2445
+ # resp.assessment.framework.control_sets[0].delegations[0].id #=> String
2446
+ # resp.assessment.framework.control_sets[0].delegations[0].assessment_name #=> String
2447
+ # resp.assessment.framework.control_sets[0].delegations[0].assessment_id #=> String
2448
+ # resp.assessment.framework.control_sets[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
2449
+ # resp.assessment.framework.control_sets[0].delegations[0].role_arn #=> String
2450
+ # resp.assessment.framework.control_sets[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2451
+ # resp.assessment.framework.control_sets[0].delegations[0].creation_time #=> Time
2452
+ # resp.assessment.framework.control_sets[0].delegations[0].last_updated #=> Time
2453
+ # resp.assessment.framework.control_sets[0].delegations[0].control_set_id #=> String
2454
+ # resp.assessment.framework.control_sets[0].delegations[0].comment #=> String
2455
+ # resp.assessment.framework.control_sets[0].delegations[0].created_by #=> String
2456
+ # resp.assessment.framework.control_sets[0].system_evidence_count #=> Integer
2457
+ # resp.assessment.framework.control_sets[0].manual_evidence_count #=> Integer
2458
+ # resp.assessment.tags #=> Hash
2459
+ # resp.assessment.tags["TagKey"] #=> String
2460
+ #
2461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessment AWS API Documentation
2462
+ #
2463
+ # @overload update_assessment(params = {})
2464
+ # @param [Hash] params ({})
2465
+ def update_assessment(params = {}, options = {})
2466
+ req = build_request(:update_assessment, params)
2467
+ req.send_request(options)
2468
+ end
2469
+
2470
+ # Updates a control within an assessment in AWS Audit Manager.
2471
+ #
2472
+ # @option params [required, String] :assessment_id
2473
+ # The identifier for the specified assessment.
2474
+ #
2475
+ # @option params [required, String] :control_set_id
2476
+ # The identifier for the specified control set.
2477
+ #
2478
+ # @option params [required, String] :control_id
2479
+ # The identifier for the specified control.
2480
+ #
2481
+ # @option params [String] :control_status
2482
+ # The status of the specified control.
2483
+ #
2484
+ # @option params [String] :comment_body
2485
+ # The comment body text for the specified control.
2486
+ #
2487
+ # @return [Types::UpdateAssessmentControlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2488
+ #
2489
+ # * {Types::UpdateAssessmentControlResponse#control #control} => Types::AssessmentControl
2490
+ #
2491
+ # @example Request syntax with placeholder values
2492
+ #
2493
+ # resp = client.update_assessment_control({
2494
+ # assessment_id: "UUID", # required
2495
+ # control_set_id: "ControlSetId", # required
2496
+ # control_id: "UUID", # required
2497
+ # control_status: "UNDER_REVIEW", # accepts UNDER_REVIEW, REVIEWED, INACTIVE
2498
+ # comment_body: "ControlCommentBody",
2499
+ # })
2500
+ #
2501
+ # @example Response structure
2502
+ #
2503
+ # resp.control.id #=> String
2504
+ # resp.control.name #=> String
2505
+ # resp.control.description #=> String
2506
+ # resp.control.status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
2507
+ # resp.control.response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
2508
+ # resp.control.comments #=> Array
2509
+ # resp.control.comments[0].author_name #=> String
2510
+ # resp.control.comments[0].comment_body #=> String
2511
+ # resp.control.comments[0].posted_date #=> Time
2512
+ # resp.control.evidence_sources #=> Array
2513
+ # resp.control.evidence_sources[0] #=> String
2514
+ # resp.control.evidence_count #=> Integer
2515
+ # resp.control.assessment_report_evidence_count #=> Integer
2516
+ #
2517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControl AWS API Documentation
2518
+ #
2519
+ # @overload update_assessment_control(params = {})
2520
+ # @param [Hash] params ({})
2521
+ def update_assessment_control(params = {}, options = {})
2522
+ req = build_request(:update_assessment_control, params)
2523
+ req.send_request(options)
2524
+ end
2525
+
2526
+ # Updates the status of a control set in an AWS Audit Manager
2527
+ # assessment.
2528
+ #
2529
+ # @option params [required, String] :assessment_id
2530
+ # The identifier for the specified assessment.
2531
+ #
2532
+ # @option params [required, String] :control_set_id
2533
+ # The identifier for the specified control set.
2534
+ #
2535
+ # @option params [required, String] :status
2536
+ # The status of the control set that is being updated.
2537
+ #
2538
+ # @option params [required, String] :comment
2539
+ # The comment related to the status update.
2540
+ #
2541
+ # @return [Types::UpdateAssessmentControlSetStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2542
+ #
2543
+ # * {Types::UpdateAssessmentControlSetStatusResponse#control_set #control_set} => Types::AssessmentControlSet
2544
+ #
2545
+ # @example Request syntax with placeholder values
2546
+ #
2547
+ # resp = client.update_assessment_control_set_status({
2548
+ # assessment_id: "UUID", # required
2549
+ # control_set_id: "String", # required
2550
+ # status: "ACTIVE", # required, accepts ACTIVE, UNDER_REVIEW, REVIEWED
2551
+ # comment: "DelegationComment", # required
2552
+ # })
2553
+ #
2554
+ # @example Response structure
2555
+ #
2556
+ # resp.control_set.id #=> String
2557
+ # resp.control_set.description #=> String
2558
+ # resp.control_set.status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
2559
+ # resp.control_set.roles #=> Array
2560
+ # resp.control_set.roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2561
+ # resp.control_set.roles[0].role_arn #=> String
2562
+ # resp.control_set.controls #=> Array
2563
+ # resp.control_set.controls[0].id #=> String
2564
+ # resp.control_set.controls[0].name #=> String
2565
+ # resp.control_set.controls[0].description #=> String
2566
+ # resp.control_set.controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
2567
+ # resp.control_set.controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
2568
+ # resp.control_set.controls[0].comments #=> Array
2569
+ # resp.control_set.controls[0].comments[0].author_name #=> String
2570
+ # resp.control_set.controls[0].comments[0].comment_body #=> String
2571
+ # resp.control_set.controls[0].comments[0].posted_date #=> Time
2572
+ # resp.control_set.controls[0].evidence_sources #=> Array
2573
+ # resp.control_set.controls[0].evidence_sources[0] #=> String
2574
+ # resp.control_set.controls[0].evidence_count #=> Integer
2575
+ # resp.control_set.controls[0].assessment_report_evidence_count #=> Integer
2576
+ # resp.control_set.delegations #=> Array
2577
+ # resp.control_set.delegations[0].id #=> String
2578
+ # resp.control_set.delegations[0].assessment_name #=> String
2579
+ # resp.control_set.delegations[0].assessment_id #=> String
2580
+ # resp.control_set.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
2581
+ # resp.control_set.delegations[0].role_arn #=> String
2582
+ # resp.control_set.delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2583
+ # resp.control_set.delegations[0].creation_time #=> Time
2584
+ # resp.control_set.delegations[0].last_updated #=> Time
2585
+ # resp.control_set.delegations[0].control_set_id #=> String
2586
+ # resp.control_set.delegations[0].comment #=> String
2587
+ # resp.control_set.delegations[0].created_by #=> String
2588
+ # resp.control_set.system_evidence_count #=> Integer
2589
+ # resp.control_set.manual_evidence_count #=> Integer
2590
+ #
2591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControlSetStatus AWS API Documentation
2592
+ #
2593
+ # @overload update_assessment_control_set_status(params = {})
2594
+ # @param [Hash] params ({})
2595
+ def update_assessment_control_set_status(params = {}, options = {})
2596
+ req = build_request(:update_assessment_control_set_status, params)
2597
+ req.send_request(options)
2598
+ end
2599
+
2600
+ # Updates a custom framework in AWS Audit Manager.
2601
+ #
2602
+ # @option params [required, String] :framework_id
2603
+ # The identifier for the specified framework.
2604
+ #
2605
+ # @option params [required, String] :name
2606
+ # The name of the framework to be updated.
2607
+ #
2608
+ # @option params [String] :description
2609
+ # The description of the framework that is to be updated.
2610
+ #
2611
+ # @option params [String] :compliance_type
2612
+ # The compliance type that the new custom framework supports, such as
2613
+ # CIS or HIPAA.
2614
+ #
2615
+ # @option params [required, Array<Types::UpdateAssessmentFrameworkControlSet>] :control_sets
2616
+ # The control sets associated with the framework.
2617
+ #
2618
+ # @return [Types::UpdateAssessmentFrameworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2619
+ #
2620
+ # * {Types::UpdateAssessmentFrameworkResponse#framework #framework} => Types::Framework
2621
+ #
2622
+ # @example Request syntax with placeholder values
2623
+ #
2624
+ # resp = client.update_assessment_framework({
2625
+ # framework_id: "UUID", # required
2626
+ # name: "FrameworkName", # required
2627
+ # description: "FrameworkDescription",
2628
+ # compliance_type: "ComplianceType",
2629
+ # control_sets: [ # required
2630
+ # {
2631
+ # id: "UUID",
2632
+ # name: "ControlSetName",
2633
+ # controls: [
2634
+ # {
2635
+ # id: "UUID",
2636
+ # },
2637
+ # ],
2638
+ # },
2639
+ # ],
2640
+ # })
2641
+ #
2642
+ # @example Response structure
2643
+ #
2644
+ # resp.framework.arn #=> String
2645
+ # resp.framework.id #=> String
2646
+ # resp.framework.name #=> String
2647
+ # resp.framework.type #=> String, one of "Standard", "Custom"
2648
+ # resp.framework.compliance_type #=> String
2649
+ # resp.framework.description #=> String
2650
+ # resp.framework.logo #=> String
2651
+ # resp.framework.control_sources #=> String
2652
+ # resp.framework.control_sets #=> Array
2653
+ # resp.framework.control_sets[0].id #=> String
2654
+ # resp.framework.control_sets[0].name #=> String
2655
+ # resp.framework.control_sets[0].controls #=> Array
2656
+ # resp.framework.control_sets[0].controls[0].arn #=> String
2657
+ # resp.framework.control_sets[0].controls[0].id #=> String
2658
+ # resp.framework.control_sets[0].controls[0].type #=> String, one of "Standard", "Custom"
2659
+ # resp.framework.control_sets[0].controls[0].name #=> String
2660
+ # resp.framework.control_sets[0].controls[0].description #=> String
2661
+ # resp.framework.control_sets[0].controls[0].testing_information #=> String
2662
+ # resp.framework.control_sets[0].controls[0].action_plan_title #=> String
2663
+ # resp.framework.control_sets[0].controls[0].action_plan_instructions #=> String
2664
+ # resp.framework.control_sets[0].controls[0].control_sources #=> String
2665
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources #=> Array
2666
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_id #=> String
2667
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_name #=> String
2668
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_description #=> String
2669
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
2670
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_type #=> String, one of "AWS_Cloudtrail", "AWS_Config", "AWS_Security_Hub", "AWS_API_Call", "MANUAL"
2671
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST"
2672
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_value #=> String
2673
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
2674
+ # resp.framework.control_sets[0].controls[0].control_mapping_sources[0].troubleshooting_text #=> String
2675
+ # resp.framework.control_sets[0].controls[0].created_at #=> Time
2676
+ # resp.framework.control_sets[0].controls[0].last_updated_at #=> Time
2677
+ # resp.framework.control_sets[0].controls[0].created_by #=> String
2678
+ # resp.framework.control_sets[0].controls[0].last_updated_by #=> String
2679
+ # resp.framework.control_sets[0].controls[0].tags #=> Hash
2680
+ # resp.framework.control_sets[0].controls[0].tags["TagKey"] #=> String
2681
+ # resp.framework.created_at #=> Time
2682
+ # resp.framework.last_updated_at #=> Time
2683
+ # resp.framework.created_by #=> String
2684
+ # resp.framework.last_updated_by #=> String
2685
+ #
2686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentFramework AWS API Documentation
2687
+ #
2688
+ # @overload update_assessment_framework(params = {})
2689
+ # @param [Hash] params ({})
2690
+ def update_assessment_framework(params = {}, options = {})
2691
+ req = build_request(:update_assessment_framework, params)
2692
+ req.send_request(options)
2693
+ end
2694
+
2695
+ # Updates the status of an assessment in AWS Audit Manager.
2696
+ #
2697
+ # @option params [required, String] :assessment_id
2698
+ # The identifier for the specified assessment.
2699
+ #
2700
+ # @option params [required, String] :status
2701
+ # The current status of the specified assessment.
2702
+ #
2703
+ # @return [Types::UpdateAssessmentStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2704
+ #
2705
+ # * {Types::UpdateAssessmentStatusResponse#assessment #assessment} => Types::Assessment
2706
+ #
2707
+ # @example Request syntax with placeholder values
2708
+ #
2709
+ # resp = client.update_assessment_status({
2710
+ # assessment_id: "UUID", # required
2711
+ # status: "ACTIVE", # required, accepts ACTIVE, INACTIVE
2712
+ # })
2713
+ #
2714
+ # @example Response structure
2715
+ #
2716
+ # resp.assessment.arn #=> String
2717
+ # resp.assessment.aws_account.id #=> String
2718
+ # resp.assessment.aws_account.email_address #=> String
2719
+ # resp.assessment.aws_account.name #=> String
2720
+ # resp.assessment.metadata.name #=> String
2721
+ # resp.assessment.metadata.id #=> String
2722
+ # resp.assessment.metadata.description #=> String
2723
+ # resp.assessment.metadata.compliance_type #=> String
2724
+ # resp.assessment.metadata.status #=> String, one of "ACTIVE", "INACTIVE"
2725
+ # resp.assessment.metadata.assessment_reports_destination.destination_type #=> String, one of "S3"
2726
+ # resp.assessment.metadata.assessment_reports_destination.destination #=> String
2727
+ # resp.assessment.metadata.scope.aws_accounts #=> Array
2728
+ # resp.assessment.metadata.scope.aws_accounts[0].id #=> String
2729
+ # resp.assessment.metadata.scope.aws_accounts[0].email_address #=> String
2730
+ # resp.assessment.metadata.scope.aws_accounts[0].name #=> String
2731
+ # resp.assessment.metadata.scope.aws_services #=> Array
2732
+ # resp.assessment.metadata.scope.aws_services[0].service_name #=> String
2733
+ # resp.assessment.metadata.roles #=> Array
2734
+ # resp.assessment.metadata.roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2735
+ # resp.assessment.metadata.roles[0].role_arn #=> String
2736
+ # resp.assessment.metadata.delegations #=> Array
2737
+ # resp.assessment.metadata.delegations[0].id #=> String
2738
+ # resp.assessment.metadata.delegations[0].assessment_name #=> String
2739
+ # resp.assessment.metadata.delegations[0].assessment_id #=> String
2740
+ # resp.assessment.metadata.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
2741
+ # resp.assessment.metadata.delegations[0].role_arn #=> String
2742
+ # resp.assessment.metadata.delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2743
+ # resp.assessment.metadata.delegations[0].creation_time #=> Time
2744
+ # resp.assessment.metadata.delegations[0].last_updated #=> Time
2745
+ # resp.assessment.metadata.delegations[0].control_set_id #=> String
2746
+ # resp.assessment.metadata.delegations[0].comment #=> String
2747
+ # resp.assessment.metadata.delegations[0].created_by #=> String
2748
+ # resp.assessment.metadata.creation_time #=> Time
2749
+ # resp.assessment.metadata.last_updated #=> Time
2750
+ # resp.assessment.framework.id #=> String
2751
+ # resp.assessment.framework.arn #=> String
2752
+ # resp.assessment.framework.metadata.name #=> String
2753
+ # resp.assessment.framework.metadata.description #=> String
2754
+ # resp.assessment.framework.metadata.logo #=> String
2755
+ # resp.assessment.framework.metadata.compliance_type #=> String
2756
+ # resp.assessment.framework.control_sets #=> Array
2757
+ # resp.assessment.framework.control_sets[0].id #=> String
2758
+ # resp.assessment.framework.control_sets[0].description #=> String
2759
+ # resp.assessment.framework.control_sets[0].status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
2760
+ # resp.assessment.framework.control_sets[0].roles #=> Array
2761
+ # resp.assessment.framework.control_sets[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2762
+ # resp.assessment.framework.control_sets[0].roles[0].role_arn #=> String
2763
+ # resp.assessment.framework.control_sets[0].controls #=> Array
2764
+ # resp.assessment.framework.control_sets[0].controls[0].id #=> String
2765
+ # resp.assessment.framework.control_sets[0].controls[0].name #=> String
2766
+ # resp.assessment.framework.control_sets[0].controls[0].description #=> String
2767
+ # resp.assessment.framework.control_sets[0].controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
2768
+ # resp.assessment.framework.control_sets[0].controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
2769
+ # resp.assessment.framework.control_sets[0].controls[0].comments #=> Array
2770
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].author_name #=> String
2771
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].comment_body #=> String
2772
+ # resp.assessment.framework.control_sets[0].controls[0].comments[0].posted_date #=> Time
2773
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_sources #=> Array
2774
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_sources[0] #=> String
2775
+ # resp.assessment.framework.control_sets[0].controls[0].evidence_count #=> Integer
2776
+ # resp.assessment.framework.control_sets[0].controls[0].assessment_report_evidence_count #=> Integer
2777
+ # resp.assessment.framework.control_sets[0].delegations #=> Array
2778
+ # resp.assessment.framework.control_sets[0].delegations[0].id #=> String
2779
+ # resp.assessment.framework.control_sets[0].delegations[0].assessment_name #=> String
2780
+ # resp.assessment.framework.control_sets[0].delegations[0].assessment_id #=> String
2781
+ # resp.assessment.framework.control_sets[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
2782
+ # resp.assessment.framework.control_sets[0].delegations[0].role_arn #=> String
2783
+ # resp.assessment.framework.control_sets[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2784
+ # resp.assessment.framework.control_sets[0].delegations[0].creation_time #=> Time
2785
+ # resp.assessment.framework.control_sets[0].delegations[0].last_updated #=> Time
2786
+ # resp.assessment.framework.control_sets[0].delegations[0].control_set_id #=> String
2787
+ # resp.assessment.framework.control_sets[0].delegations[0].comment #=> String
2788
+ # resp.assessment.framework.control_sets[0].delegations[0].created_by #=> String
2789
+ # resp.assessment.framework.control_sets[0].system_evidence_count #=> Integer
2790
+ # resp.assessment.framework.control_sets[0].manual_evidence_count #=> Integer
2791
+ # resp.assessment.tags #=> Hash
2792
+ # resp.assessment.tags["TagKey"] #=> String
2793
+ #
2794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentStatus AWS API Documentation
2795
+ #
2796
+ # @overload update_assessment_status(params = {})
2797
+ # @param [Hash] params ({})
2798
+ def update_assessment_status(params = {}, options = {})
2799
+ req = build_request(:update_assessment_status, params)
2800
+ req.send_request(options)
2801
+ end
2802
+
2803
+ # Updates a custom control in AWS Audit Manager.
2804
+ #
2805
+ # @option params [required, String] :control_id
2806
+ # The identifier for the specified control.
2807
+ #
2808
+ # @option params [required, String] :name
2809
+ # The name of the control to be updated.
2810
+ #
2811
+ # @option params [String] :description
2812
+ # The optional description of the control.
2813
+ #
2814
+ # @option params [String] :testing_information
2815
+ # The steps that to follow to determine if the control has been
2816
+ # satisfied.
2817
+ #
2818
+ # @option params [String] :action_plan_title
2819
+ # The title of the action plan for remediating the control.
2820
+ #
2821
+ # @option params [String] :action_plan_instructions
2822
+ # The recommended actions to carry out if the control is not fulfilled.
2823
+ #
2824
+ # @option params [required, Array<Types::ControlMappingSource>] :control_mapping_sources
2825
+ # The data source that determines from where AWS Audit Manager collects
2826
+ # evidence for the control.
2827
+ #
2828
+ # @return [Types::UpdateControlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2829
+ #
2830
+ # * {Types::UpdateControlResponse#control #control} => Types::Control
2831
+ #
2832
+ # @example Request syntax with placeholder values
2833
+ #
2834
+ # resp = client.update_control({
2835
+ # control_id: "UUID", # required
2836
+ # name: "ControlName", # required
2837
+ # description: "ControlDescription",
2838
+ # testing_information: "TestingInformation",
2839
+ # action_plan_title: "ActionPlanTitle",
2840
+ # action_plan_instructions: "ActionPlanInstructions",
2841
+ # control_mapping_sources: [ # required
2842
+ # {
2843
+ # source_id: "UUID",
2844
+ # source_name: "SourceName",
2845
+ # source_description: "SourceDescription",
2846
+ # source_set_up_option: "System_Controls_Mapping", # accepts System_Controls_Mapping, Procedural_Controls_Mapping
2847
+ # source_type: "AWS_Cloudtrail", # accepts AWS_Cloudtrail, AWS_Config, AWS_Security_Hub, AWS_API_Call, MANUAL
2848
+ # source_keyword: {
2849
+ # keyword_input_type: "SELECT_FROM_LIST", # accepts SELECT_FROM_LIST
2850
+ # keyword_value: "KeywordValue",
2851
+ # },
2852
+ # source_frequency: "DAILY", # accepts DAILY, WEEKLY, MONTHLY
2853
+ # troubleshooting_text: "TroubleshootingText",
2854
+ # },
2855
+ # ],
2856
+ # })
2857
+ #
2858
+ # @example Response structure
2859
+ #
2860
+ # resp.control.arn #=> String
2861
+ # resp.control.id #=> String
2862
+ # resp.control.type #=> String, one of "Standard", "Custom"
2863
+ # resp.control.name #=> String
2864
+ # resp.control.description #=> String
2865
+ # resp.control.testing_information #=> String
2866
+ # resp.control.action_plan_title #=> String
2867
+ # resp.control.action_plan_instructions #=> String
2868
+ # resp.control.control_sources #=> String
2869
+ # resp.control.control_mapping_sources #=> Array
2870
+ # resp.control.control_mapping_sources[0].source_id #=> String
2871
+ # resp.control.control_mapping_sources[0].source_name #=> String
2872
+ # resp.control.control_mapping_sources[0].source_description #=> String
2873
+ # resp.control.control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
2874
+ # resp.control.control_mapping_sources[0].source_type #=> String, one of "AWS_Cloudtrail", "AWS_Config", "AWS_Security_Hub", "AWS_API_Call", "MANUAL"
2875
+ # resp.control.control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST"
2876
+ # resp.control.control_mapping_sources[0].source_keyword.keyword_value #=> String
2877
+ # resp.control.control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
2878
+ # resp.control.control_mapping_sources[0].troubleshooting_text #=> String
2879
+ # resp.control.created_at #=> Time
2880
+ # resp.control.last_updated_at #=> Time
2881
+ # resp.control.created_by #=> String
2882
+ # resp.control.last_updated_by #=> String
2883
+ # resp.control.tags #=> Hash
2884
+ # resp.control.tags["TagKey"] #=> String
2885
+ #
2886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateControl AWS API Documentation
2887
+ #
2888
+ # @overload update_control(params = {})
2889
+ # @param [Hash] params ({})
2890
+ def update_control(params = {}, options = {})
2891
+ req = build_request(:update_control, params)
2892
+ req.send_request(options)
2893
+ end
2894
+
2895
+ # Updates AWS Audit Manager settings for the current user account.
2896
+ #
2897
+ # @option params [String] :sns_topic
2898
+ # The Amazon Simple Notification Service (Amazon SNS) topic to which AWS
2899
+ # Audit Manager sends notifications.
2900
+ #
2901
+ # @option params [Types::AssessmentReportsDestination] :default_assessment_reports_destination
2902
+ # The default storage destination for assessment reports.
2903
+ #
2904
+ # @option params [Array<Types::Role>] :default_process_owners
2905
+ # A list of the default audit owners.
2906
+ #
2907
+ # @option params [String] :kms_key
2908
+ # The AWS KMS key details.
2909
+ #
2910
+ # @return [Types::UpdateSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2911
+ #
2912
+ # * {Types::UpdateSettingsResponse#settings #settings} => Types::Settings
2913
+ #
2914
+ # @example Request syntax with placeholder values
2915
+ #
2916
+ # resp = client.update_settings({
2917
+ # sns_topic: "SnsArn",
2918
+ # default_assessment_reports_destination: {
2919
+ # destination_type: "S3", # accepts S3
2920
+ # destination: "S3Url",
2921
+ # },
2922
+ # default_process_owners: [
2923
+ # {
2924
+ # role_type: "PROCESS_OWNER", # accepts PROCESS_OWNER, RESOURCE_OWNER
2925
+ # role_arn: "IamArn",
2926
+ # },
2927
+ # ],
2928
+ # kms_key: "KmsKey",
2929
+ # })
2930
+ #
2931
+ # @example Response structure
2932
+ #
2933
+ # resp.settings.is_aws_org_enabled #=> Boolean
2934
+ # resp.settings.sns_topic #=> String
2935
+ # resp.settings.default_assessment_reports_destination.destination_type #=> String, one of "S3"
2936
+ # resp.settings.default_assessment_reports_destination.destination #=> String
2937
+ # resp.settings.default_process_owners #=> Array
2938
+ # resp.settings.default_process_owners[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
2939
+ # resp.settings.default_process_owners[0].role_arn #=> String
2940
+ # resp.settings.kms_key #=> String
2941
+ #
2942
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateSettings AWS API Documentation
2943
+ #
2944
+ # @overload update_settings(params = {})
2945
+ # @param [Hash] params ({})
2946
+ def update_settings(params = {}, options = {})
2947
+ req = build_request(:update_settings, params)
2948
+ req.send_request(options)
2949
+ end
2950
+
2951
+ # Validates the integrity of an assessment report in AWS Audit Manager.
2952
+ #
2953
+ # @option params [required, String] :s3_relative_path
2954
+ # The relative path of the specified Amazon S3 bucket in which the
2955
+ # assessment report is stored.
2956
+ #
2957
+ # @return [Types::ValidateAssessmentReportIntegrityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2958
+ #
2959
+ # * {Types::ValidateAssessmentReportIntegrityResponse#signature_valid #signature_valid} => Boolean
2960
+ # * {Types::ValidateAssessmentReportIntegrityResponse#signature_algorithm #signature_algorithm} => String
2961
+ # * {Types::ValidateAssessmentReportIntegrityResponse#signature_date_time #signature_date_time} => String
2962
+ # * {Types::ValidateAssessmentReportIntegrityResponse#signature_key_id #signature_key_id} => String
2963
+ # * {Types::ValidateAssessmentReportIntegrityResponse#validation_errors #validation_errors} => Array&lt;String&gt;
2964
+ #
2965
+ # @example Request syntax with placeholder values
2966
+ #
2967
+ # resp = client.validate_assessment_report_integrity({
2968
+ # s3_relative_path: "S3Url", # required
2969
+ # })
2970
+ #
2971
+ # @example Response structure
2972
+ #
2973
+ # resp.signature_valid #=> Boolean
2974
+ # resp.signature_algorithm #=> String
2975
+ # resp.signature_date_time #=> String
2976
+ # resp.signature_key_id #=> String
2977
+ # resp.validation_errors #=> Array
2978
+ # resp.validation_errors[0] #=> String
2979
+ #
2980
+ # @see http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ValidateAssessmentReportIntegrity AWS API Documentation
2981
+ #
2982
+ # @overload validate_assessment_report_integrity(params = {})
2983
+ # @param [Hash] params ({})
2984
+ def validate_assessment_report_integrity(params = {}, options = {})
2985
+ req = build_request(:validate_assessment_report_integrity, params)
2986
+ req.send_request(options)
2987
+ end
2988
+
2989
+ # @!endgroup
2990
+
2991
+ # @param params ({})
2992
+ # @api private
2993
+ def build_request(operation_name, params = {})
2994
+ handlers = @handlers.for(operation_name)
2995
+ context = Seahorse::Client::RequestContext.new(
2996
+ operation_name: operation_name,
2997
+ operation: config.api.operation(operation_name),
2998
+ client: self,
2999
+ params: params,
3000
+ config: config)
3001
+ context[:gem_name] = 'aws-sdk-auditmanager'
3002
+ context[:gem_version] = '1.0.0'
3003
+ Seahorse::Client::Request.new(handlers, context)
3004
+ end
3005
+
3006
+ # @api private
3007
+ # @deprecated
3008
+ def waiter_names
3009
+ []
3010
+ end
3011
+
3012
+ class << self
3013
+
3014
+ # @api private
3015
+ attr_reader :identifier
3016
+
3017
+ # @api private
3018
+ def errors_module
3019
+ Errors
3020
+ end
3021
+
3022
+ end
3023
+ end
3024
+ end