Class: Aws::Backup::Client

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

Overview

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

client = Aws::Backup::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::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

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

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

    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 IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails to enable retries and extended timeouts.
  • :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.

  • :disable_host_prefix_injection (Boolean) — default: false

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

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test 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.

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

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

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

  • :validate_params (Boolean) — default: true

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

  • :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 (Integer) — 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.

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



305
306
307
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 305

def initialize(*args)
  super
end

Instance Method Details

#create_backup_plan(params = {}) ⇒ Types::CreateBackupPlanOutput

Backup plans are documents that contain information that AWS Backup uses to schedule tasks that create recovery points of resources.

If you call CreateBackupPlan with a plan that already exists, an AlreadyExistsException is returned.

Examples:

Request syntax with placeholder values


resp = client.create_backup_plan({
  backup_plan: { # required
    backup_plan_name: "BackupPlanName", # required
    rules: [ # required
      {
        rule_name: "BackupRuleName", # required
        target_backup_vault_name: "BackupVaultName", # required
        schedule_expression: "CronExpression",
        start_window_minutes: 1,
        completion_window_minutes: 1,
        lifecycle: {
          move_to_cold_storage_after_days: 1,
          delete_after_days: 1,
        },
        recovery_point_tags: {
          "TagKey" => "TagValue",
        },
        copy_actions: [
          {
            lifecycle: {
              move_to_cold_storage_after_days: 1,
              delete_after_days: 1,
            },
            destination_backup_vault_arn: "ARN", # required
          },
        ],
      },
    ],
  },
  backup_plan_tags: {
    "TagKey" => "TagValue",
  },
  creator_request_id: "string",
})

Response structure


resp.backup_plan_id #=> String
resp.backup_plan_arn #=> String
resp.creation_date #=> Time
resp.version_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan (required, Types::BackupPlanInput)

    Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

  • :backup_plan_tags (Hash<String,String>)

    To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair. The specified tags are assigned to all backups created with this plan.

  • :creator_request_id (String)

    Identifies the request and allows failed requests to be retried without the risk of executing the operation twice. If the request includes a CreatorRequestId that matches an existing backup plan, that plan is returned. This parameter is optional.

Returns:

See Also:



387
388
389
390
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 387

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

#create_backup_selection(params = {}) ⇒ Types::CreateBackupSelectionOutput

Creates a JSON document that specifies a set of resources to assign to a backup plan. Resources can be included by specifying patterns for a ListOfTags and selected Resources.

For example, consider the following patterns:

  • Resources: "arn:aws:ec2:region:account-id:volume/volume-id"

  • ConditionKey:"department"

    ConditionValue:"finance"

    ConditionType:"STRINGEQUALS"

  • ConditionKey:"importance"

    ConditionValue:"critical"

    ConditionType:"STRINGEQUALS"

Using these patterns would back up all Amazon Elastic Block Store (Amazon EBS) volumes that are tagged as "department=finance", "importance=critical", in addition to an EBS volume with the specified volume Id.

Resources and conditions are additive in that all resources that match the pattern are selected. This shouldn't be confused with a logical AND, where all conditions must match. The matching patterns are logically 'put together using the OR operator. In other words, all patterns that match are selected for backup.

Examples:

Request syntax with placeholder values


resp = client.create_backup_selection({
  backup_plan_id: "string", # required
  backup_selection: { # required
    selection_name: "BackupSelectionName", # required
    iam_role_arn: "IAMRoleArn", # required
    resources: ["ARN"],
    list_of_tags: [
      {
        condition_type: "STRINGEQUALS", # required, accepts STRINGEQUALS
        condition_key: "ConditionKey", # required
        condition_value: "ConditionValue", # required
      },
    ],
  },
  creator_request_id: "string",
})

Response structure


resp.selection_id #=> String
resp.backup_plan_id #=> String
resp.creation_date #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_id (required, String)

    Uniquely identifies the backup plan to be associated with the selection of resources.

  • :backup_selection (required, Types::BackupSelection)

    Specifies the body of a request to assign a set of resources to a backup plan.

  • :creator_request_id (String)

    A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

Returns:

See Also:



470
471
472
473
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 470

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

#create_backup_vault(params = {}) ⇒ Types::CreateBackupVaultOutput

Creates a logical container where backups are stored. A CreateBackupVault request includes a name, optionally one or more resource tags, an encryption key, and a request ID.

Sensitive data, such as passport numbers, should not be included the name of a backup vault.

Examples:

Request syntax with placeholder values


resp = client.create_backup_vault({
  backup_vault_name: "BackupVaultName", # required
  backup_vault_tags: {
    "TagKey" => "TagValue",
  },
  encryption_key_arn: "ARN",
  creator_request_id: "string",
})

Response structure


resp.backup_vault_name #=> String
resp.backup_vault_arn #=> String
resp.creation_date #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :backup_vault_tags (Hash<String,String>)

    Metadata that you can assign to help organize the resources that you create. Each tag is a key-value pair.

  • :encryption_key_arn (String)

    The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • :creator_request_id (String)

    A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

Returns:

See Also:



530
531
532
533
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 530

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

#delete_backup_plan(params = {}) ⇒ Types::DeleteBackupPlanOutput

Deletes a backup plan. A backup plan can only be deleted after all associated selections of resources have been deleted. Deleting a backup plan deletes the current version of a backup plan. Previous versions, if any, will still exist.

Examples:

Request syntax with placeholder values


resp = client.delete_backup_plan({
  backup_plan_id: "string", # required
})

Response structure


resp.backup_plan_id #=> String
resp.backup_plan_arn #=> String
resp.deletion_date #=> Time
resp.version_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_id (required, String)

    Uniquely identifies a backup plan.

Returns:

See Also:



567
568
569
570
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 567

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

#delete_backup_selection(params = {}) ⇒ Struct

Deletes the resource selection associated with a backup plan that is specified by the SelectionId.

Examples:

Request syntax with placeholder values


resp = client.delete_backup_selection({
  backup_plan_id: "string", # required
  selection_id: "string", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_id (required, String)

    Uniquely identifies a backup plan.

  • :selection_id (required, String)

    Uniquely identifies the body of a request to assign a set of resources to a backup plan.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



595
596
597
598
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 595

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

#delete_backup_vault(params = {}) ⇒ Struct

Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.

Examples:

Request syntax with placeholder values


resp = client.delete_backup_vault({
  backup_vault_name: "string", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



621
622
623
624
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 621

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

#delete_backup_vault_access_policy(params = {}) ⇒ Struct

Deletes the policy document that manages permissions on a backup vault.

Examples:

Request syntax with placeholder values


resp = client.delete_backup_vault_access_policy({
  backup_vault_name: "BackupVaultName", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



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

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

#delete_backup_vault_notifications(params = {}) ⇒ Struct

Deletes event notifications for the specified backup vault.

Examples:

Request syntax with placeholder values


resp = client.delete_backup_vault_notifications({
  backup_vault_name: "BackupVaultName", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



672
673
674
675
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 672

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

#delete_recovery_point(params = {}) ⇒ Struct

Deletes the recovery point specified by a recovery point ID.

Examples:

Request syntax with placeholder values


resp = client.delete_recovery_point({
  backup_vault_name: "BackupVaultName", # required
  recovery_point_arn: "ARN", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :recovery_point_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



703
704
705
706
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 703

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

#describe_backup_job(params = {}) ⇒ Types::DescribeBackupJobOutput

Returns metadata associated with creating a backup of a resource.

Examples:

Request syntax with placeholder values


resp = client.describe_backup_job({
  backup_job_id: "string", # required
})

Response structure


resp.backup_job_id #=> String
resp.backup_vault_name #=> String
resp.backup_vault_arn #=> String
resp.recovery_point_arn #=> String
resp.resource_arn #=> String
resp.creation_date #=> Time
resp.completion_date #=> Time
resp.state #=> String, one of "CREATED", "PENDING", "RUNNING", "ABORTING", "ABORTED", "COMPLETED", "FAILED", "EXPIRED"
resp.status_message #=> String
resp.percent_done #=> String
resp.backup_size_in_bytes #=> Integer
resp.iam_role_arn #=> String
resp.created_by.backup_plan_id #=> String
resp.created_by.backup_plan_arn #=> String
resp.created_by.backup_plan_version #=> String
resp.created_by.backup_rule_id #=> String
resp.resource_type #=> String
resp.bytes_transferred #=> Integer
resp.expected_completion_date #=> Time
resp.start_by #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :backup_job_id (required, String)

    Uniquely identifies a request to AWS Backup to back up a resource.

Returns:

See Also:



766
767
768
769
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 766

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

#describe_backup_vault(params = {}) ⇒ Types::DescribeBackupVaultOutput

Returns metadata about a backup vault specified by its name.

Examples:

Request syntax with placeholder values


resp = client.describe_backup_vault({
  backup_vault_name: "string", # required
})

Response structure


resp.backup_vault_name #=> String
resp.backup_vault_arn #=> String
resp.encryption_key_arn #=> String
resp.creation_date #=> Time
resp.creator_request_id #=> String
resp.number_of_recovery_points #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

Returns:

See Also:



807
808
809
810
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 807

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

#describe_copy_job(params = {}) ⇒ Types::DescribeCopyJobOutput

Returns metadata associated with creating a copy of a resource.

Examples:

Request syntax with placeholder values


resp = client.describe_copy_job({
  copy_job_id: "string", # required
})

Response structure


resp.copy_job.copy_job_id #=> String
resp.copy_job.source_backup_vault_arn #=> String
resp.copy_job.source_recovery_point_arn #=> String
resp.copy_job.destination_backup_vault_arn #=> String
resp.copy_job.destination_recovery_point_arn #=> String
resp.copy_job.resource_arn #=> String
resp.copy_job.creation_date #=> Time
resp.copy_job.completion_date #=> Time
resp.copy_job.state #=> String, one of "CREATED", "RUNNING", "COMPLETED", "FAILED"
resp.copy_job.status_message #=> String
resp.copy_job.backup_size_in_bytes #=> Integer
resp.copy_job.iam_role_arn #=> String
resp.copy_job.created_by.backup_plan_id #=> String
resp.copy_job.created_by.backup_plan_arn #=> String
resp.copy_job.created_by.backup_plan_version #=> String
resp.copy_job.created_by.backup_rule_id #=> String
resp.copy_job.resource_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :copy_job_id (required, String)

    Uniquely identifies a copy job.

Returns:

See Also:



851
852
853
854
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 851

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

#describe_protected_resource(params = {}) ⇒ Types::DescribeProtectedResourceOutput

Returns information about a saved resource, including the last time it was backed up, its Amazon Resource Name (ARN), and the AWS service type of the saved resource.

Examples:

Request syntax with placeholder values


resp = client.describe_protected_resource({
  resource_arn: "ARN", # required
})

Response structure


resp.resource_arn #=> String
resp.resource_type #=> String
resp.last_backup_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

Returns:

See Also:



886
887
888
889
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 886

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

#describe_recovery_point(params = {}) ⇒ Types::DescribeRecoveryPointOutput

Returns metadata associated with a recovery point, including ID, status, encryption, and lifecycle.

Examples:

Request syntax with placeholder values


resp = client.describe_recovery_point({
  backup_vault_name: "BackupVaultName", # required
  recovery_point_arn: "ARN", # required
})

Response structure


resp.recovery_point_arn #=> String
resp.backup_vault_name #=> String
resp.backup_vault_arn #=> String
resp.resource_arn #=> String
resp.resource_type #=> String
resp.created_by.backup_plan_id #=> String
resp.created_by.backup_plan_arn #=> String
resp.created_by.backup_plan_version #=> String
resp.created_by.backup_rule_id #=> String
resp.iam_role_arn #=> String
resp.status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
resp.creation_date #=> Time
resp.completion_date #=> Time
resp.backup_size_in_bytes #=> Integer
resp.calculated_lifecycle.move_to_cold_storage_at #=> Time
resp.calculated_lifecycle.delete_at #=> Time
resp.lifecycle.move_to_cold_storage_after_days #=> Integer
resp.lifecycle.delete_after_days #=> Integer
resp.encryption_key_arn #=> String
resp.is_encrypted #=> Boolean
resp.storage_class #=> String, one of "WARM", "COLD", "DELETED"
resp.last_restore_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :recovery_point_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

Returns:

See Also:



961
962
963
964
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 961

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

#describe_region_settings(params = {}) ⇒ Types::DescribeRegionSettingsOutput

Returns the current service opt-in settings for the region. If the service has a value set to true, AWS Backup will attempt to protect that service's resources in this region, when included in an on-demand backup or scheduled backup plan. If the value is set to false for a service, AWS Backup will not attempt to protect that service's resources in this region.

Examples:

Response structure


resp.resource_type_opt_in_preference #=> Hash
resp.resource_type_opt_in_preference["ResourceType"] #=> Boolean

Parameters:

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

    ({})

Returns:

See Also:



986
987
988
989
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 986

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

#describe_restore_job(params = {}) ⇒ Types::DescribeRestoreJobOutput

Returns metadata associated with a restore job that is specified by a job ID.

Examples:

Request syntax with placeholder values


resp = client.describe_restore_job({
  restore_job_id: "RestoreJobId", # required
})

Response structure


resp.restore_job_id #=> String
resp.recovery_point_arn #=> String
resp.creation_date #=> Time
resp.completion_date #=> Time
resp.status #=> String, one of "PENDING", "RUNNING", "COMPLETED", "ABORTED", "FAILED"
resp.status_message #=> String
resp.percent_done #=> String
resp.backup_size_in_bytes #=> Integer
resp.iam_role_arn #=> String
resp.expected_completion_time_minutes #=> Integer
resp.created_resource_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :restore_job_id (required, String)

    Uniquely identifies the job that restores a recovery point.

Returns:

See Also:



1035
1036
1037
1038
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1035

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

#export_backup_plan_template(params = {}) ⇒ Types::ExportBackupPlanTemplateOutput

Returns the backup plan that is specified by the plan ID as a backup template.

Examples:

Request syntax with placeholder values


resp = client.export_backup_plan_template({
  backup_plan_id: "string", # required
})

Response structure


resp.backup_plan_template_json #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_id (required, String)

    Uniquely identifies a backup plan.

Returns:

See Also:



1064
1065
1066
1067
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1064

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

#get_backup_plan(params = {}) ⇒ Types::GetBackupPlanOutput

Returns the body of a backup plan in JSON format, in addition to plan metadata.

Examples:

Request syntax with placeholder values


resp = client.get_backup_plan({
  backup_plan_id: "string", # required
  version_id: "string",
})

Response structure


resp.backup_plan.backup_plan_name #=> String
resp.backup_plan.rules #=> Array
resp.backup_plan.rules[0].rule_name #=> String
resp.backup_plan.rules[0].target_backup_vault_name #=> String
resp.backup_plan.rules[0].schedule_expression #=> String
resp.backup_plan.rules[0].start_window_minutes #=> Integer
resp.backup_plan.rules[0].completion_window_minutes #=> Integer
resp.backup_plan.rules[0].lifecycle.move_to_cold_storage_after_days #=> Integer
resp.backup_plan.rules[0].lifecycle.delete_after_days #=> Integer
resp.backup_plan.rules[0].recovery_point_tags #=> Hash
resp.backup_plan.rules[0].recovery_point_tags["TagKey"] #=> String
resp.backup_plan.rules[0].rule_id #=> String
resp.backup_plan.rules[0].copy_actions #=> Array
resp.backup_plan.rules[0].copy_actions[0].lifecycle.move_to_cold_storage_after_days #=> Integer
resp.backup_plan.rules[0].copy_actions[0].lifecycle.delete_after_days #=> Integer
resp.backup_plan.rules[0].copy_actions[0].destination_backup_vault_arn #=> String
resp.backup_plan_id #=> String
resp.backup_plan_arn #=> String
resp.version_id #=> String
resp.creator_request_id #=> String
resp.creation_date #=> Time
resp.deletion_date #=> Time
resp.last_execution_date #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_id (required, String)

    Uniquely identifies a backup plan.

  • :version_id (String)

    Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.

Returns:

See Also:



1127
1128
1129
1130
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1127

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

#get_backup_plan_from_json(params = {}) ⇒ Types::GetBackupPlanFromJSONOutput

Returns a valid JSON document specifying a backup plan or an error.

Examples:

Request syntax with placeholder values


resp = client.get_backup_plan_from_json({
  backup_plan_template_json: "string", # required
})

Response structure


resp.backup_plan.backup_plan_name #=> String
resp.backup_plan.rules #=> Array
resp.backup_plan.rules[0].rule_name #=> String
resp.backup_plan.rules[0].target_backup_vault_name #=> String
resp.backup_plan.rules[0].schedule_expression #=> String
resp.backup_plan.rules[0].start_window_minutes #=> Integer
resp.backup_plan.rules[0].completion_window_minutes #=> Integer
resp.backup_plan.rules[0].lifecycle.move_to_cold_storage_after_days #=> Integer
resp.backup_plan.rules[0].lifecycle.delete_after_days #=> Integer
resp.backup_plan.rules[0].recovery_point_tags #=> Hash
resp.backup_plan.rules[0].recovery_point_tags["TagKey"] #=> String
resp.backup_plan.rules[0].rule_id #=> String
resp.backup_plan.rules[0].copy_actions #=> Array
resp.backup_plan.rules[0].copy_actions[0].lifecycle.move_to_cold_storage_after_days #=> Integer
resp.backup_plan.rules[0].copy_actions[0].lifecycle.delete_after_days #=> Integer
resp.backup_plan.rules[0].copy_actions[0].destination_backup_vault_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_template_json (required, String)

    A customer-supplied backup plan document in JSON format.

Returns:

See Also:



1170
1171
1172
1173
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1170

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

#get_backup_plan_from_template(params = {}) ⇒ Types::GetBackupPlanFromTemplateOutput

Returns the template specified by its templateId as a backup plan.

Examples:

Request syntax with placeholder values


resp = client.get_backup_plan_from_template({
  backup_plan_template_id: "string", # required
})

Response structure


resp.backup_plan_document.backup_plan_name #=> String
resp.backup_plan_document.rules #=> Array
resp.backup_plan_document.rules[0].rule_name #=> String
resp.backup_plan_document.rules[0].target_backup_vault_name #=> String
resp.backup_plan_document.rules[0].schedule_expression #=> String
resp.backup_plan_document.rules[0].start_window_minutes #=> Integer
resp.backup_plan_document.rules[0].completion_window_minutes #=> Integer
resp.backup_plan_document.rules[0].lifecycle.move_to_cold_storage_after_days #=> Integer
resp.backup_plan_document.rules[0].lifecycle.delete_after_days #=> Integer
resp.backup_plan_document.rules[0].recovery_point_tags #=> Hash
resp.backup_plan_document.rules[0].recovery_point_tags["TagKey"] #=> String
resp.backup_plan_document.rules[0].rule_id #=> String
resp.backup_plan_document.rules[0].copy_actions #=> Array
resp.backup_plan_document.rules[0].copy_actions[0].lifecycle.move_to_cold_storage_after_days #=> Integer
resp.backup_plan_document.rules[0].copy_actions[0].lifecycle.delete_after_days #=> Integer
resp.backup_plan_document.rules[0].copy_actions[0].destination_backup_vault_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_template_id (required, String)

    Uniquely identifies a stored backup plan template.

Returns:

See Also:



1213
1214
1215
1216
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1213

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

#get_backup_selection(params = {}) ⇒ Types::GetBackupSelectionOutput

Returns selection metadata and a document in JSON format that specifies a list of resources that are associated with a backup plan.

Examples:

Request syntax with placeholder values


resp = client.get_backup_selection({
  backup_plan_id: "string", # required
  selection_id: "string", # required
})

Response structure


resp.backup_selection.selection_name #=> String
resp.backup_selection.iam_role_arn #=> String
resp.backup_selection.resources #=> Array
resp.backup_selection.resources[0] #=> String
resp.backup_selection.list_of_tags #=> Array
resp.backup_selection.list_of_tags[0].condition_type #=> String, one of "STRINGEQUALS"
resp.backup_selection.list_of_tags[0].condition_key #=> String
resp.backup_selection.list_of_tags[0].condition_value #=> String
resp.selection_id #=> String
resp.backup_plan_id #=> String
resp.creation_date #=> Time
resp.creator_request_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_id (required, String)

    Uniquely identifies a backup plan.

  • :selection_id (required, String)

    Uniquely identifies the body of a request to assign a set of resources to a backup plan.

Returns:

See Also:



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

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

#get_backup_vault_access_policy(params = {}) ⇒ Types::GetBackupVaultAccessPolicyOutput

Returns the access policy document that is associated with the named backup vault.

Examples:

Request syntax with placeholder values


resp = client.get_backup_vault_access_policy({
  backup_vault_name: "BackupVaultName", # required
})

Response structure


resp.backup_vault_name #=> String
resp.backup_vault_arn #=> String
resp.policy #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

Returns:

See Also:



1298
1299
1300
1301
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1298

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

#get_backup_vault_notifications(params = {}) ⇒ Types::GetBackupVaultNotificationsOutput

Returns event notifications for the specified backup vault.

Examples:

Request syntax with placeholder values


resp = client.get_backup_vault_notifications({
  backup_vault_name: "BackupVaultName", # required
})

Response structure


resp.backup_vault_name #=> String
resp.backup_vault_arn #=> String
resp.sns_topic_arn #=> String
resp.backup_vault_events #=> Array
resp.backup_vault_events[0] #=> String, one of "BACKUP_JOB_STARTED", "BACKUP_JOB_COMPLETED", "BACKUP_JOB_SUCCESSFUL", "BACKUP_JOB_FAILED", "BACKUP_JOB_EXPIRED", "RESTORE_JOB_STARTED", "RESTORE_JOB_COMPLETED", "RESTORE_JOB_SUCCESSFUL", "RESTORE_JOB_FAILED", "COPY_JOB_STARTED", "COPY_JOB_SUCCESSFUL", "COPY_JOB_FAILED", "RECOVERY_POINT_MODIFIED", "BACKUP_PLAN_CREATED", "BACKUP_PLAN_MODIFIED"

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

Returns:

See Also:



1336
1337
1338
1339
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1336

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

#get_recovery_point_restore_metadata(params = {}) ⇒ Types::GetRecoveryPointRestoreMetadataOutput

Returns a set of metadata key-value pairs that were used to create the backup.

Examples:

Request syntax with placeholder values


resp = client.({
  backup_vault_name: "BackupVaultName", # required
  recovery_point_arn: "ARN", # required
})

Response structure


resp.backup_vault_arn #=> String
resp.recovery_point_arn #=> String
resp. #=> Hash
resp.["MetadataKey"] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :recovery_point_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

Returns:

See Also:



1379
1380
1381
1382
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1379

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

#get_supported_resource_types(params = {}) ⇒ Types::GetSupportedResourceTypesOutput

Returns the AWS resource types supported by AWS Backup.

Examples:

Response structure


resp.resource_types #=> Array
resp.resource_types[0] #=> String

Parameters:

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

    ({})

Returns:

See Also:



1399
1400
1401
1402
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1399

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

#list_backup_jobs(params = {}) ⇒ Types::ListBackupJobsOutput

Returns metadata about your backup jobs.

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_backup_jobs({
  next_token: "string",
  max_results: 1,
  by_resource_arn: "ARN",
  by_state: "CREATED", # accepts CREATED, PENDING, RUNNING, ABORTING, ABORTED, COMPLETED, FAILED, EXPIRED
  by_backup_vault_name: "BackupVaultName",
  by_created_before: Time.now,
  by_created_after: Time.now,
  by_resource_type: "ResourceType",
})

Response structure


resp.backup_jobs #=> Array
resp.backup_jobs[0].backup_job_id #=> String
resp.backup_jobs[0].backup_vault_name #=> String
resp.backup_jobs[0].backup_vault_arn #=> String
resp.backup_jobs[0].recovery_point_arn #=> String
resp.backup_jobs[0].resource_arn #=> String
resp.backup_jobs[0].creation_date #=> Time
resp.backup_jobs[0].completion_date #=> Time
resp.backup_jobs[0].state #=> String, one of "CREATED", "PENDING", "RUNNING", "ABORTING", "ABORTED", "COMPLETED", "FAILED", "EXPIRED"
resp.backup_jobs[0].status_message #=> String
resp.backup_jobs[0].percent_done #=> String
resp.backup_jobs[0].backup_size_in_bytes #=> Integer
resp.backup_jobs[0].iam_role_arn #=> String
resp.backup_jobs[0].created_by.backup_plan_id #=> String
resp.backup_jobs[0].created_by.backup_plan_arn #=> String
resp.backup_jobs[0].created_by.backup_plan_version #=> String
resp.backup_jobs[0].created_by.backup_rule_id #=> String
resp.backup_jobs[0].expected_completion_date #=> Time
resp.backup_jobs[0].start_by #=> Time
resp.backup_jobs[0].resource_type #=> String
resp.backup_jobs[0].bytes_transferred #=> Integer
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

  • :by_resource_arn (String)

    Returns only backup jobs that match the specified resource Amazon Resource Name (ARN).

  • :by_state (String)

    Returns only backup jobs that are in the specified state.

  • :by_backup_vault_name (String)

    Returns only backup jobs that will be stored in the specified backup vault. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

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

    Returns only backup jobs that were created before the specified date.

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

    Returns only backup jobs that were created after the specified date.

  • :by_resource_type (String)

    Returns only backup jobs for the specified resources:

    • DynamoDB for Amazon DynamoDB

    • EBS for Amazon Elastic Block Store

    • EFS for Amazon Elastic File System

    • RDS for Amazon Relational Database Service

    • Storage Gateway for AWS Storage Gateway

Returns:

See Also:



1496
1497
1498
1499
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1496

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

#list_backup_plan_templates(params = {}) ⇒ Types::ListBackupPlanTemplatesOutput

Returns metadata of your saved backup plan templates, including the template ID, name, and the creation and deletion dates.

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_backup_plan_templates({
  next_token: "string",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.backup_plan_templates_list #=> Array
resp.backup_plan_templates_list[0].backup_plan_template_id #=> String
resp.backup_plan_templates_list[0].backup_plan_template_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

Returns:

See Also:



1538
1539
1540
1541
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1538

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

#list_backup_plan_versions(params = {}) ⇒ Types::ListBackupPlanVersionsOutput

Returns version metadata of your backup plans, including Amazon Resource Names (ARNs), backup plan IDs, creation and deletion dates, plan names, and version IDs.

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_backup_plan_versions({
  backup_plan_id: "string", # required
  next_token: "string",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.backup_plan_versions_list #=> Array
resp.backup_plan_versions_list[0].backup_plan_arn #=> String
resp.backup_plan_versions_list[0].backup_plan_id #=> String
resp.backup_plan_versions_list[0].creation_date #=> Time
resp.backup_plan_versions_list[0].deletion_date #=> Time
resp.backup_plan_versions_list[0].version_id #=> String
resp.backup_plan_versions_list[0].backup_plan_name #=> String
resp.backup_plan_versions_list[0].creator_request_id #=> String
resp.backup_plan_versions_list[0].last_execution_date #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_id (required, String)

    Uniquely identifies a backup plan.

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

Returns:

See Also:



1591
1592
1593
1594
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1591

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

#list_backup_plans(params = {}) ⇒ Types::ListBackupPlansOutput

Returns metadata of your saved backup plans, including Amazon Resource Names (ARNs), plan IDs, creation and deletion dates, version IDs, plan names, and creator request IDs.

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_backup_plans({
  next_token: "string",
  max_results: 1,
  include_deleted: false,
})

Response structure


resp.next_token #=> String
resp.backup_plans_list #=> Array
resp.backup_plans_list[0].backup_plan_arn #=> String
resp.backup_plans_list[0].backup_plan_id #=> String
resp.backup_plans_list[0].creation_date #=> Time
resp.backup_plans_list[0].deletion_date #=> Time
resp.backup_plans_list[0].version_id #=> String
resp.backup_plans_list[0].backup_plan_name #=> String
resp.backup_plans_list[0].creator_request_id #=> String
resp.backup_plans_list[0].last_execution_date #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

  • :include_deleted (Boolean)

    A Boolean value with a default value of FALSE that returns deleted backup plans when set to TRUE.

Returns:

See Also:



1645
1646
1647
1648
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1645

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

#list_backup_selections(params = {}) ⇒ Types::ListBackupSelectionsOutput

Returns an array containing metadata of the resources associated with the target backup plan.

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_backup_selections({
  backup_plan_id: "string", # required
  next_token: "string",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.backup_selections_list #=> Array
resp.backup_selections_list[0].selection_id #=> String
resp.backup_selections_list[0].selection_name #=> String
resp.backup_selections_list[0].backup_plan_id #=> String
resp.backup_selections_list[0].creation_date #=> Time
resp.backup_selections_list[0].creator_request_id #=> String
resp.backup_selections_list[0].iam_role_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_id (required, String)

    Uniquely identifies a backup plan.

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

Returns:

See Also:



1695
1696
1697
1698
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1695

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

#list_backup_vaults(params = {}) ⇒ Types::ListBackupVaultsOutput

Returns a list of recovery point storage containers along with information about them.

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_backup_vaults({
  next_token: "string",
  max_results: 1,
})

Response structure


resp.backup_vault_list #=> Array
resp.backup_vault_list[0].backup_vault_name #=> String
resp.backup_vault_list[0].backup_vault_arn #=> String
resp.backup_vault_list[0].creation_date #=> Time
resp.backup_vault_list[0].encryption_key_arn #=> String
resp.backup_vault_list[0].creator_request_id #=> String
resp.backup_vault_list[0].number_of_recovery_points #=> Integer
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

Returns:

See Also:



1741
1742
1743
1744
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1741

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

#list_copy_jobs(params = {}) ⇒ Types::ListCopyJobsOutput

Returns metadata about your copy jobs.

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_copy_jobs({
  next_token: "string",
  max_results: 1,
  by_resource_arn: "ARN",
  by_state: "CREATED", # accepts CREATED, RUNNING, COMPLETED, FAILED
  by_created_before: Time.now,
  by_created_after: Time.now,
  by_resource_type: "ResourceType",
  by_destination_vault_arn: "string",
})

Response structure


resp.copy_jobs #=> Array
resp.copy_jobs[0].copy_job_id #=> String
resp.copy_jobs[0].source_backup_vault_arn #=> String
resp.copy_jobs[0].source_recovery_point_arn #=> String
resp.copy_jobs[0].destination_backup_vault_arn #=> String
resp.copy_jobs[0].destination_recovery_point_arn #=> String
resp.copy_jobs[0].resource_arn #=> String
resp.copy_jobs[0].creation_date #=> Time
resp.copy_jobs[0].completion_date #=> Time
resp.copy_jobs[0].state #=> String, one of "CREATED", "RUNNING", "COMPLETED", "FAILED"
resp.copy_jobs[0].status_message #=> String
resp.copy_jobs[0].backup_size_in_bytes #=> Integer
resp.copy_jobs[0].iam_role_arn #=> String
resp.copy_jobs[0].created_by.backup_plan_id #=> String
resp.copy_jobs[0].created_by.backup_plan_arn #=> String
resp.copy_jobs[0].created_by.backup_plan_version #=> String
resp.copy_jobs[0].created_by.backup_rule_id #=> String
resp.copy_jobs[0].resource_type #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

  • :by_resource_arn (String)

    Returns only copy jobs that match the specified resource Amazon Resource Name (ARN).

  • :by_state (String)

    Returns only copy jobs that are in the specified state.

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

    Returns only copy jobs that were created before the specified date.

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

    Returns only copy jobs that were created after the specified date.

  • :by_resource_type (String)

    Returns only backup jobs for the specified resources:

    • EBS for Amazon Elastic Block Store

    • EFS for Amazon Elastic File System

    • RDS for Amazon Relational Database Service

    • Storage Gateway for AWS Storage Gateway

  • :by_destination_vault_arn (String)

    An Amazon Resource Name (ARN) that uniquely identifies a source backup vault to copy from; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

Returns:

See Also:



1832
1833
1834
1835
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1832

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

#list_protected_resources(params = {}) ⇒ Types::ListProtectedResourcesOutput

Returns an array of resources successfully backed up by AWS Backup, including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.

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_protected_resources({
  next_token: "string",
  max_results: 1,
})

Response structure


resp.results #=> Array
resp.results[0].resource_arn #=> String
resp.results[0].resource_type #=> String
resp.results[0].last_backup_time #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

Returns:

See Also:



1876
1877
1878
1879
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1876

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

#list_recovery_points_by_backup_vault(params = {}) ⇒ Types::ListRecoveryPointsByBackupVaultOutput

Returns detailed information about the recovery points stored in a backup vault.

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_recovery_points_by_backup_vault({
  backup_vault_name: "BackupVaultName", # required
  next_token: "string",
  max_results: 1,
  by_resource_arn: "ARN",
  by_resource_type: "ResourceType",
  by_backup_plan_id: "string",
  by_created_before: Time.now,
  by_created_after: Time.now,
})

Response structure


resp.next_token #=> String
resp.recovery_points #=> Array
resp.recovery_points[0].recovery_point_arn #=> String
resp.recovery_points[0].backup_vault_name #=> String
resp.recovery_points[0].backup_vault_arn #=> String
resp.recovery_points[0].resource_arn #=> String
resp.recovery_points[0].resource_type #=> String
resp.recovery_points[0].created_by.backup_plan_id #=> String
resp.recovery_points[0].created_by.backup_plan_arn #=> String
resp.recovery_points[0].created_by.backup_plan_version #=> String
resp.recovery_points[0].created_by.backup_rule_id #=> String
resp.recovery_points[0].iam_role_arn #=> String
resp.recovery_points[0].status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
resp.recovery_points[0].creation_date #=> Time
resp.recovery_points[0].completion_date #=> Time
resp.recovery_points[0].backup_size_in_bytes #=> Integer
resp.recovery_points[0].calculated_lifecycle.move_to_cold_storage_at #=> Time
resp.recovery_points[0].calculated_lifecycle.delete_at #=> Time
resp.recovery_points[0].lifecycle.move_to_cold_storage_after_days #=> Integer
resp.recovery_points[0].lifecycle.delete_after_days #=> Integer
resp.recovery_points[0].encryption_key_arn #=> String
resp.recovery_points[0].is_encrypted #=> Boolean
resp.recovery_points[0].last_restore_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

  • :by_resource_arn (String)

    Returns only recovery points that match the specified resource Amazon Resource Name (ARN).

  • :by_resource_type (String)

    Returns only recovery points that match the specified resource type.

  • :by_backup_plan_id (String)

    Returns only recovery points that match the specified backup plan ID.

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

    Returns only recovery points that were created before the specified timestamp.

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

    Returns only recovery points that were created after the specified timestamp.

Returns:

See Also:



1967
1968
1969
1970
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 1967

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

#list_recovery_points_by_resource(params = {}) ⇒ Types::ListRecoveryPointsByResourceOutput

Returns detailed information about recovery points of the type specified by a resource Amazon Resource Name (ARN).

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_recovery_points_by_resource({
  resource_arn: "ARN", # required
  next_token: "string",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.recovery_points #=> Array
resp.recovery_points[0].recovery_point_arn #=> String
resp.recovery_points[0].creation_date #=> Time
resp.recovery_points[0].status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
resp.recovery_points[0].encryption_key_arn #=> String
resp.recovery_points[0].backup_size_bytes #=> Integer
resp.recovery_points[0].backup_vault_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

Returns:

See Also:



2018
2019
2020
2021
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2018

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

#list_restore_jobs(params = {}) ⇒ Types::ListRestoreJobsOutput

Returns a list of jobs that AWS Backup initiated to restore a saved resource, including metadata about the recovery process.

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_restore_jobs({
  next_token: "string",
  max_results: 1,
})

Response structure


resp.restore_jobs #=> Array
resp.restore_jobs[0].restore_job_id #=> String
resp.restore_jobs[0].recovery_point_arn #=> String
resp.restore_jobs[0].creation_date #=> Time
resp.restore_jobs[0].completion_date #=> Time
resp.restore_jobs[0].status #=> String, one of "PENDING", "RUNNING", "COMPLETED", "ABORTED", "FAILED"
resp.restore_jobs[0].status_message #=> String
resp.restore_jobs[0].percent_done #=> String
resp.restore_jobs[0].backup_size_in_bytes #=> Integer
resp.restore_jobs[0].iam_role_arn #=> String
resp.restore_jobs[0].expected_completion_time_minutes #=> Integer
resp.restore_jobs[0].created_resource_arn #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

Returns:

See Also:



2069
2070
2071
2072
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2069

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

#list_tags(params = {}) ⇒ Types::ListTagsOutput

Returns a list of key-value pairs assigned to a target recovery point, backup plan, or backup vault.

ListTags are currently only supported with Amazon EFS backups.

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_tags({
  resource_arn: "ARN", # required
  next_token: "string",
  max_results: 1,
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the type of resource. Valid targets for ListTags are recovery points, backup plans, and backup vaults.

  • :next_token (String)

    The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

  • :max_results (Integer)

    The maximum number of items to be returned.

Returns:

See Also:



2120
2121
2122
2123
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2120

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

#put_backup_vault_access_policy(params = {}) ⇒ Struct

Sets a resource-based policy that is used to manage access permissions on the target backup vault. Requires a backup vault name and an access policy document in JSON format.

Examples:

Request syntax with placeholder values


resp = client.put_backup_vault_access_policy({
  backup_vault_name: "BackupVaultName", # required
  policy: "IAMPolicy",
})

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :policy (String)

    The backup vault access policy document in JSON format.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2151
2152
2153
2154
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2151

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

#put_backup_vault_notifications(params = {}) ⇒ Struct

Turns on notifications on a backup vault for the specified topic and events.

Examples:

Request syntax with placeholder values


resp = client.put_backup_vault_notifications({
  backup_vault_name: "BackupVaultName", # required
  sns_topic_arn: "ARN", # required
  backup_vault_events: ["BACKUP_JOB_STARTED"], # required, accepts BACKUP_JOB_STARTED, BACKUP_JOB_COMPLETED, BACKUP_JOB_SUCCESSFUL, BACKUP_JOB_FAILED, BACKUP_JOB_EXPIRED, RESTORE_JOB_STARTED, RESTORE_JOB_COMPLETED, RESTORE_JOB_SUCCESSFUL, RESTORE_JOB_FAILED, COPY_JOB_STARTED, COPY_JOB_SUCCESSFUL, COPY_JOB_FAILED, RECOVERY_POINT_MODIFIED, BACKUP_PLAN_CREATED, BACKUP_PLAN_MODIFIED
})

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :sns_topic_arn (required, String)

    The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s events; for example, arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

  • :backup_vault_events (required, Array<String>)

    An array of events that indicate the status of jobs to back up resources to the backup vault.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



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

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

#start_backup_job(params = {}) ⇒ Types::StartBackupJobOutput

Starts a job to create a one-time backup of the specified resource.

Examples:

Request syntax with placeholder values


resp = client.start_backup_job({
  backup_vault_name: "BackupVaultName", # required
  resource_arn: "ARN", # required
  iam_role_arn: "IAMRoleArn", # required
  idempotency_token: "string",
  start_window_minutes: 1,
  complete_window_minutes: 1,
  lifecycle: {
    move_to_cold_storage_after_days: 1,
    delete_after_days: 1,
  },
  recovery_point_tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.backup_job_id #=> String
resp.recovery_point_arn #=> String
resp.creation_date #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :resource_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

  • :iam_role_arn (required, String)

    Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

  • :idempotency_token (String)

    A customer chosen string that can be used to distinguish between calls to StartBackupJob.

  • :start_window_minutes (Integer)

    A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.

  • :complete_window_minutes (Integer)

    A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

  • :lifecycle (Types::Lifecycle)

    The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup will transition and expire backups automatically according to the lifecycle that you define.

    Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

  • :recovery_point_tags (Hash<String,String>)

    To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.

Returns:

See Also:



2272
2273
2274
2275
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2272

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

#start_copy_job(params = {}) ⇒ Types::StartCopyJobOutput

Starts a job to create a one-time copy of the specified resource.

Examples:

Request syntax with placeholder values


resp = client.start_copy_job({
  recovery_point_arn: "ARN", # required
  source_backup_vault_name: "BackupVaultName", # required
  destination_backup_vault_arn: "ARN", # required
  iam_role_arn: "IAMRoleArn", # required
  idempotency_token: "string",
  lifecycle: {
    move_to_cold_storage_after_days: 1,
    delete_after_days: 1,
  },
})

Response structure


resp.copy_job_id #=> String
resp.creation_date #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :recovery_point_arn (required, String)

    An ARN that uniquely identifies a recovery point to use for the copy job; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

  • :source_backup_vault_name (required, String)

    The name of a logical source container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :destination_backup_vault_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

  • :iam_role_arn (required, String)

    Specifies the IAM role ARN used to copy the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

  • :idempotency_token (String)

    A customer chosen string that can be used to distinguish between calls to StartCopyJob.

  • :lifecycle (Types::Lifecycle)

    Contains an array of Transition objects specifying how long in days before a recovery point transitions to cold storage or is deleted.

    Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Returns:

See Also:



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

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

#start_restore_job(params = {}) ⇒ Types::StartRestoreJobOutput

Recovers the saved resource identified by an Amazon Resource Name (ARN).

If the resource ARN is included in the request, then the last complete backup of that resource is recovered. If the ARN of a recovery point is supplied, then that recovery point is restored.

Examples:

Request syntax with placeholder values


resp = client.start_restore_job({
  recovery_point_arn: "ARN", # required
  metadata: { # required
    "MetadataKey" => "MetadataValue",
  },
  iam_role_arn: "IAMRoleArn", # required
  idempotency_token: "string",
  resource_type: "ResourceType",
})

Response structure


resp.restore_job_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :recovery_point_arn (required, String)

    An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

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

    A set of metadata key-value pairs. Contains information, such as a resource name, required to restore a recovery point.

    You can get configuration metadata about a resource at the time it was backed up by calling GetRecoveryPointRestoreMetadata. However, values in addition to those provided by GetRecoveryPointRestoreMetadata might be required to restore a resource. For example, you might need to provide a new resource name if the original already exists.

    You need to specify specific metadata to restore an Amazon Elastic File System (Amazon EFS) instance:

    • file-system-id: ID of the Amazon EFS file system that is backed up by AWS Backup. Returned in GetRecoveryPointRestoreMetadata.

    • Encrypted: A Boolean value that, if true, specifies that the file system is encrypted. If KmsKeyId is specified, Encrypted must be set to true.

    • KmsKeyId: Specifies the AWS KMS key that is used to encrypt the restored file system.

    • PerformanceMode: Specifies the throughput mode of the file system.

    • CreationToken: A user-supplied value that ensures the uniqueness (idempotency) of the request.

    • newFileSystem: A Boolean value that, if true, specifies that the recovery point is restored to a new Amazon EFS file system.

  • :iam_role_arn (required, String)

    The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

  • :idempotency_token (String)

    A customer chosen string that can be used to distinguish between calls to StartRestoreJob.

  • :resource_type (String)

    Starts a job to restore a recovery point for one of the following resources:

    • EBS for Amazon Elastic Block Store

    • Storage Gateway for AWS Storage Gateway

    • RDS for Amazon Relational Database Service

    • DDB for Amazon DynamoDB

    • EFS for Amazon Elastic File System

Returns:

See Also:



2437
2438
2439
2440
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2437

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

#stop_backup_job(params = {}) ⇒ Struct

Attempts to cancel a job to create a one-time backup of a resource.

Examples:

Request syntax with placeholder values


resp = client.stop_backup_job({
  backup_job_id: "string", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :backup_job_id (required, String)

    Uniquely identifies a request to AWS Backup to back up a resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2459
2460
2461
2462
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2459

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

#tag_resource(params = {}) ⇒ Struct

Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN).

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)

    An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.

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

    Key-value pairs that are used to help organize your resources. You can assign your own metadata to the resources you create.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



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

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

#untag_resource(params = {}) ⇒ Struct

Removes a set of key-value pairs from a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN)

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "ARN", # required
  tag_key_list: ["string"], # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.

  • :tag_key_list (required, Array<String>)

    A list of keys to identify which key-value tags to remove from a resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2519
2520
2521
2522
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2519

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

#update_backup_plan(params = {}) ⇒ Types::UpdateBackupPlanOutput

Replaces the body of a saved backup plan identified by its backupPlanId with the input document in JSON format. The new version is uniquely identified by a VersionId.

Examples:

Request syntax with placeholder values


resp = client.update_backup_plan({
  backup_plan_id: "string", # required
  backup_plan: { # required
    backup_plan_name: "BackupPlanName", # required
    rules: [ # required
      {
        rule_name: "BackupRuleName", # required
        target_backup_vault_name: "BackupVaultName", # required
        schedule_expression: "CronExpression",
        start_window_minutes: 1,
        completion_window_minutes: 1,
        lifecycle: {
          move_to_cold_storage_after_days: 1,
          delete_after_days: 1,
        },
        recovery_point_tags: {
          "TagKey" => "TagValue",
        },
        copy_actions: [
          {
            lifecycle: {
              move_to_cold_storage_after_days: 1,
              delete_after_days: 1,
            },
            destination_backup_vault_arn: "ARN", # required
          },
        ],
      },
    ],
  },
})

Response structure


resp.backup_plan_id #=> String
resp.backup_plan_arn #=> String
resp.creation_date #=> Time
resp.version_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :backup_plan_id (required, String)

    Uniquely identifies a backup plan.

  • :backup_plan (required, Types::BackupPlanInput)

    Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

Returns:

See Also:



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

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

#update_recovery_point_lifecycle(params = {}) ⇒ Types::UpdateRecoveryPointLifecycleOutput

Sets the transition lifecycle of a recovery point.

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Examples:

Request syntax with placeholder values


resp = client.update_recovery_point_lifecycle({
  backup_vault_name: "BackupVaultName", # required
  recovery_point_arn: "ARN", # required
  lifecycle: {
    move_to_cold_storage_after_days: 1,
    delete_after_days: 1,
  },
})

Response structure


resp.backup_vault_arn #=> String
resp.recovery_point_arn #=> String
resp.lifecycle.move_to_cold_storage_after_days #=> Integer
resp.lifecycle.delete_after_days #=> Integer
resp.calculated_lifecycle.move_to_cold_storage_at #=> Time
resp.calculated_lifecycle.delete_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :backup_vault_name (required, String)

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

  • :recovery_point_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

  • :lifecycle (Types::Lifecycle)

    The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

    Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Returns:

See Also:



2657
2658
2659
2660
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2657

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

#update_region_settings(params = {}) ⇒ Struct

Updates the current service opt-in settings for the region. If the service has a value set to true, AWS Backup will attempt to protect that service's resources in this region, when included in an on-demand backup or scheduled backup plan. If the value is set to false for a service, AWS Backup will not attempt to protect that service's resources in this region.

Examples:

Request syntax with placeholder values


resp = client.update_region_settings({
  resource_type_opt_in_preference: {
    "ResourceType" => false,
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_type_opt_in_preference (Hash<String,Boolean>)

    Updates the list of services along with the opt-in preferences for the region.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2687
2688
2689
2690
# File 'gems/aws-sdk-backup/lib/aws-sdk-backup/client.rb', line 2687

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