# frozen_string_literal: true # WARNING ABOUT GENERATED CODE # # This file is generated. See the contributing guide for more information: # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md # # WARNING ABOUT GENERATED CODE require 'seahorse/client/plugins/content_length.rb' require 'aws-sdk-core/plugins/credentials_configuration.rb' require 'aws-sdk-core/plugins/logging.rb' require 'aws-sdk-core/plugins/param_converter.rb' require 'aws-sdk-core/plugins/param_validator.rb' require 'aws-sdk-core/plugins/user_agent.rb' require 'aws-sdk-core/plugins/helpful_socket_errors.rb' require 'aws-sdk-core/plugins/retry_errors.rb' require 'aws-sdk-core/plugins/global_configuration.rb' require 'aws-sdk-core/plugins/regional_endpoint.rb' require 'aws-sdk-core/plugins/endpoint_discovery.rb' require 'aws-sdk-core/plugins/endpoint_pattern.rb' require 'aws-sdk-core/plugins/response_paging.rb' require 'aws-sdk-core/plugins/stub_responses.rb' require 'aws-sdk-core/plugins/idempotency_token.rb' require 'aws-sdk-core/plugins/invocation_id.rb' require 'aws-sdk-core/plugins/jsonvalue_converter.rb' require 'aws-sdk-core/plugins/client_metrics_plugin.rb' require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb' require 'aws-sdk-core/plugins/transfer_encoding.rb' require 'aws-sdk-core/plugins/http_checksum.rb' require 'aws-sdk-core/plugins/checksum_algorithm.rb' require 'aws-sdk-core/plugins/request_compression.rb' require 'aws-sdk-core/plugins/defaults_mode.rb' require 'aws-sdk-core/plugins/recursion_detection.rb' require 'aws-sdk-core/plugins/sign.rb' require 'aws-sdk-core/plugins/protocols/rest_json.rb' Aws::Plugins::GlobalConfiguration.add_identifier(:inspector2) module Aws::Inspector2 # An API client for Inspector2. To construct a client, you need to configure a `:region` and `:credentials`. # # client = Aws::Inspector2::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 Client < Seahorse::Client::Base include Aws::ClientStubs @identifier = :inspector2 set_api(ClientApi::API) add_plugin(Seahorse::Client::Plugins::ContentLength) add_plugin(Aws::Plugins::CredentialsConfiguration) add_plugin(Aws::Plugins::Logging) add_plugin(Aws::Plugins::ParamConverter) add_plugin(Aws::Plugins::ParamValidator) add_plugin(Aws::Plugins::UserAgent) add_plugin(Aws::Plugins::HelpfulSocketErrors) add_plugin(Aws::Plugins::RetryErrors) add_plugin(Aws::Plugins::GlobalConfiguration) add_plugin(Aws::Plugins::RegionalEndpoint) add_plugin(Aws::Plugins::EndpointDiscovery) add_plugin(Aws::Plugins::EndpointPattern) add_plugin(Aws::Plugins::ResponsePaging) add_plugin(Aws::Plugins::StubResponses) add_plugin(Aws::Plugins::IdempotencyToken) add_plugin(Aws::Plugins::InvocationId) add_plugin(Aws::Plugins::JsonvalueConverter) add_plugin(Aws::Plugins::ClientMetricsPlugin) add_plugin(Aws::Plugins::ClientMetricsSendPlugin) add_plugin(Aws::Plugins::TransferEncoding) add_plugin(Aws::Plugins::HttpChecksum) add_plugin(Aws::Plugins::ChecksumAlgorithm) add_plugin(Aws::Plugins::RequestCompression) add_plugin(Aws::Plugins::DefaultsMode) add_plugin(Aws::Plugins::RecursionDetection) add_plugin(Aws::Plugins::Sign) add_plugin(Aws::Plugins::Protocols::RestJson) add_plugin(Aws::Inspector2::Plugins::Endpoints) # @overload initialize(options) # @param [Hash] options # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an 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[:credentials]` # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options. # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'] # * `~/.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::InstanceProfileCredentails` or `Aws::ECSCredentials` to # enable retries and extended timeouts. Instance profile credential # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] # to true. # # @option options [required, String] :region # 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: # # * `Aws.config[:region]` # * `ENV['AWS_REGION']` # * `ENV['AMAZON_REGION']` # * `ENV['AWS_DEFAULT_REGION']` # * `~/.aws/credentials` # * `~/.aws/config` # # @option options [String] :access_key_id # # @option options [Boolean] :active_endpoint_cache (false) # When set to `true`, a thread polling for endpoints will be running in # the background every 60 secs (default). Defaults to `false`. # # @option options [Boolean] :adaptive_retry_wait_to_fill (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. # # @option options [Boolean] :client_side_monitoring (false) # When `true`, client-side metrics will be collected for all API requests from # this client. # # @option options [String] :client_side_monitoring_client_id ("") # Allows you to provide an identifier for this client which will be attached to # all generated client side metrics. Defaults to an empty string. # # @option options [String] :client_side_monitoring_host ("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. # # @option options [Integer] :client_side_monitoring_port (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. # # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) # Allows you to provide a custom client-side monitoring publisher class. By default, # will use the Client Side Monitoring Agent Publisher. # # @option options [Boolean] :convert_params (true) # When `true`, an attempt is made to coerce request parameters into # the required types. # # @option options [Boolean] :correct_clock_skew (true) # Used only in `standard` and adaptive retry modes. Specifies whether to apply # a clock skew correction and retry requests with skewed client clocks. # # @option options [String] :defaults_mode ("legacy") # See {Aws::DefaultsModeConfiguration} for a list of the # accepted modes and the configuration defaults that are included. # # @option options [Boolean] :disable_host_prefix_injection (false) # Set to true to disable SDK automatically adding host prefix # to default service endpoint when available. # # @option options [Boolean] :disable_request_compression (false) # When set to 'true' the request body will not be compressed # for supported operations. # # @option options [String, URI::HTTPS, URI::HTTP] :endpoint # 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' # # # @option options [Integer] :endpoint_cache_max_entries (1000) # Used for the maximum size limit of the LRU cache storing endpoints data # for endpoint discovery enabled operations. Defaults to 1000. # # @option options [Integer] :endpoint_cache_max_threads (10) # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. # # @option options [Integer] :endpoint_cache_poll_interval (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. # # @option options [Boolean] :endpoint_discovery (false) # When set to `true`, endpoint discovery will be enabled for operations when available. # # @option options [Boolean] :ignore_configured_endpoint_urls # Setting to true disables use of endpoint URLs provided via environment # variables and the shared configuration file. # # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default) # The log formatter. # # @option options [Symbol] :log_level (:info) # The log level to send messages to the `:logger` at. # # @option options [Logger] :logger # The Logger instance to send log messages to. If this option # is not set, logging will be disabled. # # @option options [Integer] :max_attempts (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. # # @option options [String] :profile ("default") # Used when loading credentials from the shared credentials file # at HOME/.aws/credentials. When not specified, 'default' is used. # # @option options [Integer] :request_min_compression_size_bytes (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. # # @option options [Proc] :retry_backoff # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. # This option is only used in the `legacy` retry mode. # # @option options [Float] :retry_base_delay (0.3) # The base delay in seconds used by the default backoff function. This option # is only used in the `legacy` retry mode. # # @option options [Symbol] :retry_jitter (: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 https://www.awsarchitectureblog.com/2015/03/backoff.html # # @option options [Integer] :retry_limit (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. # # @option options [Integer] :retry_max_delay (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. # # @option options [String] :retry_mode ("legacy") # Specifies which retry algorithm to use. Values are: # # * `legacy` - The pre-existing retry behavior. This is 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` - An experimental retry mode that includes all the # functionality of `standard` mode along with automatic client side # throttling. This is a provisional mode that may change behavior # in the future. # # # @option options [String] :sdk_ua_app_id # 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. # # @option options [String] :secret_access_key # # @option options [String] :session_token # # @option options [Boolean] :stub_responses (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. # # @option options [Aws::TokenProvider] :token_provider # A Bearer Token Provider. This can be an 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. # # @option options [Boolean] :use_dualstack_endpoint # When set to `true`, dualstack enabled endpoints (with `.aws` TLD) # will be used if available. # # @option options [Boolean] :use_fips_endpoint # 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`. # # @option options [Boolean] :validate_params (true) # When `true`, request parameters are validated before # sending the request. # # @option options [Aws::Inspector2::EndpointProvider] :endpoint_provider # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Inspector2::EndpointParameters` # # @option options [Float] :http_continue_timeout (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. # # @option options [Float] :http_idle_timeout (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. # # @option options [Float] :http_open_timeout (15) # The default number of seconds to wait for response data. # This value can safely be set per-request on the session. # # @option options [URI::HTTP,String] :http_proxy # A proxy to send requests through. Formatted like 'http://proxy.com:123'. # # @option options [Float] :http_read_timeout (60) # The default number of seconds to wait for response data. # This value can safely be set per-request on the session. # # @option options [Boolean] :http_wire_trace (false) # When `true`, HTTP debug output will be sent to the `:logger`. # # @option options [Proc] :on_chunk_received # 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`). # # @option options [Proc] :on_chunk_sent # 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. # # @option options [Boolean] :raise_response_errors (true) # When `true`, response errors are raised. # # @option options [String] :ssl_ca_bundle # 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. # # @option options [String] :ssl_ca_directory # 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. # # @option options [String] :ssl_ca_store # Sets the X509::Store to verify peer certificate. # # @option options [Float] :ssl_timeout # Sets the SSL timeout in seconds # # @option options [Boolean] :ssl_verify_peer (true) # When `true`, SSL peer certificates are verified when establishing a connection. # def initialize(*args) super end # @!group API Operations # Associates an Amazon Web Services account with an Amazon Inspector # delegated administrator. An HTTP 200 response indicates the # association was successfully started, but doesn’t indicate whether it # was completed. You can check if the association completed by using # [ListMembers][1] for multiple accounts or [GetMembers][2] for a single # account. # # # # [1]: https://docs.aws.amazon.com/inspector/v2/APIReference/API_ListMembers.html # [2]: https://docs.aws.amazon.com/inspector/v2/APIReference/API_GetMember.html # # @option params [required, String] :account_id # The Amazon Web Services account ID of the member account to be # associated. # # @return [Types::AssociateMemberResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::AssociateMemberResponse#account_id #account_id} => String # # @example Request syntax with placeholder values # # resp = client.associate_member({ # account_id: "AccountId", # required # }) # # @example Response structure # # resp.account_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/AssociateMember AWS API Documentation # # @overload associate_member(params = {}) # @param [Hash] params ({}) def associate_member(params = {}, options = {}) req = build_request(:associate_member, params) req.send_request(options) end # Retrieves the Amazon Inspector status of multiple Amazon Web Services # accounts within your environment. # # @option params [Array] :account_ids # The 12-digit Amazon Web Services account IDs of the accounts to # retrieve Amazon Inspector status for. # # @return [Types::BatchGetAccountStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::BatchGetAccountStatusResponse#accounts #accounts} => Array<Types::AccountState> # * {Types::BatchGetAccountStatusResponse#failed_accounts #failed_accounts} => Array<Types::FailedAccount> # # @example Request syntax with placeholder values # # resp = client.batch_get_account_status({ # account_ids: ["AccountId"], # }) # # @example Response structure # # resp.accounts #=> Array # resp.accounts[0].account_id #=> String # resp.accounts[0].resource_state.ec2.error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS", "ACCOUNT_IS_ISOLATED" # resp.accounts[0].resource_state.ec2.error_message #=> String # resp.accounts[0].resource_state.ec2.status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].resource_state.ecr.error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS", "ACCOUNT_IS_ISOLATED" # resp.accounts[0].resource_state.ecr.error_message #=> String # resp.accounts[0].resource_state.ecr.status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].resource_state.lambda.error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS", "ACCOUNT_IS_ISOLATED" # resp.accounts[0].resource_state.lambda.error_message #=> String # resp.accounts[0].resource_state.lambda.status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].resource_state.lambda_code.error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS", "ACCOUNT_IS_ISOLATED" # resp.accounts[0].resource_state.lambda_code.error_message #=> String # resp.accounts[0].resource_state.lambda_code.status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].state.error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS", "ACCOUNT_IS_ISOLATED" # resp.accounts[0].state.error_message #=> String # resp.accounts[0].state.status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts #=> Array # resp.failed_accounts[0].account_id #=> String # resp.failed_accounts[0].error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS", "ACCOUNT_IS_ISOLATED" # resp.failed_accounts[0].error_message #=> String # resp.failed_accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].resource_status.lambda #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].resource_status.lambda_code #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/BatchGetAccountStatus AWS API Documentation # # @overload batch_get_account_status(params = {}) # @param [Hash] params ({}) def batch_get_account_status(params = {}, options = {}) req = build_request(:batch_get_account_status, params) req.send_request(options) end # Retrieves code snippets from findings that Amazon Inspector detected # code vulnerabilities in. # # @option params [required, Array] :finding_arns # An array of finding ARNs for the findings you want to retrieve code # snippets from. # # @return [Types::BatchGetCodeSnippetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::BatchGetCodeSnippetResponse#code_snippet_results #code_snippet_results} => Array<Types::CodeSnippetResult> # * {Types::BatchGetCodeSnippetResponse#errors #errors} => Array<Types::CodeSnippetError> # # @example Request syntax with placeholder values # # resp = client.batch_get_code_snippet({ # finding_arns: ["FindingArn"], # required # }) # # @example Response structure # # resp.code_snippet_results #=> Array # resp.code_snippet_results[0].code_snippet #=> Array # resp.code_snippet_results[0].code_snippet[0].content #=> String # resp.code_snippet_results[0].code_snippet[0].line_number #=> Integer # resp.code_snippet_results[0].end_line #=> Integer # resp.code_snippet_results[0].finding_arn #=> String # resp.code_snippet_results[0].start_line #=> Integer # resp.code_snippet_results[0].suggested_fixes #=> Array # resp.code_snippet_results[0].suggested_fixes[0].code #=> String # resp.code_snippet_results[0].suggested_fixes[0].description #=> String # resp.errors #=> Array # resp.errors[0].error_code #=> String, one of "INTERNAL_ERROR", "ACCESS_DENIED", "CODE_SNIPPET_NOT_FOUND", "INVALID_INPUT" # resp.errors[0].error_message #=> String # resp.errors[0].finding_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/BatchGetCodeSnippet AWS API Documentation # # @overload batch_get_code_snippet(params = {}) # @param [Hash] params ({}) def batch_get_code_snippet(params = {}, options = {}) req = build_request(:batch_get_code_snippet, params) req.send_request(options) end # Gets vulnerability details for findings. # # @option params [required, Array] :finding_arns # A list of finding ARNs. # # @return [Types::BatchGetFindingDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::BatchGetFindingDetailsResponse#errors #errors} => Array<Types::FindingDetailsError> # * {Types::BatchGetFindingDetailsResponse#finding_details #finding_details} => Array<Types::FindingDetail> # # @example Request syntax with placeholder values # # resp = client.batch_get_finding_details({ # finding_arns: ["FindingArn"], # required # }) # # @example Response structure # # resp.errors #=> Array # resp.errors[0].error_code #=> String, one of "INTERNAL_ERROR", "ACCESS_DENIED", "FINDING_DETAILS_NOT_FOUND", "INVALID_INPUT" # resp.errors[0].error_message #=> String # resp.errors[0].finding_arn #=> String # resp.finding_details #=> Array # resp.finding_details[0].cisa_data.action #=> String # resp.finding_details[0].cisa_data.date_added #=> Time # resp.finding_details[0].cisa_data.date_due #=> Time # resp.finding_details[0].cwes #=> Array # resp.finding_details[0].cwes[0] #=> String # resp.finding_details[0].epss_score #=> Float # resp.finding_details[0].evidences #=> Array # resp.finding_details[0].evidences[0].evidence_detail #=> String # resp.finding_details[0].evidences[0].evidence_rule #=> String # resp.finding_details[0].evidences[0].severity #=> String # resp.finding_details[0].exploit_observed.first_seen #=> Time # resp.finding_details[0].exploit_observed.last_seen #=> Time # resp.finding_details[0].finding_arn #=> String # resp.finding_details[0].reference_urls #=> Array # resp.finding_details[0].reference_urls[0] #=> String # resp.finding_details[0].risk_score #=> Integer # resp.finding_details[0].tools #=> Array # resp.finding_details[0].tools[0] #=> String # resp.finding_details[0].ttps #=> Array # resp.finding_details[0].ttps[0] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/BatchGetFindingDetails AWS API Documentation # # @overload batch_get_finding_details(params = {}) # @param [Hash] params ({}) def batch_get_finding_details(params = {}, options = {}) req = build_request(:batch_get_finding_details, params) req.send_request(options) end # Gets free trial status for multiple Amazon Web Services accounts. # # @option params [required, Array] :account_ids # The account IDs to get free trial status for. # # @return [Types::BatchGetFreeTrialInfoResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::BatchGetFreeTrialInfoResponse#accounts #accounts} => Array<Types::FreeTrialAccountInfo> # * {Types::BatchGetFreeTrialInfoResponse#failed_accounts #failed_accounts} => Array<Types::FreeTrialInfoError> # # @example Request syntax with placeholder values # # resp = client.batch_get_free_trial_info({ # account_ids: ["MeteringAccountId"], # required # }) # # @example Response structure # # resp.accounts #=> Array # resp.accounts[0].account_id #=> String # resp.accounts[0].free_trial_info #=> Array # resp.accounts[0].free_trial_info[0].end #=> Time # resp.accounts[0].free_trial_info[0].start #=> Time # resp.accounts[0].free_trial_info[0].status #=> String, one of "ACTIVE", "INACTIVE" # resp.accounts[0].free_trial_info[0].type #=> String, one of "EC2", "ECR", "LAMBDA", "LAMBDA_CODE" # resp.failed_accounts #=> Array # resp.failed_accounts[0].account_id #=> String # resp.failed_accounts[0].code #=> String, one of "ACCESS_DENIED", "INTERNAL_ERROR" # resp.failed_accounts[0].message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/BatchGetFreeTrialInfo AWS API Documentation # # @overload batch_get_free_trial_info(params = {}) # @param [Hash] params ({}) def batch_get_free_trial_info(params = {}, options = {}) req = build_request(:batch_get_free_trial_info, params) req.send_request(options) end # Retrieves Amazon Inspector deep inspection activation status of # multiple member accounts within your organization. You must be the # delegated administrator of an organization in Amazon Inspector to use # this API. # # @option params [Array] :account_ids # The unique identifiers for the Amazon Web Services accounts to # retrieve Amazon Inspector deep inspection activation status for. #

# # @return [Types::BatchGetMemberEc2DeepInspectionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::BatchGetMemberEc2DeepInspectionStatusResponse#account_ids #account_ids} => Array<Types::MemberAccountEc2DeepInspectionStatusState> # * {Types::BatchGetMemberEc2DeepInspectionStatusResponse#failed_account_ids #failed_account_ids} => Array<Types::FailedMemberAccountEc2DeepInspectionStatusState> # # @example Request syntax with placeholder values # # resp = client.batch_get_member_ec2_deep_inspection_status({ # account_ids: ["AccountId"], # }) # # @example Response structure # # resp.account_ids #=> Array # resp.account_ids[0].account_id #=> String # resp.account_ids[0].error_message #=> String # resp.account_ids[0].status #=> String, one of "ACTIVATED", "DEACTIVATED", "PENDING", "FAILED" # resp.failed_account_ids #=> Array # resp.failed_account_ids[0].account_id #=> String # resp.failed_account_ids[0].ec2_scan_status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_account_ids[0].error_message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/BatchGetMemberEc2DeepInspectionStatus AWS API Documentation # # @overload batch_get_member_ec2_deep_inspection_status(params = {}) # @param [Hash] params ({}) def batch_get_member_ec2_deep_inspection_status(params = {}, options = {}) req = build_request(:batch_get_member_ec2_deep_inspection_status, params) req.send_request(options) end # Activates or deactivates Amazon Inspector deep inspection for the # provided member accounts in your organization. You must be the # delegated administrator of an organization in Amazon Inspector to use # this API. # # @option params [required, Array] :account_ids # The unique identifiers for the Amazon Web Services accounts to change # Amazon Inspector deep inspection status for. # # @return [Types::BatchUpdateMemberEc2DeepInspectionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::BatchUpdateMemberEc2DeepInspectionStatusResponse#account_ids #account_ids} => Array<Types::MemberAccountEc2DeepInspectionStatusState> # * {Types::BatchUpdateMemberEc2DeepInspectionStatusResponse#failed_account_ids #failed_account_ids} => Array<Types::FailedMemberAccountEc2DeepInspectionStatusState> # # @example Request syntax with placeholder values # # resp = client.batch_update_member_ec2_deep_inspection_status({ # account_ids: [ # required # { # account_id: "AccountId", # required # activate_deep_inspection: false, # required # }, # ], # }) # # @example Response structure # # resp.account_ids #=> Array # resp.account_ids[0].account_id #=> String # resp.account_ids[0].error_message #=> String # resp.account_ids[0].status #=> String, one of "ACTIVATED", "DEACTIVATED", "PENDING", "FAILED" # resp.failed_account_ids #=> Array # resp.failed_account_ids[0].account_id #=> String # resp.failed_account_ids[0].ec2_scan_status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_account_ids[0].error_message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/BatchUpdateMemberEc2DeepInspectionStatus AWS API Documentation # # @overload batch_update_member_ec2_deep_inspection_status(params = {}) # @param [Hash] params ({}) def batch_update_member_ec2_deep_inspection_status(params = {}, options = {}) req = build_request(:batch_update_member_ec2_deep_inspection_status, params) req.send_request(options) end # Cancels the given findings report. # # @option params [required, String] :report_id # The ID of the report to be canceled. # # @return [Types::CancelFindingsReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CancelFindingsReportResponse#report_id #report_id} => String # # @example Request syntax with placeholder values # # resp = client.cancel_findings_report({ # report_id: "ReportId", # required # }) # # @example Response structure # # resp.report_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CancelFindingsReport AWS API Documentation # # @overload cancel_findings_report(params = {}) # @param [Hash] params ({}) def cancel_findings_report(params = {}, options = {}) req = build_request(:cancel_findings_report, params) req.send_request(options) end # Cancels a software bill of materials (SBOM) report. # # @option params [required, String] :report_id # The report ID of the SBOM export to cancel. # # @return [Types::CancelSbomExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CancelSbomExportResponse#report_id #report_id} => String # # @example Request syntax with placeholder values # # resp = client.cancel_sbom_export({ # report_id: "ReportId", # required # }) # # @example Response structure # # resp.report_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CancelSbomExport AWS API Documentation # # @overload cancel_sbom_export(params = {}) # @param [Hash] params ({}) def cancel_sbom_export(params = {}, options = {}) req = build_request(:cancel_sbom_export, params) req.send_request(options) end # Creates a CIS scan configuration. # # @option params [required, String] :scan_name # The scan name for the CIS scan configuration. # # @option params [required, Types::Schedule] :schedule # The schedule for the CIS scan configuration. # # @option params [required, String] :security_level # The security level for the CIS scan configuration. Security level # refers to the Benchmark levels that CIS assigns to a profile. # # @option params [Hash] :tags # The tags for the CIS scan configuration. # # @option params [required, Types::CreateCisTargets] :targets # The targets for the CIS scan configuration. # # @return [Types::CreateCisScanConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateCisScanConfigurationResponse#scan_configuration_arn #scan_configuration_arn} => String # # @example Request syntax with placeholder values # # resp = client.create_cis_scan_configuration({ # scan_name: "CisScanName", # required # schedule: { # required # daily: { # start_time: { # required # time_of_day: "TimeOfDay", # required # timezone: "Timezone", # required # }, # }, # monthly: { # day: "SUN", # required, accepts SUN, MON, TUE, WED, THU, FRI, SAT # start_time: { # required # time_of_day: "TimeOfDay", # required # timezone: "Timezone", # required # }, # }, # one_time: { # }, # weekly: { # days: ["SUN"], # required, accepts SUN, MON, TUE, WED, THU, FRI, SAT # start_time: { # required # time_of_day: "TimeOfDay", # required # timezone: "Timezone", # required # }, # }, # }, # security_level: "LEVEL_1", # required, accepts LEVEL_1, LEVEL_2 # tags: { # "MapKey" => "MapValue", # }, # targets: { # required # account_ids: ["TargetAccount"], # required # target_resource_tags: { # required # "NonEmptyString" => ["String"], # }, # }, # }) # # @example Response structure # # resp.scan_configuration_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CreateCisScanConfiguration AWS API Documentation # # @overload create_cis_scan_configuration(params = {}) # @param [Hash] params ({}) def create_cis_scan_configuration(params = {}, options = {}) req = build_request(:create_cis_scan_configuration, params) req.send_request(options) end # Creates a filter resource using specified filter criteria. When the # filter action is set to `SUPPRESS` this action creates a suppression # rule. # # @option params [required, String] :action # Defines the action that is to be applied to the findings that match # the filter. # # @option params [String] :description # A description of the filter. # # @option params [required, Types::FilterCriteria] :filter_criteria # Defines the criteria to be used in the filter for querying findings. # # @option params [required, String] :name # The name of the filter. Minimum length of 3. Maximum length of 64. # Valid characters include alphanumeric characters, dot (.), underscore # (\_), and dash (-). Spaces are not allowed. # # @option params [String] :reason # The reason for creating the filter. # # @option params [Hash] :tags # A list of tags for the filter. # # @return [Types::CreateFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateFilterResponse#arn #arn} => String # # @example Request syntax with placeholder values # # resp = client.create_filter({ # action: "NONE", # required, accepts NONE, SUPPRESS # description: "FilterDescription", # filter_criteria: { # required # aws_account_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_detector_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_detector_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_file_path: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # component_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # component_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_image_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_subnet_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_vpc_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_architecture: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_hash: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_pushed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # ecr_image_registry: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_repository_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # epss_score: [ # { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # ], # exploit_available: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_arn: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_status: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # first_observed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # fix_available: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # inspector_score: [ # { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # ], # lambda_function_execution_role_arn: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_last_modified_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # lambda_function_layers: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_runtime: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # last_observed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # network_protocol: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # port_range: [ # { # begin_inclusive: 1, # end_inclusive: 1, # }, # ], # related_vulnerabilities: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "MapKey", # required # value: "MapValue", # }, # ], # resource_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # severity: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # title: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # updated_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # vendor_severity: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerability_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerability_source: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerable_packages: [ # { # architecture: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # epoch: { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # name: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # release: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # source_lambda_layer_arn: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # source_layer_hash: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # version: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # }, # ], # }, # name: "FilterName", # required # reason: "FilterReason", # tags: { # "MapKey" => "MapValue", # }, # }) # # @example Response structure # # resp.arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CreateFilter AWS API Documentation # # @overload create_filter(params = {}) # @param [Hash] params ({}) def create_filter(params = {}, options = {}) req = build_request(:create_filter, params) req.send_request(options) end # Creates a finding report. By default only `ACTIVE` findings are # returned in the report. To see `SUPRESSED` or `CLOSED` findings you # must specify a value for the `findingStatus` filter criteria. # # @option params [Types::FilterCriteria] :filter_criteria # The filter criteria to apply to the results of the finding report. # # @option params [required, String] :report_format # The format to generate the report in. # # @option params [required, Types::Destination] :s3_destination # The Amazon S3 export destination for the report. # # @return [Types::CreateFindingsReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateFindingsReportResponse#report_id #report_id} => String # # @example Request syntax with placeholder values # # resp = client.create_findings_report({ # filter_criteria: { # aws_account_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_detector_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_detector_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_file_path: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # component_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # component_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_image_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_subnet_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_vpc_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_architecture: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_hash: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_pushed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # ecr_image_registry: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_repository_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # epss_score: [ # { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # ], # exploit_available: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_arn: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_status: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # first_observed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # fix_available: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # inspector_score: [ # { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # ], # lambda_function_execution_role_arn: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_last_modified_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # lambda_function_layers: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_runtime: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # last_observed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # network_protocol: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # port_range: [ # { # begin_inclusive: 1, # end_inclusive: 1, # }, # ], # related_vulnerabilities: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "MapKey", # required # value: "MapValue", # }, # ], # resource_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # severity: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # title: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # updated_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # vendor_severity: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerability_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerability_source: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerable_packages: [ # { # architecture: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # epoch: { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # name: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # release: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # source_lambda_layer_arn: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # source_layer_hash: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # version: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # }, # ], # }, # report_format: "CSV", # required, accepts CSV, JSON # s3_destination: { # required # bucket_name: "String", # required # key_prefix: "String", # kms_key_arn: "String", # required # }, # }) # # @example Response structure # # resp.report_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CreateFindingsReport AWS API Documentation # # @overload create_findings_report(params = {}) # @param [Hash] params ({}) def create_findings_report(params = {}, options = {}) req = build_request(:create_findings_report, params) req.send_request(options) end # Creates a software bill of materials (SBOM) report. # # @option params [required, String] :report_format # The output format for the software bill of materials (SBOM) report. # # @option params [Types::ResourceFilterCriteria] :resource_filter_criteria # The resource filter criteria for the software bill of materials (SBOM) # report. # # @option params [required, Types::Destination] :s3_destination # Contains details of the Amazon S3 bucket and KMS key used to export # findings. # # @return [Types::CreateSbomExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateSbomExportResponse#report_id #report_id} => String # # @example Request syntax with placeholder values # # resp = client.create_sbom_export({ # report_format: "CYCLONEDX_1_4", # required, accepts CYCLONEDX_1_4, SPDX_2_3 # resource_filter_criteria: { # account_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "ResourceStringInput", # required # }, # ], # ec2_instance_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "NonEmptyString", # required # value: "NonEmptyString", # }, # ], # ecr_image_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "ResourceStringInput", # required # }, # ], # ecr_repository_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "ResourceStringInput", # required # }, # ], # lambda_function_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "ResourceStringInput", # required # }, # ], # lambda_function_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "NonEmptyString", # required # value: "NonEmptyString", # }, # ], # resource_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "ResourceStringInput", # required # }, # ], # resource_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "ResourceStringInput", # required # }, # ], # }, # s3_destination: { # required # bucket_name: "String", # required # key_prefix: "String", # kms_key_arn: "String", # required # }, # }) # # @example Response structure # # resp.report_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CreateSbomExport AWS API Documentation # # @overload create_sbom_export(params = {}) # @param [Hash] params ({}) def create_sbom_export(params = {}, options = {}) req = build_request(:create_sbom_export, params) req.send_request(options) end # Deletes a CIS scan configuration. # # @option params [required, String] :scan_configuration_arn # The ARN of the CIS scan configuration. # # @return [Types::DeleteCisScanConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteCisScanConfigurationResponse#scan_configuration_arn #scan_configuration_arn} => String # # @example Request syntax with placeholder values # # resp = client.delete_cis_scan_configuration({ # scan_configuration_arn: "CisScanConfigurationArn", # required # }) # # @example Response structure # # resp.scan_configuration_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DeleteCisScanConfiguration AWS API Documentation # # @overload delete_cis_scan_configuration(params = {}) # @param [Hash] params ({}) def delete_cis_scan_configuration(params = {}, options = {}) req = build_request(:delete_cis_scan_configuration, params) req.send_request(options) end # Deletes a filter resource. # # @option params [required, String] :arn # The Amazon Resource Number (ARN) of the filter to be deleted. # # @return [Types::DeleteFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteFilterResponse#arn #arn} => String # # @example Request syntax with placeholder values # # resp = client.delete_filter({ # arn: "FilterArn", # required # }) # # @example Response structure # # resp.arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DeleteFilter AWS API Documentation # # @overload delete_filter(params = {}) # @param [Hash] params ({}) def delete_filter(params = {}, options = {}) req = build_request(:delete_filter, params) req.send_request(options) end # Describe Amazon Inspector configuration settings for an Amazon Web # Services organization. # # @return [Types::DescribeOrganizationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeOrganizationConfigurationResponse#auto_enable #auto_enable} => Types::AutoEnable # * {Types::DescribeOrganizationConfigurationResponse#max_account_limit_reached #max_account_limit_reached} => Boolean # # @example Response structure # # resp.auto_enable.ec2 #=> Boolean # resp.auto_enable.ecr #=> Boolean # resp.auto_enable.lambda #=> Boolean # resp.auto_enable.lambda_code #=> Boolean # resp.max_account_limit_reached #=> Boolean # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DescribeOrganizationConfiguration AWS API Documentation # # @overload describe_organization_configuration(params = {}) # @param [Hash] params ({}) def describe_organization_configuration(params = {}, options = {}) req = build_request(:describe_organization_configuration, params) req.send_request(options) end # Disables Amazon Inspector scans for one or more Amazon Web Services # accounts. Disabling all scan types in an account disables the Amazon # Inspector service. # # @option params [Array] :account_ids # An array of account IDs you want to disable Amazon Inspector scans # for. # # @option params [Array] :resource_types # The resource scan types you want to disable. # # @return [Types::DisableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DisableResponse#accounts #accounts} => Array<Types::Account> # * {Types::DisableResponse#failed_accounts #failed_accounts} => Array<Types::FailedAccount> # # @example Request syntax with placeholder values # # resp = client.disable({ # account_ids: ["AccountId"], # resource_types: ["EC2"], # accepts EC2, ECR, LAMBDA, LAMBDA_CODE # }) # # @example Response structure # # resp.accounts #=> Array # resp.accounts[0].account_id #=> String # resp.accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].resource_status.lambda #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].resource_status.lambda_code #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts #=> Array # resp.failed_accounts[0].account_id #=> String # resp.failed_accounts[0].error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS", "ACCOUNT_IS_ISOLATED" # resp.failed_accounts[0].error_message #=> String # resp.failed_accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].resource_status.lambda #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].resource_status.lambda_code #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/Disable AWS API Documentation # # @overload disable(params = {}) # @param [Hash] params ({}) def disable(params = {}, options = {}) req = build_request(:disable, params) req.send_request(options) end # Disables the Amazon Inspector delegated administrator for your # organization. # # @option params [required, String] :delegated_admin_account_id # The Amazon Web Services account ID of the current Amazon Inspector # delegated administrator. # # @return [Types::DisableDelegatedAdminAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DisableDelegatedAdminAccountResponse#delegated_admin_account_id #delegated_admin_account_id} => String # # @example Request syntax with placeholder values # # resp = client.disable_delegated_admin_account({ # delegated_admin_account_id: "AccountId", # required # }) # # @example Response structure # # resp.delegated_admin_account_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DisableDelegatedAdminAccount AWS API Documentation # # @overload disable_delegated_admin_account(params = {}) # @param [Hash] params ({}) def disable_delegated_admin_account(params = {}, options = {}) req = build_request(:disable_delegated_admin_account, params) req.send_request(options) end # Disassociates a member account from an Amazon Inspector delegated # administrator. # # @option params [required, String] :account_id # The Amazon Web Services account ID of the member account to # disassociate. # # @return [Types::DisassociateMemberResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DisassociateMemberResponse#account_id #account_id} => String # # @example Request syntax with placeholder values # # resp = client.disassociate_member({ # account_id: "AccountId", # required # }) # # @example Response structure # # resp.account_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DisassociateMember AWS API Documentation # # @overload disassociate_member(params = {}) # @param [Hash] params ({}) def disassociate_member(params = {}, options = {}) req = build_request(:disassociate_member, params) req.send_request(options) end # Enables Amazon Inspector scans for one or more Amazon Web Services # accounts. # # @option params [Array] :account_ids # A list of account IDs you want to enable Amazon Inspector scans for. # # @option params [String] :client_token # The idempotency token for the request. # # **A suitable default value is auto-generated.** You should normally # not need to pass this option.** # # @option params [required, Array] :resource_types # The resource scan types you want to enable. # # @return [Types::EnableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::EnableResponse#accounts #accounts} => Array<Types::Account> # * {Types::EnableResponse#failed_accounts #failed_accounts} => Array<Types::FailedAccount> # # @example Request syntax with placeholder values # # resp = client.enable({ # account_ids: ["AccountId"], # client_token: "ClientToken", # resource_types: ["EC2"], # required, accepts EC2, ECR, LAMBDA, LAMBDA_CODE # }) # # @example Response structure # # resp.accounts #=> Array # resp.accounts[0].account_id #=> String # resp.accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].resource_status.lambda #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].resource_status.lambda_code #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts #=> Array # resp.failed_accounts[0].account_id #=> String # resp.failed_accounts[0].error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS", "ACCOUNT_IS_ISOLATED" # resp.failed_accounts[0].error_message #=> String # resp.failed_accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].resource_status.lambda #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].resource_status.lambda_code #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # resp.failed_accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/Enable AWS API Documentation # # @overload enable(params = {}) # @param [Hash] params ({}) def enable(params = {}, options = {}) req = build_request(:enable, params) req.send_request(options) end # Enables the Amazon Inspector delegated administrator for your # Organizations organization. # # @option params [String] :client_token # The idempotency token for the request. # # **A suitable default value is auto-generated.** You should normally # not need to pass this option.** # # @option params [required, String] :delegated_admin_account_id # The Amazon Web Services account ID of the Amazon Inspector delegated # administrator. # # @return [Types::EnableDelegatedAdminAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::EnableDelegatedAdminAccountResponse#delegated_admin_account_id #delegated_admin_account_id} => String # # @example Request syntax with placeholder values # # resp = client.enable_delegated_admin_account({ # client_token: "ClientToken", # delegated_admin_account_id: "AccountId", # required # }) # # @example Response structure # # resp.delegated_admin_account_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/EnableDelegatedAdminAccount AWS API Documentation # # @overload enable_delegated_admin_account(params = {}) # @param [Hash] params ({}) def enable_delegated_admin_account(params = {}, options = {}) req = build_request(:enable_delegated_admin_account, params) req.send_request(options) end # Retrieves a CIS scan report. # # @option params [String] :report_format # The format of the report. Valid values are `PDF` and `CSV`. If no # value is specified, the report format defaults to `PDF`. # # @option params [required, String] :scan_arn # The scan ARN. # # @option params [Array] :target_accounts # The target accounts. # # @return [Types::GetCisScanReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetCisScanReportResponse#status #status} => String # * {Types::GetCisScanReportResponse#url #url} => String # # @example Request syntax with placeholder values # # resp = client.get_cis_scan_report({ # report_format: "PDF", # accepts PDF, CSV # scan_arn: "CisScanArn", # required # target_accounts: ["AccountId"], # }) # # @example Response structure # # resp.status #=> String, one of "SUCCEEDED", "FAILED", "IN_PROGRESS" # resp.url #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetCisScanReport AWS API Documentation # # @overload get_cis_scan_report(params = {}) # @param [Hash] params ({}) def get_cis_scan_report(params = {}, options = {}) req = build_request(:get_cis_scan_report, params) req.send_request(options) end # Retrieves CIS scan result details. # # @option params [required, String] :account_id # The account ID. # # @option params [Types::CisScanResultDetailsFilterCriteria] :filter_criteria # The filter criteria. # # @option params [Integer] :max_results # The maximum number of CIS scan result details to be returned in a # single page of results. # # @option params [String] :next_token # The pagination token from a previous request that's used to retrieve # the next page of results. # # @option params [required, String] :scan_arn # The scan ARN. # # @option params [String] :sort_by # The sort by order. # # @option params [String] :sort_order # The sort order. # # @option params [required, String] :target_resource_id # The target resource ID. # # @return [Types::GetCisScanResultDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetCisScanResultDetailsResponse#next_token #next_token} => String # * {Types::GetCisScanResultDetailsResponse#scan_result_details #scan_result_details} => Array<Types::CisScanResultDetails> # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.get_cis_scan_result_details({ # account_id: "AccountId", # required # filter_criteria: { # check_id_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # finding_arn_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # finding_status_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # value: "PASSED", # required, accepts PASSED, FAILED, SKIPPED # }, # ], # security_level_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # value: "LEVEL_1", # required, accepts LEVEL_1, LEVEL_2 # }, # ], # title_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # }, # max_results: 1, # next_token: "NextToken", # scan_arn: "CisScanArn", # required # sort_by: "CHECK_ID", # accepts CHECK_ID, STATUS # sort_order: "ASC", # accepts ASC, DESC # target_resource_id: "ResourceId", # required # }) # # @example Response structure # # resp.next_token #=> String # resp.scan_result_details #=> Array # resp.scan_result_details[0].account_id #=> String # resp.scan_result_details[0].check_description #=> String # resp.scan_result_details[0].check_id #=> String # resp.scan_result_details[0].finding_arn #=> String # resp.scan_result_details[0].level #=> String, one of "LEVEL_1", "LEVEL_2" # resp.scan_result_details[0].platform #=> String # resp.scan_result_details[0].remediation #=> String # resp.scan_result_details[0].scan_arn #=> String # resp.scan_result_details[0].status #=> String, one of "PASSED", "FAILED", "SKIPPED" # resp.scan_result_details[0].status_reason #=> String # resp.scan_result_details[0].target_resource_id #=> String # resp.scan_result_details[0].title #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetCisScanResultDetails AWS API Documentation # # @overload get_cis_scan_result_details(params = {}) # @param [Hash] params ({}) def get_cis_scan_result_details(params = {}, options = {}) req = build_request(:get_cis_scan_result_details, params) req.send_request(options) end # Retrieves setting configurations for Inspector scans. # # @return [Types::GetConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetConfigurationResponse#ec2_configuration #ec2_configuration} => Types::Ec2ConfigurationState # * {Types::GetConfigurationResponse#ecr_configuration #ecr_configuration} => Types::EcrConfigurationState # # @example Response structure # # resp.ec2_configuration.scan_mode_state.scan_mode #=> String, one of "EC2_SSM_AGENT_BASED", "EC2_HYBRID" # resp.ec2_configuration.scan_mode_state.scan_mode_status #=> String, one of "SUCCESS", "PENDING" # resp.ecr_configuration.rescan_duration_state.pull_date_rescan_duration #=> String, one of "DAYS_14", "DAYS_30", "DAYS_60", "DAYS_90", "DAYS_180" # resp.ecr_configuration.rescan_duration_state.rescan_duration #=> String, one of "LIFETIME", "DAYS_30", "DAYS_180", "DAYS_14", "DAYS_60", "DAYS_90" # resp.ecr_configuration.rescan_duration_state.status #=> String, one of "SUCCESS", "PENDING", "FAILED" # resp.ecr_configuration.rescan_duration_state.updated_at #=> Time # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetConfiguration AWS API Documentation # # @overload get_configuration(params = {}) # @param [Hash] params ({}) def get_configuration(params = {}, options = {}) req = build_request(:get_configuration, params) req.send_request(options) end # Retrieves information about the Amazon Inspector delegated # administrator for your organization. # # @return [Types::GetDelegatedAdminAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetDelegatedAdminAccountResponse#delegated_admin #delegated_admin} => Types::DelegatedAdmin # # @example Response structure # # resp.delegated_admin.account_id #=> String # resp.delegated_admin.relationship_status #=> String, one of "CREATED", "INVITED", "DISABLED", "ENABLED", "REMOVED", "RESIGNED", "DELETED", "EMAIL_VERIFICATION_IN_PROGRESS", "EMAIL_VERIFICATION_FAILED", "REGION_DISABLED", "ACCOUNT_SUSPENDED", "CANNOT_CREATE_DETECTOR_IN_ORG_MASTER" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetDelegatedAdminAccount AWS API Documentation # # @overload get_delegated_admin_account(params = {}) # @param [Hash] params ({}) def get_delegated_admin_account(params = {}, options = {}) req = build_request(:get_delegated_admin_account, params) req.send_request(options) end # Retrieves the activation status of Amazon Inspector deep inspection # and custom paths associated with your account. # # @return [Types::GetEc2DeepInspectionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetEc2DeepInspectionConfigurationResponse#error_message #error_message} => String # * {Types::GetEc2DeepInspectionConfigurationResponse#org_package_paths #org_package_paths} => Array<String> # * {Types::GetEc2DeepInspectionConfigurationResponse#package_paths #package_paths} => Array<String> # * {Types::GetEc2DeepInspectionConfigurationResponse#status #status} => String # # @example Response structure # # resp.error_message #=> String # resp.org_package_paths #=> Array # resp.org_package_paths[0] #=> String # resp.package_paths #=> Array # resp.package_paths[0] #=> String # resp.status #=> String, one of "ACTIVATED", "DEACTIVATED", "PENDING", "FAILED" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetEc2DeepInspectionConfiguration AWS API Documentation # # @overload get_ec2_deep_inspection_configuration(params = {}) # @param [Hash] params ({}) def get_ec2_deep_inspection_configuration(params = {}, options = {}) req = build_request(:get_ec2_deep_inspection_configuration, params) req.send_request(options) end # Gets an encryption key. # # @option params [required, String] :resource_type # The resource type the key encrypts. # # @option params [required, String] :scan_type # The scan type the key encrypts. # # @return [Types::GetEncryptionKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetEncryptionKeyResponse#kms_key_id #kms_key_id} => String # # @example Request syntax with placeholder values # # resp = client.get_encryption_key({ # resource_type: "AWS_EC2_INSTANCE", # required, accepts AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE, AWS_ECR_REPOSITORY, AWS_LAMBDA_FUNCTION # scan_type: "NETWORK", # required, accepts NETWORK, PACKAGE, CODE # }) # # @example Response structure # # resp.kms_key_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetEncryptionKey AWS API Documentation # # @overload get_encryption_key(params = {}) # @param [Hash] params ({}) def get_encryption_key(params = {}, options = {}) req = build_request(:get_encryption_key, params) req.send_request(options) end # Gets the status of a findings report. # # @option params [String] :report_id # The ID of the report to retrieve the status of. # # @return [Types::GetFindingsReportStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetFindingsReportStatusResponse#destination #destination} => Types::Destination # * {Types::GetFindingsReportStatusResponse#error_code #error_code} => String # * {Types::GetFindingsReportStatusResponse#error_message #error_message} => String # * {Types::GetFindingsReportStatusResponse#filter_criteria #filter_criteria} => Types::FilterCriteria # * {Types::GetFindingsReportStatusResponse#report_id #report_id} => String # * {Types::GetFindingsReportStatusResponse#status #status} => String # # @example Request syntax with placeholder values # # resp = client.get_findings_report_status({ # report_id: "ReportId", # }) # # @example Response structure # # resp.destination.bucket_name #=> String # resp.destination.key_prefix #=> String # resp.destination.kms_key_arn #=> String # resp.error_code #=> String, one of "INTERNAL_ERROR", "INVALID_PERMISSIONS", "NO_FINDINGS_FOUND", "BUCKET_NOT_FOUND", "INCOMPATIBLE_BUCKET_REGION", "MALFORMED_KMS_KEY" # resp.error_message #=> String # resp.filter_criteria.aws_account_id #=> Array # resp.filter_criteria.aws_account_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.aws_account_id[0].value #=> String # resp.filter_criteria.code_vulnerability_detector_name #=> Array # resp.filter_criteria.code_vulnerability_detector_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.code_vulnerability_detector_name[0].value #=> String # resp.filter_criteria.code_vulnerability_detector_tags #=> Array # resp.filter_criteria.code_vulnerability_detector_tags[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.code_vulnerability_detector_tags[0].value #=> String # resp.filter_criteria.code_vulnerability_file_path #=> Array # resp.filter_criteria.code_vulnerability_file_path[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.code_vulnerability_file_path[0].value #=> String # resp.filter_criteria.component_id #=> Array # resp.filter_criteria.component_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.component_id[0].value #=> String # resp.filter_criteria.component_type #=> Array # resp.filter_criteria.component_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.component_type[0].value #=> String # resp.filter_criteria.ec2_instance_image_id #=> Array # resp.filter_criteria.ec2_instance_image_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.ec2_instance_image_id[0].value #=> String # resp.filter_criteria.ec2_instance_subnet_id #=> Array # resp.filter_criteria.ec2_instance_subnet_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.ec2_instance_subnet_id[0].value #=> String # resp.filter_criteria.ec2_instance_vpc_id #=> Array # resp.filter_criteria.ec2_instance_vpc_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.ec2_instance_vpc_id[0].value #=> String # resp.filter_criteria.ecr_image_architecture #=> Array # resp.filter_criteria.ecr_image_architecture[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.ecr_image_architecture[0].value #=> String # resp.filter_criteria.ecr_image_hash #=> Array # resp.filter_criteria.ecr_image_hash[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.ecr_image_hash[0].value #=> String # resp.filter_criteria.ecr_image_pushed_at #=> Array # resp.filter_criteria.ecr_image_pushed_at[0].end_inclusive #=> Time # resp.filter_criteria.ecr_image_pushed_at[0].start_inclusive #=> Time # resp.filter_criteria.ecr_image_registry #=> Array # resp.filter_criteria.ecr_image_registry[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.ecr_image_registry[0].value #=> String # resp.filter_criteria.ecr_image_repository_name #=> Array # resp.filter_criteria.ecr_image_repository_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.ecr_image_repository_name[0].value #=> String # resp.filter_criteria.ecr_image_tags #=> Array # resp.filter_criteria.ecr_image_tags[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.ecr_image_tags[0].value #=> String # resp.filter_criteria.epss_score #=> Array # resp.filter_criteria.epss_score[0].lower_inclusive #=> Float # resp.filter_criteria.epss_score[0].upper_inclusive #=> Float # resp.filter_criteria.exploit_available #=> Array # resp.filter_criteria.exploit_available[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.exploit_available[0].value #=> String # resp.filter_criteria.finding_arn #=> Array # resp.filter_criteria.finding_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.finding_arn[0].value #=> String # resp.filter_criteria.finding_status #=> Array # resp.filter_criteria.finding_status[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.finding_status[0].value #=> String # resp.filter_criteria.finding_type #=> Array # resp.filter_criteria.finding_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.finding_type[0].value #=> String # resp.filter_criteria.first_observed_at #=> Array # resp.filter_criteria.first_observed_at[0].end_inclusive #=> Time # resp.filter_criteria.first_observed_at[0].start_inclusive #=> Time # resp.filter_criteria.fix_available #=> Array # resp.filter_criteria.fix_available[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.fix_available[0].value #=> String # resp.filter_criteria.inspector_score #=> Array # resp.filter_criteria.inspector_score[0].lower_inclusive #=> Float # resp.filter_criteria.inspector_score[0].upper_inclusive #=> Float # resp.filter_criteria.lambda_function_execution_role_arn #=> Array # resp.filter_criteria.lambda_function_execution_role_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.lambda_function_execution_role_arn[0].value #=> String # resp.filter_criteria.lambda_function_last_modified_at #=> Array # resp.filter_criteria.lambda_function_last_modified_at[0].end_inclusive #=> Time # resp.filter_criteria.lambda_function_last_modified_at[0].start_inclusive #=> Time # resp.filter_criteria.lambda_function_layers #=> Array # resp.filter_criteria.lambda_function_layers[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.lambda_function_layers[0].value #=> String # resp.filter_criteria.lambda_function_name #=> Array # resp.filter_criteria.lambda_function_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.lambda_function_name[0].value #=> String # resp.filter_criteria.lambda_function_runtime #=> Array # resp.filter_criteria.lambda_function_runtime[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.lambda_function_runtime[0].value #=> String # resp.filter_criteria.last_observed_at #=> Array # resp.filter_criteria.last_observed_at[0].end_inclusive #=> Time # resp.filter_criteria.last_observed_at[0].start_inclusive #=> Time # resp.filter_criteria.network_protocol #=> Array # resp.filter_criteria.network_protocol[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.network_protocol[0].value #=> String # resp.filter_criteria.port_range #=> Array # resp.filter_criteria.port_range[0].begin_inclusive #=> Integer # resp.filter_criteria.port_range[0].end_inclusive #=> Integer # resp.filter_criteria.related_vulnerabilities #=> Array # resp.filter_criteria.related_vulnerabilities[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.related_vulnerabilities[0].value #=> String # resp.filter_criteria.resource_id #=> Array # resp.filter_criteria.resource_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.resource_id[0].value #=> String # resp.filter_criteria.resource_tags #=> Array # resp.filter_criteria.resource_tags[0].comparison #=> String, one of "EQUALS" # resp.filter_criteria.resource_tags[0].key #=> String # resp.filter_criteria.resource_tags[0].value #=> String # resp.filter_criteria.resource_type #=> Array # resp.filter_criteria.resource_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.resource_type[0].value #=> String # resp.filter_criteria.severity #=> Array # resp.filter_criteria.severity[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.severity[0].value #=> String # resp.filter_criteria.title #=> Array # resp.filter_criteria.title[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.title[0].value #=> String # resp.filter_criteria.updated_at #=> Array # resp.filter_criteria.updated_at[0].end_inclusive #=> Time # resp.filter_criteria.updated_at[0].start_inclusive #=> Time # resp.filter_criteria.vendor_severity #=> Array # resp.filter_criteria.vendor_severity[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.vendor_severity[0].value #=> String # resp.filter_criteria.vulnerability_id #=> Array # resp.filter_criteria.vulnerability_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.vulnerability_id[0].value #=> String # resp.filter_criteria.vulnerability_source #=> Array # resp.filter_criteria.vulnerability_source[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.vulnerability_source[0].value #=> String # resp.filter_criteria.vulnerable_packages #=> Array # resp.filter_criteria.vulnerable_packages[0].architecture.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.vulnerable_packages[0].architecture.value #=> String # resp.filter_criteria.vulnerable_packages[0].epoch.lower_inclusive #=> Float # resp.filter_criteria.vulnerable_packages[0].epoch.upper_inclusive #=> Float # resp.filter_criteria.vulnerable_packages[0].name.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.vulnerable_packages[0].name.value #=> String # resp.filter_criteria.vulnerable_packages[0].release.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.vulnerable_packages[0].release.value #=> String # resp.filter_criteria.vulnerable_packages[0].source_lambda_layer_arn.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.vulnerable_packages[0].source_lambda_layer_arn.value #=> String # resp.filter_criteria.vulnerable_packages[0].source_layer_hash.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.vulnerable_packages[0].source_layer_hash.value #=> String # resp.filter_criteria.vulnerable_packages[0].version.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filter_criteria.vulnerable_packages[0].version.value #=> String # resp.report_id #=> String # resp.status #=> String, one of "SUCCEEDED", "IN_PROGRESS", "CANCELLED", "FAILED" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetFindingsReportStatus AWS API Documentation # # @overload get_findings_report_status(params = {}) # @param [Hash] params ({}) def get_findings_report_status(params = {}, options = {}) req = build_request(:get_findings_report_status, params) req.send_request(options) end # Gets member information for your organization. # # @option params [required, String] :account_id # The Amazon Web Services account ID of the member account to retrieve # information on. # # @return [Types::GetMemberResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetMemberResponse#member #member} => Types::Member # # @example Request syntax with placeholder values # # resp = client.get_member({ # account_id: "AccountId", # required # }) # # @example Response structure # # resp.member.account_id #=> String # resp.member.delegated_admin_account_id #=> String # resp.member.relationship_status #=> String, one of "CREATED", "INVITED", "DISABLED", "ENABLED", "REMOVED", "RESIGNED", "DELETED", "EMAIL_VERIFICATION_IN_PROGRESS", "EMAIL_VERIFICATION_FAILED", "REGION_DISABLED", "ACCOUNT_SUSPENDED", "CANNOT_CREATE_DETECTOR_IN_ORG_MASTER" # resp.member.updated_at #=> Time # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetMember AWS API Documentation # # @overload get_member(params = {}) # @param [Hash] params ({}) def get_member(params = {}, options = {}) req = build_request(:get_member, params) req.send_request(options) end # Gets details of a software bill of materials (SBOM) report. # # @option params [required, String] :report_id # The report ID of the SBOM export to get details for. # # @return [Types::GetSbomExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetSbomExportResponse#error_code #error_code} => String # * {Types::GetSbomExportResponse#error_message #error_message} => String # * {Types::GetSbomExportResponse#filter_criteria #filter_criteria} => Types::ResourceFilterCriteria # * {Types::GetSbomExportResponse#format #format} => String # * {Types::GetSbomExportResponse#report_id #report_id} => String # * {Types::GetSbomExportResponse#s3_destination #s3_destination} => Types::Destination # * {Types::GetSbomExportResponse#status #status} => String # # @example Request syntax with placeholder values # # resp = client.get_sbom_export({ # report_id: "ReportId", # required # }) # # @example Response structure # # resp.error_code #=> String, one of "INTERNAL_ERROR", "INVALID_PERMISSIONS", "NO_FINDINGS_FOUND", "BUCKET_NOT_FOUND", "INCOMPATIBLE_BUCKET_REGION", "MALFORMED_KMS_KEY" # resp.error_message #=> String # resp.filter_criteria.account_id #=> Array # resp.filter_criteria.account_id[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS" # resp.filter_criteria.account_id[0].value #=> String # resp.filter_criteria.ec2_instance_tags #=> Array # resp.filter_criteria.ec2_instance_tags[0].comparison #=> String, one of "EQUALS" # resp.filter_criteria.ec2_instance_tags[0].key #=> String # resp.filter_criteria.ec2_instance_tags[0].value #=> String # resp.filter_criteria.ecr_image_tags #=> Array # resp.filter_criteria.ecr_image_tags[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS" # resp.filter_criteria.ecr_image_tags[0].value #=> String # resp.filter_criteria.ecr_repository_name #=> Array # resp.filter_criteria.ecr_repository_name[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS" # resp.filter_criteria.ecr_repository_name[0].value #=> String # resp.filter_criteria.lambda_function_name #=> Array # resp.filter_criteria.lambda_function_name[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS" # resp.filter_criteria.lambda_function_name[0].value #=> String # resp.filter_criteria.lambda_function_tags #=> Array # resp.filter_criteria.lambda_function_tags[0].comparison #=> String, one of "EQUALS" # resp.filter_criteria.lambda_function_tags[0].key #=> String # resp.filter_criteria.lambda_function_tags[0].value #=> String # resp.filter_criteria.resource_id #=> Array # resp.filter_criteria.resource_id[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS" # resp.filter_criteria.resource_id[0].value #=> String # resp.filter_criteria.resource_type #=> Array # resp.filter_criteria.resource_type[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS" # resp.filter_criteria.resource_type[0].value #=> String # resp.format #=> String, one of "CYCLONEDX_1_4", "SPDX_2_3" # resp.report_id #=> String # resp.s3_destination.bucket_name #=> String # resp.s3_destination.key_prefix #=> String # resp.s3_destination.kms_key_arn #=> String # resp.status #=> String, one of "SUCCEEDED", "IN_PROGRESS", "CANCELLED", "FAILED" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetSbomExport AWS API Documentation # # @overload get_sbom_export(params = {}) # @param [Hash] params ({}) def get_sbom_export(params = {}, options = {}) req = build_request(:get_sbom_export, params) req.send_request(options) end # Lists the permissions an account has to configure Amazon Inspector. # # @option params [Integer] :max_results # The maximum number of results the response can return. If your request # would return more than the maximum the response will return a # `nextToken` value, use this value when you call the action again to # get the remaining results. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. If your response returns more than the # `maxResults` maximum value it will also return a `nextToken` value. # For subsequent calls, use the NextToken value returned from the # previous request to continue listing results after the first page. # # @option params [String] :service # The service scan type to check permissions for. # # @return [Types::ListAccountPermissionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListAccountPermissionsResponse#next_token #next_token} => String # * {Types::ListAccountPermissionsResponse#permissions #permissions} => Array<Types::Permission> # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_account_permissions({ # max_results: 1, # next_token: "NextToken", # service: "EC2", # accepts EC2, ECR, LAMBDA # }) # # @example Response structure # # resp.next_token #=> String # resp.permissions #=> Array # resp.permissions[0].operation #=> String, one of "ENABLE_SCANNING", "DISABLE_SCANNING", "ENABLE_REPOSITORY", "DISABLE_REPOSITORY" # resp.permissions[0].service #=> String, one of "EC2", "ECR", "LAMBDA" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListAccountPermissions AWS API Documentation # # @overload list_account_permissions(params = {}) # @param [Hash] params ({}) def list_account_permissions(params = {}, options = {}) req = build_request(:list_account_permissions, params) req.send_request(options) end # Lists CIS scan configurations. # # @option params [Types::ListCisScanConfigurationsFilterCriteria] :filter_criteria # The CIS scan configuration filter criteria. # # @option params [Integer] :max_results # The maximum number of CIS scan configurations to be returned in a # single page of results. # # @option params [String] :next_token # The pagination token from a previous request that's used to retrieve # the next page of results. # # @option params [String] :sort_by # The CIS scan configuration sort by order. # # @option params [String] :sort_order # The CIS scan configuration sort order order. # # @return [Types::ListCisScanConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListCisScanConfigurationsResponse#next_token #next_token} => String # * {Types::ListCisScanConfigurationsResponse#scan_configurations #scan_configurations} => Array<Types::CisScanConfiguration> # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_cis_scan_configurations({ # filter_criteria: { # scan_configuration_arn_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # scan_name_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # target_resource_tag_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "NonEmptyString", # required # value: "NonEmptyString", # required # }, # ], # }, # max_results: 1, # next_token: "NextToken", # sort_by: "SCAN_NAME", # accepts SCAN_NAME, SCAN_CONFIGURATION_ARN # sort_order: "ASC", # accepts ASC, DESC # }) # # @example Response structure # # resp.next_token #=> String # resp.scan_configurations #=> Array # resp.scan_configurations[0].owner_id #=> String # resp.scan_configurations[0].scan_configuration_arn #=> String # resp.scan_configurations[0].scan_name #=> String # resp.scan_configurations[0].schedule.daily.start_time.time_of_day #=> String # resp.scan_configurations[0].schedule.daily.start_time.timezone #=> String # resp.scan_configurations[0].schedule.monthly.day #=> String, one of "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" # resp.scan_configurations[0].schedule.monthly.start_time.time_of_day #=> String # resp.scan_configurations[0].schedule.monthly.start_time.timezone #=> String # resp.scan_configurations[0].schedule.weekly.days #=> Array # resp.scan_configurations[0].schedule.weekly.days[0] #=> String, one of "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" # resp.scan_configurations[0].schedule.weekly.start_time.time_of_day #=> String # resp.scan_configurations[0].schedule.weekly.start_time.timezone #=> String # resp.scan_configurations[0].security_level #=> String, one of "LEVEL_1", "LEVEL_2" # resp.scan_configurations[0].tags #=> Hash # resp.scan_configurations[0].tags["MapKey"] #=> String # resp.scan_configurations[0].targets.account_ids #=> Array # resp.scan_configurations[0].targets.account_ids[0] #=> String # resp.scan_configurations[0].targets.target_resource_tags #=> Hash # resp.scan_configurations[0].targets.target_resource_tags["NonEmptyString"] #=> Array # resp.scan_configurations[0].targets.target_resource_tags["NonEmptyString"][0] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScanConfigurations AWS API Documentation # # @overload list_cis_scan_configurations(params = {}) # @param [Hash] params ({}) def list_cis_scan_configurations(params = {}, options = {}) req = build_request(:list_cis_scan_configurations, params) req.send_request(options) end # Lists scan results aggregated by checks. # # @option params [Types::CisScanResultsAggregatedByChecksFilterCriteria] :filter_criteria # The filter criteria. # # @option params [Integer] :max_results # The maximum number of scan results aggregated by checks to be returned # in a single page of results. # # @option params [String] :next_token # The pagination token from a previous request that's used to retrieve # the next page of results. # # @option params [required, String] :scan_arn # The scan ARN. # # @option params [String] :sort_by # The sort by order. # # @option params [String] :sort_order # The sort order. # # @return [Types::ListCisScanResultsAggregatedByChecksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListCisScanResultsAggregatedByChecksResponse#check_aggregations #check_aggregations} => Array<Types::CisCheckAggregation> # * {Types::ListCisScanResultsAggregatedByChecksResponse#next_token #next_token} => String # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_cis_scan_results_aggregated_by_checks({ # filter_criteria: { # account_id_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # check_id_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # failed_resources_filters: [ # { # lower_inclusive: 1, # upper_inclusive: 1, # }, # ], # platform_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # security_level_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # value: "LEVEL_1", # required, accepts LEVEL_1, LEVEL_2 # }, # ], # title_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # }, # max_results: 1, # next_token: "NextToken", # scan_arn: "CisScanArn", # required # sort_by: "CHECK_ID", # accepts CHECK_ID, TITLE, PLATFORM, FAILED_COUNTS, SECURITY_LEVEL # sort_order: "ASC", # accepts ASC, DESC # }) # # @example Response structure # # resp.check_aggregations #=> Array # resp.check_aggregations[0].account_id #=> String # resp.check_aggregations[0].check_description #=> String # resp.check_aggregations[0].check_id #=> String # resp.check_aggregations[0].level #=> String, one of "LEVEL_1", "LEVEL_2" # resp.check_aggregations[0].platform #=> String # resp.check_aggregations[0].scan_arn #=> String # resp.check_aggregations[0].status_counts.failed #=> Integer # resp.check_aggregations[0].status_counts.passed #=> Integer # resp.check_aggregations[0].status_counts.skipped #=> Integer # resp.check_aggregations[0].title #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScanResultsAggregatedByChecks AWS API Documentation # # @overload list_cis_scan_results_aggregated_by_checks(params = {}) # @param [Hash] params ({}) def list_cis_scan_results_aggregated_by_checks(params = {}, options = {}) req = build_request(:list_cis_scan_results_aggregated_by_checks, params) req.send_request(options) end # Lists scan results aggregated by a target resource. # # @option params [Types::CisScanResultsAggregatedByTargetResourceFilterCriteria] :filter_criteria # The filter criteria. # # @option params [Integer] :max_results # The maximum number of scan results aggregated by a target resource to # be returned in a single page of results. # # @option params [String] :next_token # The pagination token from a previous request that's used to retrieve # the next page of results. # # @option params [required, String] :scan_arn # The scan ARN. # # @option params [String] :sort_by # The sort by order. # # @option params [String] :sort_order # The sort order. # # @return [Types::ListCisScanResultsAggregatedByTargetResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListCisScanResultsAggregatedByTargetResourceResponse#next_token #next_token} => String # * {Types::ListCisScanResultsAggregatedByTargetResourceResponse#target_resource_aggregations #target_resource_aggregations} => Array<Types::CisTargetResourceAggregation> # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_cis_scan_results_aggregated_by_target_resource({ # filter_criteria: { # account_id_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # check_id_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # failed_checks_filters: [ # { # lower_inclusive: 1, # upper_inclusive: 1, # }, # ], # platform_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # status_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # value: "PASSED", # required, accepts PASSED, FAILED, SKIPPED # }, # ], # target_resource_id_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # target_resource_tag_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "NonEmptyString", # required # value: "NonEmptyString", # required # }, # ], # target_status_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # value: "TIMED_OUT", # required, accepts TIMED_OUT, CANCELLED, COMPLETED # }, # ], # target_status_reason_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # value: "SCAN_IN_PROGRESS", # required, accepts SCAN_IN_PROGRESS, UNSUPPORTED_OS, SSM_UNMANAGED # }, # ], # }, # max_results: 1, # next_token: "NextToken", # scan_arn: "CisScanArn", # required # sort_by: "RESOURCE_ID", # accepts RESOURCE_ID, FAILED_COUNTS, ACCOUNT_ID, PLATFORM, TARGET_STATUS, TARGET_STATUS_REASON # sort_order: "ASC", # accepts ASC, DESC # }) # # @example Response structure # # resp.next_token #=> String # resp.target_resource_aggregations #=> Array # resp.target_resource_aggregations[0].account_id #=> String # resp.target_resource_aggregations[0].platform #=> String # resp.target_resource_aggregations[0].scan_arn #=> String # resp.target_resource_aggregations[0].status_counts.failed #=> Integer # resp.target_resource_aggregations[0].status_counts.passed #=> Integer # resp.target_resource_aggregations[0].status_counts.skipped #=> Integer # resp.target_resource_aggregations[0].target_resource_id #=> String # resp.target_resource_aggregations[0].target_resource_tags #=> Hash # resp.target_resource_aggregations[0].target_resource_tags["NonEmptyString"] #=> Array # resp.target_resource_aggregations[0].target_resource_tags["NonEmptyString"][0] #=> String # resp.target_resource_aggregations[0].target_status #=> String, one of "TIMED_OUT", "CANCELLED", "COMPLETED" # resp.target_resource_aggregations[0].target_status_reason #=> String, one of "SCAN_IN_PROGRESS", "UNSUPPORTED_OS", "SSM_UNMANAGED" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScanResultsAggregatedByTargetResource AWS API Documentation # # @overload list_cis_scan_results_aggregated_by_target_resource(params = {}) # @param [Hash] params ({}) def list_cis_scan_results_aggregated_by_target_resource(params = {}, options = {}) req = build_request(:list_cis_scan_results_aggregated_by_target_resource, params) req.send_request(options) end # Returns a CIS scan list. # # @option params [String] :detail_level # The detail applied to the CIS scan. # # @option params [Types::ListCisScansFilterCriteria] :filter_criteria # The CIS scan filter criteria. # # @option params [Integer] :max_results # The maximum number of results to be returned. # # @option params [String] :next_token # The pagination token from a previous request that's used to retrieve # the next page of results. # # @option params [String] :sort_by # The CIS scans sort by order. # # @option params [String] :sort_order # The CIS scans sort order. # # @return [Types::ListCisScansResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListCisScansResponse#next_token #next_token} => String # * {Types::ListCisScansResponse#scans #scans} => Array<Types::CisScan> # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_cis_scans({ # detail_level: "ORGANIZATION", # accepts ORGANIZATION, MEMBER # filter_criteria: { # failed_checks_filters: [ # { # lower_inclusive: 1, # upper_inclusive: 1, # }, # ], # scan_arn_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # scan_at_filters: [ # { # earliest_scan_start_time: Time.now, # latest_scan_start_time: Time.now, # }, # ], # scan_configuration_arn_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # scan_name_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # scan_status_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # value: "FAILED", # required, accepts FAILED, COMPLETED, CANCELLED, IN_PROGRESS # }, # ], # scheduled_by_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # target_account_id_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # target_resource_id_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "String", # required # }, # ], # target_resource_tag_filters: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "NonEmptyString", # required # value: "NonEmptyString", # required # }, # ], # }, # max_results: 1, # next_token: "NextToken", # sort_by: "STATUS", # accepts STATUS, SCHEDULED_BY, SCAN_START_DATE, FAILED_CHECKS # sort_order: "ASC", # accepts ASC, DESC # }) # # @example Response structure # # resp.next_token #=> String # resp.scans #=> Array # resp.scans[0].failed_checks #=> Integer # resp.scans[0].scan_arn #=> String # resp.scans[0].scan_configuration_arn #=> String # resp.scans[0].scan_date #=> Time # resp.scans[0].scan_name #=> String # resp.scans[0].scheduled_by #=> String # resp.scans[0].security_level #=> String, one of "LEVEL_1", "LEVEL_2" # resp.scans[0].status #=> String, one of "FAILED", "COMPLETED", "CANCELLED", "IN_PROGRESS" # resp.scans[0].targets.account_ids #=> Array # resp.scans[0].targets.account_ids[0] #=> String # resp.scans[0].targets.target_resource_tags #=> Hash # resp.scans[0].targets.target_resource_tags["NonEmptyString"] #=> Array # resp.scans[0].targets.target_resource_tags["NonEmptyString"][0] #=> String # resp.scans[0].total_checks #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScans AWS API Documentation # # @overload list_cis_scans(params = {}) # @param [Hash] params ({}) def list_cis_scans(params = {}, options = {}) req = build_request(:list_cis_scans, params) req.send_request(options) end # Lists coverage details for you environment. # # @option params [Types::CoverageFilterCriteria] :filter_criteria # An object that contains details on the filters to apply to the # coverage data for your environment. # # @option params [Integer] :max_results # The maximum number of results the response can return. If your request # would return more than the maximum the response will return a # `nextToken` value, use this value when you call the action again to # get the remaining results. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. If your response returns more than the # `maxResults` maximum value it will also return a `nextToken` value. # For subsequent calls, use the `nextToken` value returned from the # previous request to continue listing results after the first page. # # @return [Types::ListCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListCoverageResponse#covered_resources #covered_resources} => Array<Types::CoveredResource> # * {Types::ListCoverageResponse#next_token #next_token} => String # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_coverage({ # filter_criteria: { # account_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # ec2_instance_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "NonEmptyString", # required # value: "NonEmptyString", # }, # ], # ecr_image_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # ecr_repository_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # image_pulled_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # lambda_function_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # lambda_function_runtime: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # lambda_function_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "NonEmptyString", # required # value: "NonEmptyString", # }, # ], # last_scanned_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # resource_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # resource_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # scan_mode: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # scan_status_code: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # scan_status_reason: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # scan_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # }, # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.covered_resources #=> Array # resp.covered_resources[0].account_id #=> String # resp.covered_resources[0].last_scanned_at #=> Time # resp.covered_resources[0].resource_id #=> String # resp.covered_resources[0].resource_metadata.ec2.ami_id #=> String # resp.covered_resources[0].resource_metadata.ec2.platform #=> String, one of "WINDOWS", "LINUX", "UNKNOWN", "MACOS" # resp.covered_resources[0].resource_metadata.ec2.tags #=> Hash # resp.covered_resources[0].resource_metadata.ec2.tags["MapKey"] #=> String # resp.covered_resources[0].resource_metadata.ecr_image.image_pulled_at #=> Time # resp.covered_resources[0].resource_metadata.ecr_image.tags #=> Array # resp.covered_resources[0].resource_metadata.ecr_image.tags[0] #=> String # resp.covered_resources[0].resource_metadata.ecr_repository.name #=> String # resp.covered_resources[0].resource_metadata.ecr_repository.scan_frequency #=> String, one of "MANUAL", "SCAN_ON_PUSH", "CONTINUOUS_SCAN" # resp.covered_resources[0].resource_metadata.lambda_function.function_name #=> String # resp.covered_resources[0].resource_metadata.lambda_function.function_tags #=> Hash # resp.covered_resources[0].resource_metadata.lambda_function.function_tags["MapKey"] #=> String # resp.covered_resources[0].resource_metadata.lambda_function.layers #=> Array # resp.covered_resources[0].resource_metadata.lambda_function.layers[0] #=> String # resp.covered_resources[0].resource_metadata.lambda_function.runtime #=> String, one of "NODEJS", "NODEJS_12_X", "NODEJS_14_X", "NODEJS_16_X", "JAVA_8", "JAVA_8_AL2", "JAVA_11", "PYTHON_3_7", "PYTHON_3_8", "PYTHON_3_9", "UNSUPPORTED", "NODEJS_18_X", "GO_1_X", "JAVA_17", "PYTHON_3_10" # resp.covered_resources[0].resource_type #=> String, one of "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER_IMAGE", "AWS_ECR_REPOSITORY", "AWS_LAMBDA_FUNCTION" # resp.covered_resources[0].scan_mode #=> String, one of "EC2_SSM_AGENT_BASED", "EC2_AGENTLESS" # resp.covered_resources[0].scan_status.reason #=> String, one of "PENDING_INITIAL_SCAN", "ACCESS_DENIED", "INTERNAL_ERROR", "UNMANAGED_EC2_INSTANCE", "UNSUPPORTED_OS", "SCAN_ELIGIBILITY_EXPIRED", "RESOURCE_TERMINATED", "SUCCESSFUL", "NO_RESOURCES_FOUND", "IMAGE_SIZE_EXCEEDED", "SCAN_FREQUENCY_MANUAL", "SCAN_FREQUENCY_SCAN_ON_PUSH", "EC2_INSTANCE_STOPPED", "PENDING_DISABLE", "NO_INVENTORY", "STALE_INVENTORY", "EXCLUDED_BY_TAG", "UNSUPPORTED_RUNTIME", "UNSUPPORTED_MEDIA_TYPE", "UNSUPPORTED_CONFIG_FILE", "DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED", "DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED", "DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED", "DEEP_INSPECTION_NO_INVENTORY" # resp.covered_resources[0].scan_status.status_code #=> String, one of "ACTIVE", "INACTIVE" # resp.covered_resources[0].scan_type #=> String, one of "NETWORK", "PACKAGE", "CODE" # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverage AWS API Documentation # # @overload list_coverage(params = {}) # @param [Hash] params ({}) def list_coverage(params = {}, options = {}) req = build_request(:list_coverage, params) req.send_request(options) end # Lists Amazon Inspector coverage statistics for your environment. # # @option params [Types::CoverageFilterCriteria] :filter_criteria # An object that contains details on the filters to apply to the # coverage data for your environment. # # @option params [String] :group_by # The value to group the results by. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. For subsequent calls, use the `NextToken` # value returned from the previous request to continue listing results # after the first page. # # @return [Types::ListCoverageStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListCoverageStatisticsResponse#counts_by_group #counts_by_group} => Array<Types::Counts> # * {Types::ListCoverageStatisticsResponse#next_token #next_token} => String # * {Types::ListCoverageStatisticsResponse#total_counts #total_counts} => Integer # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_coverage_statistics({ # filter_criteria: { # account_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # ec2_instance_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "NonEmptyString", # required # value: "NonEmptyString", # }, # ], # ecr_image_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # ecr_repository_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # image_pulled_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # lambda_function_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # lambda_function_runtime: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # lambda_function_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "NonEmptyString", # required # value: "NonEmptyString", # }, # ], # last_scanned_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # resource_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # resource_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # scan_mode: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # scan_status_code: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # scan_status_reason: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # scan_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS # value: "CoverageStringInput", # required # }, # ], # }, # group_by: "SCAN_STATUS_CODE", # accepts SCAN_STATUS_CODE, SCAN_STATUS_REASON, ACCOUNT_ID, RESOURCE_TYPE, ECR_REPOSITORY_NAME # next_token: "NextToken", # }) # # @example Response structure # # resp.counts_by_group #=> Array # resp.counts_by_group[0].count #=> Integer # resp.counts_by_group[0].group_key #=> String, one of "SCAN_STATUS_CODE", "SCAN_STATUS_REASON", "ACCOUNT_ID", "RESOURCE_TYPE", "ECR_REPOSITORY_NAME" # resp.next_token #=> String # resp.total_counts #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverageStatistics AWS API Documentation # # @overload list_coverage_statistics(params = {}) # @param [Hash] params ({}) def list_coverage_statistics(params = {}, options = {}) req = build_request(:list_coverage_statistics, params) req.send_request(options) end # Lists information about the Amazon Inspector delegated administrator # of your organization. # # @option params [Integer] :max_results # The maximum number of results the response can return. If your request # would return more than the maximum the response will return a # `nextToken` value, use this value when you call the action again to # get the remaining results. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. If your response returns more than the # `maxResults` maximum value it will also return a `nextToken` value. # For subsequent calls, use the `nextToken` value returned from the # previous request to continue listing results after the first page. # # @return [Types::ListDelegatedAdminAccountsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListDelegatedAdminAccountsResponse#delegated_admin_accounts #delegated_admin_accounts} => Array<Types::DelegatedAdminAccount> # * {Types::ListDelegatedAdminAccountsResponse#next_token #next_token} => String # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_delegated_admin_accounts({ # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.delegated_admin_accounts #=> Array # resp.delegated_admin_accounts[0].account_id #=> String # resp.delegated_admin_accounts[0].status #=> String, one of "ENABLED", "DISABLE_IN_PROGRESS" # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListDelegatedAdminAccounts AWS API Documentation # # @overload list_delegated_admin_accounts(params = {}) # @param [Hash] params ({}) def list_delegated_admin_accounts(params = {}, options = {}) req = build_request(:list_delegated_admin_accounts, params) req.send_request(options) end # Lists the filters associated with your account. # # @option params [String] :action # The action the filter applies to matched findings. # # @option params [Array] :arns # The Amazon resource number (ARN) of the filter. # # @option params [Integer] :max_results # The maximum number of results the response can return. If your request # would return more than the maximum the response will return a # `nextToken` value, use this value when you call the action again to # get the remaining results. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. If your response returns more than the # `maxResults` maximum value it will also return a `nextToken` value. # For subsequent calls, use the `nextToken` value returned from the # previous request to continue listing results after the first page. # # @return [Types::ListFiltersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListFiltersResponse#filters #filters} => Array<Types::Filter> # * {Types::ListFiltersResponse#next_token #next_token} => String # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_filters({ # action: "NONE", # accepts NONE, SUPPRESS # arns: ["FilterArn"], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.filters #=> Array # resp.filters[0].action #=> String, one of "NONE", "SUPPRESS" # resp.filters[0].arn #=> String # resp.filters[0].created_at #=> Time # resp.filters[0].criteria.aws_account_id #=> Array # resp.filters[0].criteria.aws_account_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.aws_account_id[0].value #=> String # resp.filters[0].criteria.code_vulnerability_detector_name #=> Array # resp.filters[0].criteria.code_vulnerability_detector_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.code_vulnerability_detector_name[0].value #=> String # resp.filters[0].criteria.code_vulnerability_detector_tags #=> Array # resp.filters[0].criteria.code_vulnerability_detector_tags[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.code_vulnerability_detector_tags[0].value #=> String # resp.filters[0].criteria.code_vulnerability_file_path #=> Array # resp.filters[0].criteria.code_vulnerability_file_path[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.code_vulnerability_file_path[0].value #=> String # resp.filters[0].criteria.component_id #=> Array # resp.filters[0].criteria.component_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.component_id[0].value #=> String # resp.filters[0].criteria.component_type #=> Array # resp.filters[0].criteria.component_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.component_type[0].value #=> String # resp.filters[0].criteria.ec2_instance_image_id #=> Array # resp.filters[0].criteria.ec2_instance_image_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.ec2_instance_image_id[0].value #=> String # resp.filters[0].criteria.ec2_instance_subnet_id #=> Array # resp.filters[0].criteria.ec2_instance_subnet_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.ec2_instance_subnet_id[0].value #=> String # resp.filters[0].criteria.ec2_instance_vpc_id #=> Array # resp.filters[0].criteria.ec2_instance_vpc_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.ec2_instance_vpc_id[0].value #=> String # resp.filters[0].criteria.ecr_image_architecture #=> Array # resp.filters[0].criteria.ecr_image_architecture[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.ecr_image_architecture[0].value #=> String # resp.filters[0].criteria.ecr_image_hash #=> Array # resp.filters[0].criteria.ecr_image_hash[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.ecr_image_hash[0].value #=> String # resp.filters[0].criteria.ecr_image_pushed_at #=> Array # resp.filters[0].criteria.ecr_image_pushed_at[0].end_inclusive #=> Time # resp.filters[0].criteria.ecr_image_pushed_at[0].start_inclusive #=> Time # resp.filters[0].criteria.ecr_image_registry #=> Array # resp.filters[0].criteria.ecr_image_registry[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.ecr_image_registry[0].value #=> String # resp.filters[0].criteria.ecr_image_repository_name #=> Array # resp.filters[0].criteria.ecr_image_repository_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.ecr_image_repository_name[0].value #=> String # resp.filters[0].criteria.ecr_image_tags #=> Array # resp.filters[0].criteria.ecr_image_tags[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.ecr_image_tags[0].value #=> String # resp.filters[0].criteria.epss_score #=> Array # resp.filters[0].criteria.epss_score[0].lower_inclusive #=> Float # resp.filters[0].criteria.epss_score[0].upper_inclusive #=> Float # resp.filters[0].criteria.exploit_available #=> Array # resp.filters[0].criteria.exploit_available[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.exploit_available[0].value #=> String # resp.filters[0].criteria.finding_arn #=> Array # resp.filters[0].criteria.finding_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.finding_arn[0].value #=> String # resp.filters[0].criteria.finding_status #=> Array # resp.filters[0].criteria.finding_status[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.finding_status[0].value #=> String # resp.filters[0].criteria.finding_type #=> Array # resp.filters[0].criteria.finding_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.finding_type[0].value #=> String # resp.filters[0].criteria.first_observed_at #=> Array # resp.filters[0].criteria.first_observed_at[0].end_inclusive #=> Time # resp.filters[0].criteria.first_observed_at[0].start_inclusive #=> Time # resp.filters[0].criteria.fix_available #=> Array # resp.filters[0].criteria.fix_available[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.fix_available[0].value #=> String # resp.filters[0].criteria.inspector_score #=> Array # resp.filters[0].criteria.inspector_score[0].lower_inclusive #=> Float # resp.filters[0].criteria.inspector_score[0].upper_inclusive #=> Float # resp.filters[0].criteria.lambda_function_execution_role_arn #=> Array # resp.filters[0].criteria.lambda_function_execution_role_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.lambda_function_execution_role_arn[0].value #=> String # resp.filters[0].criteria.lambda_function_last_modified_at #=> Array # resp.filters[0].criteria.lambda_function_last_modified_at[0].end_inclusive #=> Time # resp.filters[0].criteria.lambda_function_last_modified_at[0].start_inclusive #=> Time # resp.filters[0].criteria.lambda_function_layers #=> Array # resp.filters[0].criteria.lambda_function_layers[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.lambda_function_layers[0].value #=> String # resp.filters[0].criteria.lambda_function_name #=> Array # resp.filters[0].criteria.lambda_function_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.lambda_function_name[0].value #=> String # resp.filters[0].criteria.lambda_function_runtime #=> Array # resp.filters[0].criteria.lambda_function_runtime[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.lambda_function_runtime[0].value #=> String # resp.filters[0].criteria.last_observed_at #=> Array # resp.filters[0].criteria.last_observed_at[0].end_inclusive #=> Time # resp.filters[0].criteria.last_observed_at[0].start_inclusive #=> Time # resp.filters[0].criteria.network_protocol #=> Array # resp.filters[0].criteria.network_protocol[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.network_protocol[0].value #=> String # resp.filters[0].criteria.port_range #=> Array # resp.filters[0].criteria.port_range[0].begin_inclusive #=> Integer # resp.filters[0].criteria.port_range[0].end_inclusive #=> Integer # resp.filters[0].criteria.related_vulnerabilities #=> Array # resp.filters[0].criteria.related_vulnerabilities[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.related_vulnerabilities[0].value #=> String # resp.filters[0].criteria.resource_id #=> Array # resp.filters[0].criteria.resource_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.resource_id[0].value #=> String # resp.filters[0].criteria.resource_tags #=> Array # resp.filters[0].criteria.resource_tags[0].comparison #=> String, one of "EQUALS" # resp.filters[0].criteria.resource_tags[0].key #=> String # resp.filters[0].criteria.resource_tags[0].value #=> String # resp.filters[0].criteria.resource_type #=> Array # resp.filters[0].criteria.resource_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.resource_type[0].value #=> String # resp.filters[0].criteria.severity #=> Array # resp.filters[0].criteria.severity[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.severity[0].value #=> String # resp.filters[0].criteria.title #=> Array # resp.filters[0].criteria.title[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.title[0].value #=> String # resp.filters[0].criteria.updated_at #=> Array # resp.filters[0].criteria.updated_at[0].end_inclusive #=> Time # resp.filters[0].criteria.updated_at[0].start_inclusive #=> Time # resp.filters[0].criteria.vendor_severity #=> Array # resp.filters[0].criteria.vendor_severity[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.vendor_severity[0].value #=> String # resp.filters[0].criteria.vulnerability_id #=> Array # resp.filters[0].criteria.vulnerability_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.vulnerability_id[0].value #=> String # resp.filters[0].criteria.vulnerability_source #=> Array # resp.filters[0].criteria.vulnerability_source[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.vulnerability_source[0].value #=> String # resp.filters[0].criteria.vulnerable_packages #=> Array # resp.filters[0].criteria.vulnerable_packages[0].architecture.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.vulnerable_packages[0].architecture.value #=> String # resp.filters[0].criteria.vulnerable_packages[0].epoch.lower_inclusive #=> Float # resp.filters[0].criteria.vulnerable_packages[0].epoch.upper_inclusive #=> Float # resp.filters[0].criteria.vulnerable_packages[0].name.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.vulnerable_packages[0].name.value #=> String # resp.filters[0].criteria.vulnerable_packages[0].release.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.vulnerable_packages[0].release.value #=> String # resp.filters[0].criteria.vulnerable_packages[0].source_lambda_layer_arn.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.vulnerable_packages[0].source_lambda_layer_arn.value #=> String # resp.filters[0].criteria.vulnerable_packages[0].source_layer_hash.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.vulnerable_packages[0].source_layer_hash.value #=> String # resp.filters[0].criteria.vulnerable_packages[0].version.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS" # resp.filters[0].criteria.vulnerable_packages[0].version.value #=> String # resp.filters[0].description #=> String # resp.filters[0].name #=> String # resp.filters[0].owner_id #=> String # resp.filters[0].reason #=> String # resp.filters[0].tags #=> Hash # resp.filters[0].tags["MapKey"] #=> String # resp.filters[0].updated_at #=> Time # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFilters AWS API Documentation # # @overload list_filters(params = {}) # @param [Hash] params ({}) def list_filters(params = {}, options = {}) req = build_request(:list_filters, params) req.send_request(options) end # Lists aggregated finding data for your environment based on specific # criteria. # # @option params [Array] :account_ids # The Amazon Web Services account IDs to retrieve finding aggregation # data for. # # @option params [Types::AggregationRequest] :aggregation_request # Details of the aggregation request that is used to filter your # aggregation results. # # @option params [required, String] :aggregation_type # The type of the aggregation request. # # @option params [Integer] :max_results # The maximum number of results the response can return. If your request # would return more than the maximum the response will return a # `nextToken` value, use this value when you call the action again to # get the remaining results. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. If your response returns more than the # `maxResults` maximum value it will also return a `nextToken` value. # For subsequent calls, use the `nextToken` value returned from the # previous request to continue listing results after the first page. # # @return [Types::ListFindingAggregationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListFindingAggregationsResponse#aggregation_type #aggregation_type} => String # * {Types::ListFindingAggregationsResponse#next_token #next_token} => String # * {Types::ListFindingAggregationsResponse#responses #responses} => Array<Types::AggregationResponse> # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_finding_aggregations({ # account_ids: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # aggregation_request: { # account_aggregation: { # finding_type: "NETWORK_REACHABILITY", # accepts NETWORK_REACHABILITY, PACKAGE_VULNERABILITY, CODE_VULNERABILITY # resource_type: "AWS_EC2_INSTANCE", # accepts AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE, AWS_LAMBDA_FUNCTION # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL # sort_order: "ASC", # accepts ASC, DESC # }, # ami_aggregation: { # amis: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL, AFFECTED_INSTANCES # sort_order: "ASC", # accepts ASC, DESC # }, # aws_ecr_container_aggregation: { # architectures: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # image_shas: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # image_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # repositories: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_ids: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL # sort_order: "ASC", # accepts ASC, DESC # }, # ec2_instance_aggregation: { # amis: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # instance_ids: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # instance_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "MapKey", # required # value: "MapValue", # }, # ], # operating_systems: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # sort_by: "NETWORK_FINDINGS", # accepts NETWORK_FINDINGS, CRITICAL, HIGH, ALL # sort_order: "ASC", # accepts ASC, DESC # }, # finding_type_aggregation: { # finding_type: "NETWORK_REACHABILITY", # accepts NETWORK_REACHABILITY, PACKAGE_VULNERABILITY, CODE_VULNERABILITY # resource_type: "AWS_EC2_INSTANCE", # accepts AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE, AWS_LAMBDA_FUNCTION # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL # sort_order: "ASC", # accepts ASC, DESC # }, # image_layer_aggregation: { # layer_hashes: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # repositories: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_ids: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL # sort_order: "ASC", # accepts ASC, DESC # }, # lambda_function_aggregation: { # function_names: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # function_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "MapKey", # required # value: "MapValue", # }, # ], # resource_ids: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # runtimes: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL # sort_order: "ASC", # accepts ASC, DESC # }, # lambda_layer_aggregation: { # function_names: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # layer_arns: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_ids: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL # sort_order: "ASC", # accepts ASC, DESC # }, # package_aggregation: { # package_names: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL # sort_order: "ASC", # accepts ASC, DESC # }, # repository_aggregation: { # repositories: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL, AFFECTED_IMAGES # sort_order: "ASC", # accepts ASC, DESC # }, # title_aggregation: { # finding_type: "NETWORK_REACHABILITY", # accepts NETWORK_REACHABILITY, PACKAGE_VULNERABILITY, CODE_VULNERABILITY # resource_type: "AWS_EC2_INSTANCE", # accepts AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE, AWS_LAMBDA_FUNCTION # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL # sort_order: "ASC", # accepts ASC, DESC # titles: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerability_ids: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # }, # }, # aggregation_type: "FINDING_TYPE", # required, accepts FINDING_TYPE, PACKAGE, TITLE, REPOSITORY, AMI, AWS_EC2_INSTANCE, AWS_ECR_CONTAINER, IMAGE_LAYER, ACCOUNT, AWS_LAMBDA_FUNCTION, LAMBDA_LAYER # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.aggregation_type #=> String, one of "FINDING_TYPE", "PACKAGE", "TITLE", "REPOSITORY", "AMI", "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER", "IMAGE_LAYER", "ACCOUNT", "AWS_LAMBDA_FUNCTION", "LAMBDA_LAYER" # resp.next_token #=> String # resp.responses #=> Array # resp.responses[0].account_aggregation.account_id #=> String # resp.responses[0].account_aggregation.severity_counts.all #=> Integer # resp.responses[0].account_aggregation.severity_counts.critical #=> Integer # resp.responses[0].account_aggregation.severity_counts.high #=> Integer # resp.responses[0].account_aggregation.severity_counts.medium #=> Integer # resp.responses[0].ami_aggregation.account_id #=> String # resp.responses[0].ami_aggregation.affected_instances #=> Integer # resp.responses[0].ami_aggregation.ami #=> String # resp.responses[0].ami_aggregation.severity_counts.all #=> Integer # resp.responses[0].ami_aggregation.severity_counts.critical #=> Integer # resp.responses[0].ami_aggregation.severity_counts.high #=> Integer # resp.responses[0].ami_aggregation.severity_counts.medium #=> Integer # resp.responses[0].aws_ecr_container_aggregation.account_id #=> String # resp.responses[0].aws_ecr_container_aggregation.architecture #=> String # resp.responses[0].aws_ecr_container_aggregation.image_sha #=> String # resp.responses[0].aws_ecr_container_aggregation.image_tags #=> Array # resp.responses[0].aws_ecr_container_aggregation.image_tags[0] #=> String # resp.responses[0].aws_ecr_container_aggregation.repository #=> String # resp.responses[0].aws_ecr_container_aggregation.resource_id #=> String # resp.responses[0].aws_ecr_container_aggregation.severity_counts.all #=> Integer # resp.responses[0].aws_ecr_container_aggregation.severity_counts.critical #=> Integer # resp.responses[0].aws_ecr_container_aggregation.severity_counts.high #=> Integer # resp.responses[0].aws_ecr_container_aggregation.severity_counts.medium #=> Integer # resp.responses[0].ec2_instance_aggregation.account_id #=> String # resp.responses[0].ec2_instance_aggregation.ami #=> String # resp.responses[0].ec2_instance_aggregation.instance_id #=> String # resp.responses[0].ec2_instance_aggregation.instance_tags #=> Hash # resp.responses[0].ec2_instance_aggregation.instance_tags["MapKey"] #=> String # resp.responses[0].ec2_instance_aggregation.network_findings #=> Integer # resp.responses[0].ec2_instance_aggregation.operating_system #=> String # resp.responses[0].ec2_instance_aggregation.severity_counts.all #=> Integer # resp.responses[0].ec2_instance_aggregation.severity_counts.critical #=> Integer # resp.responses[0].ec2_instance_aggregation.severity_counts.high #=> Integer # resp.responses[0].ec2_instance_aggregation.severity_counts.medium #=> Integer # resp.responses[0].finding_type_aggregation.account_id #=> String # resp.responses[0].finding_type_aggregation.severity_counts.all #=> Integer # resp.responses[0].finding_type_aggregation.severity_counts.critical #=> Integer # resp.responses[0].finding_type_aggregation.severity_counts.high #=> Integer # resp.responses[0].finding_type_aggregation.severity_counts.medium #=> Integer # resp.responses[0].image_layer_aggregation.account_id #=> String # resp.responses[0].image_layer_aggregation.layer_hash #=> String # resp.responses[0].image_layer_aggregation.repository #=> String # resp.responses[0].image_layer_aggregation.resource_id #=> String # resp.responses[0].image_layer_aggregation.severity_counts.all #=> Integer # resp.responses[0].image_layer_aggregation.severity_counts.critical #=> Integer # resp.responses[0].image_layer_aggregation.severity_counts.high #=> Integer # resp.responses[0].image_layer_aggregation.severity_counts.medium #=> Integer # resp.responses[0].lambda_function_aggregation.account_id #=> String # resp.responses[0].lambda_function_aggregation.function_name #=> String # resp.responses[0].lambda_function_aggregation.lambda_tags #=> Hash # resp.responses[0].lambda_function_aggregation.lambda_tags["MapKey"] #=> String # resp.responses[0].lambda_function_aggregation.last_modified_at #=> Time # resp.responses[0].lambda_function_aggregation.resource_id #=> String # resp.responses[0].lambda_function_aggregation.runtime #=> String # resp.responses[0].lambda_function_aggregation.severity_counts.all #=> Integer # resp.responses[0].lambda_function_aggregation.severity_counts.critical #=> Integer # resp.responses[0].lambda_function_aggregation.severity_counts.high #=> Integer # resp.responses[0].lambda_function_aggregation.severity_counts.medium #=> Integer # resp.responses[0].lambda_layer_aggregation.account_id #=> String # resp.responses[0].lambda_layer_aggregation.function_name #=> String # resp.responses[0].lambda_layer_aggregation.layer_arn #=> String # resp.responses[0].lambda_layer_aggregation.resource_id #=> String # resp.responses[0].lambda_layer_aggregation.severity_counts.all #=> Integer # resp.responses[0].lambda_layer_aggregation.severity_counts.critical #=> Integer # resp.responses[0].lambda_layer_aggregation.severity_counts.high #=> Integer # resp.responses[0].lambda_layer_aggregation.severity_counts.medium #=> Integer # resp.responses[0].package_aggregation.account_id #=> String # resp.responses[0].package_aggregation.package_name #=> String # resp.responses[0].package_aggregation.severity_counts.all #=> Integer # resp.responses[0].package_aggregation.severity_counts.critical #=> Integer # resp.responses[0].package_aggregation.severity_counts.high #=> Integer # resp.responses[0].package_aggregation.severity_counts.medium #=> Integer # resp.responses[0].repository_aggregation.account_id #=> String # resp.responses[0].repository_aggregation.affected_images #=> Integer # resp.responses[0].repository_aggregation.repository #=> String # resp.responses[0].repository_aggregation.severity_counts.all #=> Integer # resp.responses[0].repository_aggregation.severity_counts.critical #=> Integer # resp.responses[0].repository_aggregation.severity_counts.high #=> Integer # resp.responses[0].repository_aggregation.severity_counts.medium #=> Integer # resp.responses[0].title_aggregation.account_id #=> String # resp.responses[0].title_aggregation.severity_counts.all #=> Integer # resp.responses[0].title_aggregation.severity_counts.critical #=> Integer # resp.responses[0].title_aggregation.severity_counts.high #=> Integer # resp.responses[0].title_aggregation.severity_counts.medium #=> Integer # resp.responses[0].title_aggregation.title #=> String # resp.responses[0].title_aggregation.vulnerability_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindingAggregations AWS API Documentation # # @overload list_finding_aggregations(params = {}) # @param [Hash] params ({}) def list_finding_aggregations(params = {}, options = {}) req = build_request(:list_finding_aggregations, params) req.send_request(options) end # Lists findings for your environment. # # @option params [Types::FilterCriteria] :filter_criteria # Details on the filters to apply to your finding results. # # @option params [Integer] :max_results # The maximum number of results the response can return. If your request # would return more than the maximum the response will return a # `nextToken` value, use this value when you call the action again to # get the remaining results. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. If your response returns more than the # `maxResults` maximum value it will also return a `nextToken` value. # For subsequent calls, use the `nextToken` value returned from the # previous request to continue listing results after the first page. # # @option params [Types::SortCriteria] :sort_criteria # Details on the sort criteria to apply to your finding results. # # @return [Types::ListFindingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListFindingsResponse#findings #findings} => Array<Types::Finding> # * {Types::ListFindingsResponse#next_token #next_token} => String # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_findings({ # filter_criteria: { # aws_account_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_detector_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_detector_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_file_path: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # component_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # component_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_image_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_subnet_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_vpc_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_architecture: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_hash: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_pushed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # ecr_image_registry: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_repository_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # epss_score: [ # { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # ], # exploit_available: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_arn: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_status: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # first_observed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # fix_available: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # inspector_score: [ # { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # ], # lambda_function_execution_role_arn: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_last_modified_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # lambda_function_layers: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_runtime: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # last_observed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # network_protocol: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # port_range: [ # { # begin_inclusive: 1, # end_inclusive: 1, # }, # ], # related_vulnerabilities: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "MapKey", # required # value: "MapValue", # }, # ], # resource_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # severity: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # title: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # updated_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # vendor_severity: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerability_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerability_source: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerable_packages: [ # { # architecture: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # epoch: { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # name: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # release: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # source_lambda_layer_arn: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # source_layer_hash: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # version: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # }, # ], # }, # max_results: 1, # next_token: "NextToken", # sort_criteria: { # field: "AWS_ACCOUNT_ID", # required, accepts AWS_ACCOUNT_ID, FINDING_TYPE, SEVERITY, FIRST_OBSERVED_AT, LAST_OBSERVED_AT, FINDING_STATUS, RESOURCE_TYPE, ECR_IMAGE_PUSHED_AT, ECR_IMAGE_REPOSITORY_NAME, ECR_IMAGE_REGISTRY, NETWORK_PROTOCOL, COMPONENT_TYPE, VULNERABILITY_ID, VULNERABILITY_SOURCE, INSPECTOR_SCORE, VENDOR_SEVERITY, EPSS_SCORE # sort_order: "ASC", # required, accepts ASC, DESC # }, # }) # # @example Response structure # # resp.findings #=> Array # resp.findings[0].aws_account_id #=> String # resp.findings[0].code_vulnerability_details.cwes #=> Array # resp.findings[0].code_vulnerability_details.cwes[0] #=> String # resp.findings[0].code_vulnerability_details.detector_id #=> String # resp.findings[0].code_vulnerability_details.detector_name #=> String # resp.findings[0].code_vulnerability_details.detector_tags #=> Array # resp.findings[0].code_vulnerability_details.detector_tags[0] #=> String # resp.findings[0].code_vulnerability_details.file_path.end_line #=> Integer # resp.findings[0].code_vulnerability_details.file_path.file_name #=> String # resp.findings[0].code_vulnerability_details.file_path.file_path #=> String # resp.findings[0].code_vulnerability_details.file_path.start_line #=> Integer # resp.findings[0].code_vulnerability_details.reference_urls #=> Array # resp.findings[0].code_vulnerability_details.reference_urls[0] #=> String # resp.findings[0].code_vulnerability_details.rule_id #=> String # resp.findings[0].code_vulnerability_details.source_lambda_layer_arn #=> String # resp.findings[0].description #=> String # resp.findings[0].epss.score #=> Float # resp.findings[0].exploit_available #=> String, one of "YES", "NO" # resp.findings[0].exploitability_details.last_known_exploit_at #=> Time # resp.findings[0].finding_arn #=> String # resp.findings[0].first_observed_at #=> Time # resp.findings[0].fix_available #=> String, one of "YES", "NO", "PARTIAL" # resp.findings[0].inspector_score #=> Float # resp.findings[0].inspector_score_details.adjusted_cvss.adjustments #=> Array # resp.findings[0].inspector_score_details.adjusted_cvss.adjustments[0].metric #=> String # resp.findings[0].inspector_score_details.adjusted_cvss.adjustments[0].reason #=> String # resp.findings[0].inspector_score_details.adjusted_cvss.cvss_source #=> String # resp.findings[0].inspector_score_details.adjusted_cvss.score #=> Float # resp.findings[0].inspector_score_details.adjusted_cvss.score_source #=> String # resp.findings[0].inspector_score_details.adjusted_cvss.scoring_vector #=> String # resp.findings[0].inspector_score_details.adjusted_cvss.version #=> String # resp.findings[0].last_observed_at #=> Time # resp.findings[0].network_reachability_details.network_path.steps #=> Array # resp.findings[0].network_reachability_details.network_path.steps[0].component_id #=> String # resp.findings[0].network_reachability_details.network_path.steps[0].component_type #=> String # resp.findings[0].network_reachability_details.open_port_range.begin #=> Integer # resp.findings[0].network_reachability_details.open_port_range.end #=> Integer # resp.findings[0].network_reachability_details.protocol #=> String, one of "TCP", "UDP" # resp.findings[0].package_vulnerability_details.cvss #=> Array # resp.findings[0].package_vulnerability_details.cvss[0].base_score #=> Float # resp.findings[0].package_vulnerability_details.cvss[0].scoring_vector #=> String # resp.findings[0].package_vulnerability_details.cvss[0].source #=> String # resp.findings[0].package_vulnerability_details.cvss[0].version #=> String # resp.findings[0].package_vulnerability_details.reference_urls #=> Array # resp.findings[0].package_vulnerability_details.reference_urls[0] #=> String # resp.findings[0].package_vulnerability_details.related_vulnerabilities #=> Array # resp.findings[0].package_vulnerability_details.related_vulnerabilities[0] #=> String # resp.findings[0].package_vulnerability_details.source #=> String # resp.findings[0].package_vulnerability_details.source_url #=> String # resp.findings[0].package_vulnerability_details.vendor_created_at #=> Time # resp.findings[0].package_vulnerability_details.vendor_severity #=> String # resp.findings[0].package_vulnerability_details.vendor_updated_at #=> Time # resp.findings[0].package_vulnerability_details.vulnerability_id #=> String # resp.findings[0].package_vulnerability_details.vulnerable_packages #=> Array # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].arch #=> String # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].epoch #=> Integer # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].file_path #=> String # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].fixed_in_version #=> String # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].name #=> String # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].package_manager #=> String, one of "BUNDLER", "CARGO", "COMPOSER", "NPM", "NUGET", "PIPENV", "POETRY", "YARN", "GOBINARY", "GOMOD", "JAR", "OS", "PIP", "PYTHONPKG", "NODEPKG", "POM", "GEMSPEC" # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].release #=> String # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].remediation #=> String # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].source_lambda_layer_arn #=> String # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].source_layer_hash #=> String # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].version #=> String # resp.findings[0].remediation.recommendation.url #=> String # resp.findings[0].remediation.recommendation.text #=> String # resp.findings[0].resources #=> Array # resp.findings[0].resources[0].details.aws_ec2_instance.iam_instance_profile_arn #=> String # resp.findings[0].resources[0].details.aws_ec2_instance.image_id #=> String # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v4_addresses #=> Array # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v4_addresses[0] #=> String # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v6_addresses #=> Array # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v6_addresses[0] #=> String # resp.findings[0].resources[0].details.aws_ec2_instance.key_name #=> String # resp.findings[0].resources[0].details.aws_ec2_instance.launched_at #=> Time # resp.findings[0].resources[0].details.aws_ec2_instance.platform #=> String # resp.findings[0].resources[0].details.aws_ec2_instance.subnet_id #=> String # resp.findings[0].resources[0].details.aws_ec2_instance.type #=> String # resp.findings[0].resources[0].details.aws_ec2_instance.vpc_id #=> String # resp.findings[0].resources[0].details.aws_ecr_container_image.architecture #=> String # resp.findings[0].resources[0].details.aws_ecr_container_image.author #=> String # resp.findings[0].resources[0].details.aws_ecr_container_image.image_hash #=> String # resp.findings[0].resources[0].details.aws_ecr_container_image.image_tags #=> Array # resp.findings[0].resources[0].details.aws_ecr_container_image.image_tags[0] #=> String # resp.findings[0].resources[0].details.aws_ecr_container_image.platform #=> String # resp.findings[0].resources[0].details.aws_ecr_container_image.pushed_at #=> Time # resp.findings[0].resources[0].details.aws_ecr_container_image.registry #=> String # resp.findings[0].resources[0].details.aws_ecr_container_image.repository_name #=> String # resp.findings[0].resources[0].details.aws_lambda_function.architectures #=> Array # resp.findings[0].resources[0].details.aws_lambda_function.architectures[0] #=> String, one of "X86_64", "ARM64" # resp.findings[0].resources[0].details.aws_lambda_function.code_sha_256 #=> String # resp.findings[0].resources[0].details.aws_lambda_function.execution_role_arn #=> String # resp.findings[0].resources[0].details.aws_lambda_function.function_name #=> String # resp.findings[0].resources[0].details.aws_lambda_function.last_modified_at #=> Time # resp.findings[0].resources[0].details.aws_lambda_function.layers #=> Array # resp.findings[0].resources[0].details.aws_lambda_function.layers[0] #=> String # resp.findings[0].resources[0].details.aws_lambda_function.package_type #=> String, one of "IMAGE", "ZIP" # resp.findings[0].resources[0].details.aws_lambda_function.runtime #=> String, one of "NODEJS", "NODEJS_12_X", "NODEJS_14_X", "NODEJS_16_X", "JAVA_8", "JAVA_8_AL2", "JAVA_11", "PYTHON_3_7", "PYTHON_3_8", "PYTHON_3_9", "UNSUPPORTED", "NODEJS_18_X", "GO_1_X", "JAVA_17", "PYTHON_3_10" # resp.findings[0].resources[0].details.aws_lambda_function.version #=> String # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.security_group_ids #=> Array # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.security_group_ids[0] #=> String # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.subnet_ids #=> Array # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.subnet_ids[0] #=> String # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.vpc_id #=> String # resp.findings[0].resources[0].id #=> String # resp.findings[0].resources[0].partition #=> String # resp.findings[0].resources[0].region #=> String # resp.findings[0].resources[0].tags #=> Hash # resp.findings[0].resources[0].tags["MapKey"] #=> String # resp.findings[0].resources[0].type #=> String, one of "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER_IMAGE", "AWS_ECR_REPOSITORY", "AWS_LAMBDA_FUNCTION" # resp.findings[0].severity #=> String, one of "INFORMATIONAL", "LOW", "MEDIUM", "HIGH", "CRITICAL", "UNTRIAGED" # resp.findings[0].status #=> String, one of "ACTIVE", "SUPPRESSED", "CLOSED" # resp.findings[0].title #=> String # resp.findings[0].type #=> String, one of "NETWORK_REACHABILITY", "PACKAGE_VULNERABILITY", "CODE_VULNERABILITY" # resp.findings[0].updated_at #=> Time # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindings AWS API Documentation # # @overload list_findings(params = {}) # @param [Hash] params ({}) def list_findings(params = {}, options = {}) req = build_request(:list_findings, params) req.send_request(options) end # List members associated with the Amazon Inspector delegated # administrator for your organization. # # @option params [Integer] :max_results # The maximum number of results the response can return. If your request # would return more than the maximum the response will return a # `nextToken` value, use this value when you call the action again to # get the remaining results. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. If your response returns more than the # `maxResults` maximum value it will also return a `nextToken` value. # For subsequent calls, use the `nextToken` value returned from the # previous request to continue listing results after the first page. # # @option params [Boolean] :only_associated # Specifies whether to list only currently associated members if `True` # or to list all members within the organization if `False`. # # @return [Types::ListMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListMembersResponse#members #members} => Array<Types::Member> # * {Types::ListMembersResponse#next_token #next_token} => String # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_members({ # max_results: 1, # next_token: "NextToken", # only_associated: false, # }) # # @example Response structure # # resp.members #=> Array # resp.members[0].account_id #=> String # resp.members[0].delegated_admin_account_id #=> String # resp.members[0].relationship_status #=> String, one of "CREATED", "INVITED", "DISABLED", "ENABLED", "REMOVED", "RESIGNED", "DELETED", "EMAIL_VERIFICATION_IN_PROGRESS", "EMAIL_VERIFICATION_FAILED", "REGION_DISABLED", "ACCOUNT_SUSPENDED", "CANNOT_CREATE_DETECTOR_IN_ORG_MASTER" # resp.members[0].updated_at #=> Time # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListMembers AWS API Documentation # # @overload list_members(params = {}) # @param [Hash] params ({}) def list_members(params = {}, options = {}) req = build_request(:list_members, params) req.send_request(options) end # Lists all tags attached to a given resource. # # @option params [required, String] :resource_arn # The Amazon resource number (ARN) of the resource to list tags of. # # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListTagsForResourceResponse#tags #tags} => Hash<String,String> # # @example Request syntax with placeholder values # # resp = client.list_tags_for_resource({ # resource_arn: "Arn", # required # }) # # @example Response structure # # resp.tags #=> Hash # resp.tags["MapKey"] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListTagsForResource AWS API Documentation # # @overload list_tags_for_resource(params = {}) # @param [Hash] params ({}) def list_tags_for_resource(params = {}, options = {}) req = build_request(:list_tags_for_resource, params) req.send_request(options) end # Lists the Amazon Inspector usage totals over the last 30 days. # # @option params [Array] :account_ids # The Amazon Web Services account IDs to retrieve usage totals for. # # @option params [Integer] :max_results # The maximum number of results the response can return. If your request # would return more than the maximum the response will return a # `nextToken` value, use this value when you call the action again to # get the remaining results. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. If your response returns more than the # `maxResults` maximum value it will also return a `nextToken` value. # For subsequent calls, use the `nextToken` value returned from the # previous request to continue listing results after the first page. # # @return [Types::ListUsageTotalsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListUsageTotalsResponse#next_token #next_token} => String # * {Types::ListUsageTotalsResponse#totals #totals} => Array<Types::UsageTotal> # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.list_usage_totals({ # account_ids: ["UsageAccountId"], # max_results: 1, # next_token: "ListUsageTotalsNextToken", # }) # # @example Response structure # # resp.next_token #=> String # resp.totals #=> Array # resp.totals[0].account_id #=> String # resp.totals[0].usage #=> Array # resp.totals[0].usage[0].currency #=> String, one of "USD" # resp.totals[0].usage[0].estimated_monthly_cost #=> Float # resp.totals[0].usage[0].total #=> Float # resp.totals[0].usage[0].type #=> String, one of "EC2_INSTANCE_HOURS", "ECR_INITIAL_SCAN", "ECR_RESCAN", "LAMBDA_FUNCTION_HOURS", "LAMBDA_FUNCTION_CODE_HOURS" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListUsageTotals AWS API Documentation # # @overload list_usage_totals(params = {}) # @param [Hash] params ({}) def list_usage_totals(params = {}, options = {}) req = build_request(:list_usage_totals, params) req.send_request(options) end # Resets an encryption key. After the key is reset your resources will # be encrypted by an Amazon Web Services owned key. # # @option params [required, String] :resource_type # The resource type the key encrypts. # # @option params [required, String] :scan_type # The scan type the key encrypts. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.reset_encryption_key({ # resource_type: "AWS_EC2_INSTANCE", # required, accepts AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE, AWS_ECR_REPOSITORY, AWS_LAMBDA_FUNCTION # scan_type: "NETWORK", # required, accepts NETWORK, PACKAGE, CODE # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ResetEncryptionKey AWS API Documentation # # @overload reset_encryption_key(params = {}) # @param [Hash] params ({}) def reset_encryption_key(params = {}, options = {}) req = build_request(:reset_encryption_key, params) req.send_request(options) end # Lists Amazon Inspector coverage details for a specific vulnerability. # # @option params [required, Types::SearchVulnerabilitiesFilterCriteria] :filter_criteria # The criteria used to filter the results of a vulnerability search. # # @option params [String] :next_token # A token to use for paginating results that are returned in the # response. Set the value of this parameter to null for the first # request to a list action. For subsequent calls, use the `NextToken` # value returned from the previous request to continue listing results # after the first page. # # @return [Types::SearchVulnerabilitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::SearchVulnerabilitiesResponse#next_token #next_token} => String # * {Types::SearchVulnerabilitiesResponse#vulnerabilities #vulnerabilities} => Array<Types::Vulnerability> # # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. # # @example Request syntax with placeholder values # # resp = client.search_vulnerabilities({ # filter_criteria: { # required # vulnerability_ids: ["VulnId"], # required # }, # next_token: "NextToken", # }) # # @example Response structure # # resp.next_token #=> String # resp.vulnerabilities #=> Array # resp.vulnerabilities[0].atig_data.first_seen #=> Time # resp.vulnerabilities[0].atig_data.last_seen #=> Time # resp.vulnerabilities[0].atig_data.targets #=> Array # resp.vulnerabilities[0].atig_data.targets[0] #=> String # resp.vulnerabilities[0].atig_data.ttps #=> Array # resp.vulnerabilities[0].atig_data.ttps[0] #=> String # resp.vulnerabilities[0].cisa_data.action #=> String # resp.vulnerabilities[0].cisa_data.date_added #=> Time # resp.vulnerabilities[0].cisa_data.date_due #=> Time # resp.vulnerabilities[0].cvss2.base_score #=> Float # resp.vulnerabilities[0].cvss2.scoring_vector #=> String # resp.vulnerabilities[0].cvss3.base_score #=> Float # resp.vulnerabilities[0].cvss3.scoring_vector #=> String # resp.vulnerabilities[0].cwes #=> Array # resp.vulnerabilities[0].cwes[0] #=> String # resp.vulnerabilities[0].description #=> String # resp.vulnerabilities[0].detection_platforms #=> Array # resp.vulnerabilities[0].detection_platforms[0] #=> String # resp.vulnerabilities[0].epss.score #=> Float # resp.vulnerabilities[0].exploit_observed.first_seen #=> Time # resp.vulnerabilities[0].exploit_observed.last_seen #=> Time # resp.vulnerabilities[0].id #=> String # resp.vulnerabilities[0].reference_urls #=> Array # resp.vulnerabilities[0].reference_urls[0] #=> String # resp.vulnerabilities[0].related_vulnerabilities #=> Array # resp.vulnerabilities[0].related_vulnerabilities[0] #=> String # resp.vulnerabilities[0].source #=> String, one of "NVD" # resp.vulnerabilities[0].source_url #=> String # resp.vulnerabilities[0].vendor_created_at #=> Time # resp.vulnerabilities[0].vendor_severity #=> String # resp.vulnerabilities[0].vendor_updated_at #=> Time # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SearchVulnerabilities AWS API Documentation # # @overload search_vulnerabilities(params = {}) # @param [Hash] params ({}) def search_vulnerabilities(params = {}, options = {}) req = build_request(:search_vulnerabilities, params) req.send_request(options) end # Sends a CIS session health. This API is used by the Amazon Inspector # SSM plugin to communicate with the Amazon Inspector service. The # Amazon Inspector SSM plugin calls this API to start a CIS scan session # for the scan ID supplied by the service. # # @option params [required, String] :scan_job_id # A unique identifier for the scan job. # # @option params [required, String] :session_token # The unique token that identifies the CIS session. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.send_cis_session_health({ # scan_job_id: "UUID", # required # session_token: "UUID", # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SendCisSessionHealth AWS API Documentation # # @overload send_cis_session_health(params = {}) # @param [Hash] params ({}) def send_cis_session_health(params = {}, options = {}) req = build_request(:send_cis_session_health, params) req.send_request(options) end # Sends a CIS session telemetry. This API is used by the Amazon # Inspector SSM plugin to communicate with the Amazon Inspector service. # The Amazon Inspector SSM plugin calls this API to start a CIS scan # session for the scan ID supplied by the service. # # @option params [required, Array] :messages # The CIS session telemetry messages. # # @option params [required, String] :scan_job_id # A unique identifier for the scan job. # # @option params [required, String] :session_token # The unique token that identifies the CIS session. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.send_cis_session_telemetry({ # messages: [ # required # { # cis_rule_details: "data", # required # rule_id: "RuleId", # required # status: "FAILED", # required, accepts FAILED, PASSED, NOT_EVALUATED, INFORMATIONAL, UNKNOWN, NOT_APPLICABLE, ERROR # }, # ], # scan_job_id: "UUID", # required # session_token: "UUID", # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SendCisSessionTelemetry AWS API Documentation # # @overload send_cis_session_telemetry(params = {}) # @param [Hash] params ({}) def send_cis_session_telemetry(params = {}, options = {}) req = build_request(:send_cis_session_telemetry, params) req.send_request(options) end # Starts a CIS session. This API is used by the Amazon Inspector SSM # plugin to communicate with the Amazon Inspector service. The Amazon # Inspector SSM plugin calls this API to start a CIS scan session for # the scan ID supplied by the service. # # @option params [required, Types::StartCisSessionMessage] :message # The start CIS session message. # # @option params [required, String] :scan_job_id # A unique identifier for the scan job. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.start_cis_session({ # message: { # required # session_token: "UUID", # required # }, # scan_job_id: "UUID", # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/StartCisSession AWS API Documentation # # @overload start_cis_session(params = {}) # @param [Hash] params ({}) def start_cis_session(params = {}, options = {}) req = build_request(:start_cis_session, params) req.send_request(options) end # Stops a CIS session. This API is used by the Amazon Inspector SSM # plugin to communicate with the Amazon Inspector service. The Amazon # Inspector SSM plugin calls this API to start a CIS scan session for # the scan ID supplied by the service. # # @option params [required, Types::StopCisSessionMessage] :message # The stop CIS session message. # # @option params [required, String] :scan_job_id # A unique identifier for the scan job. # # @option params [required, String] :session_token # The unique token that identifies the CIS session. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.stop_cis_session({ # message: { # required # benchmark_profile: "BenchmarkProfile", # benchmark_version: "BenchmarkVersion", # compute_platform: { # product: "Product", # vendor: "Vendor", # version: "PlatformVersion", # }, # progress: { # required # error_checks: 1, # failed_checks: 1, # informational_checks: 1, # not_applicable_checks: 1, # not_evaluated_checks: 1, # successful_checks: 1, # total_checks: 1, # unknown_checks: 1, # }, # reason: "Reason", # status: "SUCCESS", # required, accepts SUCCESS, FAILED, INTERRUPTED, UNSUPPORTED_OS # }, # scan_job_id: "UUID", # required # session_token: "UUID", # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/StopCisSession AWS API Documentation # # @overload stop_cis_session(params = {}) # @param [Hash] params ({}) def stop_cis_session(params = {}, options = {}) req = build_request(:stop_cis_session, params) req.send_request(options) end # Adds tags to a resource. # # @option params [required, String] :resource_arn # The Amazon Resource Name (ARN) of the resource to apply a tag to. # # @option params [required, Hash] :tags # The tags to be added to a resource. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.tag_resource({ # resource_arn: "Arn", # required # tags: { # required # "MapKey" => "MapValue", # }, # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/TagResource AWS API Documentation # # @overload tag_resource(params = {}) # @param [Hash] params ({}) def tag_resource(params = {}, options = {}) req = build_request(:tag_resource, params) req.send_request(options) end # Removes tags from a resource. # # @option params [required, String] :resource_arn # The Amazon Resource Name (ARN) for the resource to remove tags from. # # @option params [required, Array] :tag_keys # The tag keys to remove from the resource. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.untag_resource({ # resource_arn: "Arn", # required # tag_keys: ["TagKey"], # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UntagResource AWS API Documentation # # @overload untag_resource(params = {}) # @param [Hash] params ({}) def untag_resource(params = {}, options = {}) req = build_request(:untag_resource, params) req.send_request(options) end # Updates a CIS scan configuration. # # @option params [required, String] :scan_configuration_arn # The CIS scan configuration ARN. # # @option params [String] :scan_name # The scan name for the CIS scan configuration. # # @option params [Types::Schedule] :schedule # The schedule for the CIS scan configuration. # # @option params [String] :security_level # The security level for the CIS scan configuration. Security level # refers to the Benchmark levels that CIS assigns to a profile. # # @option params [Types::UpdateCisTargets] :targets # The targets for the CIS scan configuration. # # @return [Types::UpdateCisScanConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateCisScanConfigurationResponse#scan_configuration_arn #scan_configuration_arn} => String # # @example Request syntax with placeholder values # # resp = client.update_cis_scan_configuration({ # scan_configuration_arn: "CisScanConfigurationArn", # required # scan_name: "CisScanName", # schedule: { # daily: { # start_time: { # required # time_of_day: "TimeOfDay", # required # timezone: "Timezone", # required # }, # }, # monthly: { # day: "SUN", # required, accepts SUN, MON, TUE, WED, THU, FRI, SAT # start_time: { # required # time_of_day: "TimeOfDay", # required # timezone: "Timezone", # required # }, # }, # one_time: { # }, # weekly: { # days: ["SUN"], # required, accepts SUN, MON, TUE, WED, THU, FRI, SAT # start_time: { # required # time_of_day: "TimeOfDay", # required # timezone: "Timezone", # required # }, # }, # }, # security_level: "LEVEL_1", # accepts LEVEL_1, LEVEL_2 # targets: { # account_ids: ["TargetAccount"], # target_resource_tags: { # "NonEmptyString" => ["String"], # }, # }, # }) # # @example Response structure # # resp.scan_configuration_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateCisScanConfiguration AWS API Documentation # # @overload update_cis_scan_configuration(params = {}) # @param [Hash] params ({}) def update_cis_scan_configuration(params = {}, options = {}) req = build_request(:update_cis_scan_configuration, params) req.send_request(options) end # Updates setting configurations for your Amazon Inspector account. When # you use this API as an Amazon Inspector delegated administrator this # updates the setting for all accounts you manage. Member accounts in an # organization cannot update this setting. # # @option params [Types::Ec2Configuration] :ec2_configuration # Specifies how the Amazon EC2 automated scan will be updated for your # environment. # # @option params [Types::EcrConfiguration] :ecr_configuration # Specifies how the ECR automated re-scan will be updated for your # environment. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.update_configuration({ # ec2_configuration: { # scan_mode: "EC2_SSM_AGENT_BASED", # required, accepts EC2_SSM_AGENT_BASED, EC2_HYBRID # }, # ecr_configuration: { # pull_date_rescan_duration: "DAYS_14", # accepts DAYS_14, DAYS_30, DAYS_60, DAYS_90, DAYS_180 # rescan_duration: "LIFETIME", # required, accepts LIFETIME, DAYS_30, DAYS_180, DAYS_14, DAYS_60, DAYS_90 # }, # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateConfiguration AWS API Documentation # # @overload update_configuration(params = {}) # @param [Hash] params ({}) def update_configuration(params = {}, options = {}) req = build_request(:update_configuration, params) req.send_request(options) end # Activates, deactivates Amazon Inspector deep inspection, or updates # custom paths for your account. # # @option params [Boolean] :activate_deep_inspection # Specify `TRUE` to activate Amazon Inspector deep inspection in your # account, or `FALSE` to deactivate. Member accounts in an organization # cannot deactivate deep inspection, instead the delegated administrator # for the organization can deactivate a member account using # [BatchUpdateMemberEc2DeepInspectionStatus][1]. # # # # [1]: https://docs.aws.amazon.com/inspector/v2/APIReference/API_BatchUpdateMemberEc2DeepInspectionStatus.html # # @option params [Array] :package_paths # The Amazon Inspector deep inspection custom paths you are adding for # your account. # # @return [Types::UpdateEc2DeepInspectionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateEc2DeepInspectionConfigurationResponse#error_message #error_message} => String # * {Types::UpdateEc2DeepInspectionConfigurationResponse#org_package_paths #org_package_paths} => Array<String> # * {Types::UpdateEc2DeepInspectionConfigurationResponse#package_paths #package_paths} => Array<String> # * {Types::UpdateEc2DeepInspectionConfigurationResponse#status #status} => String # # @example Request syntax with placeholder values # # resp = client.update_ec2_deep_inspection_configuration({ # activate_deep_inspection: false, # package_paths: ["Path"], # }) # # @example Response structure # # resp.error_message #=> String # resp.org_package_paths #=> Array # resp.org_package_paths[0] #=> String # resp.package_paths #=> Array # resp.package_paths[0] #=> String # resp.status #=> String, one of "ACTIVATED", "DEACTIVATED", "PENDING", "FAILED" # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEc2DeepInspectionConfiguration AWS API Documentation # # @overload update_ec2_deep_inspection_configuration(params = {}) # @param [Hash] params ({}) def update_ec2_deep_inspection_configuration(params = {}, options = {}) req = build_request(:update_ec2_deep_inspection_configuration, params) req.send_request(options) end # Updates an encryption key. A `ResourceNotFoundException` means that an # Amazon Web Services owned key is being used for encryption. # # @option params [required, String] :kms_key_id # A KMS key ID for the encryption key. # # @option params [required, String] :resource_type # The resource type for the encryption key. # # @option params [required, String] :scan_type # The scan type for the encryption key. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.update_encryption_key({ # kms_key_id: "KmsKeyArn", # required # resource_type: "AWS_EC2_INSTANCE", # required, accepts AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE, AWS_ECR_REPOSITORY, AWS_LAMBDA_FUNCTION # scan_type: "NETWORK", # required, accepts NETWORK, PACKAGE, CODE # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEncryptionKey AWS API Documentation # # @overload update_encryption_key(params = {}) # @param [Hash] params ({}) def update_encryption_key(params = {}, options = {}) req = build_request(:update_encryption_key, params) req.send_request(options) end # Specifies the action that is to be applied to the findings that match # the filter. # # @option params [String] :action # Specifies the action that is to be applied to the findings that match # the filter. # # @option params [String] :description # A description of the filter. # # @option params [required, String] :filter_arn # The Amazon Resource Number (ARN) of the filter to update. # # @option params [Types::FilterCriteria] :filter_criteria # Defines the criteria to be update in the filter. # # @option params [String] :name # The name of the filter. # # @option params [String] :reason # The reason the filter was updated. # # @return [Types::UpdateFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateFilterResponse#arn #arn} => String # # @example Request syntax with placeholder values # # resp = client.update_filter({ # action: "NONE", # accepts NONE, SUPPRESS # description: "FilterDescription", # filter_arn: "FilterArn", # required # filter_criteria: { # aws_account_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_detector_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_detector_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # code_vulnerability_file_path: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # component_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # component_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_image_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_subnet_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ec2_instance_vpc_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_architecture: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_hash: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_pushed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # ecr_image_registry: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_repository_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # ecr_image_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # epss_score: [ # { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # ], # exploit_available: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_arn: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_status: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # finding_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # first_observed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # fix_available: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # inspector_score: [ # { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # ], # lambda_function_execution_role_arn: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_last_modified_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # lambda_function_layers: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_name: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # lambda_function_runtime: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # last_observed_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # network_protocol: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # port_range: [ # { # begin_inclusive: 1, # end_inclusive: 1, # }, # ], # related_vulnerabilities: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # resource_tags: [ # { # comparison: "EQUALS", # required, accepts EQUALS # key: "MapKey", # required # value: "MapValue", # }, # ], # resource_type: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # severity: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # title: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # updated_at: [ # { # end_inclusive: Time.now, # start_inclusive: Time.now, # }, # ], # vendor_severity: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerability_id: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerability_source: [ # { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # ], # vulnerable_packages: [ # { # architecture: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # epoch: { # lower_inclusive: 1.0, # upper_inclusive: 1.0, # }, # name: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # release: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # source_lambda_layer_arn: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # source_layer_hash: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # version: { # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS # value: "StringInput", # required # }, # }, # ], # }, # name: "FilterName", # reason: "FilterReason", # }) # # @example Response structure # # resp.arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateFilter AWS API Documentation # # @overload update_filter(params = {}) # @param [Hash] params ({}) def update_filter(params = {}, options = {}) req = build_request(:update_filter, params) req.send_request(options) end # Updates the Amazon Inspector deep inspection custom paths for your # organization. You must be an Amazon Inspector delegated administrator # to use this API. # # @option params [required, Array] :org_package_paths # The Amazon Inspector deep inspection custom paths you are adding for # your organization. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.update_org_ec2_deep_inspection_configuration({ # org_package_paths: ["Path"], # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrgEc2DeepInspectionConfiguration AWS API Documentation # # @overload update_org_ec2_deep_inspection_configuration(params = {}) # @param [Hash] params ({}) def update_org_ec2_deep_inspection_configuration(params = {}, options = {}) req = build_request(:update_org_ec2_deep_inspection_configuration, params) req.send_request(options) end # Updates the configurations for your Amazon Inspector organization. # # @option params [required, Types::AutoEnable] :auto_enable # Defines which scan types are enabled automatically for new members of # your Amazon Inspector organization. # # @return [Types::UpdateOrganizationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateOrganizationConfigurationResponse#auto_enable #auto_enable} => Types::AutoEnable # # @example Request syntax with placeholder values # # resp = client.update_organization_configuration({ # auto_enable: { # required # ec2: false, # required # ecr: false, # required # lambda: false, # lambda_code: false, # }, # }) # # @example Response structure # # resp.auto_enable.ec2 #=> Boolean # resp.auto_enable.ecr #=> Boolean # resp.auto_enable.lambda #=> Boolean # resp.auto_enable.lambda_code #=> Boolean # # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrganizationConfiguration AWS API Documentation # # @overload update_organization_configuration(params = {}) # @param [Hash] params ({}) def update_organization_configuration(params = {}, options = {}) req = build_request(:update_organization_configuration, params) req.send_request(options) end # @!endgroup # @param params ({}) # @api private def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-inspector2' context[:gem_version] = '1.31.0' Seahorse::Client::Request.new(handlers, context) end # @api private # @deprecated def waiter_names [] end class << self # @api private attr_reader :identifier # @api private def errors_module Errors end end end end