The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Paws::Backup - Perl Interface to AWS AWS Backup

SYNOPSIS

use Paws;

my $obj = Paws->service('Backup');
my $res = $obj->Method(
  Arg1 => $val1,
  Arg2 => [ 'V1', 'V2' ],
  # if Arg3 is an object, the HashRef will be used as arguments to the constructor
  # of the arguments type
  Arg3 => { Att1 => 'Val1' },
  # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
  # the constructor of the arguments type
  Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
);

DESCRIPTION

AWS Backup

AWS Backup is a unified backup service designed to protect AWS services and their associated data. AWS Backup simplifies the creation, migration, restoration, and deletion of backups, while also providing reporting and auditing.

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15

METHODS

CreateBackupPlan

BackupPlan => Paws::Backup::BackupPlanInput
[BackupPlanTags => Paws::Backup::Tags]
[CreatorRequestId => Str]

Each argument is described in detail in: Paws::Backup::CreateBackupPlan

Returns: a Paws::Backup::CreateBackupPlanOutput instance

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

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

CreateBackupSelection

BackupPlanId => Str
BackupSelection => Paws::Backup::BackupSelection
[CreatorRequestId => Str]

Each argument is described in detail in: Paws::Backup::CreateBackupSelection

Returns: a Paws::Backup::CreateBackupSelectionOutput instance

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.

CreateBackupVault

BackupVaultName => Str
[BackupVaultTags => Paws::Backup::Tags]
[CreatorRequestId => Str]
[EncryptionKeyArn => Str]

Each argument is described in detail in: Paws::Backup::CreateBackupVault

Returns: a Paws::Backup::CreateBackupVaultOutput instance

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.

DeleteBackupPlan

BackupPlanId => Str

Each argument is described in detail in: Paws::Backup::DeleteBackupPlan

Returns: a Paws::Backup::DeleteBackupPlanOutput instance

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.

DeleteBackupSelection

BackupPlanId => Str
SelectionId => Str

Each argument is described in detail in: Paws::Backup::DeleteBackupSelection

Returns: nothing

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

DeleteBackupVault

BackupVaultName => Str

Each argument is described in detail in: Paws::Backup::DeleteBackupVault

Returns: nothing

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

DeleteBackupVaultAccessPolicy

BackupVaultName => Str

Each argument is described in detail in: Paws::Backup::DeleteBackupVaultAccessPolicy

Returns: nothing

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

DeleteBackupVaultNotifications

BackupVaultName => Str

Each argument is described in detail in: Paws::Backup::DeleteBackupVaultNotifications

Returns: nothing

Deletes event notifications for the specified backup vault.

DeleteRecoveryPoint

BackupVaultName => Str
RecoveryPointArn => Str

Each argument is described in detail in: Paws::Backup::DeleteRecoveryPoint

Returns: nothing

Deletes the recovery point specified by a recovery point ID.

If the recovery point ID belongs to a continuous backup, calling this endpoint deletes the existing continuous backup and stops future continuous backup.

DescribeBackupJob

BackupJobId => Str

Each argument is described in detail in: Paws::Backup::DescribeBackupJob

Returns: a Paws::Backup::DescribeBackupJobOutput instance

Returns backup job details for the specified BackupJobId.

DescribeBackupVault

BackupVaultName => Str

Each argument is described in detail in: Paws::Backup::DescribeBackupVault

Returns: a Paws::Backup::DescribeBackupVaultOutput instance

Returns metadata about a backup vault specified by its name.

DescribeCopyJob

CopyJobId => Str

Each argument is described in detail in: Paws::Backup::DescribeCopyJob

Returns: a Paws::Backup::DescribeCopyJobOutput instance

Returns metadata associated with creating a copy of a resource.

DescribeGlobalSettings

Each argument is described in detail in: Paws::Backup::DescribeGlobalSettings

Returns: a Paws::Backup::DescribeGlobalSettingsOutput instance

Describes the global settings of the AWS account, including whether it is opted in to cross-account backup.

DescribeProtectedResource

ResourceArn => Str

Each argument is described in detail in: Paws::Backup::DescribeProtectedResource

Returns: a Paws::Backup::DescribeProtectedResourceOutput instance

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.

DescribeRecoveryPoint

BackupVaultName => Str
RecoveryPointArn => Str

Each argument is described in detail in: Paws::Backup::DescribeRecoveryPoint

Returns: a Paws::Backup::DescribeRecoveryPointOutput instance

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

DescribeRegionSettings

Each argument is described in detail in: Paws::Backup::DescribeRegionSettings

Returns: a Paws::Backup::DescribeRegionSettingsOutput instance

Returns the current service opt-in settings for the Region. If service-opt-in is enabled for a service, AWS Backup tries to protect that service's resources in this Region, when the resource is included in an on-demand backup or scheduled backup plan. Otherwise, AWS Backup does not try to protect that service's resources in this Region, AWS Backup does not try to protect that service's resources in this Region.

DescribeRestoreJob

RestoreJobId => Str

Each argument is described in detail in: Paws::Backup::DescribeRestoreJob

Returns: a Paws::Backup::DescribeRestoreJobOutput instance

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

DisassociateRecoveryPoint

BackupVaultName => Str
RecoveryPointArn => Str

Each argument is described in detail in: Paws::Backup::DisassociateRecoveryPoint

Returns: nothing

Deletes the specified continuous backup recovery point from AWS Backup and releases control of that continuous backup to the source service, such as Amazon RDS. The source service will continue to create and retain continuous backups using the lifecycle that you specified in your original backup plan.

Does not support snapshot backup recovery points.

ExportBackupPlanTemplate

BackupPlanId => Str

Each argument is described in detail in: Paws::Backup::ExportBackupPlanTemplate

Returns: a Paws::Backup::ExportBackupPlanTemplateOutput instance

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

GetBackupPlan

BackupPlanId => Str
[VersionId => Str]

Each argument is described in detail in: Paws::Backup::GetBackupPlan

Returns: a Paws::Backup::GetBackupPlanOutput instance

Returns BackupPlan details for the specified BackupPlanId. The details are the body of a backup plan in JSON format, in addition to plan metadata.

GetBackupPlanFromJSON

BackupPlanTemplateJson => Str

Each argument is described in detail in: Paws::Backup::GetBackupPlanFromJSON

Returns: a Paws::Backup::GetBackupPlanFromJSONOutput instance

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

GetBackupPlanFromTemplate

BackupPlanTemplateId => Str

Each argument is described in detail in: Paws::Backup::GetBackupPlanFromTemplate

Returns: a Paws::Backup::GetBackupPlanFromTemplateOutput instance

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

GetBackupSelection

BackupPlanId => Str
SelectionId => Str

Each argument is described in detail in: Paws::Backup::GetBackupSelection

Returns: a Paws::Backup::GetBackupSelectionOutput instance

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

GetBackupVaultAccessPolicy

BackupVaultName => Str

Each argument is described in detail in: Paws::Backup::GetBackupVaultAccessPolicy

Returns: a Paws::Backup::GetBackupVaultAccessPolicyOutput instance

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

GetBackupVaultNotifications

BackupVaultName => Str

Each argument is described in detail in: Paws::Backup::GetBackupVaultNotifications

Returns: a Paws::Backup::GetBackupVaultNotificationsOutput instance

Returns event notifications for the specified backup vault.

GetRecoveryPointRestoreMetadata

BackupVaultName => Str
RecoveryPointArn => Str

Each argument is described in detail in: Paws::Backup::GetRecoveryPointRestoreMetadata

Returns: a Paws::Backup::GetRecoveryPointRestoreMetadataOutput instance

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

GetSupportedResourceTypes

=>

Each argument is described in detail in: Paws::Backup::GetSupportedResourceTypes

Returns: a Paws::Backup::GetSupportedResourceTypesOutput instance

Returns the AWS resource types supported by AWS Backup.

ListBackupJobs

[ByAccountId => Str]
[ByBackupVaultName => Str]
[ByCreatedAfter => Str]
[ByCreatedBefore => Str]
[ByResourceArn => Str]
[ByResourceType => Str]
[ByState => Str]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListBackupJobs

Returns: a Paws::Backup::ListBackupJobsOutput instance

Returns a list of existing backup jobs for an authenticated account for the last 30 days. For a longer period of time, consider using these monitoring tools (https://docs.aws.amazon.com/aws-backup/latest/devguide/monitoring.html).

ListBackupPlans

[IncludeDeleted => Bool]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListBackupPlans

Returns: a Paws::Backup::ListBackupPlansOutput instance

Returns a list of existing backup plans for an authenticated account. The list is populated only if the advanced option is set for the backup plan. The list contains information such as Amazon Resource Names (ARNs), plan IDs, creation and deletion dates, version IDs, plan names, and creator request IDs.

ListBackupPlanTemplates

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListBackupPlanTemplates

Returns: a Paws::Backup::ListBackupPlanTemplatesOutput instance

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

ListBackupPlanVersions

BackupPlanId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListBackupPlanVersions

Returns: a Paws::Backup::ListBackupPlanVersionsOutput instance

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

ListBackupSelections

BackupPlanId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListBackupSelections

Returns: a Paws::Backup::ListBackupSelectionsOutput instance

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

ListBackupVaults

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListBackupVaults

Returns: a Paws::Backup::ListBackupVaultsOutput instance

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

ListCopyJobs

[ByAccountId => Str]
[ByCreatedAfter => Str]
[ByCreatedBefore => Str]
[ByDestinationVaultArn => Str]
[ByResourceArn => Str]
[ByResourceType => Str]
[ByState => Str]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListCopyJobs

Returns: a Paws::Backup::ListCopyJobsOutput instance

Returns metadata about your copy jobs.

ListProtectedResources

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListProtectedResources

Returns: a Paws::Backup::ListProtectedResourcesOutput instance

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.

ListRecoveryPointsByBackupVault

BackupVaultName => Str
[ByBackupPlanId => Str]
[ByCreatedAfter => Str]
[ByCreatedBefore => Str]
[ByResourceArn => Str]
[ByResourceType => Str]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListRecoveryPointsByBackupVault

Returns: a Paws::Backup::ListRecoveryPointsByBackupVaultOutput instance

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

ListRecoveryPointsByResource

ResourceArn => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListRecoveryPointsByResource

Returns: a Paws::Backup::ListRecoveryPointsByResourceOutput instance

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

ListRestoreJobs

[ByAccountId => Str]
[ByCreatedAfter => Str]
[ByCreatedBefore => Str]
[ByStatus => Str]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListRestoreJobs

Returns: a Paws::Backup::ListRestoreJobsOutput instance

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

ListTags

ResourceArn => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Backup::ListTags

Returns: a Paws::Backup::ListTagsOutput instance

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.

PutBackupVaultAccessPolicy

BackupVaultName => Str
[Policy => Str]

Each argument is described in detail in: Paws::Backup::PutBackupVaultAccessPolicy

Returns: nothing

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.

PutBackupVaultNotifications

BackupVaultEvents => ArrayRef[Str|Undef]
BackupVaultName => Str
SNSTopicArn => Str

Each argument is described in detail in: Paws::Backup::PutBackupVaultNotifications

Returns: nothing

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

StartBackupJob

BackupVaultName => Str
IamRoleArn => Str
ResourceArn => Str
[BackupOptions => Paws::Backup::BackupOptions]
[CompleteWindowMinutes => Int]
[IdempotencyToken => Str]
[Lifecycle => Paws::Backup::Lifecycle]
[RecoveryPointTags => Paws::Backup::Tags]
[StartWindowMinutes => Int]

Each argument is described in detail in: Paws::Backup::StartBackupJob

Returns: a Paws::Backup::StartBackupJobOutput instance

Starts an on-demand backup job for the specified resource.

StartCopyJob

DestinationBackupVaultArn => Str
IamRoleArn => Str
RecoveryPointArn => Str
SourceBackupVaultName => Str
[IdempotencyToken => Str]
[Lifecycle => Paws::Backup::Lifecycle]

Each argument is described in detail in: Paws::Backup::StartCopyJob

Returns: a Paws::Backup::StartCopyJobOutput instance

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

Does not support continuous backups.

StartRestoreJob

IamRoleArn => Str
Metadata => Paws::Backup::Metadata
RecoveryPointArn => Str
[IdempotencyToken => Str]
[ResourceType => Str]

Each argument is described in detail in: Paws::Backup::StartRestoreJob

Returns: a Paws::Backup::StartRestoreJobOutput instance

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

StopBackupJob

BackupJobId => Str

Each argument is described in detail in: Paws::Backup::StopBackupJob

Returns: nothing

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

TagResource

ResourceArn => Str
Tags => Paws::Backup::Tags

Each argument is described in detail in: Paws::Backup::TagResource

Returns: nothing

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

UntagResource

ResourceArn => Str
TagKeyList => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::Backup::UntagResource

Returns: nothing

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

UpdateBackupPlan

BackupPlan => Paws::Backup::BackupPlanInput
BackupPlanId => Str

Each argument is described in detail in: Paws::Backup::UpdateBackupPlan

Returns: a Paws::Backup::UpdateBackupPlanOutput instance

Updates an existing backup plan identified by its backupPlanId with the input document in JSON format. The new version is uniquely identified by a VersionId.

UpdateGlobalSettings

[GlobalSettings => Paws::Backup::GlobalSettings]

Each argument is described in detail in: Paws::Backup::UpdateGlobalSettings

Returns: nothing

Updates the current global settings for the AWS account. Use the DescribeGlobalSettings API to determine the current settings.

UpdateRecoveryPointLifecycle

BackupVaultName => Str
RecoveryPointArn => Str
[Lifecycle => Paws::Backup::Lifecycle]

Each argument is described in detail in: Paws::Backup::UpdateRecoveryPointLifecycle

Returns: a Paws::Backup::UpdateRecoveryPointLifecycleOutput instance

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.

Only Amazon EFS file system backups can be transitioned to cold storage.

Does not support continuous backups.

UpdateRegionSettings

[ResourceTypeOptInPreference => Paws::Backup::ResourceTypeOptInPreference]

Each argument is described in detail in: Paws::Backup::UpdateRegionSettings

Returns: nothing

Updates the current service opt-in settings for the Region. If service-opt-in is enabled for a service, AWS Backup tries to protect that service's resources in this Region, when the resource is included in an on-demand backup or scheduled backup plan. Otherwise, AWS Backup does not try to protect that service's resources in this Region. Use the DescribeRegionSettings API to determine the resource types that are supported.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues