Class: Aws::ResilienceHub::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb

Overview

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

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

For details on configuring region and credentials see the developer guide.

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

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

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

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

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. 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, :session_token, and :account_id options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentials or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :region (required, String)

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

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false

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

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

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

  • :client_side_monitoring (Boolean) — default: false

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

  • :client_side_monitoring_client_id (String) — default: ""

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

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

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

  • :client_side_monitoring_port (Integer) — default: 31000

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

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

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

  • :convert_params (Boolean) — default: true

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

  • :correct_clock_skew (Boolean) — default: true

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

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

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

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :disable_request_compression (Boolean) — default: false

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

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

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

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

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

  • :endpoint_cache_max_threads (Integer) — default: 10

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

  • :endpoint_cache_poll_interval (Integer) — default: 60

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

  • :endpoint_discovery (Boolean) — default: false

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

  • :ignore_configured_endpoint_urls (Boolean)

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

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

    The log formatter.

  • :log_level (Symbol) — default: :info

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

  • :logger (Logger)

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

  • :max_attempts (Integer) — default: 3

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

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

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

  • :request_min_compression_size_bytes (Integer) — default: 10240

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

  • :retry_backoff (Proc)

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

  • :retry_base_delay (Float) — default: 0.3

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

  • :retry_jitter (Symbol) — default: :none

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

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

  • :retry_limit (Integer) — default: 3

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

  • :retry_max_delay (Integer) — default: 0

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

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

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is 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.

  • :sdk_ua_app_id (String)

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

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

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

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :stub_responses (Boolean) — default: false

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

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

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

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

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the opentelemetry-sdk gem and then, pass in an instance of a Aws::Telemetry::OTelProvider for telemetry provider.
  • :token_provider (Aws::TokenProvider)

    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.

  • :use_dualstack_endpoint (Boolean)

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

  • :use_fips_endpoint (Boolean)

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

  • :validate_params (Boolean) — default: true

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

  • :endpoint_provider (Aws::ResilienceHub::EndpointProvider)

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

  • :http_continue_timeout (Float) — default: 1

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

  • :http_idle_timeout (Float) — default: 5

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

  • :http_open_timeout (Float) — default: 15

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

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_read_timeout (Float) — default: 60

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

  • :http_wire_trace (Boolean) — default: false

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

  • :on_chunk_received (Proc)

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

  • :on_chunk_sent (Proc)

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

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

  • :ssl_ca_bundle (String)

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

  • :ssl_ca_directory (String)

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

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

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

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

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



444
445
446
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 444

def initialize(*args)
  super
end

Instance Method Details

#accept_resource_grouping_recommendations(params = {}) ⇒ Types::AcceptResourceGroupingRecommendationsResponse

Accepts the resource grouping recommendations suggested by Resilience Hub for your application.

Examples:

Request syntax with placeholder values


resp = client.accept_resource_grouping_recommendations({
  app_arn: "Arn", # required
  entries: [ # required
    {
      grouping_recommendation_id: "String255", # required
    },
  ],
})

Response structure


resp.app_arn #=> String
resp.failed_entries #=> Array
resp.failed_entries[0].error_message #=> String
resp.failed_entries[0].grouping_recommendation_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :entries (required, Array<Types::AcceptGroupingRecommendationEntry>)

    List of resource grouping recommendations you want to include in your application.

Returns:

See Also:



495
496
497
498
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 495

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

#add_draft_app_version_resource_mappings(params = {}) ⇒ Types::AddDraftAppVersionResourceMappingsResponse

Adds the source of resource-maps to the draft version of an application. During assessment, Resilience Hub will use these resource-maps to resolve the latest physical ID for each resource in the application template. For more information about different types of resources supported by Resilience Hub and how to add them in your application, see Step 2: How is your application managed? in the Resilience Hub User Guide.

Examples:

Request syntax with placeholder values


resp = client.add_draft_app_version_resource_mappings({
  app_arn: "Arn", # required
  resource_mappings: [ # required
    {
      app_registry_app_name: "EntityName",
      eks_source_name: "String255",
      logical_stack_name: "String255",
      mapping_type: "CfnStack", # required, accepts CfnStack, Resource, AppRegistryApp, ResourceGroup, Terraform, EKS
      physical_resource_id: { # required
        aws_account_id: "CustomerId",
        aws_region: "AwsRegion",
        identifier: "String255", # required
        type: "Arn", # required, accepts Arn, Native
      },
      resource_group_name: "EntityName",
      resource_name: "EntityName",
      terraform_source_name: "String255",
    },
  ],
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.resource_mappings #=> Array
resp.resource_mappings[0].app_registry_app_name #=> String
resp.resource_mappings[0].eks_source_name #=> String
resp.resource_mappings[0].logical_stack_name #=> String
resp.resource_mappings[0].mapping_type #=> String, one of "CfnStack", "Resource", "AppRegistryApp", "ResourceGroup", "Terraform", "EKS"
resp.resource_mappings[0].physical_resource_id. #=> String
resp.resource_mappings[0].physical_resource_id.aws_region #=> String
resp.resource_mappings[0].physical_resource_id.identifier #=> String
resp.resource_mappings[0].physical_resource_id.type #=> String, one of "Arn", "Native"
resp.resource_mappings[0].resource_group_name #=> String
resp.resource_mappings[0].resource_name #=> String
resp.resource_mappings[0].terraform_source_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :resource_mappings (required, Array<Types::ResourceMapping>)

    Mappings used to map logical resources from the template to physical resources. You can use the mapping type CFN_STACK if the application template uses a logical stack name. Or you can map individual resources by using the mapping type RESOURCE. We recommend using the mapping type CFN_STACK if the application is backed by a CloudFormation stack.

Returns:

See Also:



581
582
583
584
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 581

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

#batch_update_recommendation_status(params = {}) ⇒ Types::BatchUpdateRecommendationStatusResponse

Enables you to include or exclude one or more operational recommendations.

Examples:

Request syntax with placeholder values


resp = client.batch_update_recommendation_status({
  app_arn: "Arn", # required
  request_entries: [ # required
    {
      app_component_id: "EntityName255",
      entry_id: "String255", # required
      exclude_reason: "AlreadyImplemented", # accepts AlreadyImplemented, NotRelevant, ComplexityOfImplementation
      excluded: false, # required
      item: {
        resource_id: "String500",
        target_account_id: "CustomerId",
        target_region: "AwsRegion",
      },
      reference_id: "SpecReferenceId", # required
    },
  ],
})

Response structure


resp.app_arn #=> String
resp.failed_entries #=> Array
resp.failed_entries[0].entry_id #=> String
resp.failed_entries[0].error_message #=> String
resp.successful_entries #=> Array
resp.successful_entries[0].app_component_id #=> String
resp.successful_entries[0].entry_id #=> String
resp.successful_entries[0].exclude_reason #=> String, one of "AlreadyImplemented", "NotRelevant", "ComplexityOfImplementation"
resp.successful_entries[0].excluded #=> Boolean
resp.successful_entries[0].item.resource_id #=> String
resp.successful_entries[0].item. #=> String
resp.successful_entries[0].item.target_region #=> String
resp.successful_entries[0].reference_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :request_entries (required, Array<Types::UpdateRecommendationStatusRequestEntry>)

    Defines the list of operational recommendations that need to be included or excluded.

Returns:

See Also:



650
651
652
653
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 650

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

#create_app(params = {}) ⇒ Types::CreateAppResponse

Creates an Resilience Hub application. An Resilience Hub application is a collection of Amazon Web Services resources structured to prevent and recover Amazon Web Services application disruptions. To describe a Resilience Hub application, you provide an application name, resources from one or more CloudFormation stacks, Resource Groups, Terraform state files, AppRegistry applications, and an appropriate resiliency policy. In addition, you can also add resources that are located on Amazon Elastic Kubernetes Service (Amazon EKS) clusters as optional resources. For more information about the number of resources supported per application, see Service quotas.

After you create an Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO).

Examples:

Request syntax with placeholder values


resp = client.create_app({
  assessment_schedule: "Disabled", # accepts Disabled, Daily
  aws_application_arn: "Arn",
  client_token: "ClientToken",
  description: "EntityDescription",
  event_subscriptions: [
    {
      event_type: "ScheduledAssessmentFailure", # required, accepts ScheduledAssessmentFailure, DriftDetected
      name: "String255", # required
      sns_topic_arn: "Arn",
    },
  ],
  name: "EntityName", # required
  permission_model: {
    cross_account_role_arns: ["IamRoleArn"],
    invoker_role_name: "IamRoleName",
    type: "LegacyIAMUser", # required, accepts LegacyIAMUser, RoleBased
  },
  policy_arn: "Arn",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.app.app_arn #=> String
resp.app.assessment_schedule #=> String, one of "Disabled", "Daily"
resp.app.aws_application_arn #=> String
resp.app.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected", "NotApplicable", "MissingPolicy"
resp.app.creation_time #=> Time
resp.app.description #=> String
resp.app.drift_status #=> String, one of "NotChecked", "NotDetected", "Detected"
resp.app.event_subscriptions #=> Array
resp.app.event_subscriptions[0].event_type #=> String, one of "ScheduledAssessmentFailure", "DriftDetected"
resp.app.event_subscriptions[0].name #=> String
resp.app.event_subscriptions[0].sns_topic_arn #=> String
resp.app.last_app_compliance_evaluation_time #=> Time
resp.app.last_drift_evaluation_time #=> Time
resp.app.last_resiliency_score_evaluation_time #=> Time
resp.app.name #=> String
resp.app.permission_model. #=> Array
resp.app.permission_model.[0] #=> String
resp.app.permission_model.invoker_role_name #=> String
resp.app.permission_model.type #=> String, one of "LegacyIAMUser", "RoleBased"
resp.app.policy_arn #=> String
resp.app.resiliency_score #=> Float
resp.app.rpo_in_secs #=> Integer
resp.app.rto_in_secs #=> Integer
resp.app.status #=> String, one of "Active", "Deleting"
resp.app.tags #=> Hash
resp.app.tags["TagKey"] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_schedule (String)

    Assessment execution schedule with 'Daily' or 'Disabled' values.

  • :aws_application_arn (String)

    Amazon Resource Name (ARN) of Resource Groups group that is integrated with an AppRegistry application. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :description (String)

    The optional description for an app.

  • :event_subscriptions (Array<Types::EventSubscription>)

    The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports only Drift detected and Scheduled assessment failure events notification.

  • :name (required, String)

    Name of the application.

  • :permission_model (Types::PermissionModel)

    Defines the roles and credentials that Resilience Hub would use while creating the application, importing its resources, and running an assessment.

  • :policy_arn (String)

    Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :tags (Hash<String,String>)

    Tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

Returns:

See Also:



792
793
794
795
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 792

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

#create_app_version_app_component(params = {}) ⇒ Types::CreateAppVersionAppComponentResponse

Creates a new Application Component in the Resilience Hub application.

This API updates the Resilience Hub application draft version. To use this Application Component for running assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

Examples:

Request syntax with placeholder values


resp = client.create_app_version_app_component({
  additional_info: {
    "String128WithoutWhitespace" => ["String1024"],
  },
  app_arn: "Arn", # required
  client_token: "ClientToken",
  id: "String255",
  name: "String255", # required
  type: "String255", # required
})

Response structure


resp.app_arn #=> String
resp.app_component.additional_info #=> Hash
resp.app_component.additional_info["String128WithoutWhitespace"] #=> Array
resp.app_component.additional_info["String128WithoutWhitespace"][0] #=> String
resp.app_component.id #=> String
resp.app_component.name #=> String
resp.app_component.type #=> String
resp.app_version #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :additional_info (Hash<String,Array>)

    Currently, there is no supported additional information for Application Components.

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :id (String)

    Identifier of the Application Component.

  • :name (required, String)

    Name of the Application Component.

  • :type (required, String)

    Type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent.

Returns:

See Also:



876
877
878
879
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 876

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

#create_app_version_resource(params = {}) ⇒ Types::CreateAppVersionResourceResponse

Adds a resource to the Resilience Hub application and assigns it to the specified Application Components. If you specify a new Application Component, Resilience Hub will automatically create the Application Component.

* This action has no effect outside Resilience Hub.

  • This API updates the Resilience Hub application draft version. To use this resource for running resiliency assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

  • To update application version with new physicalResourceID, you must call ResolveAppVersionResources API.

Examples:

Request syntax with placeholder values


resp = client.create_app_version_resource({
  additional_info: {
    "String128WithoutWhitespace" => ["String1024"],
  },
  app_arn: "Arn", # required
  app_components: ["String255"], # required
  aws_account_id: "CustomerId",
  aws_region: "AwsRegion",
  client_token: "ClientToken",
  logical_resource_id: { # required
    eks_source_name: "String255",
    identifier: "String255", # required
    logical_stack_name: "String255",
    resource_group_name: "EntityName",
    terraform_source_name: "String255",
  },
  physical_resource_id: "String2048", # required
  resource_name: "EntityName",
  resource_type: "String255", # required
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.physical_resource.additional_info #=> Hash
resp.physical_resource.additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resource.additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resource.app_components #=> Array
resp.physical_resource.app_components[0].additional_info #=> Hash
resp.physical_resource.app_components[0].additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resource.app_components[0].additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resource.app_components[0].id #=> String
resp.physical_resource.app_components[0].name #=> String
resp.physical_resource.app_components[0].type #=> String
resp.physical_resource.excluded #=> Boolean
resp.physical_resource.logical_resource_id.eks_source_name #=> String
resp.physical_resource.logical_resource_id.identifier #=> String
resp.physical_resource.logical_resource_id.logical_stack_name #=> String
resp.physical_resource.logical_resource_id.resource_group_name #=> String
resp.physical_resource.logical_resource_id.terraform_source_name #=> String
resp.physical_resource.parent_resource_name #=> String
resp.physical_resource.physical_resource_id. #=> String
resp.physical_resource.physical_resource_id.aws_region #=> String
resp.physical_resource.physical_resource_id.identifier #=> String
resp.physical_resource.physical_resource_id.type #=> String, one of "Arn", "Native"
resp.physical_resource.resource_name #=> String
resp.physical_resource.resource_type #=> String
resp.physical_resource.source_type #=> String, one of "AppTemplate", "Discovered"

Parameters:

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

    ({})

Options Hash (params):

  • :additional_info (Hash<String,Array>)

    Currently, there is no supported additional information for resources.

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_components (required, Array<String>)

    List of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added.

  • :aws_account_id (String)

    Amazon Web Services account that owns the physical resource.

  • :aws_region (String)

    Amazon Web Services region that owns the physical resource.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :logical_resource_id (required, Types::LogicalResourceId)

    Logical identifier of the resource.

  • :physical_resource_id (required, String)

    Physical identifier of the resource.

  • :resource_name (String)

    Name of the resource.

  • :resource_type (required, String)

    Type of resource.

Returns:

See Also:



1005
1006
1007
1008
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1005

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

#create_recommendation_template(params = {}) ⇒ Types::CreateRecommendationTemplateResponse

Creates a new recommendation template for the Resilience Hub application.

Examples:

Request syntax with placeholder values


resp = client.create_recommendation_template({
  assessment_arn: "Arn", # required
  bucket_name: "EntityName",
  client_token: "ClientToken",
  format: "CfnYaml", # accepts CfnYaml, CfnJson
  name: "EntityName", # required
  recommendation_ids: ["Uuid"],
  recommendation_types: ["Alarm"], # accepts Alarm, Sop, Test
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.recommendation_template.app_arn #=> String
resp.recommendation_template.assessment_arn #=> String
resp.recommendation_template.end_time #=> Time
resp.recommendation_template.format #=> String, one of "CfnYaml", "CfnJson"
resp.recommendation_template.message #=> String
resp.recommendation_template.name #=> String
resp.recommendation_template.needs_replacements #=> Boolean
resp.recommendation_template.recommendation_ids #=> Array
resp.recommendation_template.recommendation_ids[0] #=> String
resp.recommendation_template.recommendation_template_arn #=> String
resp.recommendation_template.recommendation_types #=> Array
resp.recommendation_template.recommendation_types[0] #=> String, one of "Alarm", "Sop", "Test"
resp.recommendation_template.start_time #=> Time
resp.recommendation_template.status #=> String, one of "Pending", "InProgress", "Failed", "Success"
resp.recommendation_template.tags #=> Hash
resp.recommendation_template.tags["TagKey"] #=> String
resp.recommendation_template.templates_location.bucket #=> String
resp.recommendation_template.templates_location.prefix #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :bucket_name (String)

    The name of the Amazon S3 bucket that will contain the recommendation template.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :format (String)

    The format for the recommendation template.

    CfnJson

    The template is CloudFormation JSON.

    CfnYaml

    The template is CloudFormation YAML.

  • :name (required, String)

    The name for the recommendation template.

  • :recommendation_ids (Array<String>)

    Identifiers for the recommendations used to create a recommendation template.

  • :recommendation_types (Array<String>)

    An array of strings that specify the recommendation template type or types.

    Alarm

    The template is an AlarmRecommendation template.

    Sop

    The template is a SopRecommendation template.

    Test

    The template is a TestRecommendation template.

  • :tags (Hash<String,String>)

    Tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

Returns:

See Also:



1118
1119
1120
1121
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1118

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

#create_resiliency_policy(params = {}) ⇒ Types::CreateResiliencyPolicyResponse

Creates a resiliency policy for an application.

Resilience Hub allows you to provide a value of zero for rtoInSecs and rpoInSecs of your resiliency policy. But, while assessing your application, the lowest possible assessment result is near zero. Hence, if you provide value zero for rtoInSecs and rpoInSecs, the estimated workload RTO and estimated workload RPO result will be near zero and the Compliance status for your application will be set to Policy breached.

Examples:

Request syntax with placeholder values


resp = client.create_resiliency_policy({
  client_token: "ClientToken",
  data_location_constraint: "AnyLocation", # accepts AnyLocation, SameContinent, SameCountry
  policy: { # required
    "Software" => {
      rpo_in_secs: 1, # required
      rto_in_secs: 1, # required
    },
  },
  policy_description: "EntityDescription",
  policy_name: "EntityName", # required
  tags: {
    "TagKey" => "TagValue",
  },
  tier: "MissionCritical", # required, accepts MissionCritical, Critical, Important, CoreServices, NonCritical, NotApplicable
})

Response structure


resp.policy.creation_time #=> Time
resp.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
resp.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
resp.policy.policy #=> Hash
resp.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
resp.policy.policy["DisruptionType"].rto_in_secs #=> Integer
resp.policy.policy_arn #=> String
resp.policy.policy_description #=> String
resp.policy.policy_name #=> String
resp.policy.tags #=> Hash
resp.policy.tags["TagKey"] #=> String
resp.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical", "NotApplicable"

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :data_location_constraint (String)

    Specifies a high-level geographical location constraint for where your resilience policy data can be stored.

  • :policy (required, Hash<String,Types::FailurePolicy>)

    The type of resiliency policy to be created, including the recovery time objective (RTO) and recovery point objective (RPO) in seconds.

  • :policy_description (String)

    Description of the resiliency policy.

  • :policy_name (required, String)

    Name of the resiliency policy.

  • :tags (Hash<String,String>)

    Tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

  • :tier (required, String)

    The tier for this resiliency policy, ranging from the highest severity (MissionCritical) to lowest (NonCritical).

Returns:

See Also:



1207
1208
1209
1210
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1207

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

#delete_app(params = {}) ⇒ Types::DeleteAppResponse

Deletes an Resilience Hub application. This is a destructive action that can't be undone.

Examples:

Request syntax with placeholder values


resp = client.delete_app({
  app_arn: "Arn", # required
  client_token: "ClientToken",
  force_delete: false,
})

Response structure


resp.app_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :force_delete (Boolean)

    A boolean option to force the deletion of an Resilience Hub application.

Returns:

See Also:



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

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

#delete_app_assessment(params = {}) ⇒ Types::DeleteAppAssessmentResponse

Deletes an Resilience Hub application assessment. This is a destructive action that can't be undone.

Examples:

Request syntax with placeholder values


resp = client.delete_app_assessment({
  assessment_arn: "Arn", # required
  client_token: "ClientToken",
})

Response structure


resp.assessment_arn #=> String
resp.assessment_status #=> String, one of "Pending", "InProgress", "Failed", "Success"

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



1306
1307
1308
1309
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1306

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

#delete_app_input_source(params = {}) ⇒ Types::DeleteAppInputSourceResponse

Deletes the input source and all of its imported resources from the Resilience Hub application.

Examples:

Request syntax with placeholder values


resp = client.delete_app_input_source({
  app_arn: "Arn", # required
  client_token: "ClientToken",
  eks_source_cluster_namespace: {
    eks_cluster_arn: "Arn", # required
    namespace: "EksNamespace", # required
  },
  source_arn: "Arn",
  terraform_source: {
    s3_state_file_url: "S3Url", # required
  },
})

Response structure


resp.app_arn #=> String
resp.app_input_source.eks_source_cluster_namespace.eks_cluster_arn #=> String
resp.app_input_source.eks_source_cluster_namespace.namespace #=> String
resp.app_input_source.import_type #=> String, one of "CfnStack", "Resource", "AppRegistryApp", "ResourceGroup", "Terraform", "EKS"
resp.app_input_source.resource_count #=> Integer
resp.app_input_source.source_arn #=> String
resp.app_input_source.source_name #=> String
resp.app_input_source.terraform_source.s3_state_file_url #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :eks_source_cluster_namespace (Types::EksSourceClusterNamespace)

    The namespace on your Amazon Elastic Kubernetes Service cluster that you want to delete from the Resilience Hub application.

  • :source_arn (String)

    The Amazon Resource Name (ARN) of the imported resource you want to remove from the Resilience Hub application. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :terraform_source (Types::TerraformSource)

    The imported Terraform s3 state file you want to remove from the Resilience Hub application.

Returns:

See Also:



1386
1387
1388
1389
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1386

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

#delete_app_version_app_component(params = {}) ⇒ Types::DeleteAppVersionAppComponentResponse

Deletes an Application Component from the Resilience Hub application.

* This API updates the Resilience Hub application draft version. To use this Application Component for running assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

  • You will not be able to delete an Application Component if it has resources associated with it.

Examples:

Request syntax with placeholder values


resp = client.delete_app_version_app_component({
  app_arn: "Arn", # required
  client_token: "ClientToken",
  id: "String255", # required
})

Response structure


resp.app_arn #=> String
resp.app_component.additional_info #=> Hash
resp.app_component.additional_info["String128WithoutWhitespace"] #=> Array
resp.app_component.additional_info["String128WithoutWhitespace"][0] #=> String
resp.app_component.id #=> String
resp.app_component.name #=> String
resp.app_component.type #=> String
resp.app_version #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :id (required, String)

    Identifier of the Application Component.

Returns:

See Also:



1454
1455
1456
1457
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1454

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

#delete_app_version_resource(params = {}) ⇒ Types::DeleteAppVersionResourceResponse

Deletes a resource from the Resilience Hub application.

* You can only delete a manually added resource. To exclude non-manually added resources, use the UpdateAppVersionResource API.

  • This action has no effect outside Resilience Hub.

  • This API updates the Resilience Hub application draft version. To use this resource for running resiliency assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

Examples:

Request syntax with placeholder values


resp = client.delete_app_version_resource({
  app_arn: "Arn", # required
  aws_account_id: "CustomerId",
  aws_region: "AwsRegion",
  client_token: "ClientToken",
  logical_resource_id: {
    eks_source_name: "String255",
    identifier: "String255", # required
    logical_stack_name: "String255",
    resource_group_name: "EntityName",
    terraform_source_name: "String255",
  },
  physical_resource_id: "String2048",
  resource_name: "EntityName",
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.physical_resource.additional_info #=> Hash
resp.physical_resource.additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resource.additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resource.app_components #=> Array
resp.physical_resource.app_components[0].additional_info #=> Hash
resp.physical_resource.app_components[0].additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resource.app_components[0].additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resource.app_components[0].id #=> String
resp.physical_resource.app_components[0].name #=> String
resp.physical_resource.app_components[0].type #=> String
resp.physical_resource.excluded #=> Boolean
resp.physical_resource.logical_resource_id.eks_source_name #=> String
resp.physical_resource.logical_resource_id.identifier #=> String
resp.physical_resource.logical_resource_id.logical_stack_name #=> String
resp.physical_resource.logical_resource_id.resource_group_name #=> String
resp.physical_resource.logical_resource_id.terraform_source_name #=> String
resp.physical_resource.parent_resource_name #=> String
resp.physical_resource.physical_resource_id. #=> String
resp.physical_resource.physical_resource_id.aws_region #=> String
resp.physical_resource.physical_resource_id.identifier #=> String
resp.physical_resource.physical_resource_id.type #=> String, one of "Arn", "Native"
resp.physical_resource.resource_name #=> String
resp.physical_resource.resource_type #=> String
resp.physical_resource.source_type #=> String, one of "AppTemplate", "Discovered"

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :aws_account_id (String)

    Amazon Web Services account that owns the physical resource.

  • :aws_region (String)

    Amazon Web Services region that owns the physical resource.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :logical_resource_id (Types::LogicalResourceId)

    Logical identifier of the resource.

  • :physical_resource_id (String)

    Physical identifier of the resource.

  • :resource_name (String)

    Name of the resource.

Returns:

See Also:



1565
1566
1567
1568
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1565

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

#delete_recommendation_template(params = {}) ⇒ Types::DeleteRecommendationTemplateResponse

Deletes a recommendation template. This is a destructive action that can't be undone.

Examples:

Request syntax with placeholder values


resp = client.delete_recommendation_template({
  client_token: "ClientToken",
  recommendation_template_arn: "Arn", # required
})

Response structure


resp.recommendation_template_arn #=> String
resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :recommendation_template_arn (required, String)

    The Amazon Resource Name (ARN) for a recommendation template.

Returns:

See Also:



1605
1606
1607
1608
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1605

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

#delete_resiliency_policy(params = {}) ⇒ Types::DeleteResiliencyPolicyResponse

Deletes a resiliency policy. This is a destructive action that can't be undone.

Examples:

Request syntax with placeholder values


resp = client.delete_resiliency_policy({
  client_token: "ClientToken",
  policy_arn: "Arn", # required
})

Response structure


resp.policy_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :policy_arn (required, String)

    Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

Returns:

See Also:



1651
1652
1653
1654
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1651

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

#describe_app(params = {}) ⇒ Types::DescribeAppResponse

Describes an Resilience Hub application.

Examples:

Request syntax with placeholder values


resp = client.describe_app({
  app_arn: "Arn", # required
})

Response structure


resp.app.app_arn #=> String
resp.app.assessment_schedule #=> String, one of "Disabled", "Daily"
resp.app.aws_application_arn #=> String
resp.app.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected", "NotApplicable", "MissingPolicy"
resp.app.creation_time #=> Time
resp.app.description #=> String
resp.app.drift_status #=> String, one of "NotChecked", "NotDetected", "Detected"
resp.app.event_subscriptions #=> Array
resp.app.event_subscriptions[0].event_type #=> String, one of "ScheduledAssessmentFailure", "DriftDetected"
resp.app.event_subscriptions[0].name #=> String
resp.app.event_subscriptions[0].sns_topic_arn #=> String
resp.app.last_app_compliance_evaluation_time #=> Time
resp.app.last_drift_evaluation_time #=> Time
resp.app.last_resiliency_score_evaluation_time #=> Time
resp.app.name #=> String
resp.app.permission_model. #=> Array
resp.app.permission_model.[0] #=> String
resp.app.permission_model.invoker_role_name #=> String
resp.app.permission_model.type #=> String, one of "LegacyIAMUser", "RoleBased"
resp.app.policy_arn #=> String
resp.app.resiliency_score #=> Float
resp.app.rpo_in_secs #=> Integer
resp.app.rto_in_secs #=> Integer
resp.app.status #=> String, one of "Active", "Deleting"
resp.app.tags #=> Hash
resp.app.tags["TagKey"] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

Returns:

See Also:



1712
1713
1714
1715
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1712

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

#describe_app_assessment(params = {}) ⇒ Types::DescribeAppAssessmentResponse

Describes an assessment for an Resilience Hub application.

Examples:

Request syntax with placeholder values


resp = client.describe_app_assessment({
  assessment_arn: "Arn", # required
})

Response structure


resp.assessment.app_arn #=> String
resp.assessment.app_version #=> String
resp.assessment.assessment_arn #=> String
resp.assessment.assessment_name #=> String
resp.assessment.assessment_status #=> String, one of "Pending", "InProgress", "Failed", "Success"
resp.assessment.compliance #=> Hash
resp.assessment.compliance["DisruptionType"].achievable_rpo_in_secs #=> Integer
resp.assessment.compliance["DisruptionType"].achievable_rto_in_secs #=> Integer
resp.assessment.compliance["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.assessment.compliance["DisruptionType"].current_rpo_in_secs #=> Integer
resp.assessment.compliance["DisruptionType"].current_rto_in_secs #=> Integer
resp.assessment.compliance["DisruptionType"].message #=> String
resp.assessment.compliance["DisruptionType"].rpo_description #=> String
resp.assessment.compliance["DisruptionType"].rpo_reference_id #=> String
resp.assessment.compliance["DisruptionType"].rto_description #=> String
resp.assessment.compliance["DisruptionType"].rto_reference_id #=> String
resp.assessment.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.assessment.cost.amount #=> Float
resp.assessment.cost.currency #=> String
resp.assessment.cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
resp.assessment.drift_status #=> String, one of "NotChecked", "NotDetected", "Detected"
resp.assessment.end_time #=> Time
resp.assessment.invoker #=> String, one of "User", "System"
resp.assessment.message #=> String
resp.assessment.policy.creation_time #=> Time
resp.assessment.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
resp.assessment.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
resp.assessment.policy.policy #=> Hash
resp.assessment.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
resp.assessment.policy.policy["DisruptionType"].rto_in_secs #=> Integer
resp.assessment.policy.policy_arn #=> String
resp.assessment.policy.policy_description #=> String
resp.assessment.policy.policy_name #=> String
resp.assessment.policy.tags #=> Hash
resp.assessment.policy.tags["TagKey"] #=> String
resp.assessment.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical", "NotApplicable"
resp.assessment.resiliency_score.component_score #=> Hash
resp.assessment.resiliency_score.component_score["ResiliencyScoreType"].excluded_count #=> Integer
resp.assessment.resiliency_score.component_score["ResiliencyScoreType"].outstanding_count #=> Integer
resp.assessment.resiliency_score.component_score["ResiliencyScoreType"].possible_score #=> Float
resp.assessment.resiliency_score.component_score["ResiliencyScoreType"].score #=> Float
resp.assessment.resiliency_score.disruption_score #=> Hash
resp.assessment.resiliency_score.disruption_score["DisruptionType"] #=> Float
resp.assessment.resiliency_score.score #=> Float
resp.assessment.resource_errors_details.has_more_errors #=> Boolean
resp.assessment.resource_errors_details.resource_errors #=> Array
resp.assessment.resource_errors_details.resource_errors[0].logical_resource_id #=> String
resp.assessment.resource_errors_details.resource_errors[0].physical_resource_id #=> String
resp.assessment.resource_errors_details.resource_errors[0].reason #=> String
resp.assessment.start_time #=> Time
resp.assessment.summary.risk_recommendations #=> Array
resp.assessment.summary.risk_recommendations[0].app_components #=> Array
resp.assessment.summary.risk_recommendations[0].app_components[0] #=> String
resp.assessment.summary.risk_recommendations[0].recommendation #=> String
resp.assessment.summary.risk_recommendations[0].risk #=> String
resp.assessment.summary.summary #=> String
resp.assessment.tags #=> Hash
resp.assessment.tags["TagKey"] #=> String
resp.assessment.version_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

Returns:

See Also:



1806
1807
1808
1809
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1806

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

#describe_app_version(params = {}) ⇒ Types::DescribeAppVersionResponse

Describes the Resilience Hub application version.

Examples:

Request syntax with placeholder values


resp = client.describe_app_version({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
})

Response structure


resp.additional_info #=> Hash
resp.additional_info["String128WithoutWhitespace"] #=> Array
resp.additional_info["String128WithoutWhitespace"][0] #=> String
resp.app_arn #=> String
resp.app_version #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    Resilience Hub application version.

Returns:

See Also:



1852
1853
1854
1855
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1852

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

#describe_app_version_app_component(params = {}) ⇒ Types::DescribeAppVersionAppComponentResponse

Describes an Application Component in the Resilience Hub application.

Examples:

Request syntax with placeholder values


resp = client.describe_app_version_app_component({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
  id: "String255", # required
})

Response structure


resp.app_arn #=> String
resp.app_component.additional_info #=> Hash
resp.app_component.additional_info["String128WithoutWhitespace"] #=> Array
resp.app_component.additional_info["String128WithoutWhitespace"][0] #=> String
resp.app_component.id #=> String
resp.app_component.name #=> String
resp.app_component.type #=> String
resp.app_version #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    Resilience Hub application version.

  • :id (required, String)

    Identifier of the Application Component.

Returns:

See Also:



1905
1906
1907
1908
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1905

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

#describe_app_version_resource(params = {}) ⇒ Types::DescribeAppVersionResourceResponse

Describes a resource of the Resilience Hub application.

This API accepts only one of the following parameters to describe the resource:

  • resourceName

  • logicalResourceId

  • physicalResourceId (Along with physicalResourceId, you can also provide awsAccountId, and awsRegion)

Examples:

Request syntax with placeholder values


resp = client.describe_app_version_resource({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
  aws_account_id: "CustomerId",
  aws_region: "AwsRegion",
  logical_resource_id: {
    eks_source_name: "String255",
    identifier: "String255", # required
    logical_stack_name: "String255",
    resource_group_name: "EntityName",
    terraform_source_name: "String255",
  },
  physical_resource_id: "String2048",
  resource_name: "EntityName",
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.physical_resource.additional_info #=> Hash
resp.physical_resource.additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resource.additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resource.app_components #=> Array
resp.physical_resource.app_components[0].additional_info #=> Hash
resp.physical_resource.app_components[0].additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resource.app_components[0].additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resource.app_components[0].id #=> String
resp.physical_resource.app_components[0].name #=> String
resp.physical_resource.app_components[0].type #=> String
resp.physical_resource.excluded #=> Boolean
resp.physical_resource.logical_resource_id.eks_source_name #=> String
resp.physical_resource.logical_resource_id.identifier #=> String
resp.physical_resource.logical_resource_id.logical_stack_name #=> String
resp.physical_resource.logical_resource_id.resource_group_name #=> String
resp.physical_resource.logical_resource_id.terraform_source_name #=> String
resp.physical_resource.parent_resource_name #=> String
resp.physical_resource.physical_resource_id. #=> String
resp.physical_resource.physical_resource_id.aws_region #=> String
resp.physical_resource.physical_resource_id.identifier #=> String
resp.physical_resource.physical_resource_id.type #=> String, one of "Arn", "Native"
resp.physical_resource.resource_name #=> String
resp.physical_resource.resource_type #=> String
resp.physical_resource.source_type #=> String, one of "AppTemplate", "Discovered"

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    Resilience Hub application version.

  • :aws_account_id (String)

    Amazon Web Services account that owns the physical resource.

  • :aws_region (String)

    Amazon Web Services region that owns the physical resource.

  • :logical_resource_id (Types::LogicalResourceId)

    Logical identifier of the resource.

  • :physical_resource_id (String)

    Physical identifier of the resource.

  • :resource_name (String)

    Name of the resource.

Returns:

See Also:



2010
2011
2012
2013
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2010

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

#describe_app_version_resources_resolution_status(params = {}) ⇒ Types::DescribeAppVersionResourcesResolutionStatusResponse

Returns the resolution status for the specified resolution identifier for an application version. If resolutionId is not specified, the current resolution status is returned.

Examples:

Request syntax with placeholder values


resp = client.describe_app_version_resources_resolution_status({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
  resolution_id: "String255",
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.error_message #=> String
resp.resolution_id #=> String
resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    The version of the application.

  • :resolution_id (String)

    The identifier for a specific resolution.

Returns:

See Also:



2064
2065
2066
2067
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2064

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

#describe_app_version_template(params = {}) ⇒ Types::DescribeAppVersionTemplateResponse

Describes details about an Resilience Hub application.

Examples:

Request syntax with placeholder values


resp = client.describe_app_version_template({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
})

Response structure


resp.app_arn #=> String
resp.app_template_body #=> String
resp.app_version #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    The version of the application.

Returns:

See Also:



2108
2109
2110
2111
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2108

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

#describe_draft_app_version_resources_import_status(params = {}) ⇒ Types::DescribeDraftAppVersionResourcesImportStatusResponse

Describes the status of importing resources to an application version.

If you get a 404 error with ResourceImportStatusNotFoundAppMetadataException, you must call importResourcesToDraftAppVersion after creating the application and before calling describeDraftAppVersionResourcesImportStatus to obtain the status.

Examples:

Request syntax with placeholder values


resp = client.describe_draft_app_version_resources_import_status({
  app_arn: "Arn", # required
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.error_details #=> Array
resp.error_details[0].error_message #=> String
resp.error_message #=> String
resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"
resp.status_change_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

Returns:

See Also:



2163
2164
2165
2166
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2163

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

#describe_metrics_export(params = {}) ⇒ Types::DescribeMetricsExportResponse

Describes the metrics of the application configuration being exported.

Examples:

Request syntax with placeholder values


resp = client.describe_metrics_export({
  metrics_export_id: "String255", # required
})

Response structure


resp.error_message #=> String
resp.export_location.bucket #=> String
resp.export_location.prefix #=> String
resp.metrics_export_id #=> String
resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"

Parameters:

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

    ({})

Options Hash (params):

  • :metrics_export_id (required, String)

    Identifier of the metrics export task.

Returns:

See Also:



2198
2199
2200
2201
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2198

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

#describe_resiliency_policy(params = {}) ⇒ Types::DescribeResiliencyPolicyResponse

Describes a specified resiliency policy for an Resilience Hub application. The returned policy object includes creation time, data location constraints, the Amazon Resource Name (ARN) for the policy, tags, tier, and more.

Examples:

Request syntax with placeholder values


resp = client.describe_resiliency_policy({
  policy_arn: "Arn", # required
})

Response structure


resp.policy.creation_time #=> Time
resp.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
resp.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
resp.policy.policy #=> Hash
resp.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
resp.policy.policy["DisruptionType"].rto_in_secs #=> Integer
resp.policy.policy_arn #=> String
resp.policy.policy_description #=> String
resp.policy.policy_name #=> String
resp.policy.tags #=> Hash
resp.policy.tags["TagKey"] #=> String
resp.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical", "NotApplicable"

Parameters:

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

    ({})

Options Hash (params):

  • :policy_arn (required, String)

    Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

Returns:

See Also:



2248
2249
2250
2251
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2248

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

#describe_resource_grouping_recommendation_task(params = {}) ⇒ Types::DescribeResourceGroupingRecommendationTaskResponse

Describes the resource grouping recommendation tasks run by Resilience Hub for your application.

Examples:

Request syntax with placeholder values


resp = client.describe_resource_grouping_recommendation_task({
  app_arn: "Arn", # required
  grouping_id: "String255",
})

Response structure


resp.error_message #=> String
resp.grouping_id #=> String
resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :grouping_id (String)

    Identifier of the grouping recommendation task.

Returns:

See Also:



2293
2294
2295
2296
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2293

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

#import_resources_to_draft_app_version(params = {}) ⇒ Types::ImportResourcesToDraftAppVersionResponse

Imports resources to Resilience Hub application draft version from different input sources. For more information about the input sources supported by Resilience Hub, see Discover the structure and describe your Resilience Hub application.

Examples:

Request syntax with placeholder values


resp = client.import_resources_to_draft_app_version({
  app_arn: "Arn", # required
  eks_sources: [
    {
      eks_cluster_arn: "Arn", # required
      namespaces: ["EksNamespace"], # required
    },
  ],
  import_strategy: "AddOnly", # accepts AddOnly, ReplaceAll
  source_arns: ["Arn"],
  terraform_sources: [
    {
      s3_state_file_url: "S3Url", # required
    },
  ],
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.eks_sources #=> Array
resp.eks_sources[0].eks_cluster_arn #=> String
resp.eks_sources[0].namespaces #=> Array
resp.eks_sources[0].namespaces[0] #=> String
resp.source_arns #=> Array
resp.source_arns[0] #=> String
resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"
resp.terraform_sources #=> Array
resp.terraform_sources[0].s3_state_file_url #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :eks_sources (Array<Types::EksSource>)

    The input sources of the Amazon Elastic Kubernetes Service resources you need to import.

  • :import_strategy (String)

    The import strategy you would like to set to import resources into Resilience Hub application.

  • :source_arns (Array<String>)

    The Amazon Resource Names (ARNs) for the resources.

  • :terraform_sources (Array<Types::TerraformSource>)

    A list of terraform file s3 URLs you need to import.

Returns:

See Also:



2378
2379
2380
2381
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2378

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

#list_alarm_recommendations(params = {}) ⇒ Types::ListAlarmRecommendationsResponse

Lists the alarm recommendations for an Resilience Hub application.

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

Examples:

Request syntax with placeholder values


resp = client.list_alarm_recommendations({
  assessment_arn: "Arn", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.alarm_recommendations #=> Array
resp.alarm_recommendations[0].app_component_name #=> String
resp.alarm_recommendations[0].app_component_names #=> Array
resp.alarm_recommendations[0].app_component_names[0] #=> String
resp.alarm_recommendations[0].description #=> String
resp.alarm_recommendations[0].items #=> Array
resp.alarm_recommendations[0].items[0].already_implemented #=> Boolean
resp.alarm_recommendations[0].items[0].discovered_alarm.alarm_arn #=> String
resp.alarm_recommendations[0].items[0].discovered_alarm.source #=> String
resp.alarm_recommendations[0].items[0].exclude_reason #=> String, one of "AlreadyImplemented", "NotRelevant", "ComplexityOfImplementation"
resp.alarm_recommendations[0].items[0].excluded #=> Boolean
resp.alarm_recommendations[0].items[0].latest_discovered_experiment.experiment_arn #=> String
resp.alarm_recommendations[0].items[0].latest_discovered_experiment.experiment_template_id #=> String
resp.alarm_recommendations[0].items[0].resource_id #=> String
resp.alarm_recommendations[0].items[0]. #=> String
resp.alarm_recommendations[0].items[0].target_region #=> String
resp.alarm_recommendations[0].name #=> String
resp.alarm_recommendations[0].prerequisite #=> String
resp.alarm_recommendations[0].recommendation_id #=> String
resp.alarm_recommendations[0].recommendation_status #=> String, one of "Implemented", "Inactive", "NotImplemented", "Excluded"
resp.alarm_recommendations[0].reference_id #=> String
resp.alarm_recommendations[0].type #=> String, one of "Metric", "Composite", "Canary", "Logs", "Event"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



2450
2451
2452
2453
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2450

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

#list_app_assessment_compliance_drifts(params = {}) ⇒ Types::ListAppAssessmentComplianceDriftsResponse

List of compliance drifts that were detected while running an assessment.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_assessment_compliance_drifts({
  assessment_arn: "Arn", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.compliance_drifts #=> Array
resp.compliance_drifts[0].actual_reference_id #=> String
resp.compliance_drifts[0].actual_value #=> Hash
resp.compliance_drifts[0].actual_value["DisruptionType"].achievable_rpo_in_secs #=> Integer
resp.compliance_drifts[0].actual_value["DisruptionType"].achievable_rto_in_secs #=> Integer
resp.compliance_drifts[0].actual_value["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.compliance_drifts[0].actual_value["DisruptionType"].current_rpo_in_secs #=> Integer
resp.compliance_drifts[0].actual_value["DisruptionType"].current_rto_in_secs #=> Integer
resp.compliance_drifts[0].actual_value["DisruptionType"].message #=> String
resp.compliance_drifts[0].actual_value["DisruptionType"].rpo_description #=> String
resp.compliance_drifts[0].actual_value["DisruptionType"].rpo_reference_id #=> String
resp.compliance_drifts[0].actual_value["DisruptionType"].rto_description #=> String
resp.compliance_drifts[0].actual_value["DisruptionType"].rto_reference_id #=> String
resp.compliance_drifts[0].app_id #=> String
resp.compliance_drifts[0].app_version #=> String
resp.compliance_drifts[0].diff_type #=> String, one of "NotEqual", "Added", "Removed"
resp.compliance_drifts[0].drift_type #=> String, one of "ApplicationCompliance", "AppComponentResiliencyComplianceStatus"
resp.compliance_drifts[0].entity_id #=> String
resp.compliance_drifts[0].entity_type #=> String
resp.compliance_drifts[0].expected_reference_id #=> String
resp.compliance_drifts[0].expected_value #=> Hash
resp.compliance_drifts[0].expected_value["DisruptionType"].achievable_rpo_in_secs #=> Integer
resp.compliance_drifts[0].expected_value["DisruptionType"].achievable_rto_in_secs #=> Integer
resp.compliance_drifts[0].expected_value["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.compliance_drifts[0].expected_value["DisruptionType"].current_rpo_in_secs #=> Integer
resp.compliance_drifts[0].expected_value["DisruptionType"].current_rto_in_secs #=> Integer
resp.compliance_drifts[0].expected_value["DisruptionType"].message #=> String
resp.compliance_drifts[0].expected_value["DisruptionType"].rpo_description #=> String
resp.compliance_drifts[0].expected_value["DisruptionType"].rpo_reference_id #=> String
resp.compliance_drifts[0].expected_value["DisruptionType"].rto_description #=> String
resp.compliance_drifts[0].expected_value["DisruptionType"].rto_reference_id #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :max_results (Integer)

    Maximum number of compliance drifts requested.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



2530
2531
2532
2533
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2530

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

#list_app_assessment_resource_drifts(params = {}) ⇒ Types::ListAppAssessmentResourceDriftsResponse

List of resource drifts that were detected while running an assessment.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_assessment_resource_drifts({
  assessment_arn: "Arn", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.next_token #=> String
resp.resource_drifts #=> Array
resp.resource_drifts[0].app_arn #=> String
resp.resource_drifts[0].app_version #=> String
resp.resource_drifts[0].diff_type #=> String, one of "NotEqual", "Added", "Removed"
resp.resource_drifts[0].reference_id #=> String
resp.resource_drifts[0].resource_identifier.logical_resource_id.eks_source_name #=> String
resp.resource_drifts[0].resource_identifier.logical_resource_id.identifier #=> String
resp.resource_drifts[0].resource_identifier.logical_resource_id.logical_stack_name #=> String
resp.resource_drifts[0].resource_identifier.logical_resource_id.resource_group_name #=> String
resp.resource_drifts[0].resource_identifier.logical_resource_id.terraform_source_name #=> String
resp.resource_drifts[0].resource_identifier.resource_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :max_results (Integer)

    Maximum number of drift results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



2593
2594
2595
2596
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2593

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

#list_app_assessments(params = {}) ⇒ Types::ListAppAssessmentsResponse

Lists the assessments for an Resilience Hub application. You can use request parameters to refine the results for the response object.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_assessments({
  app_arn: "Arn",
  assessment_name: "EntityName",
  assessment_status: ["Pending"], # accepts Pending, InProgress, Failed, Success
  compliance_status: "PolicyBreached", # accepts PolicyBreached, PolicyMet, NotApplicable, MissingPolicy
  invoker: "User", # accepts User, System
  max_results: 1,
  next_token: "NextToken",
  reverse_order: false,
})

Response structure


resp.assessment_summaries #=> Array
resp.assessment_summaries[0].app_arn #=> String
resp.assessment_summaries[0].app_version #=> String
resp.assessment_summaries[0].assessment_arn #=> String
resp.assessment_summaries[0].assessment_name #=> String
resp.assessment_summaries[0].assessment_status #=> String, one of "Pending", "InProgress", "Failed", "Success"
resp.assessment_summaries[0].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.assessment_summaries[0].cost.amount #=> Float
resp.assessment_summaries[0].cost.currency #=> String
resp.assessment_summaries[0].cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
resp.assessment_summaries[0].drift_status #=> String, one of "NotChecked", "NotDetected", "Detected"
resp.assessment_summaries[0].end_time #=> Time
resp.assessment_summaries[0].invoker #=> String, one of "User", "System"
resp.assessment_summaries[0].message #=> String
resp.assessment_summaries[0].resiliency_score #=> Float
resp.assessment_summaries[0].start_time #=> Time
resp.assessment_summaries[0].version_name #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :assessment_name (String)

    The name for the assessment.

  • :assessment_status (Array<String>)

    The current status of the assessment for the resiliency policy.

  • :compliance_status (String)

    The current status of compliance for the resiliency policy.

  • :invoker (String)

    Specifies the entity that invoked a specific assessment, either a User or the System.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

  • :reverse_order (Boolean)

    The default is to sort by ascending startTime. To sort by descending startTime, set reverseOrder to true.

Returns:

See Also:



2683
2684
2685
2686
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2683

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

#list_app_component_compliances(params = {}) ⇒ Types::ListAppComponentCompliancesResponse

Lists the compliances for an Resilience Hub Application Component.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_component_compliances({
  assessment_arn: "Arn", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.component_compliances #=> Array
resp.component_compliances[0].app_component_name #=> String
resp.component_compliances[0].compliance #=> Hash
resp.component_compliances[0].compliance["DisruptionType"].achievable_rpo_in_secs #=> Integer
resp.component_compliances[0].compliance["DisruptionType"].achievable_rto_in_secs #=> Integer
resp.component_compliances[0].compliance["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.component_compliances[0].compliance["DisruptionType"].current_rpo_in_secs #=> Integer
resp.component_compliances[0].compliance["DisruptionType"].current_rto_in_secs #=> Integer
resp.component_compliances[0].compliance["DisruptionType"].message #=> String
resp.component_compliances[0].compliance["DisruptionType"].rpo_description #=> String
resp.component_compliances[0].compliance["DisruptionType"].rpo_reference_id #=> String
resp.component_compliances[0].compliance["DisruptionType"].rto_description #=> String
resp.component_compliances[0].compliance["DisruptionType"].rto_reference_id #=> String
resp.component_compliances[0].cost.amount #=> Float
resp.component_compliances[0].cost.currency #=> String
resp.component_compliances[0].cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
resp.component_compliances[0].message #=> String
resp.component_compliances[0].resiliency_score.component_score #=> Hash
resp.component_compliances[0].resiliency_score.component_score["ResiliencyScoreType"].excluded_count #=> Integer
resp.component_compliances[0].resiliency_score.component_score["ResiliencyScoreType"].outstanding_count #=> Integer
resp.component_compliances[0].resiliency_score.component_score["ResiliencyScoreType"].possible_score #=> Float
resp.component_compliances[0].resiliency_score.component_score["ResiliencyScoreType"].score #=> Float
resp.component_compliances[0].resiliency_score.disruption_score #=> Hash
resp.component_compliances[0].resiliency_score.disruption_score["DisruptionType"] #=> Float
resp.component_compliances[0].resiliency_score.score #=> Float
resp.component_compliances[0].status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



2759
2760
2761
2762
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2759

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

#list_app_component_recommendations(params = {}) ⇒ Types::ListAppComponentRecommendationsResponse

Lists the recommendations for an Resilience Hub Application Component.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_component_recommendations({
  assessment_arn: "Arn", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.component_recommendations #=> Array
resp.component_recommendations[0].app_component_name #=> String
resp.component_recommendations[0].config_recommendations #=> Array
resp.component_recommendations[0].config_recommendations[0].app_component_name #=> String
resp.component_recommendations[0].config_recommendations[0].compliance #=> Hash
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].achievable_rpo_in_secs #=> Integer
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].achievable_rto_in_secs #=> Integer
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].current_rpo_in_secs #=> Integer
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].current_rto_in_secs #=> Integer
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].message #=> String
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].rpo_description #=> String
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].rpo_reference_id #=> String
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].rto_description #=> String
resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].rto_reference_id #=> String
resp.component_recommendations[0].config_recommendations[0].cost.amount #=> Float
resp.component_recommendations[0].config_recommendations[0].cost.currency #=> String
resp.component_recommendations[0].config_recommendations[0].cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
resp.component_recommendations[0].config_recommendations[0].description #=> String
resp.component_recommendations[0].config_recommendations[0].ha_architecture #=> String, one of "MultiSite", "WarmStandby", "PilotLight", "BackupAndRestore", "NoRecoveryPlan"
resp.component_recommendations[0].config_recommendations[0].name #=> String
resp.component_recommendations[0].config_recommendations[0].optimization_type #=> String, one of "LeastCost", "LeastChange", "BestAZRecovery", "LeastErrors", "BestAttainable", "BestRegionRecovery"
resp.component_recommendations[0].config_recommendations[0].recommendation_compliance #=> Hash
resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_rpo_description #=> String
resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_rpo_in_secs #=> Integer
resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_rto_description #=> String
resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_rto_in_secs #=> Integer
resp.component_recommendations[0].config_recommendations[0].reference_id #=> String
resp.component_recommendations[0].config_recommendations[0].suggested_changes #=> Array
resp.component_recommendations[0].config_recommendations[0].suggested_changes[0] #=> String
resp.component_recommendations[0].recommendation_status #=> String, one of "BreachedUnattainable", "BreachedCanMeet", "MetCanImprove", "MissingPolicy"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



2841
2842
2843
2844
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2841

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

#list_app_input_sources(params = {}) ⇒ Types::ListAppInputSourcesResponse

Lists all the input sources of the Resilience Hub application. For more information about the input sources supported by Resilience Hub, see Discover the structure and describe your Resilience Hub application.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_input_sources({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.app_input_sources #=> Array
resp.app_input_sources[0].eks_source_cluster_namespace.eks_cluster_arn #=> String
resp.app_input_sources[0].eks_source_cluster_namespace.namespace #=> String
resp.app_input_sources[0].import_type #=> String, one of "CfnStack", "Resource", "AppRegistryApp", "ResourceGroup", "Terraform", "EKS"
resp.app_input_sources[0].resource_count #=> Integer
resp.app_input_sources[0].source_arn #=> String
resp.app_input_sources[0].source_name #=> String
resp.app_input_sources[0].terraform_source.s3_state_file_url #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    Resilience Hub application version.

  • :max_results (Integer)

    Maximum number of input sources to be displayed per Resilience Hub application.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



2909
2910
2911
2912
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2909

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

#list_app_version_app_components(params = {}) ⇒ Types::ListAppVersionAppComponentsResponse

Lists all the Application Components in the Resilience Hub application.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_version_app_components({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.app_arn #=> String
resp.app_components #=> Array
resp.app_components[0].additional_info #=> Hash
resp.app_components[0].additional_info["String128WithoutWhitespace"] #=> Array
resp.app_components[0].additional_info["String128WithoutWhitespace"][0] #=> String
resp.app_components[0].id #=> String
resp.app_components[0].name #=> String
resp.app_components[0].type #=> String
resp.app_version #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    Version of the Application Component.

  • :max_results (Integer)

    Maximum number of Application Components to be displayed per Resilience Hub application version.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



2974
2975
2976
2977
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2974

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

#list_app_version_resource_mappings(params = {}) ⇒ Types::ListAppVersionResourceMappingsResponse

Lists how the resources in an application version are mapped/sourced from. Mappings can be physical resource identifiers, CloudFormation stacks, resource-groups, or an application registry app.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_version_resource_mappings({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.next_token #=> String
resp.resource_mappings #=> Array
resp.resource_mappings[0].app_registry_app_name #=> String
resp.resource_mappings[0].eks_source_name #=> String
resp.resource_mappings[0].logical_stack_name #=> String
resp.resource_mappings[0].mapping_type #=> String, one of "CfnStack", "Resource", "AppRegistryApp", "ResourceGroup", "Terraform", "EKS"
resp.resource_mappings[0].physical_resource_id. #=> String
resp.resource_mappings[0].physical_resource_id.aws_region #=> String
resp.resource_mappings[0].physical_resource_id.identifier #=> String
resp.resource_mappings[0].physical_resource_id.type #=> String, one of "Arn", "Native"
resp.resource_mappings[0].resource_group_name #=> String
resp.resource_mappings[0].resource_name #=> String
resp.resource_mappings[0].terraform_source_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    The version of the application.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



3042
3043
3044
3045
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3042

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

#list_app_version_resources(params = {}) ⇒ Types::ListAppVersionResourcesResponse

Lists all the resources in an Resilience Hub application.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_version_resources({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
  max_results: 1,
  next_token: "NextToken",
  resolution_id: "String255",
})

Response structure


resp.next_token #=> String
resp.physical_resources #=> Array
resp.physical_resources[0].additional_info #=> Hash
resp.physical_resources[0].additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resources[0].additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resources[0].app_components #=> Array
resp.physical_resources[0].app_components[0].additional_info #=> Hash
resp.physical_resources[0].app_components[0].additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resources[0].app_components[0].additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resources[0].app_components[0].id #=> String
resp.physical_resources[0].app_components[0].name #=> String
resp.physical_resources[0].app_components[0].type #=> String
resp.physical_resources[0].excluded #=> Boolean
resp.physical_resources[0].logical_resource_id.eks_source_name #=> String
resp.physical_resources[0].logical_resource_id.identifier #=> String
resp.physical_resources[0].logical_resource_id.logical_stack_name #=> String
resp.physical_resources[0].logical_resource_id.resource_group_name #=> String
resp.physical_resources[0].logical_resource_id.terraform_source_name #=> String
resp.physical_resources[0].parent_resource_name #=> String
resp.physical_resources[0].physical_resource_id. #=> String
resp.physical_resources[0].physical_resource_id.aws_region #=> String
resp.physical_resources[0].physical_resource_id.identifier #=> String
resp.physical_resources[0].physical_resource_id.type #=> String, one of "Arn", "Native"
resp.physical_resources[0].resource_name #=> String
resp.physical_resources[0].resource_type #=> String
resp.physical_resources[0].source_type #=> String, one of "AppTemplate", "Discovered"
resp.resolution_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    The version of the application.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

  • :resolution_id (String)

    The identifier for a specific resolution.

Returns:

See Also:



3127
3128
3129
3130
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3127

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

#list_app_versions(params = {}) ⇒ Types::ListAppVersionsResponse

Lists the different versions for the Resilience Hub applications.

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

Examples:

Request syntax with placeholder values


resp = client.list_app_versions({
  app_arn: "Arn", # required
  end_time: Time.now,
  max_results: 1,
  next_token: "NextToken",
  start_time: Time.now,
})

Response structure


resp.app_versions #=> Array
resp.app_versions[0].app_version #=> String
resp.app_versions[0].creation_time #=> Time
resp.app_versions[0].identifier #=> Integer
resp.app_versions[0].version_name #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :end_time (Time, DateTime, Date, Integer, String)

    Upper limit of the time range to filter the application versions.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

  • :start_time (Time, DateTime, Date, Integer, String)

    Lower limit of the time range to filter the application versions.

Returns:

See Also:



3190
3191
3192
3193
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3190

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

#list_apps(params = {}) ⇒ Types::ListAppsResponse

Lists your Resilience Hub applications.

You can filter applications using only one filter at a time or without using any filter. If you try to filter applications using multiple filters, you will get the following error:

An error occurred (ValidationException) when calling the ListApps operation: Only one filter is supported for this operation.

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

Examples:

Request syntax with placeholder values


resp = client.list_apps({
  app_arn: "Arn",
  aws_application_arn: "Arn",
  from_last_assessment_time: Time.now,
  max_results: 1,
  name: "EntityName",
  next_token: "NextToken",
  reverse_order: false,
  to_last_assessment_time: Time.now,
})

Response structure


resp.app_summaries #=> Array
resp.app_summaries[0].app_arn #=> String
resp.app_summaries[0].assessment_schedule #=> String, one of "Disabled", "Daily"
resp.app_summaries[0].aws_application_arn #=> String
resp.app_summaries[0].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected", "NotApplicable", "MissingPolicy"
resp.app_summaries[0].creation_time #=> Time
resp.app_summaries[0].description #=> String
resp.app_summaries[0].drift_status #=> String, one of "NotChecked", "NotDetected", "Detected"
resp.app_summaries[0].last_app_compliance_evaluation_time #=> Time
resp.app_summaries[0].name #=> String
resp.app_summaries[0].resiliency_score #=> Float
resp.app_summaries[0].rpo_in_secs #=> Integer
resp.app_summaries[0].rto_in_secs #=> Integer
resp.app_summaries[0].status #=> String, one of "Active", "Deleting"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :aws_application_arn (String)

    Amazon Resource Name (ARN) of Resource Groups group that is integrated with an AppRegistry application. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :from_last_assessment_time (Time, DateTime, Date, Integer, String)

    Lower limit of the range that is used to filter applications based on their last assessment times.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :name (String)

    The name for the one of the listed applications.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

  • :reverse_order (Boolean)

    The application list is sorted based on the values of lastAppComplianceEvaluationTime field. By default, application list is sorted in ascending order. To sort the application list in descending order, set this field to True.

  • :to_last_assessment_time (Time, DateTime, Date, Integer, String)

    Upper limit of the range that is used to filter the applications based on their last assessment times.

Returns:

See Also:



3295
3296
3297
3298
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3295

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

#list_metrics(params = {}) ⇒ Types::ListMetricsResponse

Lists the metrics that can be exported.

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

Examples:

Request syntax with placeholder values


resp = client.list_metrics({
  conditions: [
    {
      field: "String255", # required
      operator: "Equals", # required, accepts Equals, NotEquals, GreaterThen, GreaterOrEquals, LessThen, LessOrEquals
      value: "String255",
    },
  ],
  data_source: "String255",
  fields: [
    {
      aggregation: "Min", # accepts Min, Max, Sum, Avg, Count
      name: "String255", # required
    },
  ],
  max_results: 1,
  next_token: "NextToken",
  sorts: [
    {
      ascending: false,
      field: "String255", # required
    },
  ],
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :conditions (Array<Types::Condition>)

    Indicates the list of all the conditions that were applied on the metrics.

  • :data_source (String)

    Indicates the data source of the metrics.

  • :fields (Array<Types::Field>)

    Indicates the list of fields in the data source.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

  • :sorts (Array<Types::Sort>) — default: Optional

    Indicates the order in which you want to sort the fields in the metrics. By default, the fields are sorted in the ascending order.

Returns:

See Also:



3370
3371
3372
3373
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3370

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

#list_recommendation_templates(params = {}) ⇒ Types::ListRecommendationTemplatesResponse

Lists the recommendation templates for the Resilience Hub applications.

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

Examples:

Request syntax with placeholder values


resp = client.list_recommendation_templates({
  assessment_arn: "Arn",
  max_results: 1,
  name: "EntityName",
  next_token: "NextToken",
  recommendation_template_arn: "Arn",
  reverse_order: false,
  status: ["Pending"], # accepts Pending, InProgress, Failed, Success
})

Response structure


resp.next_token #=> String
resp.recommendation_templates #=> Array
resp.recommendation_templates[0].app_arn #=> String
resp.recommendation_templates[0].assessment_arn #=> String
resp.recommendation_templates[0].end_time #=> Time
resp.recommendation_templates[0].format #=> String, one of "CfnYaml", "CfnJson"
resp.recommendation_templates[0].message #=> String
resp.recommendation_templates[0].name #=> String
resp.recommendation_templates[0].needs_replacements #=> Boolean
resp.recommendation_templates[0].recommendation_ids #=> Array
resp.recommendation_templates[0].recommendation_ids[0] #=> String
resp.recommendation_templates[0].recommendation_template_arn #=> String
resp.recommendation_templates[0].recommendation_types #=> Array
resp.recommendation_templates[0].recommendation_types[0] #=> String, one of "Alarm", "Sop", "Test"
resp.recommendation_templates[0].start_time #=> Time
resp.recommendation_templates[0].status #=> String, one of "Pending", "InProgress", "Failed", "Success"
resp.recommendation_templates[0].tags #=> Hash
resp.recommendation_templates[0].tags["TagKey"] #=> String
resp.recommendation_templates[0].templates_location.bucket #=> String
resp.recommendation_templates[0].templates_location.prefix #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :name (String)

    The name for one of the listed recommendation templates.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

  • :recommendation_template_arn (String)

    The Amazon Resource Name (ARN) for a recommendation template.

  • :reverse_order (Boolean)

    The default is to sort by ascending startTime. To sort by descending startTime, set reverseOrder to true.

  • :status (Array<String>)

    Status of the action.

Returns:

See Also:



3457
3458
3459
3460
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3457

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

#list_resiliency_policies(params = {}) ⇒ Types::ListResiliencyPoliciesResponse

Lists the resiliency policies for the Resilience Hub applications.

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

Examples:

Request syntax with placeholder values


resp = client.list_resiliency_policies({
  max_results: 1,
  next_token: "NextToken",
  policy_name: "EntityName",
})

Response structure


resp.next_token #=> String
resp.resiliency_policies #=> Array
resp.resiliency_policies[0].creation_time #=> Time
resp.resiliency_policies[0].data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
resp.resiliency_policies[0].estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
resp.resiliency_policies[0].policy #=> Hash
resp.resiliency_policies[0].policy["DisruptionType"].rpo_in_secs #=> Integer
resp.resiliency_policies[0].policy["DisruptionType"].rto_in_secs #=> Integer
resp.resiliency_policies[0].policy_arn #=> String
resp.resiliency_policies[0].policy_description #=> String
resp.resiliency_policies[0].policy_name #=> String
resp.resiliency_policies[0].tags #=> Hash
resp.resiliency_policies[0].tags["TagKey"] #=> String
resp.resiliency_policies[0].tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical", "NotApplicable"

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

  • :policy_name (String)

    Name of the resiliency policy.

Returns:

See Also:



3512
3513
3514
3515
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3512

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

#list_resource_grouping_recommendations(params = {}) ⇒ Types::ListResourceGroupingRecommendationsResponse

Lists the resource grouping recommendations suggested by Resilience Hub for your application.

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

Examples:

Request syntax with placeholder values


resp = client.list_resource_grouping_recommendations({
  app_arn: "Arn",
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.grouping_recommendations #=> Array
resp.grouping_recommendations[0].confidence_level #=> String, one of "High", "Medium"
resp.grouping_recommendations[0].creation_time #=> Time
resp.grouping_recommendations[0].grouping_app_component.app_component_id #=> String
resp.grouping_recommendations[0].grouping_app_component.app_component_name #=> String
resp.grouping_recommendations[0].grouping_app_component.app_component_type #=> String
resp.grouping_recommendations[0].grouping_recommendation_id #=> String
resp.grouping_recommendations[0].recommendation_reasons #=> Array
resp.grouping_recommendations[0].recommendation_reasons[0] #=> String
resp.grouping_recommendations[0].rejection_reason #=> String, one of "DistinctBusinessPurpose", "SeparateDataConcern", "DistinctUserGroupHandling", "Other"
resp.grouping_recommendations[0].resources #=> Array
resp.grouping_recommendations[0].resources[0].logical_resource_id.eks_source_name #=> String
resp.grouping_recommendations[0].resources[0].logical_resource_id.identifier #=> String
resp.grouping_recommendations[0].resources[0].logical_resource_id.logical_stack_name #=> String
resp.grouping_recommendations[0].resources[0].logical_resource_id.resource_group_name #=> String
resp.grouping_recommendations[0].resources[0].logical_resource_id.terraform_source_name #=> String
resp.grouping_recommendations[0].resources[0].physical_resource_id. #=> String
resp.grouping_recommendations[0].resources[0].physical_resource_id.aws_region #=> String
resp.grouping_recommendations[0].resources[0].physical_resource_id.identifier #=> String
resp.grouping_recommendations[0].resources[0].physical_resource_id.type #=> String, one of "Arn", "Native"
resp.grouping_recommendations[0].resources[0].resource_name #=> String
resp.grouping_recommendations[0].resources[0].resource_type #=> String
resp.grouping_recommendations[0].resources[0].source_app_component_ids #=> Array
resp.grouping_recommendations[0].resources[0].source_app_component_ids[0] #=> String
resp.grouping_recommendations[0].score #=> Float
resp.grouping_recommendations[0].status #=> String, one of "Accepted", "Rejected", "PendingDecision"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :max_results (Integer)

    Maximum number of grouping recommendations to be displayed per Resilience Hub application.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



3588
3589
3590
3591
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3588

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

#list_sop_recommendations(params = {}) ⇒ Types::ListSopRecommendationsResponse

Lists the standard operating procedure (SOP) recommendations for the Resilience Hub applications.

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

Examples:

Request syntax with placeholder values


resp = client.list_sop_recommendations({
  assessment_arn: "Arn", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.next_token #=> String
resp.sop_recommendations #=> Array
resp.sop_recommendations[0].app_component_name #=> String
resp.sop_recommendations[0].description #=> String
resp.sop_recommendations[0].items #=> Array
resp.sop_recommendations[0].items[0].already_implemented #=> Boolean
resp.sop_recommendations[0].items[0].discovered_alarm.alarm_arn #=> String
resp.sop_recommendations[0].items[0].discovered_alarm.source #=> String
resp.sop_recommendations[0].items[0].exclude_reason #=> String, one of "AlreadyImplemented", "NotRelevant", "ComplexityOfImplementation"
resp.sop_recommendations[0].items[0].excluded #=> Boolean
resp.sop_recommendations[0].items[0].latest_discovered_experiment.experiment_arn #=> String
resp.sop_recommendations[0].items[0].latest_discovered_experiment.experiment_template_id #=> String
resp.sop_recommendations[0].items[0].resource_id #=> String
resp.sop_recommendations[0].items[0]. #=> String
resp.sop_recommendations[0].items[0].target_region #=> String
resp.sop_recommendations[0].name #=> String
resp.sop_recommendations[0].prerequisite #=> String
resp.sop_recommendations[0].recommendation_id #=> String
resp.sop_recommendations[0].recommendation_status #=> String, one of "Implemented", "Inactive", "NotImplemented", "Excluded"
resp.sop_recommendations[0].reference_id #=> String
resp.sop_recommendations[0].service_type #=> String, one of "SSM"

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



3659
3660
3661
3662
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3659

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

#list_suggested_resiliency_policies(params = {}) ⇒ Types::ListSuggestedResiliencyPoliciesResponse

Lists the suggested resiliency policies for the Resilience Hub applications.

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

Examples:

Request syntax with placeholder values


resp = client.list_suggested_resiliency_policies({
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.next_token #=> String
resp.resiliency_policies #=> Array
resp.resiliency_policies[0].creation_time #=> Time
resp.resiliency_policies[0].data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
resp.resiliency_policies[0].estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
resp.resiliency_policies[0].policy #=> Hash
resp.resiliency_policies[0].policy["DisruptionType"].rpo_in_secs #=> Integer
resp.resiliency_policies[0].policy["DisruptionType"].rto_in_secs #=> Integer
resp.resiliency_policies[0].policy_arn #=> String
resp.resiliency_policies[0].policy_description #=> String
resp.resiliency_policies[0].policy_name #=> String
resp.resiliency_policies[0].tags #=> Hash
resp.resiliency_policies[0].tags["TagKey"] #=> String
resp.resiliency_policies[0].tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical", "NotApplicable"

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



3711
3712
3713
3714
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3711

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

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

Lists the tags for your resources in your Resilience Hub applications.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) for a specific resource in your Resilience Hub application.

Returns:

See Also:



3741
3742
3743
3744
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3741

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

#list_test_recommendations(params = {}) ⇒ Types::ListTestRecommendationsResponse

Lists the test recommendations for the Resilience Hub application.

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

Examples:

Request syntax with placeholder values


resp = client.list_test_recommendations({
  assessment_arn: "Arn", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.next_token #=> String
resp.test_recommendations #=> Array
resp.test_recommendations[0].app_component_id #=> String
resp.test_recommendations[0].app_component_name #=> String
resp.test_recommendations[0].depends_on_alarms #=> Array
resp.test_recommendations[0].depends_on_alarms[0] #=> String
resp.test_recommendations[0].description #=> String
resp.test_recommendations[0].intent #=> String
resp.test_recommendations[0].items #=> Array
resp.test_recommendations[0].items[0].already_implemented #=> Boolean
resp.test_recommendations[0].items[0].discovered_alarm.alarm_arn #=> String
resp.test_recommendations[0].items[0].discovered_alarm.source #=> String
resp.test_recommendations[0].items[0].exclude_reason #=> String, one of "AlreadyImplemented", "NotRelevant", "ComplexityOfImplementation"
resp.test_recommendations[0].items[0].excluded #=> Boolean
resp.test_recommendations[0].items[0].latest_discovered_experiment.experiment_arn #=> String
resp.test_recommendations[0].items[0].latest_discovered_experiment.experiment_template_id #=> String
resp.test_recommendations[0].items[0].resource_id #=> String
resp.test_recommendations[0].items[0]. #=> String
resp.test_recommendations[0].items[0].target_region #=> String
resp.test_recommendations[0].name #=> String
resp.test_recommendations[0].prerequisite #=> String
resp.test_recommendations[0].recommendation_id #=> String
resp.test_recommendations[0].recommendation_status #=> String, one of "Implemented", "Inactive", "NotImplemented", "Excluded"
resp.test_recommendations[0].reference_id #=> String
resp.test_recommendations[0].risk #=> String, one of "Small", "Medium", "High"
resp.test_recommendations[0].type #=> String, one of "Software", "Hardware", "AZ", "Region"

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

    Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

Returns:

See Also:



3816
3817
3818
3819
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3816

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

#list_unsupported_app_version_resources(params = {}) ⇒ Types::ListUnsupportedAppVersionResourcesResponse

Lists the resources that are not currently supported in Resilience Hub. An unsupported resource is a resource that exists in the object that was used to create an app, but is not supported by Resilience Hub.

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

Examples:

Request syntax with placeholder values


resp = client.list_unsupported_app_version_resources({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
  max_results: 1,
  next_token: "NextToken",
  resolution_id: "String255",
})

Response structure


resp.next_token #=> String
resp.resolution_id #=> String
resp.unsupported_resources #=> Array
resp.unsupported_resources[0].logical_resource_id.eks_source_name #=> String
resp.unsupported_resources[0].logical_resource_id.identifier #=> String
resp.unsupported_resources[0].logical_resource_id.logical_stack_name #=> String
resp.unsupported_resources[0].logical_resource_id.resource_group_name #=> String
resp.unsupported_resources[0].logical_resource_id.terraform_source_name #=> String
resp.unsupported_resources[0].physical_resource_id. #=> String
resp.unsupported_resources[0].physical_resource_id.aws_region #=> String
resp.unsupported_resources[0].physical_resource_id.identifier #=> String
resp.unsupported_resources[0].physical_resource_id.type #=> String, one of "Arn", "Native"
resp.unsupported_resources[0].resource_type #=> String
resp.unsupported_resources[0].unsupported_resource_status #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    The version of the application.

  • :max_results (Integer)

    Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    Null, or the token from a previous call to get the next set of results.

  • :resolution_id (String)

    The identifier for a specific resolution.

Returns:

See Also:



3891
3892
3893
3894
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3891

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

#publish_app_version(params = {}) ⇒ Types::PublishAppVersionResponse

Publishes a new version of a specific Resilience Hub application.

Examples:

Request syntax with placeholder values


resp = client.publish_app_version({
  app_arn: "Arn", # required
  version_name: "EntityVersion",
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.identifier #=> Integer
resp.version_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :version_name (String)

    Name of the application version.

Returns:

See Also:



3937
3938
3939
3940
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3937

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

#put_draft_app_version_template(params = {}) ⇒ Types::PutDraftAppVersionTemplateResponse

Adds or updates the app template for an Resilience Hub application draft version.

Examples:

Request syntax with placeholder values


resp = client.put_draft_app_version_template({
  app_arn: "Arn", # required
  app_template_body: "AppTemplateBody", # required
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_template_body (required, String)

    A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section.

    The appTemplateBody JSON string has the following structure:

    • resources

      The list of logical resources that must be included in the Resilience Hub application.

      Type: Array

      Don't add the resources that you want to exclude.

      Each resources array item includes the following fields:

      • logicalResourceId

        Logical identifier of the resource.

        Type: Object

        Each logicalResourceId object includes the following fields:

        • identifier

          Identifier of the resource.

          Type: String

        • logicalStackName

          The name of the CloudFormation stack this resource belongs to.

          Type: String

        • resourceGroupName

          The name of the resource group this resource belongs to.

          Type: String

        • terraformSourceName

          The name of the Terraform S3 state file this resource belongs to.

          Type: String

        • eksSourceName

          Name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.

          This parameter accepts values in "eks-cluster/namespace" format.

          Type: String

      • type

        The type of resource.

        Type: string

      • name

        The name of the resource.

        Type: String

      • additionalInfo

        Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.

        Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

        Key: "failover-regions"

        Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    • appComponents

      List of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added.

      Type: Array

      Each appComponents array item includes the following fields:

      • name

        Name of the Application Component.

        Type: String

      • type

        Type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent.

        Type: String

      • resourceNames

        The list of included resources that are assigned to the Application Component.

        Type: Array of strings

      • additionalInfo

        Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.

        Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

        Key: "failover-regions"

        Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    • excludedResources

      The list of logical resource identifiers to be excluded from the application.

      Type: Array

      Don't add the resources that you want to include.

      Each excludedResources array item includes the following fields:

      • logicalResourceIds

        Logical identifier of the resource.

        Type: Object

        You can configure only one of the following fields:

        • logicalStackName

        • resourceGroupName

        • terraformSourceName

        • eksSourceName

        Each logicalResourceIds object includes the following fields:

        • identifier

          Identifier of the resource.

          Type: String

        • logicalStackName

          The name of the CloudFormation stack this resource belongs to.

          Type: String

        • resourceGroupName

          The name of the resource group this resource belongs to.

          Type: String

        • terraformSourceName

          The name of the Terraform S3 state file this resource belongs to.

          Type: String

        • eksSourceName

          Name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.

          This parameter accepts values in "eks-cluster/namespace" format.

          Type: String

    • version

      Resilience Hub application version.

    • additionalInfo

      Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.

      Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

      Key: "failover-regions"

      Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

Returns:

See Also:



4211
4212
4213
4214
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4211

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

#reject_resource_grouping_recommendations(params = {}) ⇒ Types::RejectResourceGroupingRecommendationsResponse

Rejects resource grouping recommendations.

Examples:

Request syntax with placeholder values


resp = client.reject_resource_grouping_recommendations({
  app_arn: "Arn", # required
  entries: [ # required
    {
      grouping_recommendation_id: "String255", # required
      rejection_reason: "DistinctBusinessPurpose", # accepts DistinctBusinessPurpose, SeparateDataConcern, DistinctUserGroupHandling, Other
    },
  ],
})

Response structure


resp.app_arn #=> String
resp.failed_entries #=> Array
resp.failed_entries[0].error_message #=> String
resp.failed_entries[0].grouping_recommendation_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :entries (required, Array<Types::RejectGroupingRecommendationEntry>)

    List of resource grouping recommendations you have selected to exclude from your application.

Returns:

See Also:



4261
4262
4263
4264
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4261

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

#remove_draft_app_version_resource_mappings(params = {}) ⇒ Types::RemoveDraftAppVersionResourceMappingsResponse

Removes resource mappings from a draft application version.

Examples:

Request syntax with placeholder values


resp = client.remove_draft_app_version_resource_mappings({
  app_arn: "Arn", # required
  app_registry_app_names: ["EntityName"],
  eks_source_names: ["String255"],
  logical_stack_names: ["String255"],
  resource_group_names: ["EntityName"],
  resource_names: ["EntityName"],
  terraform_source_names: ["String255"],
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_registry_app_names (Array<String>)

    The names of the registered applications you want to remove from the resource mappings.

  • :eks_source_names (Array<String>)

    The names of the Amazon Elastic Kubernetes Service clusters and namespaces you want to remove from the resource mappings.

    This parameter accepts values in "eks-cluster/namespace" format.

  • :logical_stack_names (Array<String>)

    The names of the CloudFormation stacks you want to remove from the resource mappings.

  • :resource_group_names (Array<String>)

    The names of the resource groups you want to remove from the resource mappings.

  • :resource_names (Array<String>)

    The names of the resources you want to remove from the resource mappings.

  • :terraform_source_names (Array<String>)

    The names of the Terraform sources you want to remove from the resource mappings.

Returns:

See Also:



4333
4334
4335
4336
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4333

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

#resolve_app_version_resources(params = {}) ⇒ Types::ResolveAppVersionResourcesResponse

Resolves the resources for an application version.

Examples:

Request syntax with placeholder values


resp = client.resolve_app_version_resources({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.resolution_id #=> String
resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    The version of the application.

Returns:

See Also:



4379
4380
4381
4382
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4379

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

#start_app_assessment(params = {}) ⇒ Types::StartAppAssessmentResponse

Creates a new application assessment for an application.

Examples:

Request syntax with placeholder values


resp = client.start_app_assessment({
  app_arn: "Arn", # required
  app_version: "EntityVersion", # required
  assessment_name: "EntityName", # required
  client_token: "ClientToken",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.assessment.app_arn #=> String
resp.assessment.app_version #=> String
resp.assessment.assessment_arn #=> String
resp.assessment.assessment_name #=> String
resp.assessment.assessment_status #=> String, one of "Pending", "InProgress", "Failed", "Success"
resp.assessment.compliance #=> Hash
resp.assessment.compliance["DisruptionType"].achievable_rpo_in_secs #=> Integer
resp.assessment.compliance["DisruptionType"].achievable_rto_in_secs #=> Integer
resp.assessment.compliance["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.assessment.compliance["DisruptionType"].current_rpo_in_secs #=> Integer
resp.assessment.compliance["DisruptionType"].current_rto_in_secs #=> Integer
resp.assessment.compliance["DisruptionType"].message #=> String
resp.assessment.compliance["DisruptionType"].rpo_description #=> String
resp.assessment.compliance["DisruptionType"].rpo_reference_id #=> String
resp.assessment.compliance["DisruptionType"].rto_description #=> String
resp.assessment.compliance["DisruptionType"].rto_reference_id #=> String
resp.assessment.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotApplicable", "MissingPolicy"
resp.assessment.cost.amount #=> Float
resp.assessment.cost.currency #=> String
resp.assessment.cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
resp.assessment.drift_status #=> String, one of "NotChecked", "NotDetected", "Detected"
resp.assessment.end_time #=> Time
resp.assessment.invoker #=> String, one of "User", "System"
resp.assessment.message #=> String
resp.assessment.policy.creation_time #=> Time
resp.assessment.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
resp.assessment.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
resp.assessment.policy.policy #=> Hash
resp.assessment.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
resp.assessment.policy.policy["DisruptionType"].rto_in_secs #=> Integer
resp.assessment.policy.policy_arn #=> String
resp.assessment.policy.policy_description #=> String
resp.assessment.policy.policy_name #=> String
resp.assessment.policy.tags #=> Hash
resp.assessment.policy.tags["TagKey"] #=> String
resp.assessment.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical", "NotApplicable"
resp.assessment.resiliency_score.component_score #=> Hash
resp.assessment.resiliency_score.component_score["ResiliencyScoreType"].excluded_count #=> Integer
resp.assessment.resiliency_score.component_score["ResiliencyScoreType"].outstanding_count #=> Integer
resp.assessment.resiliency_score.component_score["ResiliencyScoreType"].possible_score #=> Float
resp.assessment.resiliency_score.component_score["ResiliencyScoreType"].score #=> Float
resp.assessment.resiliency_score.disruption_score #=> Hash
resp.assessment.resiliency_score.disruption_score["DisruptionType"] #=> Float
resp.assessment.resiliency_score.score #=> Float
resp.assessment.resource_errors_details.has_more_errors #=> Boolean
resp.assessment.resource_errors_details.resource_errors #=> Array
resp.assessment.resource_errors_details.resource_errors[0].logical_resource_id #=> String
resp.assessment.resource_errors_details.resource_errors[0].physical_resource_id #=> String
resp.assessment.resource_errors_details.resource_errors[0].reason #=> String
resp.assessment.start_time #=> Time
resp.assessment.summary.risk_recommendations #=> Array
resp.assessment.summary.risk_recommendations[0].app_components #=> Array
resp.assessment.summary.risk_recommendations[0].app_components[0] #=> String
resp.assessment.summary.risk_recommendations[0].recommendation #=> String
resp.assessment.summary.risk_recommendations[0].risk #=> String
resp.assessment.summary.summary #=> String
resp.assessment.tags #=> Hash
resp.assessment.tags["TagKey"] #=> String
resp.assessment.version_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_version (required, String)

    The version of the application.

  • :assessment_name (required, String)

    The name for the assessment.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :tags (Hash<String,String>)

    Tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

Returns:

See Also:



4497
4498
4499
4500
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4497

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

#start_metrics_export(params = {}) ⇒ Types::StartMetricsExportResponse

Initiates the export task of metrics.

Examples:

Request syntax with placeholder values


resp = client.start_metrics_export({
  bucket_name: "EntityName",
  client_token: "ClientToken",
})

Response structure


resp.metrics_export_id #=> String
resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"

Parameters:

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

    ({})

Options Hash (params):

  • :bucket_name (String) — default: Optional

    Specifies the name of the Amazon Simple Storage Service bucket where the exported metrics will be stored.

  • :client_token (String)

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



4537
4538
4539
4540
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4537

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

#start_resource_grouping_recommendation_task(params = {}) ⇒ Types::StartResourceGroupingRecommendationTaskResponse

Starts grouping recommendation task.

Examples:

Request syntax with placeholder values


resp = client.start_resource_grouping_recommendation_task({
  app_arn: "Arn", # required
})

Response structure


resp.app_arn #=> String
resp.error_message #=> String
resp.grouping_id #=> String
resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

Returns:

See Also:



4579
4580
4581
4582
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4579

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

#tag_resource(params = {}) ⇒ Struct

Applies one or more tags to a resource.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the resource.

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

    The tags to assign to the resource. Each tag consists of a key/value pair.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4608
4609
4610
4611
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4608

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

#untag_resource(params = {}) ⇒ Struct

Removes one or more tags from a resource.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the resource.

  • :tag_keys (required, Array<String>)

    The keys of the tags you want to remove.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4634
4635
4636
4637
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4634

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

#update_app(params = {}) ⇒ Types::UpdateAppResponse

Updates an application.

Examples:

Request syntax with placeholder values


resp = client.update_app({
  app_arn: "Arn", # required
  assessment_schedule: "Disabled", # accepts Disabled, Daily
  clear_resiliency_policy_arn: false,
  description: "EntityDescription",
  event_subscriptions: [
    {
      event_type: "ScheduledAssessmentFailure", # required, accepts ScheduledAssessmentFailure, DriftDetected
      name: "String255", # required
      sns_topic_arn: "Arn",
    },
  ],
  permission_model: {
    cross_account_role_arns: ["IamRoleArn"],
    invoker_role_name: "IamRoleName",
    type: "LegacyIAMUser", # required, accepts LegacyIAMUser, RoleBased
  },
  policy_arn: "Arn",
})

Response structure


resp.app.app_arn #=> String
resp.app.assessment_schedule #=> String, one of "Disabled", "Daily"
resp.app.aws_application_arn #=> String
resp.app.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected", "NotApplicable", "MissingPolicy"
resp.app.creation_time #=> Time
resp.app.description #=> String
resp.app.drift_status #=> String, one of "NotChecked", "NotDetected", "Detected"
resp.app.event_subscriptions #=> Array
resp.app.event_subscriptions[0].event_type #=> String, one of "ScheduledAssessmentFailure", "DriftDetected"
resp.app.event_subscriptions[0].name #=> String
resp.app.event_subscriptions[0].sns_topic_arn #=> String
resp.app.last_app_compliance_evaluation_time #=> Time
resp.app.last_drift_evaluation_time #=> Time
resp.app.last_resiliency_score_evaluation_time #=> Time
resp.app.name #=> String
resp.app.permission_model. #=> Array
resp.app.permission_model.[0] #=> String
resp.app.permission_model.invoker_role_name #=> String
resp.app.permission_model.type #=> String, one of "LegacyIAMUser", "RoleBased"
resp.app.policy_arn #=> String
resp.app.resiliency_score #=> Float
resp.app.rpo_in_secs #=> Integer
resp.app.rto_in_secs #=> Integer
resp.app.status #=> String, one of "Active", "Deleting"
resp.app.tags #=> Hash
resp.app.tags["TagKey"] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :assessment_schedule (String)

    Assessment execution schedule with 'Daily' or 'Disabled' values.

  • :clear_resiliency_policy_arn (Boolean)

    Specifies if the resiliency policy ARN should be cleared.

  • :description (String)

    The optional description for an app.

  • :event_subscriptions (Array<Types::EventSubscription>)

    The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.

  • :permission_model (Types::PermissionModel)

    Defines the roles and credentials that Resilience Hub would use while creating an application, importing its resources, and running an assessment.

  • :policy_arn (String)

    Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

Returns:

See Also:



4741
4742
4743
4744
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4741

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

#update_app_version(params = {}) ⇒ Types::UpdateAppVersionResponse

Updates the Resilience Hub application version.

This API updates the Resilience Hub application draft version. To use this information for running resiliency assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

Examples:

Request syntax with placeholder values


resp = client.update_app_version({
  additional_info: {
    "String128WithoutWhitespace" => ["String1024"],
  },
  app_arn: "Arn", # required
})

Response structure


resp.additional_info #=> Hash
resp.additional_info["String128WithoutWhitespace"] #=> Array
resp.additional_info["String128WithoutWhitespace"][0] #=> String
resp.app_arn #=> String
resp.app_version #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :additional_info (Hash<String,Array>)

    Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.

    Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

    Key: "failover-regions"

    Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

Returns:

See Also:



4811
4812
4813
4814
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4811

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

#update_app_version_app_component(params = {}) ⇒ Types::UpdateAppVersionAppComponentResponse

Updates an existing Application Component in the Resilience Hub application.

This API updates the Resilience Hub application draft version. To use this Application Component for running assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

Examples:

Request syntax with placeholder values


resp = client.update_app_version_app_component({
  additional_info: {
    "String128WithoutWhitespace" => ["String1024"],
  },
  app_arn: "Arn", # required
  id: "String255", # required
  name: "String255",
  type: "String255",
})

Response structure


resp.app_arn #=> String
resp.app_component.additional_info #=> Hash
resp.app_component.additional_info["String128WithoutWhitespace"] #=> Array
resp.app_component.additional_info["String128WithoutWhitespace"][0] #=> String
resp.app_component.id #=> String
resp.app_component.name #=> String
resp.app_component.type #=> String
resp.app_version #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :additional_info (Hash<String,Array>)

    Currently, there is no supported additional information for Application Components.

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :id (required, String)

    Identifier of the Application Component.

  • :name (String)

    Name of the Application Component.

  • :type (String)

    Type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent.

Returns:

See Also:



4887
4888
4889
4890
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4887

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

#update_app_version_resource(params = {}) ⇒ Types::UpdateAppVersionResourceResponse

Updates the resource details in the Resilience Hub application.

* This action has no effect outside Resilience Hub.

  • This API updates the Resilience Hub application draft version. To use this resource for running resiliency assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

  • To update application version with new physicalResourceID, you must call ResolveAppVersionResources API.

Examples:

Request syntax with placeholder values


resp = client.update_app_version_resource({
  additional_info: {
    "String128WithoutWhitespace" => ["String1024"],
  },
  app_arn: "Arn", # required
  app_components: ["String255"],
  aws_account_id: "CustomerId",
  aws_region: "AwsRegion",
  excluded: false,
  logical_resource_id: {
    eks_source_name: "String255",
    identifier: "String255", # required
    logical_stack_name: "String255",
    resource_group_name: "EntityName",
    terraform_source_name: "String255",
  },
  physical_resource_id: "String2048",
  resource_name: "EntityName",
  resource_type: "String255",
})

Response structure


resp.app_arn #=> String
resp.app_version #=> String
resp.physical_resource.additional_info #=> Hash
resp.physical_resource.additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resource.additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resource.app_components #=> Array
resp.physical_resource.app_components[0].additional_info #=> Hash
resp.physical_resource.app_components[0].additional_info["String128WithoutWhitespace"] #=> Array
resp.physical_resource.app_components[0].additional_info["String128WithoutWhitespace"][0] #=> String
resp.physical_resource.app_components[0].id #=> String
resp.physical_resource.app_components[0].name #=> String
resp.physical_resource.app_components[0].type #=> String
resp.physical_resource.excluded #=> Boolean
resp.physical_resource.logical_resource_id.eks_source_name #=> String
resp.physical_resource.logical_resource_id.identifier #=> String
resp.physical_resource.logical_resource_id.logical_stack_name #=> String
resp.physical_resource.logical_resource_id.resource_group_name #=> String
resp.physical_resource.logical_resource_id.terraform_source_name #=> String
resp.physical_resource.parent_resource_name #=> String
resp.physical_resource.physical_resource_id. #=> String
resp.physical_resource.physical_resource_id.aws_region #=> String
resp.physical_resource.physical_resource_id.identifier #=> String
resp.physical_resource.physical_resource_id.type #=> String, one of "Arn", "Native"
resp.physical_resource.resource_name #=> String
resp.physical_resource.resource_type #=> String
resp.physical_resource.source_type #=> String, one of "AppTemplate", "Discovered"

Parameters:

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

    ({})

Options Hash (params):

  • :additional_info (Hash<String,Array>)

    Currently, there is no supported additional information for resources.

  • :app_arn (required, String)

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :app_components (Array<String>)

    List of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added.

  • :aws_account_id (String)

    Amazon Web Services account that owns the physical resource.

  • :aws_region (String)

    Amazon Web Services region that owns the physical resource.

  • :excluded (Boolean)

    Indicates if a resource is excluded from an Resilience Hub application.

    You can exclude only imported resources from an Resilience Hub application.

  • :logical_resource_id (Types::LogicalResourceId)

    Logical identifier of the resource.

  • :physical_resource_id (String)

    Physical identifier of the resource.

  • :resource_name (String)

    Name of the resource.

  • :resource_type (String)

    Type of resource.

Returns:

See Also:



5014
5015
5016
5017
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 5014

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

#update_resiliency_policy(params = {}) ⇒ Types::UpdateResiliencyPolicyResponse

Updates a resiliency policy.

Resilience Hub allows you to provide a value of zero for rtoInSecs and rpoInSecs of your resiliency policy. But, while assessing your application, the lowest possible assessment result is near zero. Hence, if you provide value zero for rtoInSecs and rpoInSecs, the estimated workload RTO and estimated workload RPO result will be near zero and the Compliance status for your application will be set to Policy breached.

Examples:

Request syntax with placeholder values


resp = client.update_resiliency_policy({
  data_location_constraint: "AnyLocation", # accepts AnyLocation, SameContinent, SameCountry
  policy: {
    "Software" => {
      rpo_in_secs: 1, # required
      rto_in_secs: 1, # required
    },
  },
  policy_arn: "Arn", # required
  policy_description: "EntityDescription",
  policy_name: "EntityName",
  tier: "MissionCritical", # accepts MissionCritical, Critical, Important, CoreServices, NonCritical, NotApplicable
})

Response structure


resp.policy.creation_time #=> Time
resp.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
resp.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
resp.policy.policy #=> Hash
resp.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
resp.policy.policy["DisruptionType"].rto_in_secs #=> Integer
resp.policy.policy_arn #=> String
resp.policy.policy_description #=> String
resp.policy.policy_name #=> String
resp.policy.tags #=> Hash
resp.policy.tags["TagKey"] #=> String
resp.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical", "NotApplicable"

Parameters:

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

    ({})

Options Hash (params):

  • :data_location_constraint (String)

    Specifies a high-level geographical location constraint for where your resilience policy data can be stored.

  • :policy (Hash<String,Types::FailurePolicy>)

    Resiliency policy to be created, including the recovery time objective (RTO) and recovery point objective (RPO) in seconds.

  • :policy_arn (required, String)

    Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • :policy_description (String)

    Description of the resiliency policy.

  • :policy_name (String)

    Name of the resiliency policy.

  • :tier (String)

    The tier for this resiliency policy, ranging from the highest severity (MissionCritical) to lowest (NonCritical).

Returns:

See Also:



5099
5100
5101
5102
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 5099

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