Class: Aws::ResilienceHub::Client

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

Overview

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

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

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

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

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

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

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

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

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

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

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

  • :client_side_monitoring (Boolean) — default: false

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

  • :client_side_monitoring_client_id (String) — default: ""

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

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

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

  • :client_side_monitoring_port (Integer) — default: 31000

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

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

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

  • :convert_params (Boolean) — default: true

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

  • :correct_clock_skew (Boolean) — default: true

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

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

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

  • :disable_host_prefix_injection (Boolean) — default: false

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

  • :disable_request_compression (Boolean) — default: false

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

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

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

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

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

  • :endpoint_cache_max_threads (Integer) — default: 10

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

  • :endpoint_cache_poll_interval (Integer) — default: 60

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

  • :endpoint_discovery (Boolean) — default: false

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

  • :ignore_configured_endpoint_urls (Boolean)

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

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

    The log formatter.

  • :log_level (Symbol) — default: :info

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

  • :logger (Logger)

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

  • :max_attempts (Integer) — default: 3

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

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

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

  • :request_min_compression_size_bytes (Integer) — default: 10240

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

  • :retry_backoff (Proc)

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

  • :retry_base_delay (Float) — default: 0.3

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

  • :retry_jitter (Symbol) — default: :none

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

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

  • :retry_limit (Integer) — default: 3

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

  • :retry_max_delay (Integer) — default: 0

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

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

    Specifies which retry algorithm to use. Values are:

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

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

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

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

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

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

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

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

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

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

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

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

    A Bearer Token Provider. This can be an instance of any one of the following classes:

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

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

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

  • :use_dualstack_endpoint (Boolean)

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

  • :use_fips_endpoint (Boolean)

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

  • :validate_params (Boolean) — default: true

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

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

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

  • :http_continue_timeout (Float) — default: 1

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

  • :http_idle_timeout (Float) — default: 5

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

  • :http_open_timeout (Float) — default: 15

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

  • :http_proxy (URI::HTTP, String)

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

  • :http_read_timeout (Float) — default: 60

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

  • :http_wire_trace (Boolean) — default: false

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

  • :on_chunk_received (Proc)

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

  • :on_chunk_sent (Proc)

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

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

  • :ssl_ca_bundle (String)

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

  • :ssl_ca_directory (String)

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

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

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

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

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



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

def initialize(*args)
  super
end

Instance Method Details

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

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

    Indicates the list of resource grouping recommendations you want to include in your application.

Returns:

See Also:



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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

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

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

Returns:

See Also:



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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.app_arn #=> String
resp.failed_entries #=> Array
resp.failed_entries[0].entry_id #=> String
resp.failed_entries[0].error_message #=> String
resp.successful_entries #=> Array
resp.successful_entries[0].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:



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

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_schedule (String)

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

  • :aws_application_arn (String)

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

  • :client_token (String)

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

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

  • :description (String)

    The optional description for an app.

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

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

  • :name (required, String)

    Name of the application.

  • :permission_model (Types::PermissionModel)

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

  • :policy_arn (String)

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

  • :tags (Hash<String,String>)

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

Returns:

See Also:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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

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

Describes an Resilience Hub application.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

Returns:

See Also:



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

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

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

Describes an assessment for an Resilience Hub application.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

Returns:

See Also:



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

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:



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

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:



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

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

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

Describes a resource of the Resilience Hub application.

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

  • resourceName

  • logicalResourceId

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

  • :app_version (required, String)

    Resilience Hub application version.

  • :aws_account_id (String)

    Amazon Web Services account that owns the physical resource.

  • :aws_region (String)

    Amazon Web Services region that owns the physical resource.

  • :logical_resource_id (Types::LogicalResourceId)

    Logical identifier of the resource.

  • :physical_resource_id (String)

    Physical identifier of the resource.

  • :resource_name (String)

    Name of the resource.

Returns:

See Also:



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

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:



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

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:



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

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

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

Describes the status of importing resources to an application version.

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

Returns:

See Also:



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

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:



2211
2212
2213
2214
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2211

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

  • :grouping_id (String)

    Indicates the identifier of the grouping recommendation task.

Returns:

See Also:



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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

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

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

  • :import_strategy (String)

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

  • :source_arns (Array<String>)

    The Amazon Resource Names (ARNs) for the resources.

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

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

Returns:

See Also:



2341
2342
2343
2344
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2341

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:



2409
2410
2411
2412
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2409

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

Indicates the list of compliance drifts that were detected while running an assessment.

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

  • :max_results (Integer)

    Indicates the maximum number of compliance drifts requested.

  • :next_token (String)

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

Returns:

See Also:



2489
2490
2491
2492
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2489

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

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

Indicates the list of resource drifts that were detected while running an assessment.

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:



2552
2553
2554
2555
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2552

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (String)

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

  • :assessment_name (String)

    The name for the assessment.

  • :assessment_status (Array<String>)

    The current status of the assessment for the resiliency policy.

  • :compliance_status (String)

    The current status of compliance for the resiliency policy.

  • :invoker (String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

  • :reverse_order (Boolean)

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

Returns:

See Also:



2642
2643
2644
2645
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2642

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

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

Lists the compliances for an Resilience Hub Application Component.

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:



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

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

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

Lists the recommendations for an Resilience Hub Application Component.

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:



2800
2801
2802
2803
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2800

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:



2868
2869
2870
2871
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2868

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:



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

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:



3001
3002
3003
3004
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3001

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:



3086
3087
3088
3089
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3086

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:



3149
3150
3151
3152
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3149

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

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

Lists your Resilience Hub applications.

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (String)

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

  • :aws_application_arn (String)

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

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

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



3254
3255
3256
3257
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3254

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",
  max_results: 1,
  name: "EntityName",
  next_token: "NextToken",
  recommendation_template_arn: "Arn",
  reverse_order: false,
  status: ["Pending"], # accepts Pending, InProgress, Failed, Success
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (String)

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

  • :max_results (Integer)

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

  • :name (String)

    The name for one of the listed recommendation templates.

  • :next_token (String)

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

  • :recommendation_template_arn (String)

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

  • :reverse_order (Boolean)

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

  • :status (Array<String>)

    Status of the action.

Returns:

See Also:



3341
3342
3343
3344
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3341

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:



3396
3397
3398
3399
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3396

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:



3472
3473
3474
3475
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3472

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.next_token #=> String
resp.sop_recommendations #=> Array
resp.sop_recommendations[0].app_component_name #=> String
resp.sop_recommendations[0].description #=> String
resp.sop_recommendations[0].items #=> Array
resp.sop_recommendations[0].items[0].already_implemented #=> Boolean
resp.sop_recommendations[0].items[0].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:



3539
3540
3541
3542
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3539

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:



3591
3592
3593
3594
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3591

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:



3621
3622
3623
3624
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3621

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:



3691
3692
3693
3694
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3691

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:



3766
3767
3768
3769
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3766

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:



3812
3813
3814
3815
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3812

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:



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

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

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

Rejects resource grouping recommendations.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

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

    Indicates the list of resource grouping recommendations you have selected to exclude from your application.

Returns:

See Also:



4140
4141
4142
4143
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4140

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

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

Removes resource mappings from a draft application version.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

  • :app_registry_app_names (Array<String>)

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

  • :eks_source_names (Array<String>)

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

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

  • :logical_stack_names (Array<String>)

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

  • :resource_group_names (Array<String>)

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

  • :resource_names (Array<String>)

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

  • :terraform_source_names (Array<String>)

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

Returns:

See Also:



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

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:



4258
4259
4260
4261
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4258

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

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

Creates a new application assessment for an application.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

  • :app_version (required, String)

    The version of the application.

  • :assessment_name (required, String)

    The name for the assessment.

  • :client_token (String)

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

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

  • :tags (Hash<String,String>)

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

Returns:

See Also:



4376
4377
4378
4379
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4376

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

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

Starts grouping recommendation task.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

Returns:

See Also:



4418
4419
4420
4421
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4418

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

#tag_resource(params = {}) ⇒ Struct

Applies one or more tags to a resource.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the resource.

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

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4447
4448
4449
4450
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4447

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:



4473
4474
4475
4476
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4473

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

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

Updates an application.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

  • :assessment_schedule (String)

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

  • :clear_resiliency_policy_arn (Boolean)

    Specifies if the resiliency policy ARN should be cleared.

  • :description (String)

    The optional description for an app.

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

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

  • :permission_model (Types::PermissionModel)

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

  • :policy_arn (String)

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

Returns:

See Also:



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

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:



4650
4651
4652
4653
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4650

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:



4726
4727
4728
4729
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4726

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:



4853
4854
4855
4856
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4853

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:



4938
4939
4940
4941
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4938

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