Class: Aws::ResilienceHub::Client

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

Overview

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

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

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

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

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

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

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

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

  • :client_side_monitoring (Boolean) — default: false

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

  • :client_side_monitoring_client_id (String) — default: ""

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

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

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

  • :client_side_monitoring_port (Integer) — default: 31000

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

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

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

  • :convert_params (Boolean) — default: true

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

  • :correct_clock_skew (Boolean) — default: true

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

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

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

  • :disable_host_prefix_injection (Boolean) — default: false

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

  • :disable_request_compression (Boolean) — default: false

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

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test or custom endpoints. This should be a valid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

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

  • :endpoint_cache_max_threads (Integer) — default: 10

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

  • :endpoint_cache_poll_interval (Integer) — default: 60

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

  • :endpoint_discovery (Boolean) — default: false

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

  • :ignore_configured_endpoint_urls (Boolean)

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

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

    The log formatter.

  • :log_level (Symbol) — default: :info

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

  • :logger (Logger)

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

  • :max_attempts (Integer) — default: 3

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

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

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

  • :request_min_compression_size_bytes (Integer) — default: 10240

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

  • :retry_backoff (Proc)

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

  • :retry_base_delay (Float) — default: 0.3

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

  • :retry_jitter (Symbol) — default: :none

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

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

  • :retry_limit (Integer) — default: 3

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

  • :retry_max_delay (Integer) — default: 0

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

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

    Specifies which retry algorithm to use. Values are:

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

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

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

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/. It should have a maximum length of 50.

  • :secret_access_key (String)
  • :session_token (String)
  • :stub_responses (Boolean) — default: false

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

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

  • :token_provider (Aws::TokenProvider)

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

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

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

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

  • :use_dualstack_endpoint (Boolean)

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

  • :use_fips_endpoint (Boolean)

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

  • :validate_params (Boolean) — default: true

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

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

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

  • :http_proxy (URI::HTTP, String)

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

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before raising a Timeout::Error.

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

  • :ssl_timeout (Float) — default: nil

    Sets the SSL timeout in seconds.

  • :http_wire_trace (Boolean) — default: false

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

  • :ssl_verify_peer (Boolean) — default: true

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

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



385
386
387
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 385

def initialize(*args)
  super
end

Instance Method Details

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

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

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

Returns:

See Also:



472
473
474
475
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 472

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

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

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

Returns:

See Also:



539
540
541
542
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 539

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_schedule (String)

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

  • :client_token (String)

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

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

  • :description (String)

    The optional description for an app.

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

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

  • :name (required, String)

    Name of the application.

  • :permission_model (Types::PermissionModel)

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

  • :policy_arn (String)

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

  • :tags (Hash<String,String>)

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

Returns:

See Also:



669
670
671
672
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 669

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:



753
754
755
756
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 753

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:



882
883
884
885
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 882

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:



995
996
997
998
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 995

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:



1084
1085
1086
1087
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1084

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:



1135
1136
1137
1138
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1135

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:



1183
1184
1185
1186
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1183

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:



1263
1264
1265
1266
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1263

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:



1331
1332
1333
1334
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1331

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:



1442
1443
1444
1445
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1442

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:



1482
1483
1484
1485
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1482

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:



1528
1529
1530
1531
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1528

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

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

Describes an Resilience Hub application.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

Returns:

See Also:



1588
1589
1590
1591
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1588

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

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

Describes an assessment for an Resilience Hub application.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

Returns:

See Also:



1676
1677
1678
1679
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1676

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:



1722
1723
1724
1725
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1722

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:



1775
1776
1777
1778
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1775

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

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

Describes a resource of the Resilience Hub application.

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

  • resourceName

  • logicalResourceId

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

  • :app_version (required, String)

    Resilience Hub application version.

  • :aws_account_id (String)

    Amazon Web Services account that owns the physical resource.

  • :aws_region (String)

    Amazon Web Services region that owns the physical resource.

  • :logical_resource_id (Types::LogicalResourceId)

    Logical identifier of the resource.

  • :physical_resource_id (String)

    Physical identifier of the resource.

  • :resource_name (String)

    Name of the resource.

Returns:

See Also:



1880
1881
1882
1883
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1880

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:



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

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:



1978
1979
1980
1981
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 1978

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

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

Describes the status of importing resources to an application version.

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

Returns:

See Also:



2030
2031
2032
2033
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2030

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:



2080
2081
2082
2083
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2080

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

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

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

  • :import_strategy (String)

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

  • :source_arns (Array<String>)

    The Amazon Resource Names (ARNs) for the resources.

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

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

Returns:

See Also:



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

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:



2233
2234
2235
2236
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2233

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

  • :max_results (Integer)

    Indicates the maximum number of applications requested.

  • :next_token (String)

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

Returns:

See Also:



2314
2315
2316
2317
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2314

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (String)

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

  • :assessment_name (String)

    The name for the assessment.

  • :assessment_status (Array<String>)

    The current status of the assessment for the resiliency policy.

  • :compliance_status (String)

    The current status of compliance for the resiliency policy.

  • :invoker (String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

  • :reverse_order (Boolean)

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

Returns:

See Also:



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

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

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

Lists the compliances for an Resilience Hub Application Component.

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:



2480
2481
2482
2483
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2480

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

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

Lists the recommendations for an Resilience Hub Application Component.

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:



2562
2563
2564
2565
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2562

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:



2630
2631
2632
2633
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2630

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:



2695
2696
2697
2698
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2695

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:



2763
2764
2765
2766
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2763

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:



2848
2849
2850
2851
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 2848

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:



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

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

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

Lists your Resilience Hub applications.

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (String)

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

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

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

  • :max_results (Integer)

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

  • :name (String)

    The name for the one of the listed applications.

  • :next_token (String)

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

  • :reverse_order (Boolean)

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

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

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

Returns:

See Also:



3004
3005
3006
3007
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3004

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

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

Lists the recommendation templates for the Resilience Hub applications.

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

  • :max_results (Integer)

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

  • :name (String)

    The name for one of the listed recommendation templates.

  • :next_token (String)

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

  • :recommendation_template_arn (String)

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

  • :reverse_order (Boolean)

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

  • :status (Array<String>)

    Status of the action.

Returns:

See Also:



3091
3092
3093
3094
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3091

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:



3146
3147
3148
3149
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3146

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :assessment_arn (required, String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:



3213
3214
3215
3216
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3213

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:



3265
3266
3267
3268
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3265

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:



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

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:



3365
3366
3367
3368
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3365

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:



3440
3441
3442
3443
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3440

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:



3486
3487
3488
3489
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3486

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:



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

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

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

Removes resource mappings from a draft application version.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

  • :app_registry_app_names (Array<String>)

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

  • :eks_source_names (Array<String>)

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

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

  • :logical_stack_names (Array<String>)

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

  • :resource_group_names (Array<String>)

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

  • :resource_names (Array<String>)

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

  • :terraform_source_names (Array<String>)

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

Returns:

See Also:



3836
3837
3838
3839
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3836

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:



3882
3883
3884
3885
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3882

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

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

Creates a new application assessment for an application.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

  • :app_version (required, String)

    The version of the application.

  • :assessment_name (required, String)

    The name for the assessment.

  • :client_token (String)

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

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

  • :tags (Hash<String,String>)

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

Returns:

See Also:



3994
3995
3996
3997
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 3994

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

#tag_resource(params = {}) ⇒ Struct

Applies one or more tags to a resource.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the resource.

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

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4023
4024
4025
4026
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4023

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:



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

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

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

Updates an application.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_arn (required, String)

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

  • :assessment_schedule (String)

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

  • :clear_resiliency_policy_arn (Boolean)

    Specifies if the resiliency policy ARN should be cleared.

  • :description (String)

    The optional description for an app.

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

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

  • :permission_model (Types::PermissionModel)

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

  • :policy_arn (String)

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

Returns:

See Also:



4155
4156
4157
4158
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4155

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:



4226
4227
4228
4229
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4226

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:



4302
4303
4304
4305
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4302

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:



4429
4430
4431
4432
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4429

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:



4514
4515
4516
4517
# File 'gems/aws-sdk-resiliencehub/lib/aws-sdk-resiliencehub/client.rb', line 4514

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