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):

  • :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, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :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)
  • :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/. It should have a maximum length of 50.

  • :secret_access_key (String)
  • :session_token (String)
  • :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.

  • :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_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.



409
410
411
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 409

def initialize(*args)
  super
end

Instance Method Details

#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 suported 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:



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

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
    {
      entry_id: "String255", # required
      exclude_reason: "AlreadyImplemented", # accepts AlreadyImplemented, NotRelevant, ComplexityOfImplementation
      excluded: false, # required
      item: { # required
        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].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:



563
564
565
566
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 563

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
  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.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected"
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.

  • :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:



693
694
695
696
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 693

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:



777
778
779
780
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 777

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:



906
907
908
909
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 906

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:



1019
1020
1021
1022
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1019

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)

    The description for the policy.

  • :policy_name (required, String)

    The name of the 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:



1108
1109
1110
1111
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1108

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:



1159
1160
1161
1162
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1159

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:



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

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:



1287
1288
1289
1290
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1287

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:



1355
1356
1357
1358
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1355

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:



1466
1467
1468
1469
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1466

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:



1506
1507
1508
1509
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1506

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:



1552
1553
1554
1555
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1552

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.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected"
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:



1612
1613
1614
1615
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1612

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"
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"
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.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:



1700
1701
1702
1703
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1700

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:



1746
1747
1748
1749
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1746

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:



1799
1800
1801
1802
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1799

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 descibe 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:



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

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:



1958
1959
1960
1961
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1958

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:



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

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_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:



2054
2055
2056
2057
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2054

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_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:



2104
2105
2106
2107
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2104

def describe_resiliency_policy(params = {}, options = {})
  req = build_request(:describe_resiliency_policy, 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:



2189
2190
2191
2192
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2189

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].exclude_reason #=> String, one of "AlreadyImplemented", "NotRelevant", "ComplexityOfImplementation"
resp.alarm_recommendations[0].items[0].excluded #=> Boolean
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:



2257
2258
2259
2260
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2257

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"
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"
resp.compliance_drifts[0].drift_type #=> String, one of "ApplicationCompliance"
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"
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)

    Indicates the maximum number of applications requested.

  • :next_token (String)

    Indicates the unique token number of the next application to be checked for compliance and regulatory requirements from the list of applications.

Returns:

See Also:



2338
2339
2340
2341
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2338

def list_app_assessment_compliance_drifts(params = {}, options = {})
  req = build_request(:list_app_assessment_compliance_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
  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"
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:



2428
2429
2430
2431
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2428

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"
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"
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:



2504
2505
2506
2507
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2504

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"
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"
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"
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:



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

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:



2654
2655
2656
2657
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2654

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:



2719
2720
2721
2722
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2719

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:



2787
2788
2789
2790
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2787

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:



2872
2873
2874
2875
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2872

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:



2935
2936
2937
2938
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2935

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",
  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].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected"
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.

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

    Indicates the 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 appliation list in descending order, set this field to True.

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

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

Returns:

See Also:



3028
3029
3030
3031
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3028

def list_apps(params = {}, options = {})
  req = build_request(:list_apps, 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", # required
  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 (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.

  • :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:



3115
3116
3117
3118
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3115

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)

    The name of the policy

Returns:

See Also:



3170
3171
3172
3173
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3170

def list_resiliency_policies(params = {}, options = {})
  req = build_request(:list_resiliency_policies, 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].exclude_reason #=> String, one of "AlreadyImplemented", "NotRelevant", "ComplexityOfImplementation"
resp.sop_recommendations[0].items[0].excluded #=> Boolean
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:



3237
3238
3239
3240
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3237

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:



3289
3290
3291
3292
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3289

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:



3319
3320
3321
3322
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3319

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_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].exclude_reason #=> String, one of "AlreadyImplemented", "NotRelevant", "ComplexityOfImplementation"
resp.test_recommendations[0].items[0].excluded #=> Boolean
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:



3389
3390
3391
3392
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3389

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:



3464
3465
3466
3467
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3464

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:



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

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:



3788
3789
3790
3791
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3788

def put_draft_app_version_template(params = {}, options = {})
  req = build_request(:put_draft_app_version_template, 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:



3860
3861
3862
3863
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3860

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:



3906
3907
3908
3909
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3906

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"
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"
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.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:



4018
4019
4020
4021
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4018

def start_app_assessment(params = {}, options = {})
  req = build_request(:start_app_assessment, 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:



4047
4048
4049
4050
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4047

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:



4073
4074
4075
4076
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4073

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.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected"
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:



4179
4180
4181
4182
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4179

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:



4250
4251
4252
4253
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4250

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:



4326
4327
4328
4329
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4326

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:



4453
4454
4455
4456
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4453

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>)

    The type of 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)

    The description for the policy.

  • :policy_name (String)

    The name of the policy

  • :tier (String)

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

Returns:

See Also:



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

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