Class: Aws::AuditManager::Client

Inherits:
Seahorse::Client::Base
  • Object
show all
Includes:
ClientStubs
Defined in:
lib/aws-sdk-auditmanager/client.rb

Overview

An API client for AuditManager. To construct a client, you need to configure a ‘:region` and `:credentials`.

client = Aws::AuditManager::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).

See #initialize for a full list of supported configuration options.

Class Attribute Summary collapse

API Operations collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials used for authentication. This can be any class that includes and implements ‘Aws::CredentialProvider`, or instance of any one of the following classes:

    • ‘Aws::Credentials` - Used for configuring static, non-refreshing credentials.

    • ‘Aws::SharedCredentials` - Used for loading static credentials from a shared file, such as `~/.aws/config`.

    • ‘Aws::AssumeRoleCredentials` - Used when you need to assume a role.

    • ‘Aws::AssumeRoleWebIdentityCredentials` - Used when you need to assume a role after providing credentials via the web.

    • ‘Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an access token generated from `aws login`.

    • ‘Aws::ProcessCredentials` - Used for loading credentials from a process that outputs to stdout.

    • ‘Aws::InstanceProfileCredentials` - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • ‘Aws::ECSCredentials` - Used for loading credentials from instances running in ECS.

    • ‘Aws::CognitoIdentityCredentials` - Used for loading credentials from the Cognito Identity service.

    When ‘:credentials` are not configured directly, the following locations will be searched for credentials:

    • Aws.config`

    • The ‘:access_key_id`, `:secret_access_key`, `:session_token`, and `:account_id` options.

    • ENV`, `ENV`, `ENV`, and `ENV`.

    • ‘~/.aws/credentials`

    • ‘~/.aws/config`

    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of ‘Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting `ENV` to `true`.

  • :region (required, String)

    The AWS region to connect to. The configured ‘:region` is used to determine the service `:endpoint`. When not passed, a default `:region` is searched for in the following locations:

  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to ‘true`, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to `false`.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in ‘adaptive` retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a `RetryCapacityNotAvailableError` and will not retry instead of sleeping.

  • :auth_scheme_preference (Array<String>)

    A list of preferred authentication schemes to use when making a request. Supported values are: ‘sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV` or in shared config as `auth_scheme_preference`, the value should be a comma-separated list.

  • :client_side_monitoring (Boolean) — default: false

    When ‘true`, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When ‘true`, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in ‘standard` and `adaptive` retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    When ‘true`, the SDK will not prepend the modeled host prefix to the endpoint.

  • :disable_request_compression (Boolean) — default: false

    When set to ‘true’ the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the ‘:endpoint` option directly. This is normally constructed from the `:region` option. Configuring `:endpoint` is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to ‘true`, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the ‘:logger` at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in ‘standard` and `adaptive` retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at ‘HOME/.aws/credentials`. When not specified, ’default’ is used.

  • :request_checksum_calculation (String) — default: "when_supported"

    Determines when a checksum will be calculated for request payloads. Values are:

    • ‘when_supported` - (default) When set, a checksum will be calculated for all request payloads of operations modeled with the `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a `requestAlgorithmMember` is modeled.

    • ‘when_required` - When set, a checksum will only be calculated for request payloads of operations modeled with the `httpChecksum` trait where `requestChecksumRequired` is `true` or where a `requestAlgorithmMember` is modeled and supplied.

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :response_checksum_validation (String) — default: "when_supported"

    Determines when checksum validation will be performed on response payloads. Values are:

    • ‘when_supported` - (default) When set, checksum validation is performed on all response payloads of operations modeled with the `httpChecksum` trait where `responseAlgorithms` is modeled, except when no modeled checksum algorithms are supported.

    • ‘when_required` - When set, checksum validation is not performed on response payloads of operations unless the checksum algorithm is supported and the `requestValidationModeMember` member is set to `ENABLED`.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the ‘legacy` retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the ‘legacy` retry mode.

    @see www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the ‘legacy` retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • ‘legacy` - The pre-existing retry behavior. This is the default value if no retry mode is provided.

    • ‘standard` - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • ‘adaptive` - A retry mode that includes all the functionality of `standard` mode along with automatic client side throttling.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default ‘:sigv4a_signing_region_set` is searched for in the following locations:

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    ** Please note ** When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses ‘NoOpTelemetryProvider` which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the

    ‘opentelemetry-sdk` gem and then, pass in an instance of a `Aws::Telemetry::OTelProvider` for telemetry provider.

  • :token_provider (Aws::TokenProvider)

    Your Bearer token used for authentication. This can be any class that includes and implements ‘Aws::TokenProvider`, or instance of any one of the following classes:

    • ‘Aws::StaticTokenProvider` - Used for configuring static, non-refreshing tokens.

    • ‘Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an access token generated from `aws login`.

    When ‘:token_provider` is not configured directly, the `Aws::TokenProviderChain` will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to ‘true`, dualstack enabled endpoints (with `.aws` TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to ‘true`, fips compatible endpoints will be used if available. When a `fips` region is used, the region is normalized and this config is set to `true`.

  • :validate_params (Boolean) — default: true

    When ‘true`, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::AuditManager::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to ‘#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::AuditManager::EndpointParameters`.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has “Expect” header set to “100-continue”. Defaults to ‘nil` which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like ‘proxy.com:123’.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When ‘true`, HTTP debug output will be sent to the `:logger`.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a ‘content-length`).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When ‘true`, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When ‘true`, SSL peer certificates are verified when establishing a connection.



471
472
473
# File 'lib/aws-sdk-auditmanager/client.rb', line 471

def initialize(*args)
  super
end

Class Attribute Details

.identifierObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



4088
4089
4090
# File 'lib/aws-sdk-auditmanager/client.rb', line 4088

def identifier
  @identifier
end

Class Method Details

.errors_moduleObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



4091
4092
4093
# File 'lib/aws-sdk-auditmanager/client.rb', line 4091

def errors_module
  Errors
end

Instance Method Details

#associate_assessment_report_evidence_folder(params = {}) ⇒ Struct

Associates an evidence folder to an assessment report in an Audit Manager assessment.

Examples:

Request syntax with placeholder values


resp = client.associate_assessment_report_evidence_folder({
  assessment_id: "UUID", # required
  evidence_folder_id: "UUID", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The identifier for the assessment.

  • :evidence_folder_id (required, String)

    The identifier for the folder that the evidence is stored in.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



499
500
501
502
# File 'lib/aws-sdk-auditmanager/client.rb', line 499

def associate_assessment_report_evidence_folder(params = {}, options = {})
  req = build_request(:associate_assessment_report_evidence_folder, params)
  req.send_request(options)
end

#batch_associate_assessment_report_evidence(params = {}) ⇒ Types::BatchAssociateAssessmentReportEvidenceResponse

Associates a list of evidence to an assessment report in an Audit Manager assessment.

Examples:

Request syntax with placeholder values


resp = client.batch_associate_assessment_report_evidence({
  assessment_id: "UUID", # required
  evidence_folder_id: "UUID", # required
  evidence_ids: ["UUID"], # required
})

Response structure


resp.evidence_ids #=> Array
resp.evidence_ids[0] #=> String
resp.errors #=> Array
resp.errors[0].evidence_id #=> String
resp.errors[0].error_code #=> String
resp.errors[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The identifier for the assessment.

  • :evidence_folder_id (required, String)

    The identifier for the folder that the evidence is stored in.

  • :evidence_ids (required, Array<String>)

    The list of evidence identifiers.

Returns:

See Also:



542
543
544
545
# File 'lib/aws-sdk-auditmanager/client.rb', line 542

def batch_associate_assessment_report_evidence(params = {}, options = {})
  req = build_request(:batch_associate_assessment_report_evidence, params)
  req.send_request(options)
end

#batch_create_delegation_by_assessment(params = {}) ⇒ Types::BatchCreateDelegationByAssessmentResponse

Creates a batch of delegations for an assessment in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.batch_create_delegation_by_assessment({
  create_delegation_requests: [ # required
    {
      comment: "DelegationComment",
      control_set_id: "ControlSetId",
      role_arn: "IamArn",
      role_type: "PROCESS_OWNER", # accepts PROCESS_OWNER, RESOURCE_OWNER
    },
  ],
  assessment_id: "UUID", # required
})

Response structure


resp.delegations #=> Array
resp.delegations[0].id #=> String
resp.delegations[0].assessment_name #=> String
resp.delegations[0].assessment_id #=> String
resp.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.delegations[0].role_arn #=> String
resp.delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.delegations[0].creation_time #=> Time
resp.delegations[0].last_updated #=> Time
resp.delegations[0].control_set_id #=> String
resp.delegations[0].comment #=> String
resp.delegations[0].created_by #=> String
resp.errors #=> Array
resp.errors[0].create_delegation_request.comment #=> String
resp.errors[0].create_delegation_request.control_set_id #=> String
resp.errors[0].create_delegation_request.role_arn #=> String
resp.errors[0].create_delegation_request.role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.errors[0].error_code #=> String
resp.errors[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :create_delegation_requests (required, Array<Types::CreateDelegationRequest>)

    The API request to batch create delegations in Audit Manager.

  • :assessment_id (required, String)

    The identifier for the assessment.

Returns:

See Also:



600
601
602
603
# File 'lib/aws-sdk-auditmanager/client.rb', line 600

def batch_create_delegation_by_assessment(params = {}, options = {})
  req = build_request(:batch_create_delegation_by_assessment, params)
  req.send_request(options)
end

#batch_delete_delegation_by_assessment(params = {}) ⇒ Types::BatchDeleteDelegationByAssessmentResponse

Deletes a batch of delegations for an assessment in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.batch_delete_delegation_by_assessment({
  delegation_ids: ["UUID"], # required
  assessment_id: "UUID", # required
})

Response structure


resp.errors #=> Array
resp.errors[0].delegation_id #=> String
resp.errors[0].error_code #=> String
resp.errors[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :delegation_ids (required, Array<String>)

    The identifiers for the delegations.

  • :assessment_id (required, String)

    The identifier for the assessment.

Returns:

See Also:



635
636
637
638
# File 'lib/aws-sdk-auditmanager/client.rb', line 635

def batch_delete_delegation_by_assessment(params = {}, options = {})
  req = build_request(:batch_delete_delegation_by_assessment, params)
  req.send_request(options)
end

#batch_disassociate_assessment_report_evidence(params = {}) ⇒ Types::BatchDisassociateAssessmentReportEvidenceResponse

Disassociates a list of evidence from an assessment report in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.batch_disassociate_assessment_report_evidence({
  assessment_id: "UUID", # required
  evidence_folder_id: "UUID", # required
  evidence_ids: ["UUID"], # required
})

Response structure


resp.evidence_ids #=> Array
resp.evidence_ids[0] #=> String
resp.errors #=> Array
resp.errors[0].evidence_id #=> String
resp.errors[0].error_code #=> String
resp.errors[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The identifier for the assessment.

  • :evidence_folder_id (required, String)

    The identifier for the folder that the evidence is stored in.

  • :evidence_ids (required, Array<String>)

    The list of evidence identifiers.

Returns:

See Also:



678
679
680
681
# File 'lib/aws-sdk-auditmanager/client.rb', line 678

def batch_disassociate_assessment_report_evidence(params = {}, options = {})
  req = build_request(:batch_disassociate_assessment_report_evidence, params)
  req.send_request(options)
end

#batch_import_evidence_to_assessment_control(params = {}) ⇒ Types::BatchImportEvidenceToAssessmentControlResponse

Adds one or more pieces of evidence to a control in an Audit Manager assessment.

You can import manual evidence from any S3 bucket by specifying the S3 URI of the object. You can also upload a file from your browser, or enter plain text in response to a risk assessment question.

The following restrictions apply to this action:

  • ‘manualEvidence` can be only one of the following: `evidenceFileName`, `s3ResourcePath`, or `textResponse`

  • Maximum size of an individual evidence file: 100 MB

  • Number of daily manual evidence uploads per control: 100

  • Supported file formats: See [Supported file types for manual evidence] in the *Audit Manager User Guide*

For more information about Audit Manager service restrictions, see [Quotas and restrictions for Audit Manager].

[1]: docs.aws.amazon.com/audit-manager/latest/userguide/upload-evidence.html#supported-manual-evidence-files [2]: docs.aws.amazon.com/audit-manager/latest/userguide/service-quotas.html

Examples:

Request syntax with placeholder values


resp = client.batch_import_evidence_to_assessment_control({
  assessment_id: "UUID", # required
  control_set_id: "ControlSetId", # required
  control_id: "UUID", # required
  manual_evidence: [ # required
    {
      s3_resource_path: "S3Url",
      text_response: "ManualEvidenceTextResponse",
      evidence_file_name: "ManualEvidenceLocalFileName",
    },
  ],
})

Response structure


resp.errors #=> Array
resp.errors[0].manual_evidence.s3_resource_path #=> String
resp.errors[0].manual_evidence.text_response #=> String
resp.errors[0].manual_evidence.evidence_file_name #=> String
resp.errors[0].error_code #=> String
resp.errors[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The identifier for the assessment.

  • :control_set_id (required, String)

    The identifier for the control set.

  • :control_id (required, String)

    The identifier for the control.

  • :manual_evidence (required, Array<Types::ManualEvidence>)

    The list of manual evidence objects.

Returns:

See Also:



754
755
756
757
# File 'lib/aws-sdk-auditmanager/client.rb', line 754

def batch_import_evidence_to_assessment_control(params = {}, options = {})
  req = build_request(:batch_import_evidence_to_assessment_control, params)
  req.send_request(options)
end

#build_request(operation_name, params = {}) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • params ({}) (defaults to: {})


4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
# File 'lib/aws-sdk-auditmanager/client.rb', line 4061

def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  tracer = config.telemetry_provider.tracer_provider.tracer(
    Aws::Telemetry.module_to_tracer_name('Aws::AuditManager')
  )
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config,
    tracer: tracer
  )
  context[:gem_name] = 'aws-sdk-auditmanager'
  context[:gem_version] = '1.83.0'
  Seahorse::Client::Request.new(handlers, context)
end

#create_assessment(params = {}) ⇒ Types::CreateAssessmentResponse

Creates an assessment in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.create_assessment({
  name: "AssessmentName", # required
  description: "AssessmentDescription",
  assessment_reports_destination: { # required
    destination_type: "S3", # accepts S3
    destination: "S3Url",
  },
  scope: { # required
    aws_accounts: [
      {
        id: "AccountId",
        email_address: "EmailAddress",
        name: "AccountName",
      },
    ],
    aws_services: [
      {
        service_name: "AWSServiceName",
      },
    ],
  },
  roles: [ # required
    {
      role_type: "PROCESS_OWNER", # required, accepts PROCESS_OWNER, RESOURCE_OWNER
      role_arn: "IamArn", # required
    },
  ],
  framework_id: "UUID", # required
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.assessment.arn #=> String
resp.assessment..id #=> String
resp.assessment..email_address #=> String
resp.assessment..name #=> String
resp.assessment..name #=> String
resp.assessment..id #=> String
resp.assessment..description #=> String
resp.assessment..compliance_type #=> String
resp.assessment..status #=> String, one of "ACTIVE", "INACTIVE"
resp.assessment..assessment_reports_destination.destination_type #=> String, one of "S3"
resp.assessment..assessment_reports_destination.destination #=> String
resp.assessment..scope.aws_accounts #=> Array
resp.assessment..scope.aws_accounts[0].id #=> String
resp.assessment..scope.aws_accounts[0].email_address #=> String
resp.assessment..scope.aws_accounts[0].name #=> String
resp.assessment..scope.aws_services #=> Array
resp.assessment..scope.aws_services[0].service_name #=> String
resp.assessment..roles #=> Array
resp.assessment..roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment..roles[0].role_arn #=> String
resp.assessment..delegations #=> Array
resp.assessment..delegations[0].id #=> String
resp.assessment..delegations[0].assessment_name #=> String
resp.assessment..delegations[0].assessment_id #=> String
resp.assessment..delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.assessment..delegations[0].role_arn #=> String
resp.assessment..delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment..delegations[0].creation_time #=> Time
resp.assessment..delegations[0].last_updated #=> Time
resp.assessment..delegations[0].control_set_id #=> String
resp.assessment..delegations[0].comment #=> String
resp.assessment..delegations[0].created_by #=> String
resp.assessment..creation_time #=> Time
resp.assessment..last_updated #=> Time
resp.assessment.framework.id #=> String
resp.assessment.framework.arn #=> String
resp.assessment.framework..name #=> String
resp.assessment.framework..description #=> String
resp.assessment.framework.. #=> String
resp.assessment.framework..compliance_type #=> String
resp.assessment.framework.control_sets #=> Array
resp.assessment.framework.control_sets[0].id #=> String
resp.assessment.framework.control_sets[0].description #=> String
resp.assessment.framework.control_sets[0].status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
resp.assessment.framework.control_sets[0].roles #=> Array
resp.assessment.framework.control_sets[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment.framework.control_sets[0].roles[0].role_arn #=> String
resp.assessment.framework.control_sets[0].controls #=> Array
resp.assessment.framework.control_sets[0].controls[0].id #=> String
resp.assessment.framework.control_sets[0].controls[0].name #=> String
resp.assessment.framework.control_sets[0].controls[0].description #=> String
resp.assessment.framework.control_sets[0].controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
resp.assessment.framework.control_sets[0].controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
resp.assessment.framework.control_sets[0].controls[0].comments #=> Array
resp.assessment.framework.control_sets[0].controls[0].comments[0].author_name #=> String
resp.assessment.framework.control_sets[0].controls[0].comments[0].comment_body #=> String
resp.assessment.framework.control_sets[0].controls[0].comments[0].posted_date #=> Time
resp.assessment.framework.control_sets[0].controls[0].evidence_sources #=> Array
resp.assessment.framework.control_sets[0].controls[0].evidence_sources[0] #=> String
resp.assessment.framework.control_sets[0].controls[0].evidence_count #=> Integer
resp.assessment.framework.control_sets[0].controls[0].assessment_report_evidence_count #=> Integer
resp.assessment.framework.control_sets[0].delegations #=> Array
resp.assessment.framework.control_sets[0].delegations[0].id #=> String
resp.assessment.framework.control_sets[0].delegations[0].assessment_name #=> String
resp.assessment.framework.control_sets[0].delegations[0].assessment_id #=> String
resp.assessment.framework.control_sets[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.assessment.framework.control_sets[0].delegations[0].role_arn #=> String
resp.assessment.framework.control_sets[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment.framework.control_sets[0].delegations[0].creation_time #=> Time
resp.assessment.framework.control_sets[0].delegations[0].last_updated #=> Time
resp.assessment.framework.control_sets[0].delegations[0].control_set_id #=> String
resp.assessment.framework.control_sets[0].delegations[0].comment #=> String
resp.assessment.framework.control_sets[0].delegations[0].created_by #=> String
resp.assessment.framework.control_sets[0].system_evidence_count #=> Integer
resp.assessment.framework.control_sets[0].manual_evidence_count #=> Integer
resp.assessment.tags #=> Hash
resp.assessment.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the assessment to be created.

  • :description (String)

    The optional description of the assessment to be created.

  • :assessment_reports_destination (required, Types::AssessmentReportsDestination)

    The assessment report storage destination for the assessment that’s being created.

  • :scope (required, Types::Scope)

    The wrapper that contains the Amazon Web Services accounts that are in scope for the assessment.

    <note markdown=“1”> You no longer need to specify which Amazon Web Services services are in scope when you create or update an assessment. Audit Manager infers the services in scope by examining your assessment controls and their data sources, and then mapping this information to the relevant Amazon Web Services services.

    If an underlying data source changes for your assessment, we
    

    automatically update the services scope as needed to reflect the correct Amazon Web Services services. This ensures that your assessment collects accurate and comprehensive evidence about all of the relevant services in your AWS environment.

    </note>
    
  • :roles (required, Array<Types::Role>)

    The list of roles for the assessment.

  • :framework_id (required, String)

    The identifier for the framework that the assessment will be created from.

  • :tags (Hash<String,String>)

    The tags that are associated with the assessment.

Returns:

See Also:



922
923
924
925
# File 'lib/aws-sdk-auditmanager/client.rb', line 922

def create_assessment(params = {}, options = {})
  req = build_request(:create_assessment, params)
  req.send_request(options)
end

#create_assessment_framework(params = {}) ⇒ Types::CreateAssessmentFrameworkResponse

Creates a custom framework in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.create_assessment_framework({
  name: "FrameworkName", # required
  description: "FrameworkDescription",
  compliance_type: "ComplianceType",
  control_sets: [ # required
    {
      name: "ControlSetName", # required
      controls: [
        {
          id: "UUID", # required
        },
      ],
    },
  ],
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.framework.arn #=> String
resp.framework.id #=> String
resp.framework.name #=> String
resp.framework.type #=> String, one of "Standard", "Custom"
resp.framework.compliance_type #=> String
resp.framework.description #=> String
resp.framework. #=> String
resp.framework.control_sources #=> String
resp.framework.control_sets #=> Array
resp.framework.control_sets[0].id #=> String
resp.framework.control_sets[0].name #=> String
resp.framework.control_sets[0].controls #=> Array
resp.framework.control_sets[0].controls[0].arn #=> String
resp.framework.control_sets[0].controls[0].id #=> String
resp.framework.control_sets[0].controls[0].type #=> String, one of "Standard", "Custom", "Core"
resp.framework.control_sets[0].controls[0].name #=> String
resp.framework.control_sets[0].controls[0].description #=> String
resp.framework.control_sets[0].controls[0].testing_information #=> String
resp.framework.control_sets[0].controls[0].action_plan_title #=> String
resp.framework.control_sets[0].controls[0].action_plan_instructions #=> String
resp.framework.control_sets[0].controls[0].control_sources #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources #=> Array
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_id #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_name #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_description #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
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", "Common_Control", "Core_Control"
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST", "UPLOAD_FILE", "INPUT_TEXT"
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_value #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].troubleshooting_text #=> String
resp.framework.control_sets[0].controls[0].created_at #=> Time
resp.framework.control_sets[0].controls[0].last_updated_at #=> Time
resp.framework.control_sets[0].controls[0].created_by #=> String
resp.framework.control_sets[0].controls[0].last_updated_by #=> String
resp.framework.control_sets[0].controls[0].tags #=> Hash
resp.framework.control_sets[0].controls[0].tags["TagKey"] #=> String
resp.framework.control_sets[0].controls[0].state #=> String, one of "ACTIVE", "END_OF_SUPPORT"
resp.framework.created_at #=> Time
resp.framework.last_updated_at #=> Time
resp.framework.created_by #=> String
resp.framework.last_updated_by #=> String
resp.framework.tags #=> Hash
resp.framework.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the new custom framework.

  • :description (String)

    An optional description for the new custom framework.

  • :compliance_type (String)

    The compliance type that the new custom framework supports, such as CIS or HIPAA.

  • :control_sets (required, Array<Types::CreateAssessmentFrameworkControlSet>)

    The control sets that are associated with the framework.

    <note markdown=“1”> The ‘Controls` object returns a partial response when called through Framework APIs. For a complete `Controls` object, use `GetControl`.

    </note>
    
  • :tags (Hash<String,String>)

    The tags that are associated with the framework.

Returns:

See Also:



1026
1027
1028
1029
# File 'lib/aws-sdk-auditmanager/client.rb', line 1026

def create_assessment_framework(params = {}, options = {})
  req = build_request(:create_assessment_framework, params)
  req.send_request(options)
end

#create_assessment_report(params = {}) ⇒ Types::CreateAssessmentReportResponse

Creates an assessment report for the specified assessment.

Examples:

Request syntax with placeholder values


resp = client.create_assessment_report({
  name: "AssessmentReportName", # required
  description: "AssessmentReportDescription",
  assessment_id: "UUID", # required
  query_statement: "QueryStatement",
})

Response structure


resp.assessment_report.id #=> String
resp.assessment_report.name #=> String
resp.assessment_report.description #=> String
resp.assessment_report. #=> String
resp.assessment_report.assessment_id #=> String
resp.assessment_report.assessment_name #=> String
resp.assessment_report.author #=> String
resp.assessment_report.status #=> String, one of "COMPLETE", "IN_PROGRESS", "FAILED"
resp.assessment_report.creation_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



1095
1096
1097
1098
# File 'lib/aws-sdk-auditmanager/client.rb', line 1095

def create_assessment_report(params = {}, options = {})
  req = build_request(:create_assessment_report, params)
  req.send_request(options)
end

#create_control(params = {}) ⇒ Types::CreateControlResponse

Creates a new custom control in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.create_control({
  name: "ControlName", # required
  description: "ControlDescription",
  testing_information: "TestingInformation",
  action_plan_title: "ActionPlanTitle",
  action_plan_instructions: "ActionPlanInstructions",
  control_mapping_sources: [ # required
    {
      source_name: "SourceName",
      source_description: "SourceDescription",
      source_set_up_option: "System_Controls_Mapping", # accepts System_Controls_Mapping, Procedural_Controls_Mapping
      source_type: "AWS_Cloudtrail", # accepts AWS_Cloudtrail, AWS_Config, AWS_Security_Hub, AWS_API_Call, MANUAL, Common_Control, Core_Control
      source_keyword: {
        keyword_input_type: "SELECT_FROM_LIST", # accepts SELECT_FROM_LIST, UPLOAD_FILE, INPUT_TEXT
        keyword_value: "KeywordValue",
      },
      source_frequency: "DAILY", # accepts DAILY, WEEKLY, MONTHLY
      troubleshooting_text: "TroubleshootingText",
    },
  ],
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.control.arn #=> String
resp.control.id #=> String
resp.control.type #=> String, one of "Standard", "Custom", "Core"
resp.control.name #=> String
resp.control.description #=> String
resp.control.testing_information #=> String
resp.control.action_plan_title #=> String
resp.control.action_plan_instructions #=> String
resp.control.control_sources #=> String
resp.control.control_mapping_sources #=> Array
resp.control.control_mapping_sources[0].source_id #=> String
resp.control.control_mapping_sources[0].source_name #=> String
resp.control.control_mapping_sources[0].source_description #=> String
resp.control.control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
resp.control.control_mapping_sources[0].source_type #=> String, one of "AWS_Cloudtrail", "AWS_Config", "AWS_Security_Hub", "AWS_API_Call", "MANUAL", "Common_Control", "Core_Control"
resp.control.control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST", "UPLOAD_FILE", "INPUT_TEXT"
resp.control.control_mapping_sources[0].source_keyword.keyword_value #=> String
resp.control.control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
resp.control.control_mapping_sources[0].troubleshooting_text #=> String
resp.control.created_at #=> Time
resp.control.last_updated_at #=> Time
resp.control.created_by #=> String
resp.control.last_updated_by #=> String
resp.control.tags #=> Hash
resp.control.tags["TagKey"] #=> String
resp.control.state #=> String, one of "ACTIVE", "END_OF_SUPPORT"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the control.

  • :description (String)

    The description of the control.

  • :testing_information (String)

    The steps to follow to determine if the control is satisfied.

  • :action_plan_title (String)

    The title of the action plan for remediating the control.

  • :action_plan_instructions (String)

    The recommended actions to carry out if the control isn’t fulfilled.

  • :control_mapping_sources (required, Array<Types::CreateControlMappingSource>)

    The data mapping sources for the control.

  • :tags (Hash<String,String>)

    The tags that are associated with the control.

Returns:

See Also:



1187
1188
1189
1190
# File 'lib/aws-sdk-auditmanager/client.rb', line 1187

def create_control(params = {}, options = {})
  req = build_request(:create_control, params)
  req.send_request(options)
end

#delete_assessment(params = {}) ⇒ Struct

Deletes an assessment in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.delete_assessment({
  assessment_id: "UUID", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The identifier for the assessment.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1209
1210
1211
1212
# File 'lib/aws-sdk-auditmanager/client.rb', line 1209

def delete_assessment(params = {}, options = {})
  req = build_request(:delete_assessment, params)
  req.send_request(options)
end

#delete_assessment_framework(params = {}) ⇒ Struct

Deletes a custom framework in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.delete_assessment_framework({
  framework_id: "UUID", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :framework_id (required, String)

    The identifier for the custom framework.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1231
1232
1233
1234
# File 'lib/aws-sdk-auditmanager/client.rb', line 1231

def delete_assessment_framework(params = {}, options = {})
  req = build_request(:delete_assessment_framework, params)
  req.send_request(options)
end

#delete_assessment_framework_share(params = {}) ⇒ Struct

Deletes a share request for a custom framework in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.delete_assessment_framework_share({
  request_id: "UUID", # required
  request_type: "SENT", # required, accepts SENT, RECEIVED
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :request_id (required, String)

    The unique identifier for the share request to be deleted.

  • :request_type (required, String)

    Specifies whether the share request is a sent request or a received request.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1258
1259
1260
1261
# File 'lib/aws-sdk-auditmanager/client.rb', line 1258

def delete_assessment_framework_share(params = {}, options = {})
  req = build_request(:delete_assessment_framework_share, params)
  req.send_request(options)
end

#delete_assessment_report(params = {}) ⇒ Struct

Deletes an assessment report in Audit Manager.

When you run the ‘DeleteAssessmentReport` operation, Audit Manager attempts to delete the following data:

  1. The specified assessment report that’s stored in your S3 bucket

  2. The associated metadata that’s stored in Audit Manager

If Audit Manager can’t access the assessment report in your S3 bucket, the report isn’t deleted. In this event, the ‘DeleteAssessmentReport` operation doesn’t fail. Instead, it proceeds to delete the associated metadata only. You must then delete the assessment report from the S3 bucket yourself.

This scenario happens when Audit Manager receives a ‘403 (Forbidden)` or `404 (Not Found)` error from Amazon S3. To avoid this, make sure that your S3 bucket is available, and that you configured the correct permissions for Audit Manager to delete resources in your S3 bucket. For an example permissions policy that you can use, see [Assessment report destination permissions] in the *Audit Manager User Guide*. For information about the issues that could cause a `403 (Forbidden)` or `404 (Not Found`) error from Amazon S3, see [List of Error Codes] in the *Amazon Simple Storage Service API Reference*.

[1]: docs.aws.amazon.com/audit-manager/latest/userguide/security_iam_id-based-policy-examples.html#full-administrator-access-assessment-report-destination [2]: docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList

Examples:

Request syntax with placeholder values


resp = client.delete_assessment_report({
  assessment_id: "UUID", # required
  assessment_report_id: "UUID", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :assessment_report_id (required, String)

    The unique identifier for the assessment report.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1312
1313
1314
1315
# File 'lib/aws-sdk-auditmanager/client.rb', line 1312

def delete_assessment_report(params = {}, options = {})
  req = build_request(:delete_assessment_report, params)
  req.send_request(options)
end

#delete_control(params = {}) ⇒ Struct

Deletes a custom control in Audit Manager.

When you invoke this operation, the custom control is deleted from any frameworks or assessments that it’s currently part of. As a result, Audit Manager will stop collecting evidence for that custom control in all of your assessments. This includes assessments that you previously created before you deleted the custom control.

Examples:

Request syntax with placeholder values


resp = client.delete_control({
  control_id: "UUID", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :control_id (required, String)

    The unique identifier for the control.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1340
1341
1342
1343
# File 'lib/aws-sdk-auditmanager/client.rb', line 1340

def delete_control(params = {}, options = {})
  req = build_request(:delete_control, params)
  req.send_request(options)
end

#deregister_account(params = {}) ⇒ Types::DeregisterAccountResponse

Deregisters an account in Audit Manager.

<note markdown=“1”> Before you deregister, you can use the [UpdateSettings] API operation to set your preferred data retention policy. By default, Audit Manager retains your data. If you want to delete your data, you can use the ‘DeregistrationPolicy` attribute to request the deletion of your data.

For more information about data retention, see [Data Protection][2] in

the *Audit Manager User Guide*.

</note>

[1]: docs.aws.amazon.com/audit-manager/latest/APIReference/API_UpdateSettings.html [2]: docs.aws.amazon.com/audit-manager/latest/userguide/data-protection.html

Examples:

Response structure


resp.status #=> String, one of "ACTIVE", "INACTIVE", "PENDING_ACTIVATION"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



1375
1376
1377
1378
# File 'lib/aws-sdk-auditmanager/client.rb', line 1375

def (params = {}, options = {})
  req = build_request(:deregister_account, params)
  req.send_request(options)
end

#deregister_organization_admin_account(params = {}) ⇒ Struct

Removes the specified Amazon Web Services account as a delegated administrator for Audit Manager.

When you remove a delegated administrator from your Audit Manager settings, you continue to have access to the evidence that you previously collected under that account. This is also the case when you deregister a delegated administrator from Organizations. However, Audit Manager stops collecting and attaching evidence to that delegated administrator account moving forward.

Keep in mind the following cleanup task if you use evidence finder:

Before you use your management  to remove a delegated

administrator, make sure that the current delegated administrator account signs in to Audit Manager and disables evidence finder first. Disabling evidence finder automatically deletes the event data store that was created in their account when they enabled evidence finder. If this task isn’t completed, the event data store remains in their account. In this case, we recommend that the original delegated administrator goes to CloudTrail Lake and manually [deletes the event data store].

This cleanup task is necessary to ensure that you don't end up with

multiple event data stores. Audit Manager ignores an unused event data store after you remove or change a delegated administrator account. However, the unused event data store continues to incur storage costs from CloudTrail Lake if you don’t delete it.

When you deregister a delegated administrator account for Audit Manager, the data for that account isn’t deleted. If you want to delete resource data for a delegated administrator account, you must perform that task separately before you deregister the account. Either, you can do this in the Audit Manager console. Or, you can use one of the delete API operations that are provided by Audit Manager.

To delete your Audit Manager resource data, see the following instructions:

  • DeleteAssessment][2

    (see also: [Deleting an assessment] in the

    *Audit Manager User Guide*)

  • DeleteAssessmentFramework][4

    (see also: [Deleting a custom

    framework] in the *Audit Manager User Guide*)

  • DeleteAssessmentFrameworkShare][6

    (see also: [Deleting a share

    request] in the *Audit Manager User Guide*)

  • DeleteAssessmentReport][8

    (see also: [Deleting an assessment

    report] in the *Audit Manager User Guide*)

  • DeleteControl][10

    (see also: [Deleting a custom control] in

    the *Audit Manager User Guide*)

At this time, Audit Manager doesn’t provide an option to delete evidence for a specific delegated administrator. Instead, when your management account deregisters Audit Manager, we perform a cleanup for the current delegated administrator account at the time of deregistration.

[1]: docs.aws.amazon.com/awscloudtrail/latest/userguide/query-eds-disable-termination.html [2]: docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessment.html [3]: docs.aws.amazon.com/audit-manager/latest/userguide/delete-assessment.html [4]: docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessmentFramework.html [5]: docs.aws.amazon.com/audit-manager/latest/userguide/delete-custom-framework.html [6]: docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessmentFrameworkShare.html [7]: docs.aws.amazon.com/audit-manager/latest/userguide/deleting-shared-framework-requests.html [8]: docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessmentReport.html [9]: docs.aws.amazon.com/audit-manager/latest/userguide/generate-assessment-report.html#delete-assessment-report-steps [10]: docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteControl.html [11]: docs.aws.amazon.com/audit-manager/latest/userguide/delete-controls.html

Examples:

Request syntax with placeholder values


resp = client.({
  admin_account_id: "AccountId",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :admin_account_id (String)

    The identifier for the administrator account.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1468
1469
1470
1471
# File 'lib/aws-sdk-auditmanager/client.rb', line 1468

def (params = {}, options = {})
  req = build_request(:deregister_organization_admin_account, params)
  req.send_request(options)
end

#disassociate_assessment_report_evidence_folder(params = {}) ⇒ Struct

Disassociates an evidence folder from the specified assessment report in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.disassociate_assessment_report_evidence_folder({
  assessment_id: "UUID", # required
  evidence_folder_id: "UUID", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :evidence_folder_id (required, String)

    The unique identifier for the folder that the evidence is stored in.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1495
1496
1497
1498
# File 'lib/aws-sdk-auditmanager/client.rb', line 1495

def disassociate_assessment_report_evidence_folder(params = {}, options = {})
  req = build_request(:disassociate_assessment_report_evidence_folder, params)
  req.send_request(options)
end

#get_account_status(params = {}) ⇒ Types::GetAccountStatusResponse

Gets the registration status of an account in Audit Manager.

Examples:

Response structure


resp.status #=> String, one of "ACTIVE", "INACTIVE", "PENDING_ACTIVATION"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



1514
1515
1516
1517
# File 'lib/aws-sdk-auditmanager/client.rb', line 1514

def (params = {}, options = {})
  req = build_request(:get_account_status, params)
  req.send_request(options)
end

#get_assessment(params = {}) ⇒ Types::GetAssessmentResponse

Gets information about a specified assessment.

Examples:

Request syntax with placeholder values


resp = client.get_assessment({
  assessment_id: "UUID", # required
})

Response structure


resp.assessment.arn #=> String
resp.assessment..id #=> String
resp.assessment..email_address #=> String
resp.assessment..name #=> String
resp.assessment..name #=> String
resp.assessment..id #=> String
resp.assessment..description #=> String
resp.assessment..compliance_type #=> String
resp.assessment..status #=> String, one of "ACTIVE", "INACTIVE"
resp.assessment..assessment_reports_destination.destination_type #=> String, one of "S3"
resp.assessment..assessment_reports_destination.destination #=> String
resp.assessment..scope.aws_accounts #=> Array
resp.assessment..scope.aws_accounts[0].id #=> String
resp.assessment..scope.aws_accounts[0].email_address #=> String
resp.assessment..scope.aws_accounts[0].name #=> String
resp.assessment..scope.aws_services #=> Array
resp.assessment..scope.aws_services[0].service_name #=> String
resp.assessment..roles #=> Array
resp.assessment..roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment..roles[0].role_arn #=> String
resp.assessment..delegations #=> Array
resp.assessment..delegations[0].id #=> String
resp.assessment..delegations[0].assessment_name #=> String
resp.assessment..delegations[0].assessment_id #=> String
resp.assessment..delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.assessment..delegations[0].role_arn #=> String
resp.assessment..delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment..delegations[0].creation_time #=> Time
resp.assessment..delegations[0].last_updated #=> Time
resp.assessment..delegations[0].control_set_id #=> String
resp.assessment..delegations[0].comment #=> String
resp.assessment..delegations[0].created_by #=> String
resp.assessment..creation_time #=> Time
resp.assessment..last_updated #=> Time
resp.assessment.framework.id #=> String
resp.assessment.framework.arn #=> String
resp.assessment.framework..name #=> String
resp.assessment.framework..description #=> String
resp.assessment.framework.. #=> String
resp.assessment.framework..compliance_type #=> String
resp.assessment.framework.control_sets #=> Array
resp.assessment.framework.control_sets[0].id #=> String
resp.assessment.framework.control_sets[0].description #=> String
resp.assessment.framework.control_sets[0].status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
resp.assessment.framework.control_sets[0].roles #=> Array
resp.assessment.framework.control_sets[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment.framework.control_sets[0].roles[0].role_arn #=> String
resp.assessment.framework.control_sets[0].controls #=> Array
resp.assessment.framework.control_sets[0].controls[0].id #=> String
resp.assessment.framework.control_sets[0].controls[0].name #=> String
resp.assessment.framework.control_sets[0].controls[0].description #=> String
resp.assessment.framework.control_sets[0].controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
resp.assessment.framework.control_sets[0].controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
resp.assessment.framework.control_sets[0].controls[0].comments #=> Array
resp.assessment.framework.control_sets[0].controls[0].comments[0].author_name #=> String
resp.assessment.framework.control_sets[0].controls[0].comments[0].comment_body #=> String
resp.assessment.framework.control_sets[0].controls[0].comments[0].posted_date #=> Time
resp.assessment.framework.control_sets[0].controls[0].evidence_sources #=> Array
resp.assessment.framework.control_sets[0].controls[0].evidence_sources[0] #=> String
resp.assessment.framework.control_sets[0].controls[0].evidence_count #=> Integer
resp.assessment.framework.control_sets[0].controls[0].assessment_report_evidence_count #=> Integer
resp.assessment.framework.control_sets[0].delegations #=> Array
resp.assessment.framework.control_sets[0].delegations[0].id #=> String
resp.assessment.framework.control_sets[0].delegations[0].assessment_name #=> String
resp.assessment.framework.control_sets[0].delegations[0].assessment_id #=> String
resp.assessment.framework.control_sets[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.assessment.framework.control_sets[0].delegations[0].role_arn #=> String
resp.assessment.framework.control_sets[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment.framework.control_sets[0].delegations[0].creation_time #=> Time
resp.assessment.framework.control_sets[0].delegations[0].last_updated #=> Time
resp.assessment.framework.control_sets[0].delegations[0].control_set_id #=> String
resp.assessment.framework.control_sets[0].delegations[0].comment #=> String
resp.assessment.framework.control_sets[0].delegations[0].created_by #=> String
resp.assessment.framework.control_sets[0].system_evidence_count #=> Integer
resp.assessment.framework.control_sets[0].manual_evidence_count #=> Integer
resp.assessment.tags #=> Hash
resp.assessment.tags["TagKey"] #=> String
resp.user_role.role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.user_role.role_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

Returns:

See Also:



1621
1622
1623
1624
# File 'lib/aws-sdk-auditmanager/client.rb', line 1621

def get_assessment(params = {}, options = {})
  req = build_request(:get_assessment, params)
  req.send_request(options)
end

#get_assessment_framework(params = {}) ⇒ Types::GetAssessmentFrameworkResponse

Gets information about a specified framework.

Examples:

Request syntax with placeholder values


resp = client.get_assessment_framework({
  framework_id: "UUID", # required
})

Response structure


resp.framework.arn #=> String
resp.framework.id #=> String
resp.framework.name #=> String
resp.framework.type #=> String, one of "Standard", "Custom"
resp.framework.compliance_type #=> String
resp.framework.description #=> String
resp.framework. #=> String
resp.framework.control_sources #=> String
resp.framework.control_sets #=> Array
resp.framework.control_sets[0].id #=> String
resp.framework.control_sets[0].name #=> String
resp.framework.control_sets[0].controls #=> Array
resp.framework.control_sets[0].controls[0].arn #=> String
resp.framework.control_sets[0].controls[0].id #=> String
resp.framework.control_sets[0].controls[0].type #=> String, one of "Standard", "Custom", "Core"
resp.framework.control_sets[0].controls[0].name #=> String
resp.framework.control_sets[0].controls[0].description #=> String
resp.framework.control_sets[0].controls[0].testing_information #=> String
resp.framework.control_sets[0].controls[0].action_plan_title #=> String
resp.framework.control_sets[0].controls[0].action_plan_instructions #=> String
resp.framework.control_sets[0].controls[0].control_sources #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources #=> Array
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_id #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_name #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_description #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
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", "Common_Control", "Core_Control"
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST", "UPLOAD_FILE", "INPUT_TEXT"
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_value #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].troubleshooting_text #=> String
resp.framework.control_sets[0].controls[0].created_at #=> Time
resp.framework.control_sets[0].controls[0].last_updated_at #=> Time
resp.framework.control_sets[0].controls[0].created_by #=> String
resp.framework.control_sets[0].controls[0].last_updated_by #=> String
resp.framework.control_sets[0].controls[0].tags #=> Hash
resp.framework.control_sets[0].controls[0].tags["TagKey"] #=> String
resp.framework.control_sets[0].controls[0].state #=> String, one of "ACTIVE", "END_OF_SUPPORT"
resp.framework.created_at #=> Time
resp.framework.last_updated_at #=> Time
resp.framework.created_by #=> String
resp.framework.last_updated_by #=> String
resp.framework.tags #=> Hash
resp.framework.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :framework_id (required, String)

    The identifier for the framework.

Returns:

See Also:



1692
1693
1694
1695
# File 'lib/aws-sdk-auditmanager/client.rb', line 1692

def get_assessment_framework(params = {}, options = {})
  req = build_request(:get_assessment_framework, params)
  req.send_request(options)
end

#get_assessment_report_url(params = {}) ⇒ Types::GetAssessmentReportUrlResponse

Gets the URL of an assessment report in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.get_assessment_report_url({
  assessment_report_id: "UUID", # required
  assessment_id: "UUID", # required
})

Response structure


resp.pre_signed_url.hyperlink_name #=> String
resp.pre_signed_url.link #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_report_id (required, String)

    The unique identifier for the assessment report.

  • :assessment_id (required, String)

    The unique identifier for the assessment.

Returns:

See Also:



1725
1726
1727
1728
# File 'lib/aws-sdk-auditmanager/client.rb', line 1725

def get_assessment_report_url(params = {}, options = {})
  req = build_request(:get_assessment_report_url, params)
  req.send_request(options)
end

#get_change_logs(params = {}) ⇒ Types::GetChangeLogsResponse

Gets a list of changelogs from Audit Manager.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.get_change_logs({
  assessment_id: "UUID", # required
  control_set_id: "ControlSetId",
  control_id: "UUID",
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.change_logs #=> Array
resp.change_logs[0].object_type #=> String, one of "ASSESSMENT", "CONTROL_SET", "CONTROL", "DELEGATION", "ASSESSMENT_REPORT"
resp.change_logs[0].object_name #=> String
resp.change_logs[0].action #=> String, one of "CREATE", "UPDATE_METADATA", "ACTIVE", "INACTIVE", "DELETE", "UNDER_REVIEW", "REVIEWED", "IMPORT_EVIDENCE"
resp.change_logs[0].created_at #=> Time
resp.change_logs[0].created_by #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :control_set_id (String)

    The unique identifier for the control set.

  • :control_id (String)

    The unique identifier for the control.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



1779
1780
1781
1782
# File 'lib/aws-sdk-auditmanager/client.rb', line 1779

def get_change_logs(params = {}, options = {})
  req = build_request(:get_change_logs, params)
  req.send_request(options)
end

#get_control(params = {}) ⇒ Types::GetControlResponse

Gets information about a specified control.

Examples:

Request syntax with placeholder values


resp = client.get_control({
  control_id: "UUID", # required
})

Response structure


resp.control.arn #=> String
resp.control.id #=> String
resp.control.type #=> String, one of "Standard", "Custom", "Core"
resp.control.name #=> String
resp.control.description #=> String
resp.control.testing_information #=> String
resp.control.action_plan_title #=> String
resp.control.action_plan_instructions #=> String
resp.control.control_sources #=> String
resp.control.control_mapping_sources #=> Array
resp.control.control_mapping_sources[0].source_id #=> String
resp.control.control_mapping_sources[0].source_name #=> String
resp.control.control_mapping_sources[0].source_description #=> String
resp.control.control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
resp.control.control_mapping_sources[0].source_type #=> String, one of "AWS_Cloudtrail", "AWS_Config", "AWS_Security_Hub", "AWS_API_Call", "MANUAL", "Common_Control", "Core_Control"
resp.control.control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST", "UPLOAD_FILE", "INPUT_TEXT"
resp.control.control_mapping_sources[0].source_keyword.keyword_value #=> String
resp.control.control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
resp.control.control_mapping_sources[0].troubleshooting_text #=> String
resp.control.created_at #=> Time
resp.control.last_updated_at #=> Time
resp.control.created_by #=> String
resp.control.last_updated_by #=> String
resp.control.tags #=> Hash
resp.control.tags["TagKey"] #=> String
resp.control.state #=> String, one of "ACTIVE", "END_OF_SUPPORT"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :control_id (required, String)

    The identifier for the control.

Returns:

See Also:



1832
1833
1834
1835
# File 'lib/aws-sdk-auditmanager/client.rb', line 1832

def get_control(params = {}, options = {})
  req = build_request(:get_control, params)
  req.send_request(options)
end

#get_delegations(params = {}) ⇒ Types::GetDelegationsResponse

Gets a list of delegations from an audit owner to a delegate.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.get_delegations({
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.delegations #=> Array
resp.delegations[0].id #=> String
resp.delegations[0].assessment_name #=> String
resp.delegations[0].assessment_id #=> String
resp.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.delegations[0].role_arn #=> String
resp.delegations[0].creation_time #=> Time
resp.delegations[0].control_set_name #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



1876
1877
1878
1879
# File 'lib/aws-sdk-auditmanager/client.rb', line 1876

def get_delegations(params = {}, options = {})
  req = build_request(:get_delegations, params)
  req.send_request(options)
end

#get_evidence(params = {}) ⇒ Types::GetEvidenceResponse

Gets information about a specified evidence item.

Examples:

Request syntax with placeholder values


resp = client.get_evidence({
  assessment_id: "UUID", # required
  control_set_id: "ControlSetId", # required
  evidence_folder_id: "UUID", # required
  evidence_id: "UUID", # required
})

Response structure


resp.evidence.data_source #=> String
resp.evidence. #=> String
resp.evidence.time #=> Time
resp.evidence.event_source #=> String
resp.evidence.event_name #=> String
resp.evidence.evidence_by_type #=> String
resp.evidence.resources_included #=> Array
resp.evidence.resources_included[0].arn #=> String
resp.evidence.resources_included[0].value #=> String
resp.evidence.resources_included[0].compliance_check #=> String
resp.evidence.attributes #=> Hash
resp.evidence.attributes["EvidenceAttributeKey"] #=> String
resp.evidence.iam_id #=> String
resp.evidence.compliance_check #=> String
resp.evidence.aws_organization #=> String
resp.evidence. #=> String
resp.evidence.evidence_folder_id #=> String
resp.evidence.id #=> String
resp.evidence.assessment_report_selection #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :control_set_id (required, String)

    The unique identifier for the control set.

  • :evidence_folder_id (required, String)

    The unique identifier for the folder that the evidence is stored in.

  • :evidence_id (required, String)

    The unique identifier for the evidence.

Returns:

See Also:



1934
1935
1936
1937
# File 'lib/aws-sdk-auditmanager/client.rb', line 1934

def get_evidence(params = {}, options = {})
  req = build_request(:get_evidence, params)
  req.send_request(options)
end

#get_evidence_by_evidence_folder(params = {}) ⇒ Types::GetEvidenceByEvidenceFolderResponse

Gets all evidence from a specified evidence folder in Audit Manager.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.get_evidence_by_evidence_folder({
  assessment_id: "UUID", # required
  control_set_id: "ControlSetId", # required
  evidence_folder_id: "UUID", # required
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.evidence #=> Array
resp.evidence[0].data_source #=> String
resp.evidence[0]. #=> String
resp.evidence[0].time #=> Time
resp.evidence[0].event_source #=> String
resp.evidence[0].event_name #=> String
resp.evidence[0].evidence_by_type #=> String
resp.evidence[0].resources_included #=> Array
resp.evidence[0].resources_included[0].arn #=> String
resp.evidence[0].resources_included[0].value #=> String
resp.evidence[0].resources_included[0].compliance_check #=> String
resp.evidence[0].attributes #=> Hash
resp.evidence[0].attributes["EvidenceAttributeKey"] #=> String
resp.evidence[0].iam_id #=> String
resp.evidence[0].compliance_check #=> String
resp.evidence[0].aws_organization #=> String
resp.evidence[0]. #=> String
resp.evidence[0].evidence_folder_id #=> String
resp.evidence[0].id #=> String
resp.evidence[0].assessment_report_selection #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The identifier for the assessment.

  • :control_set_id (required, String)

    The identifier for the control set.

  • :evidence_folder_id (required, String)

    The unique identifier for the folder that the evidence is stored in.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2002
2003
2004
2005
# File 'lib/aws-sdk-auditmanager/client.rb', line 2002

def get_evidence_by_evidence_folder(params = {}, options = {})
  req = build_request(:get_evidence_by_evidence_folder, params)
  req.send_request(options)
end

#get_evidence_file_upload_url(params = {}) ⇒ Types::GetEvidenceFileUploadUrlResponse

Creates a presigned Amazon S3 URL that can be used to upload a file as manual evidence. For instructions on how to use this operation, see

Upload a file from your browser ][1

in the *Audit Manager User

Guide*.

The following restrictions apply to this operation:

  • Maximum size of an individual evidence file: 100 MB

  • Number of daily manual evidence uploads per control: 100

  • Supported file formats: See [Supported file types for manual evidence] in the *Audit Manager User Guide*

For more information about Audit Manager service restrictions, see [Quotas and restrictions for Audit Manager].

[1]: docs.aws.amazon.com/audit-manager/latest/userguide/upload-evidence.html#how-to-upload-manual-evidence-files [2]: docs.aws.amazon.com/audit-manager/latest/userguide/upload-evidence.html#supported-manual-evidence-files [3]: docs.aws.amazon.com/audit-manager/latest/userguide/service-quotas.html

Examples:

Request syntax with placeholder values


resp = client.get_evidence_file_upload_url({
  file_name: "ManualEvidenceLocalFileName", # required
})

Response structure


resp.evidence_file_name #=> String
resp.upload_url #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



2059
2060
2061
2062
# File 'lib/aws-sdk-auditmanager/client.rb', line 2059

def get_evidence_file_upload_url(params = {}, options = {})
  req = build_request(:get_evidence_file_upload_url, params)
  req.send_request(options)
end

#get_evidence_folder(params = {}) ⇒ Types::GetEvidenceFolderResponse

Gets an evidence folder from a specified assessment in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.get_evidence_folder({
  assessment_id: "UUID", # required
  control_set_id: "ControlSetId", # required
  evidence_folder_id: "UUID", # required
})

Response structure


resp.evidence_folder.name #=> String
resp.evidence_folder.date #=> Time
resp.evidence_folder.assessment_id #=> String
resp.evidence_folder.control_set_id #=> String
resp.evidence_folder.control_id #=> String
resp.evidence_folder.id #=> String
resp.evidence_folder.data_source #=> String
resp.evidence_folder.author #=> String
resp.evidence_folder.total_evidence #=> Integer
resp.evidence_folder.assessment_report_selection_count #=> Integer
resp.evidence_folder.control_name #=> String
resp.evidence_folder.evidence_resources_included_count #=> Integer
resp.evidence_folder.evidence_by_type_configuration_data_count #=> Integer
resp.evidence_folder.evidence_by_type_manual_count #=> Integer
resp.evidence_folder.evidence_by_type_compliance_check_count #=> Integer
resp.evidence_folder.evidence_by_type_compliance_check_issues_count #=> Integer
resp.evidence_folder.evidence_by_type_user_activity_count #=> Integer
resp.evidence_folder.evidence_aws_service_source_count #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :control_set_id (required, String)

    The unique identifier for the control set.

  • :evidence_folder_id (required, String)

    The unique identifier for the folder that the evidence is stored in.

Returns:

See Also:



2112
2113
2114
2115
# File 'lib/aws-sdk-auditmanager/client.rb', line 2112

def get_evidence_folder(params = {}, options = {})
  req = build_request(:get_evidence_folder, params)
  req.send_request(options)
end

#get_evidence_folders_by_assessment(params = {}) ⇒ Types::GetEvidenceFoldersByAssessmentResponse

Gets the evidence folders from a specified assessment in Audit Manager.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.get_evidence_folders_by_assessment({
  assessment_id: "UUID", # required
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.evidence_folders #=> Array
resp.evidence_folders[0].name #=> String
resp.evidence_folders[0].date #=> Time
resp.evidence_folders[0].assessment_id #=> String
resp.evidence_folders[0].control_set_id #=> String
resp.evidence_folders[0].control_id #=> String
resp.evidence_folders[0].id #=> String
resp.evidence_folders[0].data_source #=> String
resp.evidence_folders[0].author #=> String
resp.evidence_folders[0].total_evidence #=> Integer
resp.evidence_folders[0].assessment_report_selection_count #=> Integer
resp.evidence_folders[0].control_name #=> String
resp.evidence_folders[0].evidence_resources_included_count #=> Integer
resp.evidence_folders[0].evidence_by_type_configuration_data_count #=> Integer
resp.evidence_folders[0].evidence_by_type_manual_count #=> Integer
resp.evidence_folders[0].evidence_by_type_compliance_check_count #=> Integer
resp.evidence_folders[0].evidence_by_type_compliance_check_issues_count #=> Integer
resp.evidence_folders[0].evidence_by_type_user_activity_count #=> Integer
resp.evidence_folders[0].evidence_aws_service_source_count #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2172
2173
2174
2175
# File 'lib/aws-sdk-auditmanager/client.rb', line 2172

def get_evidence_folders_by_assessment(params = {}, options = {})
  req = build_request(:get_evidence_folders_by_assessment, params)
  req.send_request(options)
end

#get_evidence_folders_by_assessment_control(params = {}) ⇒ Types::GetEvidenceFoldersByAssessmentControlResponse

Gets a list of evidence folders that are associated with a specified control in an Audit Manager assessment.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.get_evidence_folders_by_assessment_control({
  assessment_id: "UUID", # required
  control_set_id: "ControlSetId", # required
  control_id: "UUID", # required
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.evidence_folders #=> Array
resp.evidence_folders[0].name #=> String
resp.evidence_folders[0].date #=> Time
resp.evidence_folders[0].assessment_id #=> String
resp.evidence_folders[0].control_set_id #=> String
resp.evidence_folders[0].control_id #=> String
resp.evidence_folders[0].id #=> String
resp.evidence_folders[0].data_source #=> String
resp.evidence_folders[0].author #=> String
resp.evidence_folders[0].total_evidence #=> Integer
resp.evidence_folders[0].assessment_report_selection_count #=> Integer
resp.evidence_folders[0].control_name #=> String
resp.evidence_folders[0].evidence_resources_included_count #=> Integer
resp.evidence_folders[0].evidence_by_type_configuration_data_count #=> Integer
resp.evidence_folders[0].evidence_by_type_manual_count #=> Integer
resp.evidence_folders[0].evidence_by_type_compliance_check_count #=> Integer
resp.evidence_folders[0].evidence_by_type_compliance_check_issues_count #=> Integer
resp.evidence_folders[0].evidence_by_type_user_activity_count #=> Integer
resp.evidence_folders[0].evidence_aws_service_source_count #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The identifier for the assessment.

  • :control_set_id (required, String)

    The identifier for the control set.

  • :control_id (required, String)

    The identifier for the control.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2240
2241
2242
2243
# File 'lib/aws-sdk-auditmanager/client.rb', line 2240

def get_evidence_folders_by_assessment_control(params = {}, options = {})
  req = build_request(:get_evidence_folders_by_assessment_control, params)
  req.send_request(options)
end

#get_insights(params = {}) ⇒ Types::GetInsightsResponse

Gets the latest analytics data for all your current active assessments.

Examples:

Response structure


resp.insights.active_assessments_count #=> Integer
resp.insights.noncompliant_evidence_count #=> Integer
resp.insights.compliant_evidence_count #=> Integer
resp.insights.inconclusive_evidence_count #=> Integer
resp.insights.assessment_controls_count_by_noncompliant_evidence #=> Integer
resp.insights.total_assessment_controls_count #=> Integer
resp.insights.last_updated #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



2266
2267
2268
2269
# File 'lib/aws-sdk-auditmanager/client.rb', line 2266

def get_insights(params = {}, options = {})
  req = build_request(:get_insights, params)
  req.send_request(options)
end

#get_insights_by_assessment(params = {}) ⇒ Types::GetInsightsByAssessmentResponse

Gets the latest analytics data for a specific active assessment.

Examples:

Request syntax with placeholder values


resp = client.get_insights_by_assessment({
  assessment_id: "UUID", # required
})

Response structure


resp.insights.noncompliant_evidence_count #=> Integer
resp.insights.compliant_evidence_count #=> Integer
resp.insights.inconclusive_evidence_count #=> Integer
resp.insights.assessment_controls_count_by_noncompliant_evidence #=> Integer
resp.insights.total_assessment_controls_count #=> Integer
resp.insights.last_updated #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

Returns:

See Also:



2299
2300
2301
2302
# File 'lib/aws-sdk-auditmanager/client.rb', line 2299

def get_insights_by_assessment(params = {}, options = {})
  req = build_request(:get_insights_by_assessment, params)
  req.send_request(options)
end

#get_organization_admin_account(params = {}) ⇒ Types::GetOrganizationAdminAccountResponse

Gets the name of the delegated Amazon Web Services administrator account for a specified organization.

Examples:

Response structure


resp. #=> String
resp.organization_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



2321
2322
2323
2324
# File 'lib/aws-sdk-auditmanager/client.rb', line 2321

def (params = {}, options = {})
  req = build_request(:get_organization_admin_account, params)
  req.send_request(options)
end

#get_services_in_scope(params = {}) ⇒ Types::GetServicesInScopeResponse

Gets a list of the Amazon Web Services services from which Audit Manager can collect evidence.

Audit Manager defines which Amazon Web Services services are in scope for an assessment. Audit Manager infers this scope by examining the assessment’s controls and their data sources, and then mapping this information to one or more of the corresponding Amazon Web Services services that are in this list.

<note markdown=“1”> For information about why it’s no longer possible to specify services in scope manually, see [I can’t edit the services in scope for my assessment] in the Troubleshooting section of the Audit Manager user guide.

</note>

[1]: docs.aws.amazon.com/audit-manager/latest/userguide/evidence-collection-issues.html#unable-to-edit-services

Examples:

Response structure


resp. #=> Array
resp.[0].name #=> String
resp.[0].display_name #=> String
resp.[0].description #=> String
resp.[0].category #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



2362
2363
2364
2365
# File 'lib/aws-sdk-auditmanager/client.rb', line 2362

def get_services_in_scope(params = {}, options = {})
  req = build_request(:get_services_in_scope, params)
  req.send_request(options)
end

#get_settings(params = {}) ⇒ Types::GetSettingsResponse

Gets the settings for a specified Amazon Web Services account.

Examples:

Request syntax with placeholder values


resp = client.get_settings({
  attribute: "ALL", # required, accepts ALL, IS_AWS_ORG_ENABLED, SNS_TOPIC, DEFAULT_ASSESSMENT_REPORTS_DESTINATION, DEFAULT_PROCESS_OWNERS, EVIDENCE_FINDER_ENABLEMENT, DEREGISTRATION_POLICY, DEFAULT_EXPORT_DESTINATION
})

Response structure


resp.settings.is_aws_org_enabled #=> Boolean
resp.settings.sns_topic #=> String
resp.settings.default_assessment_reports_destination.destination_type #=> String, one of "S3"
resp.settings.default_assessment_reports_destination.destination #=> String
resp.settings.default_process_owners #=> Array
resp.settings.default_process_owners[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.settings.default_process_owners[0].role_arn #=> String
resp.settings.kms_key #=> String
resp.settings.evidence_finder_enablement.event_data_store_arn #=> String
resp.settings.evidence_finder_enablement.enablement_status #=> String, one of "ENABLED", "DISABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS"
resp.settings.evidence_finder_enablement.backfill_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
resp.settings.evidence_finder_enablement.error #=> String
resp.settings.deregistration_policy.delete_resources #=> String, one of "ALL", "DEFAULT"
resp.settings.default_export_destination.destination_type #=> String, one of "S3"
resp.settings.default_export_destination.destination #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :attribute (required, String)

    The list of setting attribute enum values.

Returns:

See Also:



2404
2405
2406
2407
# File 'lib/aws-sdk-auditmanager/client.rb', line 2404

def get_settings(params = {}, options = {})
  req = build_request(:get_settings, params)
  req.send_request(options)
end

#list_assessment_control_insights_by_control_domain(params = {}) ⇒ Types::ListAssessmentControlInsightsByControlDomainResponse

Lists the latest analytics data for controls within a specific control domain and a specific active assessment.

<note markdown=“1”> Control insights are listed only if the control belongs to the control domain and assessment that was specified. Moreover, the control must have collected evidence on the ‘lastUpdated` date of `controlInsightsByAssessment`. If neither of these conditions are met, no data is listed for that control.

</note>

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_assessment_control_insights_by_control_domain({
  control_domain_id: "ControlDomainId", # required
  assessment_id: "UUID", # required
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.control_insights_by_assessment #=> Array
resp.control_insights_by_assessment[0].name #=> String
resp.control_insights_by_assessment[0].id #=> String
resp.control_insights_by_assessment[0].evidence_insights.noncompliant_evidence_count #=> Integer
resp.control_insights_by_assessment[0].evidence_insights.compliant_evidence_count #=> Integer
resp.control_insights_by_assessment[0].evidence_insights.inconclusive_evidence_count #=> Integer
resp.control_insights_by_assessment[0].control_set_name #=> String
resp.control_insights_by_assessment[0].last_updated #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :control_domain_id (required, String)

    The unique identifier for the control domain.

    Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see [ ‘ListDomains` ][1] in the Amazon Web Services Control Catalog API Reference.

    [1]: docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListDomains.html

  • :assessment_id (required, String)

    The unique identifier for the active assessment.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2474
2475
2476
2477
# File 'lib/aws-sdk-auditmanager/client.rb', line 2474

def list_assessment_control_insights_by_control_domain(params = {}, options = {})
  req = build_request(:list_assessment_control_insights_by_control_domain, params)
  req.send_request(options)
end

#list_assessment_framework_share_requests(params = {}) ⇒ Types::ListAssessmentFrameworkShareRequestsResponse

Returns a list of sent or received share requests for custom frameworks in Audit Manager.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_assessment_framework_share_requests({
  request_type: "SENT", # required, accepts SENT, RECEIVED
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.assessment_framework_share_requests #=> Array
resp.assessment_framework_share_requests[0].id #=> String
resp.assessment_framework_share_requests[0].framework_id #=> String
resp.assessment_framework_share_requests[0].framework_name #=> String
resp.assessment_framework_share_requests[0].framework_description #=> String
resp.assessment_framework_share_requests[0].status #=> String, one of "ACTIVE", "REPLICATING", "SHARED", "EXPIRING", "FAILED", "EXPIRED", "DECLINED", "REVOKED"
resp.assessment_framework_share_requests[0]. #=> String
resp.assessment_framework_share_requests[0]. #=> String
resp.assessment_framework_share_requests[0].destination_region #=> String
resp.assessment_framework_share_requests[0].expiration_time #=> Time
resp.assessment_framework_share_requests[0].creation_time #=> Time
resp.assessment_framework_share_requests[0].last_updated #=> Time
resp.assessment_framework_share_requests[0].comment #=> String
resp.assessment_framework_share_requests[0].standard_controls_count #=> Integer
resp.assessment_framework_share_requests[0].custom_controls_count #=> Integer
resp.assessment_framework_share_requests[0].compliance_type #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :request_type (required, String)

    Specifies whether the share request is a sent request or a received request.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2532
2533
2534
2535
# File 'lib/aws-sdk-auditmanager/client.rb', line 2532

def list_assessment_framework_share_requests(params = {}, options = {})
  req = build_request(:list_assessment_framework_share_requests, params)
  req.send_request(options)
end

#list_assessment_frameworks(params = {}) ⇒ Types::ListAssessmentFrameworksResponse

Returns a list of the frameworks that are available in the Audit Manager framework library.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_assessment_frameworks({
  framework_type: "Standard", # required, accepts Standard, Custom
  next_token: "Token",
  max_results: 1,
})

Response structure


resp. #=> Array
resp.[0].arn #=> String
resp.[0].id #=> String
resp.[0].type #=> String, one of "Standard", "Custom"
resp.[0].name #=> String
resp.[0].description #=> String
resp.[0]. #=> String
resp.[0].compliance_type #=> String
resp.[0].controls_count #=> Integer
resp.[0].control_sets_count #=> Integer
resp.[0].created_at #=> Time
resp.[0].last_updated_at #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :framework_type (required, String)

    The type of framework, such as a standard framework or a custom framework.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2586
2587
2588
2589
# File 'lib/aws-sdk-auditmanager/client.rb', line 2586

def list_assessment_frameworks(params = {}, options = {})
  req = build_request(:list_assessment_frameworks, params)
  req.send_request(options)
end

#list_assessment_reports(params = {}) ⇒ Types::ListAssessmentReportsResponse

Returns a list of assessment reports created in Audit Manager.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_assessment_reports({
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.assessment_reports #=> Array
resp.assessment_reports[0].id #=> String
resp.assessment_reports[0].name #=> String
resp.assessment_reports[0].description #=> String
resp.assessment_reports[0].assessment_id #=> String
resp.assessment_reports[0].assessment_name #=> String
resp.assessment_reports[0].author #=> String
resp.assessment_reports[0].status #=> String, one of "COMPLETE", "IN_PROGRESS", "FAILED"
resp.assessment_reports[0].creation_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2631
2632
2633
2634
# File 'lib/aws-sdk-auditmanager/client.rb', line 2631

def list_assessment_reports(params = {}, options = {})
  req = build_request(:list_assessment_reports, params)
  req.send_request(options)
end

#list_assessments(params = {}) ⇒ Types::ListAssessmentsResponse

Returns a list of current and past assessments from Audit Manager.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_assessments({
  status: "ACTIVE", # accepts ACTIVE, INACTIVE
  next_token: "Token",
  max_results: 1,
})

Response structure


resp. #=> Array
resp.[0].name #=> String
resp.[0].id #=> String
resp.[0].compliance_type #=> String
resp.[0].status #=> String, one of "ACTIVE", "INACTIVE"
resp.[0].roles #=> Array
resp.[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.[0].roles[0].role_arn #=> String
resp.[0].delegations #=> Array
resp.[0].delegations[0].id #=> String
resp.[0].delegations[0].assessment_name #=> String
resp.[0].delegations[0].assessment_id #=> String
resp.[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.[0].delegations[0].role_arn #=> String
resp.[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.[0].delegations[0].creation_time #=> Time
resp.[0].delegations[0].last_updated #=> Time
resp.[0].delegations[0].control_set_id #=> String
resp.[0].delegations[0].comment #=> String
resp.[0].delegations[0].created_by #=> String
resp.[0].creation_time #=> Time
resp.[0].last_updated #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :status (String)

    The current status of the assessment.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2693
2694
2695
2696
# File 'lib/aws-sdk-auditmanager/client.rb', line 2693

def list_assessments(params = {}, options = {})
  req = build_request(:list_assessments, params)
  req.send_request(options)
end

#list_control_domain_insights(params = {}) ⇒ Types::ListControlDomainInsightsResponse

Lists the latest analytics data for control domains across all of your active assessments.

Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see [ ‘ListDomains` ][1] in the Amazon Web Services Control Catalog API Reference.

<note markdown=“1”> A control domain is listed only if at least one of the controls within that domain collected evidence on the ‘lastUpdated` date of `controlDomainInsights`. If this condition isn’t met, no data is listed for that control domain.

</note>

[1]: docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListDomains.html

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_control_domain_insights({
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.control_domain_insights #=> Array
resp.control_domain_insights[0].name #=> String
resp.control_domain_insights[0].id #=> String
resp.control_domain_insights[0].controls_count_by_noncompliant_evidence #=> Integer
resp.control_domain_insights[0].total_controls_count #=> Integer
resp.control_domain_insights[0].evidence_insights.noncompliant_evidence_count #=> Integer
resp.control_domain_insights[0].evidence_insights.compliant_evidence_count #=> Integer
resp.control_domain_insights[0].evidence_insights.inconclusive_evidence_count #=> Integer
resp.control_domain_insights[0].last_updated #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2755
2756
2757
2758
# File 'lib/aws-sdk-auditmanager/client.rb', line 2755

def list_control_domain_insights(params = {}, options = {})
  req = build_request(:list_control_domain_insights, params)
  req.send_request(options)
end

#list_control_domain_insights_by_assessment(params = {}) ⇒ Types::ListControlDomainInsightsByAssessmentResponse

Lists analytics data for control domains within a specified active assessment.

Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see [ ‘ListDomains` ][1] in the Amazon Web Services Control Catalog API Reference.

<note markdown=“1”> A control domain is listed only if at least one of the controls within that domain collected evidence on the ‘lastUpdated` date of `controlDomainInsights`. If this condition isn’t met, no data is listed for that domain.

</note>

[1]: docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListDomains.html

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_control_domain_insights_by_assessment({
  assessment_id: "UUID", # required
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.control_domain_insights #=> Array
resp.control_domain_insights[0].name #=> String
resp.control_domain_insights[0].id #=> String
resp.control_domain_insights[0].controls_count_by_noncompliant_evidence #=> Integer
resp.control_domain_insights[0].total_controls_count #=> Integer
resp.control_domain_insights[0].evidence_insights.noncompliant_evidence_count #=> Integer
resp.control_domain_insights[0].evidence_insights.compliant_evidence_count #=> Integer
resp.control_domain_insights[0].evidence_insights.inconclusive_evidence_count #=> Integer
resp.control_domain_insights[0].last_updated #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the active assessment.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2821
2822
2823
2824
# File 'lib/aws-sdk-auditmanager/client.rb', line 2821

def list_control_domain_insights_by_assessment(params = {}, options = {})
  req = build_request(:list_control_domain_insights_by_assessment, params)
  req.send_request(options)
end

#list_control_insights_by_control_domain(params = {}) ⇒ Types::ListControlInsightsByControlDomainResponse

Lists the latest analytics data for controls within a specific control domain across all active assessments.

<note markdown=“1”> Control insights are listed only if the control belongs to the control domain that was specified and the control collected evidence on the ‘lastUpdated` date of `controlInsightsMetadata`. If neither of these conditions are met, no data is listed for that control.

</note>

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_control_insights_by_control_domain({
  control_domain_id: "ControlDomainId", # required
  next_token: "Token",
  max_results: 1,
})

Response structure


resp. #=> Array
resp.[0].name #=> String
resp.[0].id #=> String
resp.[0].evidence_insights.noncompliant_evidence_count #=> Integer
resp.[0].evidence_insights.compliant_evidence_count #=> Integer
resp.[0].evidence_insights.inconclusive_evidence_count #=> Integer
resp.[0].last_updated #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :control_domain_id (required, String)

    The unique identifier for the control domain.

    Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see [ ‘ListDomains` ][1] in the Amazon Web Services Control Catalog API Reference.

    [1]: docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListDomains.html

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



2885
2886
2887
2888
# File 'lib/aws-sdk-auditmanager/client.rb', line 2885

def list_control_insights_by_control_domain(params = {}, options = {})
  req = build_request(:list_control_insights_by_control_domain, params)
  req.send_request(options)
end

#list_controls(params = {}) ⇒ Types::ListControlsResponse

Returns a list of controls from Audit Manager.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_controls({
  control_type: "Standard", # required, accepts Standard, Custom, Core
  next_token: "Token",
  max_results: 1,
  control_catalog_id: "ControlCatalogId",
})

Response structure


resp. #=> Array
resp.[0].arn #=> String
resp.[0].id #=> String
resp.[0].name #=> String
resp.[0].control_sources #=> String
resp.[0].created_at #=> Time
resp.[0].last_updated_at #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :control_type (required, String)

    A filter that narrows the list of controls to a specific type.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    The maximum number of results on a page or for an API request call.

  • :control_catalog_id (String)

    A filter that narrows the list of controls to a specific resource from the Amazon Web Services Control Catalog.

    To use this parameter, specify the ARN of the Control Catalog resource. You can specify either a control domain, a control objective, or a common control. For information about how to find the ARNs for these resources, see [ ‘ListDomains` ][1], [ `ListObjectives` ][2], and [ `ListCommonControls` ][3].

    <note markdown=“1”> You can only filter by one Control Catalog resource at a time. Specifying multiple resource ARNs isn’t currently supported. If you want to filter by more than one ARN, we recommend that you run the ‘ListControls` operation separately for each ARN.

    </note>
    

    Alternatively, specify ‘UNCATEGORIZED` to list controls that aren’t mapped to a Control Catalog resource. For example, this operation might return a list of custom controls that don’t belong to any control domain or control objective.

    [1]: docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListDomains.html [2]: docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListObjectives.html [3]: docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListCommonControls.html

Returns:

See Also:



2960
2961
2962
2963
# File 'lib/aws-sdk-auditmanager/client.rb', line 2960

def list_controls(params = {}, options = {})
  req = build_request(:list_controls, params)
  req.send_request(options)
end

#list_keywords_for_data_source(params = {}) ⇒ Types::ListKeywordsForDataSourceResponse

Returns a list of keywords that are pre-mapped to the specified control data source.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_keywords_for_data_source({
  source: "AWS_Cloudtrail", # required, accepts AWS_Cloudtrail, AWS_Config, AWS_Security_Hub, AWS_API_Call, MANUAL
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.keywords #=> Array
resp.keywords[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :source (required, String)

    The control mapping data source that the keywords apply to.

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



3003
3004
3005
3006
# File 'lib/aws-sdk-auditmanager/client.rb', line 3003

def list_keywords_for_data_source(params = {}, options = {})
  req = build_request(:list_keywords_for_data_source, params)
  req.send_request(options)
end

#list_notifications(params = {}) ⇒ Types::ListNotificationsResponse

Returns a list of all Audit Manager notifications.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_notifications({
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.notifications #=> Array
resp.notifications[0].id #=> String
resp.notifications[0].assessment_id #=> String
resp.notifications[0].assessment_name #=> String
resp.notifications[0].control_set_id #=> String
resp.notifications[0].control_set_name #=> String
resp.notifications[0].description #=> String
resp.notifications[0].event_time #=> Time
resp.notifications[0].source #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    The pagination token that’s used to fetch the next set of results.

  • :max_results (Integer)

    Represents the maximum number of results on a page or for an API request call.

Returns:

See Also:



3048
3049
3050
3051
# File 'lib/aws-sdk-auditmanager/client.rb', line 3048

def list_notifications(params = {}, options = {})
  req = build_request(:list_notifications, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Returns a list of tags for the specified resource in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "AuditManagerArn", # required
})

Response structure


resp.tags #=> Hash
resp.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource.

Returns:

See Also:



3077
3078
3079
3080
# File 'lib/aws-sdk-auditmanager/client.rb', line 3077

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#register_account(params = {}) ⇒ Types::RegisterAccountResponse

Enables Audit Manager for the specified Amazon Web Services account.

Examples:

Request syntax with placeholder values


resp = client.({
  kms_key: "KmsKey",
  delegated_admin_account: "AccountId",
})

Response structure


resp.status #=> String, one of "ACTIVE", "INACTIVE", "PENDING_ACTIVATION"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :kms_key (String)

    The KMS key details.

  • :delegated_admin_account (String)

    The delegated administrator account for Audit Manager.

Returns:

See Also:



3109
3110
3111
3112
# File 'lib/aws-sdk-auditmanager/client.rb', line 3109

def (params = {}, options = {})
  req = build_request(:register_account, params)
  req.send_request(options)
end

#register_organization_admin_account(params = {}) ⇒ Types::RegisterOrganizationAdminAccountResponse

Enables an Amazon Web Services account within the organization as the delegated administrator for Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.({
  admin_account_id: "AccountId", # required
})

Response structure


resp. #=> String
resp.organization_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :admin_account_id (required, String)

    The identifier for the delegated administrator account.

Returns:

See Also:



3140
3141
3142
3143
# File 'lib/aws-sdk-auditmanager/client.rb', line 3140

def (params = {}, options = {})
  req = build_request(:register_organization_admin_account, params)
  req.send_request(options)
end

#start_assessment_framework_share(params = {}) ⇒ Types::StartAssessmentFrameworkShareResponse

Creates a share request for a custom framework in Audit Manager.

The share request specifies a recipient and notifies them that a custom framework is available. Recipients have 120 days to accept or decline the request. If no action is taken, the share request expires.

When you create a share request, Audit Manager stores a snapshot of your custom framework in the US East (N. Virginia) Amazon Web Services Region. Audit Manager also stores a backup of the same snapshot in the US West (Oregon) Amazon Web Services Region.

Audit Manager deletes the snapshot and the backup snapshot when one of the following events occurs:

  • The sender revokes the share request.

  • The recipient declines the share request.

  • The recipient encounters an error and doesn’t successfully accept the share request.

  • The share request expires before the recipient responds to the request.

When a sender [resends a share request], the snapshot is replaced with an updated version that corresponds with the latest version of the custom framework.

When a recipient accepts a share request, the snapshot is replicated into their Amazon Web Services account under the Amazon Web Services Region that was specified in the share request.

When you invoke the ‘StartAssessmentFrameworkShare` API, you are about to share a custom framework with another Amazon Web Services account. You may not share a custom framework that is derived from a standard framework if the standard framework is designated as not eligible for sharing by Amazon Web Services, unless you have obtained permission to do so from the owner of the standard framework. To learn more about which standard frameworks are eligible for sharing, see [Framework sharing eligibility] in the *Audit Manager User Guide*.

[1]: docs.aws.amazon.com/audit-manager/latest/userguide/framework-sharing.html#framework-sharing-resend [2]: docs.aws.amazon.com/audit-manager/latest/userguide/share-custom-framework-concepts-and-terminology.html#eligibility

Examples:

Request syntax with placeholder values


resp = client.start_assessment_framework_share({
  framework_id: "UUID", # required
  destination_account: "AccountId", # required
  destination_region: "Region", # required
  comment: "ShareRequestComment",
})

Response structure


resp.assessment_framework_share_request.id #=> String
resp.assessment_framework_share_request.framework_id #=> String
resp.assessment_framework_share_request.framework_name #=> String
resp.assessment_framework_share_request.framework_description #=> String
resp.assessment_framework_share_request.status #=> String, one of "ACTIVE", "REPLICATING", "SHARED", "EXPIRING", "FAILED", "EXPIRED", "DECLINED", "REVOKED"
resp.assessment_framework_share_request. #=> String
resp.assessment_framework_share_request. #=> String
resp.assessment_framework_share_request.destination_region #=> String
resp.assessment_framework_share_request.expiration_time #=> Time
resp.assessment_framework_share_request.creation_time #=> Time
resp.assessment_framework_share_request.last_updated #=> Time
resp.assessment_framework_share_request.comment #=> String
resp.assessment_framework_share_request.standard_controls_count #=> Integer
resp.assessment_framework_share_request.custom_controls_count #=> Integer
resp.assessment_framework_share_request.compliance_type #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :framework_id (required, String)

    The unique identifier for the custom framework to be shared.

  • :destination_account (required, String)

    The Amazon Web Services account of the recipient.

  • :destination_region (required, String)

    The Amazon Web Services Region of the recipient.

  • :comment (String)

    An optional comment from the sender about the share request.

Returns:

See Also:



3238
3239
3240
3241
# File 'lib/aws-sdk-auditmanager/client.rb', line 3238

def start_assessment_framework_share(params = {}, options = {})
  req = build_request(:start_assessment_framework_share, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Tags the specified resource in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "AuditManagerArn", # required
  tags: { # required
    "TagKey" => "TagValue",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource.

  • :tags (required, Hash<String,String>)

    The tags that are associated with the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3266
3267
3268
3269
# File 'lib/aws-sdk-auditmanager/client.rb', line 3266

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Removes a tag from a resource in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "AuditManagerArn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the specified resource.

  • :tag_keys (required, Array<String>)

    The name or key of the tag.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3292
3293
3294
3295
# File 'lib/aws-sdk-auditmanager/client.rb', line 3292

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_assessment(params = {}) ⇒ Types::UpdateAssessmentResponse

Edits an Audit Manager assessment.

Examples:

Request syntax with placeholder values


resp = client.update_assessment({
  assessment_id: "UUID", # required
  assessment_name: "AssessmentName",
  assessment_description: "AssessmentDescription",
  scope: { # required
    aws_accounts: [
      {
        id: "AccountId",
        email_address: "EmailAddress",
        name: "AccountName",
      },
    ],
    aws_services: [
      {
        service_name: "AWSServiceName",
      },
    ],
  },
  assessment_reports_destination: {
    destination_type: "S3", # accepts S3
    destination: "S3Url",
  },
  roles: [
    {
      role_type: "PROCESS_OWNER", # required, accepts PROCESS_OWNER, RESOURCE_OWNER
      role_arn: "IamArn", # required
    },
  ],
})

Response structure


resp.assessment.arn #=> String
resp.assessment..id #=> String
resp.assessment..email_address #=> String
resp.assessment..name #=> String
resp.assessment..name #=> String
resp.assessment..id #=> String
resp.assessment..description #=> String
resp.assessment..compliance_type #=> String
resp.assessment..status #=> String, one of "ACTIVE", "INACTIVE"
resp.assessment..assessment_reports_destination.destination_type #=> String, one of "S3"
resp.assessment..assessment_reports_destination.destination #=> String
resp.assessment..scope.aws_accounts #=> Array
resp.assessment..scope.aws_accounts[0].id #=> String
resp.assessment..scope.aws_accounts[0].email_address #=> String
resp.assessment..scope.aws_accounts[0].name #=> String
resp.assessment..scope.aws_services #=> Array
resp.assessment..scope.aws_services[0].service_name #=> String
resp.assessment..roles #=> Array
resp.assessment..roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment..roles[0].role_arn #=> String
resp.assessment..delegations #=> Array
resp.assessment..delegations[0].id #=> String
resp.assessment..delegations[0].assessment_name #=> String
resp.assessment..delegations[0].assessment_id #=> String
resp.assessment..delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.assessment..delegations[0].role_arn #=> String
resp.assessment..delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment..delegations[0].creation_time #=> Time
resp.assessment..delegations[0].last_updated #=> Time
resp.assessment..delegations[0].control_set_id #=> String
resp.assessment..delegations[0].comment #=> String
resp.assessment..delegations[0].created_by #=> String
resp.assessment..creation_time #=> Time
resp.assessment..last_updated #=> Time
resp.assessment.framework.id #=> String
resp.assessment.framework.arn #=> String
resp.assessment.framework..name #=> String
resp.assessment.framework..description #=> String
resp.assessment.framework.. #=> String
resp.assessment.framework..compliance_type #=> String
resp.assessment.framework.control_sets #=> Array
resp.assessment.framework.control_sets[0].id #=> String
resp.assessment.framework.control_sets[0].description #=> String
resp.assessment.framework.control_sets[0].status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
resp.assessment.framework.control_sets[0].roles #=> Array
resp.assessment.framework.control_sets[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment.framework.control_sets[0].roles[0].role_arn #=> String
resp.assessment.framework.control_sets[0].controls #=> Array
resp.assessment.framework.control_sets[0].controls[0].id #=> String
resp.assessment.framework.control_sets[0].controls[0].name #=> String
resp.assessment.framework.control_sets[0].controls[0].description #=> String
resp.assessment.framework.control_sets[0].controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
resp.assessment.framework.control_sets[0].controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
resp.assessment.framework.control_sets[0].controls[0].comments #=> Array
resp.assessment.framework.control_sets[0].controls[0].comments[0].author_name #=> String
resp.assessment.framework.control_sets[0].controls[0].comments[0].comment_body #=> String
resp.assessment.framework.control_sets[0].controls[0].comments[0].posted_date #=> Time
resp.assessment.framework.control_sets[0].controls[0].evidence_sources #=> Array
resp.assessment.framework.control_sets[0].controls[0].evidence_sources[0] #=> String
resp.assessment.framework.control_sets[0].controls[0].evidence_count #=> Integer
resp.assessment.framework.control_sets[0].controls[0].assessment_report_evidence_count #=> Integer
resp.assessment.framework.control_sets[0].delegations #=> Array
resp.assessment.framework.control_sets[0].delegations[0].id #=> String
resp.assessment.framework.control_sets[0].delegations[0].assessment_name #=> String
resp.assessment.framework.control_sets[0].delegations[0].assessment_id #=> String
resp.assessment.framework.control_sets[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.assessment.framework.control_sets[0].delegations[0].role_arn #=> String
resp.assessment.framework.control_sets[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment.framework.control_sets[0].delegations[0].creation_time #=> Time
resp.assessment.framework.control_sets[0].delegations[0].last_updated #=> Time
resp.assessment.framework.control_sets[0].delegations[0].control_set_id #=> String
resp.assessment.framework.control_sets[0].delegations[0].comment #=> String
resp.assessment.framework.control_sets[0].delegations[0].created_by #=> String
resp.assessment.framework.control_sets[0].system_evidence_count #=> Integer
resp.assessment.framework.control_sets[0].manual_evidence_count #=> Integer
resp.assessment.tags #=> Hash
resp.assessment.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :assessment_name (String)

    The name of the assessment to be updated.

  • :assessment_description (String)

    The description of the assessment.

  • :scope (required, Types::Scope)

    The scope of the assessment.

  • :assessment_reports_destination (Types::AssessmentReportsDestination)

    The assessment report storage destination for the assessment that’s being updated.

  • :roles (Array<Types::Role>)

    The list of roles for the assessment.

Returns:

See Also:



3438
3439
3440
3441
# File 'lib/aws-sdk-auditmanager/client.rb', line 3438

def update_assessment(params = {}, options = {})
  req = build_request(:update_assessment, params)
  req.send_request(options)
end

#update_assessment_control(params = {}) ⇒ Types::UpdateAssessmentControlResponse

Updates a control within an assessment in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.update_assessment_control({
  assessment_id: "UUID", # required
  control_set_id: "ControlSetId", # required
  control_id: "UUID", # required
  control_status: "UNDER_REVIEW", # accepts UNDER_REVIEW, REVIEWED, INACTIVE
  comment_body: "ControlCommentBody",
})

Response structure


resp.control.id #=> String
resp.control.name #=> String
resp.control.description #=> String
resp.control.status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
resp.control.response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
resp.control.comments #=> Array
resp.control.comments[0].author_name #=> String
resp.control.comments[0].comment_body #=> String
resp.control.comments[0].posted_date #=> Time
resp.control.evidence_sources #=> Array
resp.control.evidence_sources[0] #=> String
resp.control.evidence_count #=> Integer
resp.control.assessment_report_evidence_count #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :control_set_id (required, String)

    The unique identifier for the control set.

  • :control_id (required, String)

    The unique identifier for the control.

  • :control_status (String)

    The status of the control.

  • :comment_body (String)

    The comment body text for the control.

Returns:

See Also:



3494
3495
3496
3497
# File 'lib/aws-sdk-auditmanager/client.rb', line 3494

def update_assessment_control(params = {}, options = {})
  req = build_request(:update_assessment_control, params)
  req.send_request(options)
end

#update_assessment_control_set_status(params = {}) ⇒ Types::UpdateAssessmentControlSetStatusResponse

Updates the status of a control set in an Audit Manager assessment.

Examples:

Request syntax with placeholder values


resp = client.update_assessment_control_set_status({
  assessment_id: "UUID", # required
  control_set_id: "String", # required
  status: "ACTIVE", # required, accepts ACTIVE, UNDER_REVIEW, REVIEWED
  comment: "DelegationComment", # required
})

Response structure


resp.control_set.id #=> String
resp.control_set.description #=> String
resp.control_set.status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
resp.control_set.roles #=> Array
resp.control_set.roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.control_set.roles[0].role_arn #=> String
resp.control_set.controls #=> Array
resp.control_set.controls[0].id #=> String
resp.control_set.controls[0].name #=> String
resp.control_set.controls[0].description #=> String
resp.control_set.controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
resp.control_set.controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
resp.control_set.controls[0].comments #=> Array
resp.control_set.controls[0].comments[0].author_name #=> String
resp.control_set.controls[0].comments[0].comment_body #=> String
resp.control_set.controls[0].comments[0].posted_date #=> Time
resp.control_set.controls[0].evidence_sources #=> Array
resp.control_set.controls[0].evidence_sources[0] #=> String
resp.control_set.controls[0].evidence_count #=> Integer
resp.control_set.controls[0].assessment_report_evidence_count #=> Integer
resp.control_set.delegations #=> Array
resp.control_set.delegations[0].id #=> String
resp.control_set.delegations[0].assessment_name #=> String
resp.control_set.delegations[0].assessment_id #=> String
resp.control_set.delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.control_set.delegations[0].role_arn #=> String
resp.control_set.delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.control_set.delegations[0].creation_time #=> Time
resp.control_set.delegations[0].last_updated #=> Time
resp.control_set.delegations[0].control_set_id #=> String
resp.control_set.delegations[0].comment #=> String
resp.control_set.delegations[0].created_by #=> String
resp.control_set.system_evidence_count #=> Integer
resp.control_set.manual_evidence_count #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :control_set_id (required, String)

    The unique identifier for the control set.

  • :status (required, String)

    The status of the control set that’s being updated.

  • :comment (required, String)

    The comment that’s related to the status update.

Returns:

See Also:



3567
3568
3569
3570
# File 'lib/aws-sdk-auditmanager/client.rb', line 3567

def update_assessment_control_set_status(params = {}, options = {})
  req = build_request(:update_assessment_control_set_status, params)
  req.send_request(options)
end

#update_assessment_framework(params = {}) ⇒ Types::UpdateAssessmentFrameworkResponse

Updates a custom framework in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.update_assessment_framework({
  framework_id: "UUID", # required
  name: "FrameworkName", # required
  description: "FrameworkDescription",
  compliance_type: "ComplianceType",
  control_sets: [ # required
    {
      id: "ControlSetName",
      name: "ControlSetName", # required
      controls: [ # required
        {
          id: "UUID", # required
        },
      ],
    },
  ],
})

Response structure


resp.framework.arn #=> String
resp.framework.id #=> String
resp.framework.name #=> String
resp.framework.type #=> String, one of "Standard", "Custom"
resp.framework.compliance_type #=> String
resp.framework.description #=> String
resp.framework. #=> String
resp.framework.control_sources #=> String
resp.framework.control_sets #=> Array
resp.framework.control_sets[0].id #=> String
resp.framework.control_sets[0].name #=> String
resp.framework.control_sets[0].controls #=> Array
resp.framework.control_sets[0].controls[0].arn #=> String
resp.framework.control_sets[0].controls[0].id #=> String
resp.framework.control_sets[0].controls[0].type #=> String, one of "Standard", "Custom", "Core"
resp.framework.control_sets[0].controls[0].name #=> String
resp.framework.control_sets[0].controls[0].description #=> String
resp.framework.control_sets[0].controls[0].testing_information #=> String
resp.framework.control_sets[0].controls[0].action_plan_title #=> String
resp.framework.control_sets[0].controls[0].action_plan_instructions #=> String
resp.framework.control_sets[0].controls[0].control_sources #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources #=> Array
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_id #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_name #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_description #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
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", "Common_Control", "Core_Control"
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST", "UPLOAD_FILE", "INPUT_TEXT"
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_keyword.keyword_value #=> String
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
resp.framework.control_sets[0].controls[0].control_mapping_sources[0].troubleshooting_text #=> String
resp.framework.control_sets[0].controls[0].created_at #=> Time
resp.framework.control_sets[0].controls[0].last_updated_at #=> Time
resp.framework.control_sets[0].controls[0].created_by #=> String
resp.framework.control_sets[0].controls[0].last_updated_by #=> String
resp.framework.control_sets[0].controls[0].tags #=> Hash
resp.framework.control_sets[0].controls[0].tags["TagKey"] #=> String
resp.framework.control_sets[0].controls[0].state #=> String, one of "ACTIVE", "END_OF_SUPPORT"
resp.framework.created_at #=> Time
resp.framework.last_updated_at #=> Time
resp.framework.created_by #=> String
resp.framework.last_updated_by #=> String
resp.framework.tags #=> Hash
resp.framework.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :framework_id (required, String)

    The unique identifier for the framework.

  • :name (required, String)

    The name of the framework to be updated.

  • :description (String)

    The description of the updated framework.

  • :compliance_type (String)

    The compliance type that the new custom framework supports, such as CIS or HIPAA.

  • :control_sets (required, Array<Types::UpdateAssessmentFrameworkControlSet>)

    The control sets that are associated with the framework.

    <note markdown=“1”> The ‘Controls` object returns a partial response when called through Framework APIs. For a complete `Controls` object, use `GetControl`.

    </note>
    

Returns:

See Also:



3670
3671
3672
3673
# File 'lib/aws-sdk-auditmanager/client.rb', line 3670

def update_assessment_framework(params = {}, options = {})
  req = build_request(:update_assessment_framework, params)
  req.send_request(options)
end

#update_assessment_framework_share(params = {}) ⇒ Types::UpdateAssessmentFrameworkShareResponse

Updates a share request for a custom framework in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.update_assessment_framework_share({
  request_id: "UUID", # required
  request_type: "SENT", # required, accepts SENT, RECEIVED
  action: "ACCEPT", # required, accepts ACCEPT, DECLINE, REVOKE
})

Response structure


resp.assessment_framework_share_request.id #=> String
resp.assessment_framework_share_request.framework_id #=> String
resp.assessment_framework_share_request.framework_name #=> String
resp.assessment_framework_share_request.framework_description #=> String
resp.assessment_framework_share_request.status #=> String, one of "ACTIVE", "REPLICATING", "SHARED", "EXPIRING", "FAILED", "EXPIRED", "DECLINED", "REVOKED"
resp.assessment_framework_share_request. #=> String
resp.assessment_framework_share_request. #=> String
resp.assessment_framework_share_request.destination_region #=> String
resp.assessment_framework_share_request.expiration_time #=> Time
resp.assessment_framework_share_request.creation_time #=> Time
resp.assessment_framework_share_request.last_updated #=> Time
resp.assessment_framework_share_request.comment #=> String
resp.assessment_framework_share_request.standard_controls_count #=> Integer
resp.assessment_framework_share_request.custom_controls_count #=> Integer
resp.assessment_framework_share_request.compliance_type #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :request_id (required, String)

    The unique identifier for the share request.

  • :request_type (required, String)

    Specifies whether the share request is a sent request or a received request.

  • :action (required, String)

    Specifies the update action for the share request.

Returns:

See Also:



3721
3722
3723
3724
# File 'lib/aws-sdk-auditmanager/client.rb', line 3721

def update_assessment_framework_share(params = {}, options = {})
  req = build_request(:update_assessment_framework_share, params)
  req.send_request(options)
end

#update_assessment_status(params = {}) ⇒ Types::UpdateAssessmentStatusResponse

Updates the status of an assessment in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.update_assessment_status({
  assessment_id: "UUID", # required
  status: "ACTIVE", # required, accepts ACTIVE, INACTIVE
})

Response structure


resp.assessment.arn #=> String
resp.assessment..id #=> String
resp.assessment..email_address #=> String
resp.assessment..name #=> String
resp.assessment..name #=> String
resp.assessment..id #=> String
resp.assessment..description #=> String
resp.assessment..compliance_type #=> String
resp.assessment..status #=> String, one of "ACTIVE", "INACTIVE"
resp.assessment..assessment_reports_destination.destination_type #=> String, one of "S3"
resp.assessment..assessment_reports_destination.destination #=> String
resp.assessment..scope.aws_accounts #=> Array
resp.assessment..scope.aws_accounts[0].id #=> String
resp.assessment..scope.aws_accounts[0].email_address #=> String
resp.assessment..scope.aws_accounts[0].name #=> String
resp.assessment..scope.aws_services #=> Array
resp.assessment..scope.aws_services[0].service_name #=> String
resp.assessment..roles #=> Array
resp.assessment..roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment..roles[0].role_arn #=> String
resp.assessment..delegations #=> Array
resp.assessment..delegations[0].id #=> String
resp.assessment..delegations[0].assessment_name #=> String
resp.assessment..delegations[0].assessment_id #=> String
resp.assessment..delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.assessment..delegations[0].role_arn #=> String
resp.assessment..delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment..delegations[0].creation_time #=> Time
resp.assessment..delegations[0].last_updated #=> Time
resp.assessment..delegations[0].control_set_id #=> String
resp.assessment..delegations[0].comment #=> String
resp.assessment..delegations[0].created_by #=> String
resp.assessment..creation_time #=> Time
resp.assessment..last_updated #=> Time
resp.assessment.framework.id #=> String
resp.assessment.framework.arn #=> String
resp.assessment.framework..name #=> String
resp.assessment.framework..description #=> String
resp.assessment.framework.. #=> String
resp.assessment.framework..compliance_type #=> String
resp.assessment.framework.control_sets #=> Array
resp.assessment.framework.control_sets[0].id #=> String
resp.assessment.framework.control_sets[0].description #=> String
resp.assessment.framework.control_sets[0].status #=> String, one of "ACTIVE", "UNDER_REVIEW", "REVIEWED"
resp.assessment.framework.control_sets[0].roles #=> Array
resp.assessment.framework.control_sets[0].roles[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment.framework.control_sets[0].roles[0].role_arn #=> String
resp.assessment.framework.control_sets[0].controls #=> Array
resp.assessment.framework.control_sets[0].controls[0].id #=> String
resp.assessment.framework.control_sets[0].controls[0].name #=> String
resp.assessment.framework.control_sets[0].controls[0].description #=> String
resp.assessment.framework.control_sets[0].controls[0].status #=> String, one of "UNDER_REVIEW", "REVIEWED", "INACTIVE"
resp.assessment.framework.control_sets[0].controls[0].response #=> String, one of "MANUAL", "AUTOMATE", "DEFER", "IGNORE"
resp.assessment.framework.control_sets[0].controls[0].comments #=> Array
resp.assessment.framework.control_sets[0].controls[0].comments[0].author_name #=> String
resp.assessment.framework.control_sets[0].controls[0].comments[0].comment_body #=> String
resp.assessment.framework.control_sets[0].controls[0].comments[0].posted_date #=> Time
resp.assessment.framework.control_sets[0].controls[0].evidence_sources #=> Array
resp.assessment.framework.control_sets[0].controls[0].evidence_sources[0] #=> String
resp.assessment.framework.control_sets[0].controls[0].evidence_count #=> Integer
resp.assessment.framework.control_sets[0].controls[0].assessment_report_evidence_count #=> Integer
resp.assessment.framework.control_sets[0].delegations #=> Array
resp.assessment.framework.control_sets[0].delegations[0].id #=> String
resp.assessment.framework.control_sets[0].delegations[0].assessment_name #=> String
resp.assessment.framework.control_sets[0].delegations[0].assessment_id #=> String
resp.assessment.framework.control_sets[0].delegations[0].status #=> String, one of "IN_PROGRESS", "UNDER_REVIEW", "COMPLETE"
resp.assessment.framework.control_sets[0].delegations[0].role_arn #=> String
resp.assessment.framework.control_sets[0].delegations[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.assessment.framework.control_sets[0].delegations[0].creation_time #=> Time
resp.assessment.framework.control_sets[0].delegations[0].last_updated #=> Time
resp.assessment.framework.control_sets[0].delegations[0].control_set_id #=> String
resp.assessment.framework.control_sets[0].delegations[0].comment #=> String
resp.assessment.framework.control_sets[0].delegations[0].created_by #=> String
resp.assessment.framework.control_sets[0].system_evidence_count #=> Integer
resp.assessment.framework.control_sets[0].manual_evidence_count #=> Integer
resp.assessment.tags #=> Hash
resp.assessment.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assessment_id (required, String)

    The unique identifier for the assessment.

  • :status (required, String)

    The current status of the assessment.

Returns:

See Also:



3829
3830
3831
3832
# File 'lib/aws-sdk-auditmanager/client.rb', line 3829

def update_assessment_status(params = {}, options = {})
  req = build_request(:update_assessment_status, params)
  req.send_request(options)
end

#update_control(params = {}) ⇒ Types::UpdateControlResponse

Updates a custom control in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.update_control({
  control_id: "UUID", # required
  name: "ControlName", # required
  description: "ControlDescription",
  testing_information: "TestingInformation",
  action_plan_title: "ActionPlanTitle",
  action_plan_instructions: "ActionPlanInstructions",
  control_mapping_sources: [ # required
    {
      source_id: "UUID",
      source_name: "SourceName",
      source_description: "SourceDescription",
      source_set_up_option: "System_Controls_Mapping", # accepts System_Controls_Mapping, Procedural_Controls_Mapping
      source_type: "AWS_Cloudtrail", # accepts AWS_Cloudtrail, AWS_Config, AWS_Security_Hub, AWS_API_Call, MANUAL, Common_Control, Core_Control
      source_keyword: {
        keyword_input_type: "SELECT_FROM_LIST", # accepts SELECT_FROM_LIST, UPLOAD_FILE, INPUT_TEXT
        keyword_value: "KeywordValue",
      },
      source_frequency: "DAILY", # accepts DAILY, WEEKLY, MONTHLY
      troubleshooting_text: "TroubleshootingText",
    },
  ],
})

Response structure


resp.control.arn #=> String
resp.control.id #=> String
resp.control.type #=> String, one of "Standard", "Custom", "Core"
resp.control.name #=> String
resp.control.description #=> String
resp.control.testing_information #=> String
resp.control.action_plan_title #=> String
resp.control.action_plan_instructions #=> String
resp.control.control_sources #=> String
resp.control.control_mapping_sources #=> Array
resp.control.control_mapping_sources[0].source_id #=> String
resp.control.control_mapping_sources[0].source_name #=> String
resp.control.control_mapping_sources[0].source_description #=> String
resp.control.control_mapping_sources[0].source_set_up_option #=> String, one of "System_Controls_Mapping", "Procedural_Controls_Mapping"
resp.control.control_mapping_sources[0].source_type #=> String, one of "AWS_Cloudtrail", "AWS_Config", "AWS_Security_Hub", "AWS_API_Call", "MANUAL", "Common_Control", "Core_Control"
resp.control.control_mapping_sources[0].source_keyword.keyword_input_type #=> String, one of "SELECT_FROM_LIST", "UPLOAD_FILE", "INPUT_TEXT"
resp.control.control_mapping_sources[0].source_keyword.keyword_value #=> String
resp.control.control_mapping_sources[0].source_frequency #=> String, one of "DAILY", "WEEKLY", "MONTHLY"
resp.control.control_mapping_sources[0].troubleshooting_text #=> String
resp.control.created_at #=> Time
resp.control.last_updated_at #=> Time
resp.control.created_by #=> String
resp.control.last_updated_by #=> String
resp.control.tags #=> Hash
resp.control.tags["TagKey"] #=> String
resp.control.state #=> String, one of "ACTIVE", "END_OF_SUPPORT"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :control_id (required, String)

    The identifier for the control.

  • :name (required, String)

    The name of the updated control.

  • :description (String)

    The optional description of the control.

  • :testing_information (String)

    The steps that you should follow to determine if the control is met.

  • :action_plan_title (String)

    The title of the action plan for remediating the control.

  • :action_plan_instructions (String)

    The recommended actions to carry out if the control isn’t fulfilled.

  • :control_mapping_sources (required, Array<Types::ControlMappingSource>)

    The data mapping sources for the control.

Returns:

See Also:



3920
3921
3922
3923
# File 'lib/aws-sdk-auditmanager/client.rb', line 3920

def update_control(params = {}, options = {})
  req = build_request(:update_control, params)
  req.send_request(options)
end

#update_settings(params = {}) ⇒ Types::UpdateSettingsResponse

Updates Audit Manager settings for the current account.

Examples:

Request syntax with placeholder values


resp = client.update_settings({
  sns_topic: "SnsArn",
  default_assessment_reports_destination: {
    destination_type: "S3", # accepts S3
    destination: "S3Url",
  },
  default_process_owners: [
    {
      role_type: "PROCESS_OWNER", # required, accepts PROCESS_OWNER, RESOURCE_OWNER
      role_arn: "IamArn", # required
    },
  ],
  kms_key: "KmsKey",
  evidence_finder_enabled: false,
  deregistration_policy: {
    delete_resources: "ALL", # accepts ALL, DEFAULT
  },
  default_export_destination: {
    destination_type: "S3", # accepts S3
    destination: "S3Url",
  },
})

Response structure


resp.settings.is_aws_org_enabled #=> Boolean
resp.settings.sns_topic #=> String
resp.settings.default_assessment_reports_destination.destination_type #=> String, one of "S3"
resp.settings.default_assessment_reports_destination.destination #=> String
resp.settings.default_process_owners #=> Array
resp.settings.default_process_owners[0].role_type #=> String, one of "PROCESS_OWNER", "RESOURCE_OWNER"
resp.settings.default_process_owners[0].role_arn #=> String
resp.settings.kms_key #=> String
resp.settings.evidence_finder_enablement.event_data_store_arn #=> String
resp.settings.evidence_finder_enablement.enablement_status #=> String, one of "ENABLED", "DISABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS"
resp.settings.evidence_finder_enablement.backfill_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
resp.settings.evidence_finder_enablement.error #=> String
resp.settings.deregistration_policy.delete_resources #=> String, one of "ALL", "DEFAULT"
resp.settings.default_export_destination.destination_type #=> String, one of "S3"
resp.settings.default_export_destination.destination #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :sns_topic (String)

    The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager sends notifications to.

  • :default_assessment_reports_destination (Types::AssessmentReportsDestination)

    The default S3 destination bucket for storing assessment reports.

  • :default_process_owners (Array<Types::Role>)

    A list of the default audit owners.

  • :kms_key (String)

    The KMS key details.

  • :evidence_finder_enabled (Boolean)

    Specifies whether the evidence finder feature is enabled. Change this attribute to enable or disable evidence finder.

    When you use this attribute to disable evidence finder, Audit Manager deletes the event data store that’s used to query your evidence data. As a result, you can’t re-enable evidence finder and use the feature again. Your only alternative is to [deregister] and then

    re-register][2

    Audit Manager.

    [1]: docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeregisterAccount.html [2]: docs.aws.amazon.com/audit-manager/latest/APIReference/API_RegisterAccount.html

  • :deregistration_policy (Types::DeregistrationPolicy)

    The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager.

  • :default_export_destination (Types::DefaultExportDestination)

    The default S3 destination bucket for storing evidence finder exports.

Returns:

See Also:



4014
4015
4016
4017
# File 'lib/aws-sdk-auditmanager/client.rb', line 4014

def update_settings(params = {}, options = {})
  req = build_request(:update_settings, params)
  req.send_request(options)
end

#validate_assessment_report_integrity(params = {}) ⇒ Types::ValidateAssessmentReportIntegrityResponse

Validates the integrity of an assessment report in Audit Manager.

Examples:

Request syntax with placeholder values


resp = client.validate_assessment_report_integrity({
  s3_relative_path: "S3Url", # required
})

Response structure


resp.signature_valid #=> Boolean
resp.signature_algorithm #=> String
resp.signature_date_time #=> String
resp.signature_key_id #=> String
resp.validation_errors #=> Array
resp.validation_errors[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :s3_relative_path (required, String)

    The relative path of the Amazon S3 bucket that the assessment report is stored in.

Returns:

See Also:



4052
4053
4054
4055
# File 'lib/aws-sdk-auditmanager/client.rb', line 4052

def validate_assessment_report_integrity(params = {}, options = {})
  req = build_request(:validate_assessment_report_integrity, params)
  req.send_request(options)
end

#waiter_namesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


4081
4082
4083
# File 'lib/aws-sdk-auditmanager/client.rb', line 4081

def waiter_names
  []
end