aws-sdk-auditmanager 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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