AWS Backup
Developer Guide

StartBackupJob

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

Request Syntax

PUT /backup-jobs HTTP/1.1 Content-type: application/json { "BackupVaultName": "string", "CompleteWindowMinutes": number, "IamRoleArn": "string", "IdempotencyToken": "string", "Lifecycle": { "DeleteAfterDays": number, "MoveToColdStorageAfterDays": number }, "RecoveryPointTags": { "string" : "string" }, "ResourceArn": "string", "StartWindowMinutes": number }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

BackupVaultName

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.

Type: String

Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$

Required: Yes

CompleteWindowMinutes

The amount of time AWS Backup attempts a backup before canceling the job and returning an error.

Type: Long

Required: No

IamRoleArn

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

Type: String

Required: Yes

IdempotencyToken

A customer chosen string that can be used to distinguish between calls to StartBackupJob. Idempotency tokens time out after one hour. Therefore, if you call StartBackupJob multiple times with the same idempotency token within one hour, AWS Backup recognizes that you are requesting only one backup job and initiates only one. If you change the idempotency token for each call, AWS Backup recognizes that you are requesting to start multiple backups.

Type: String

Required: No

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.

Type: Lifecycle object

Required: No

RecoveryPointTags

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

Type: String to string map

Required: No

ResourceArn

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

Type: String

Required: Yes

StartWindowMinutes

The amount of time in minutes before beginning a backup.

Type: Long

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "BackupJobId": "string", "CreationDate": number, "RecoveryPointArn": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

BackupJobId

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

Type: String

CreationDate

The date and time that a backup job is started, 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.

Type: Timestamp

RecoveryPointArn

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

Type: String

Errors

For information about the errors that are common to all actions, see Common Errors.

InvalidParameterValueException

Indicates that something is wrong with a parameter's value. For example, the value is out of range.

HTTP Status Code: 400

LimitExceededException

A limit in the request has been exceeded; for example, a maximum number of items allowed in a request.

HTTP Status Code: 400

MissingParameterValueException

Indicates that a required parameter is missing.

HTTP Status Code: 400

ResourceNotFoundException

A resource that is required for the action doesn't exist.

HTTP Status Code: 400

ServiceUnavailableException

The request failed due to a temporary failure of the server.

HTTP Status Code: 500

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: