[ aws . backup ]

create-backup-plan

Description

Creates a backup plan using a backup plan name and backup rules. A backup plan is a document that contains information that Backup uses to schedule tasks that create recovery points for resources.

If you call CreateBackupPlan with a plan that already exists, you receive an AlreadyExistsException exception.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-backup-plan
--backup-plan <value>
[--backup-plan-tags <value>]
[--creator-request-id <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--backup-plan (structure)

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

BackupPlanName -> (string)

The display name of a backup plan. Must contain 1 to 50 alphanumeric or ‘-_.’ characters.

Rules -> (list)

An array of BackupRule objects, each of which specifies a scheduled task that is used to back up a selection of resources.

(structure)

Specifies a scheduled task used to back up a selection of resources.

RuleName -> (string)

A display name for a backup rule. Must contain 1 to 50 alphanumeric or ‘-_.’ characters.

TargetBackupVaultName -> (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 Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.

ScheduleExpression -> (string)

A CRON expression in UTC specifying when Backup initiates a backup job.

StartWindowMinutes -> (long)

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.

CompletionWindowMinutes -> (long)

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

Lifecycle -> (structure)

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. 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 “retention” 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.

Only resource types that support full Backup management can transition their backups to cold storage. Those resource types are listed in the “Full Backup management” section of the Feature availability by resource table. Backup ignores this expression for other resource types.

MoveToColdStorageAfterDays -> (long)

Specifies the number of days after creation that a recovery point is moved to cold storage.

DeleteAfterDays -> (long)

Specifies the number of days after creation that a recovery point is deleted. Must be greater than 90 days plus MoveToColdStorageAfterDays .

RecoveryPointTags -> (map)

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

key -> (string)

value -> (string)

CopyActions -> (list)

An array of CopyAction objects, which contains the details of the copy operation.

(structure)

The details of the copy operation.

Lifecycle -> (structure)

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 “retention” 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.

Only resource types that support full Backup management can transition their backups to cold storage. Those resource types are listed in the “Full Backup management” section of the Feature availability by resource table. Backup ignores this expression for other resource types.

MoveToColdStorageAfterDays -> (long)

Specifies the number of days after creation that a recovery point is moved to cold storage.

DeleteAfterDays -> (long)

Specifies the number of days after creation that a recovery point is deleted. Must be greater than 90 days plus MoveToColdStorageAfterDays .

DestinationBackupVaultArn -> (string)

An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for the copied backup. For example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault .

EnableContinuousBackup -> (boolean)

Specifies whether Backup creates continuous backups. True causes Backup to create continuous backups capable of point-in-time restore (PITR). False (or not specified) causes Backup to create snapshot backups.

AdvancedBackupSettings -> (list)

Specifies a list of BackupOptions for each resource type. These settings are only available for Windows Volume Shadow Copy Service (VSS) backup jobs.

(structure)

A list of backup options for each resource type.

ResourceType -> (string)

Specifies an object containing resource type and backup options. The only supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy Service (VSS). For a CloudFormation example, see the sample CloudFormation template to enable Windows VSS in the Backup User Guide .

Valid values: EC2 .

BackupOptions -> (map)

Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs.

Valid values:

Set to "WindowsVSS":"enabled" to enable the WindowsVSS backup option and create a Windows VSS backup.

Set to "WindowsVSS":"disabled" to create a regular backup. The WindowsVSS option is not enabled by default.

If you specify an invalid option, you get an InvalidParameterValueException exception.

For more information about Windows VSS backups, see Creating a VSS-Enabled Windows Backup .

key -> (string)

value -> (string)

JSON Syntax:

{
  "BackupPlanName": "string",
  "Rules": [
    {
      "RuleName": "string",
      "TargetBackupVaultName": "string",
      "ScheduleExpression": "string",
      "StartWindowMinutes": long,
      "CompletionWindowMinutes": long,
      "Lifecycle": {
        "MoveToColdStorageAfterDays": long,
        "DeleteAfterDays": long
      },
      "RecoveryPointTags": {"string": "string"
        ...},
      "CopyActions": [
        {
          "Lifecycle": {
            "MoveToColdStorageAfterDays": long,
            "DeleteAfterDays": long
          },
          "DestinationBackupVaultArn": "string"
        }
        ...
      ],
      "EnableContinuousBackup": true|false
    }
    ...
  ],
  "AdvancedBackupSettings": [
    {
      "ResourceType": "string",
      "BackupOptions": {"string": "string"
        ...}
    }
    ...
  ]
}

--backup-plan-tags (map)

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.

key -> (string)

value -> (string)

Shorthand Syntax:

KeyName1=string,KeyName2=string

JSON Syntax:

{"string": "string"
  ...}

--creator-request-id (string)

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

If used, this parameter must contain 1 to 50 alphanumeric or ‘-_.’ characters.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

To create a backup plan

The following create-backup-plan example creates the specified backup plan with a 35 day retention.

aws backup create-backup-plan \
--backup-plan "{\"BackupPlanName\":\"Example-Backup-Plan\",\"Rules\":[{\"RuleName\":\"DailyBackups\",\"ScheduleExpression\":\"cron(0 5 ? * * *)\",\"StartWindowMinutes\":480,\"TargetBackupVaultName\":\"Default\",\"Lifecycle\":{\"DeleteAfterDays\":35}}]}"

Output:

{
    "BackupPlanId": "1fa3895c-a7f5-484a-a371-2dd6a1a9f729",
    "BackupPlanArn": "arn:aws:backup:us-west-2:123456789012:backup-plan:1fa3895c-a7f5-484a-a371-2dd6a1a9f729",
    "CreationDate": 1568928754.747,
    "VersionId": "ZjQ2ZTI5YWQtZDg5Yi00MzYzLWJmZTAtMDI1MzhlMDhjYjEz"
}

For more information, see Creating a Backup Plan in the AWS Backup Developer Guide.

Output

BackupPlanId -> (string)

Uniquely identifies a backup plan.

BackupPlanArn -> (string)

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50 .

CreationDate -> (timestamp)

The date and time that a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

VersionId -> (string)

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

AdvancedBackupSettings -> (list)

A list of BackupOptions settings for a resource type. This option is only available for Windows Volume Shadow Copy Service (VSS) backup jobs.

(structure)

A list of backup options for each resource type.

ResourceType -> (string)

Specifies an object containing resource type and backup options. The only supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy Service (VSS). For a CloudFormation example, see the sample CloudFormation template to enable Windows VSS in the Backup User Guide .

Valid values: EC2 .

BackupOptions -> (map)

Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs.

Valid values:

Set to "WindowsVSS":"enabled" to enable the WindowsVSS backup option and create a Windows VSS backup.

Set to "WindowsVSS":"disabled" to create a regular backup. The WindowsVSS option is not enabled by default.

If you specify an invalid option, you get an InvalidParameterValueException exception.

For more information about Windows VSS backups, see Creating a VSS-Enabled Windows Backup .

key -> (string)

value -> (string)