1. Packages
  2. AWS
  3. API Docs
  4. backup
  5. Plan
AWS v6.77.0 published on Wednesday, Apr 9, 2025 by Pulumi

aws.backup.Plan

Explore with Pulumi AI

Provides an AWS Backup plan resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.backup.Plan("example", {
    name: "my_example_backup_plan",
    rules: [{
        ruleName: "my_example_backup_rule",
        targetVaultName: test.name,
        schedule: "cron(0 12 * * ? *)",
        lifecycle: {
            deleteAfter: 14,
        },
    }],
    advancedBackupSettings: [{
        backupOptions: {
            WindowsVSS: "enabled",
        },
        resourceType: "EC2",
    }],
});
Copy
import pulumi
import pulumi_aws as aws

example = aws.backup.Plan("example",
    name="my_example_backup_plan",
    rules=[{
        "rule_name": "my_example_backup_rule",
        "target_vault_name": test["name"],
        "schedule": "cron(0 12 * * ? *)",
        "lifecycle": {
            "delete_after": 14,
        },
    }],
    advanced_backup_settings=[{
        "backup_options": {
            "WindowsVSS": "enabled",
        },
        "resource_type": "EC2",
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := backup.NewPlan(ctx, "example", &backup.PlanArgs{
			Name: pulumi.String("my_example_backup_plan"),
			Rules: backup.PlanRuleArray{
				&backup.PlanRuleArgs{
					RuleName:        pulumi.String("my_example_backup_rule"),
					TargetVaultName: pulumi.Any(test.Name),
					Schedule:        pulumi.String("cron(0 12 * * ? *)"),
					Lifecycle: &backup.PlanRuleLifecycleArgs{
						DeleteAfter: pulumi.Int(14),
					},
				},
			},
			AdvancedBackupSettings: backup.PlanAdvancedBackupSettingArray{
				&backup.PlanAdvancedBackupSettingArgs{
					BackupOptions: pulumi.StringMap{
						"WindowsVSS": pulumi.String("enabled"),
					},
					ResourceType: pulumi.String("EC2"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var example = new Aws.Backup.Plan("example", new()
    {
        Name = "my_example_backup_plan",
        Rules = new[]
        {
            new Aws.Backup.Inputs.PlanRuleArgs
            {
                RuleName = "my_example_backup_rule",
                TargetVaultName = test.Name,
                Schedule = "cron(0 12 * * ? *)",
                Lifecycle = new Aws.Backup.Inputs.PlanRuleLifecycleArgs
                {
                    DeleteAfter = 14,
                },
            },
        },
        AdvancedBackupSettings = new[]
        {
            new Aws.Backup.Inputs.PlanAdvancedBackupSettingArgs
            {
                BackupOptions = 
                {
                    { "WindowsVSS", "enabled" },
                },
                ResourceType = "EC2",
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.backup.Plan;
import com.pulumi.aws.backup.PlanArgs;
import com.pulumi.aws.backup.inputs.PlanRuleArgs;
import com.pulumi.aws.backup.inputs.PlanRuleLifecycleArgs;
import com.pulumi.aws.backup.inputs.PlanAdvancedBackupSettingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Plan("example", PlanArgs.builder()
            .name("my_example_backup_plan")
            .rules(PlanRuleArgs.builder()
                .ruleName("my_example_backup_rule")
                .targetVaultName(test.name())
                .schedule("cron(0 12 * * ? *)")
                .lifecycle(PlanRuleLifecycleArgs.builder()
                    .deleteAfter(14)
                    .build())
                .build())
            .advancedBackupSettings(PlanAdvancedBackupSettingArgs.builder()
                .backupOptions(Map.of("WindowsVSS", "enabled"))
                .resourceType("EC2")
                .build())
            .build());

    }
}
Copy
resources:
  example:
    type: aws:backup:Plan
    properties:
      name: my_example_backup_plan
      rules:
        - ruleName: my_example_backup_rule
          targetVaultName: ${test.name}
          schedule: cron(0 12 * * ? *)
          lifecycle:
            deleteAfter: 14
      advancedBackupSettings:
        - backupOptions:
            WindowsVSS: enabled
          resourceType: EC2
Copy

Create Plan Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Plan(name: string, args: PlanArgs, opts?: CustomResourceOptions);
@overload
def Plan(resource_name: str,
         args: PlanArgs,
         opts: Optional[ResourceOptions] = None)

@overload
def Plan(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         rules: Optional[Sequence[PlanRuleArgs]] = None,
         advanced_backup_settings: Optional[Sequence[PlanAdvancedBackupSettingArgs]] = None,
         name: Optional[str] = None,
         tags: Optional[Mapping[str, str]] = None)
func NewPlan(ctx *Context, name string, args PlanArgs, opts ...ResourceOption) (*Plan, error)
public Plan(string name, PlanArgs args, CustomResourceOptions? opts = null)
public Plan(String name, PlanArgs args)
public Plan(String name, PlanArgs args, CustomResourceOptions options)
type: aws:backup:Plan
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. PlanArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. PlanArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. PlanArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. PlanArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. PlanArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var planResource = new Aws.Backup.Plan("planResource", new()
{
    Rules = new[]
    {
        new Aws.Backup.Inputs.PlanRuleArgs
        {
            RuleName = "string",
            TargetVaultName = "string",
            CompletionWindow = 0,
            CopyActions = new[]
            {
                new Aws.Backup.Inputs.PlanRuleCopyActionArgs
                {
                    DestinationVaultArn = "string",
                    Lifecycle = new Aws.Backup.Inputs.PlanRuleCopyActionLifecycleArgs
                    {
                        ColdStorageAfter = 0,
                        DeleteAfter = 0,
                        OptInToArchiveForSupportedResources = false,
                    },
                },
            },
            EnableContinuousBackup = false,
            Lifecycle = new Aws.Backup.Inputs.PlanRuleLifecycleArgs
            {
                ColdStorageAfter = 0,
                DeleteAfter = 0,
                OptInToArchiveForSupportedResources = false,
            },
            RecoveryPointTags = 
            {
                { "string", "string" },
            },
            Schedule = "string",
            ScheduleExpressionTimezone = "string",
            StartWindow = 0,
        },
    },
    AdvancedBackupSettings = new[]
    {
        new Aws.Backup.Inputs.PlanAdvancedBackupSettingArgs
        {
            BackupOptions = 
            {
                { "string", "string" },
            },
            ResourceType = "string",
        },
    },
    Name = "string",
    Tags = 
    {
        { "string", "string" },
    },
});
Copy
example, err := backup.NewPlan(ctx, "planResource", &backup.PlanArgs{
	Rules: backup.PlanRuleArray{
		&backup.PlanRuleArgs{
			RuleName:         pulumi.String("string"),
			TargetVaultName:  pulumi.String("string"),
			CompletionWindow: pulumi.Int(0),
			CopyActions: backup.PlanRuleCopyActionArray{
				&backup.PlanRuleCopyActionArgs{
					DestinationVaultArn: pulumi.String("string"),
					Lifecycle: &backup.PlanRuleCopyActionLifecycleArgs{
						ColdStorageAfter:                    pulumi.Int(0),
						DeleteAfter:                         pulumi.Int(0),
						OptInToArchiveForSupportedResources: pulumi.Bool(false),
					},
				},
			},
			EnableContinuousBackup: pulumi.Bool(false),
			Lifecycle: &backup.PlanRuleLifecycleArgs{
				ColdStorageAfter:                    pulumi.Int(0),
				DeleteAfter:                         pulumi.Int(0),
				OptInToArchiveForSupportedResources: pulumi.Bool(false),
			},
			RecoveryPointTags: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Schedule:                   pulumi.String("string"),
			ScheduleExpressionTimezone: pulumi.String("string"),
			StartWindow:                pulumi.Int(0),
		},
	},
	AdvancedBackupSettings: backup.PlanAdvancedBackupSettingArray{
		&backup.PlanAdvancedBackupSettingArgs{
			BackupOptions: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			ResourceType: pulumi.String("string"),
		},
	},
	Name: pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
Copy
var planResource = new Plan("planResource", PlanArgs.builder()
    .rules(PlanRuleArgs.builder()
        .ruleName("string")
        .targetVaultName("string")
        .completionWindow(0)
        .copyActions(PlanRuleCopyActionArgs.builder()
            .destinationVaultArn("string")
            .lifecycle(PlanRuleCopyActionLifecycleArgs.builder()
                .coldStorageAfter(0)
                .deleteAfter(0)
                .optInToArchiveForSupportedResources(false)
                .build())
            .build())
        .enableContinuousBackup(false)
        .lifecycle(PlanRuleLifecycleArgs.builder()
            .coldStorageAfter(0)
            .deleteAfter(0)
            .optInToArchiveForSupportedResources(false)
            .build())
        .recoveryPointTags(Map.of("string", "string"))
        .schedule("string")
        .scheduleExpressionTimezone("string")
        .startWindow(0)
        .build())
    .advancedBackupSettings(PlanAdvancedBackupSettingArgs.builder()
        .backupOptions(Map.of("string", "string"))
        .resourceType("string")
        .build())
    .name("string")
    .tags(Map.of("string", "string"))
    .build());
Copy
plan_resource = aws.backup.Plan("planResource",
    rules=[{
        "rule_name": "string",
        "target_vault_name": "string",
        "completion_window": 0,
        "copy_actions": [{
            "destination_vault_arn": "string",
            "lifecycle": {
                "cold_storage_after": 0,
                "delete_after": 0,
                "opt_in_to_archive_for_supported_resources": False,
            },
        }],
        "enable_continuous_backup": False,
        "lifecycle": {
            "cold_storage_after": 0,
            "delete_after": 0,
            "opt_in_to_archive_for_supported_resources": False,
        },
        "recovery_point_tags": {
            "string": "string",
        },
        "schedule": "string",
        "schedule_expression_timezone": "string",
        "start_window": 0,
    }],
    advanced_backup_settings=[{
        "backup_options": {
            "string": "string",
        },
        "resource_type": "string",
    }],
    name="string",
    tags={
        "string": "string",
    })
Copy
const planResource = new aws.backup.Plan("planResource", {
    rules: [{
        ruleName: "string",
        targetVaultName: "string",
        completionWindow: 0,
        copyActions: [{
            destinationVaultArn: "string",
            lifecycle: {
                coldStorageAfter: 0,
                deleteAfter: 0,
                optInToArchiveForSupportedResources: false,
            },
        }],
        enableContinuousBackup: false,
        lifecycle: {
            coldStorageAfter: 0,
            deleteAfter: 0,
            optInToArchiveForSupportedResources: false,
        },
        recoveryPointTags: {
            string: "string",
        },
        schedule: "string",
        scheduleExpressionTimezone: "string",
        startWindow: 0,
    }],
    advancedBackupSettings: [{
        backupOptions: {
            string: "string",
        },
        resourceType: "string",
    }],
    name: "string",
    tags: {
        string: "string",
    },
});
Copy
type: aws:backup:Plan
properties:
    advancedBackupSettings:
        - backupOptions:
            string: string
          resourceType: string
    name: string
    rules:
        - completionWindow: 0
          copyActions:
            - destinationVaultArn: string
              lifecycle:
                coldStorageAfter: 0
                deleteAfter: 0
                optInToArchiveForSupportedResources: false
          enableContinuousBackup: false
          lifecycle:
            coldStorageAfter: 0
            deleteAfter: 0
            optInToArchiveForSupportedResources: false
          recoveryPointTags:
            string: string
          ruleName: string
          schedule: string
          scheduleExpressionTimezone: string
          startWindow: 0
          targetVaultName: string
    tags:
        string: string
Copy

Plan Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Plan resource accepts the following input properties:

Rules This property is required. List<PlanRule>
A rule object that specifies a scheduled task that is used to back up a selection of resources.
AdvancedBackupSettings List<PlanAdvancedBackupSetting>
An object that specifies backup options for each resource type.
Name Changes to this property will trigger replacement. string
The display name of a backup plan.
Tags Dictionary<string, string>
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
Rules This property is required. []PlanRuleArgs
A rule object that specifies a scheduled task that is used to back up a selection of resources.
AdvancedBackupSettings []PlanAdvancedBackupSettingArgs
An object that specifies backup options for each resource type.
Name Changes to this property will trigger replacement. string
The display name of a backup plan.
Tags map[string]string
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
rules This property is required. List<PlanRule>
A rule object that specifies a scheduled task that is used to back up a selection of resources.
advancedBackupSettings List<PlanAdvancedBackupSetting>
An object that specifies backup options for each resource type.
name Changes to this property will trigger replacement. String
The display name of a backup plan.
tags Map<String,String>
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
rules This property is required. PlanRule[]
A rule object that specifies a scheduled task that is used to back up a selection of resources.
advancedBackupSettings PlanAdvancedBackupSetting[]
An object that specifies backup options for each resource type.
name Changes to this property will trigger replacement. string
The display name of a backup plan.
tags {[key: string]: string}
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
rules This property is required. Sequence[PlanRuleArgs]
A rule object that specifies a scheduled task that is used to back up a selection of resources.
advanced_backup_settings Sequence[PlanAdvancedBackupSettingArgs]
An object that specifies backup options for each resource type.
name Changes to this property will trigger replacement. str
The display name of a backup plan.
tags Mapping[str, str]
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
rules This property is required. List<Property Map>
A rule object that specifies a scheduled task that is used to back up a selection of resources.
advancedBackupSettings List<Property Map>
An object that specifies backup options for each resource type.
name Changes to this property will trigger replacement. String
The display name of a backup plan.
tags Map<String>
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Outputs

All input properties are implicitly available as output properties. Additionally, the Plan resource produces the following output properties:

Arn string
The ARN of the backup plan.
Id string
The provider-assigned unique ID for this managed resource.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Version string
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
Arn string
The ARN of the backup plan.
Id string
The provider-assigned unique ID for this managed resource.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Version string
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
arn String
The ARN of the backup plan.
id String
The provider-assigned unique ID for this managed resource.
tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

version String
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
arn string
The ARN of the backup plan.
id string
The provider-assigned unique ID for this managed resource.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

version string
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
arn str
The ARN of the backup plan.
id str
The provider-assigned unique ID for this managed resource.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

version str
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
arn String
The ARN of the backup plan.
id String
The provider-assigned unique ID for this managed resource.
tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

version String
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.

Look up Existing Plan Resource

Get an existing Plan resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: PlanState, opts?: CustomResourceOptions): Plan
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        advanced_backup_settings: Optional[Sequence[PlanAdvancedBackupSettingArgs]] = None,
        arn: Optional[str] = None,
        name: Optional[str] = None,
        rules: Optional[Sequence[PlanRuleArgs]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        version: Optional[str] = None) -> Plan
func GetPlan(ctx *Context, name string, id IDInput, state *PlanState, opts ...ResourceOption) (*Plan, error)
public static Plan Get(string name, Input<string> id, PlanState? state, CustomResourceOptions? opts = null)
public static Plan get(String name, Output<String> id, PlanState state, CustomResourceOptions options)
resources:  _:    type: aws:backup:Plan    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AdvancedBackupSettings List<PlanAdvancedBackupSetting>
An object that specifies backup options for each resource type.
Arn string
The ARN of the backup plan.
Name Changes to this property will trigger replacement. string
The display name of a backup plan.
Rules List<PlanRule>
A rule object that specifies a scheduled task that is used to back up a selection of resources.
Tags Dictionary<string, string>
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Version string
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
AdvancedBackupSettings []PlanAdvancedBackupSettingArgs
An object that specifies backup options for each resource type.
Arn string
The ARN of the backup plan.
Name Changes to this property will trigger replacement. string
The display name of a backup plan.
Rules []PlanRuleArgs
A rule object that specifies a scheduled task that is used to back up a selection of resources.
Tags map[string]string
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Version string
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
advancedBackupSettings List<PlanAdvancedBackupSetting>
An object that specifies backup options for each resource type.
arn String
The ARN of the backup plan.
name Changes to this property will trigger replacement. String
The display name of a backup plan.
rules List<PlanRule>
A rule object that specifies a scheduled task that is used to back up a selection of resources.
tags Map<String,String>
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

version String
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
advancedBackupSettings PlanAdvancedBackupSetting[]
An object that specifies backup options for each resource type.
arn string
The ARN of the backup plan.
name Changes to this property will trigger replacement. string
The display name of a backup plan.
rules PlanRule[]
A rule object that specifies a scheduled task that is used to back up a selection of resources.
tags {[key: string]: string}
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

version string
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
advanced_backup_settings Sequence[PlanAdvancedBackupSettingArgs]
An object that specifies backup options for each resource type.
arn str
The ARN of the backup plan.
name Changes to this property will trigger replacement. str
The display name of a backup plan.
rules Sequence[PlanRuleArgs]
A rule object that specifies a scheduled task that is used to back up a selection of resources.
tags Mapping[str, str]
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

version str
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
advancedBackupSettings List<Property Map>
An object that specifies backup options for each resource type.
arn String
The ARN of the backup plan.
name Changes to this property will trigger replacement. String
The display name of a backup plan.
rules List<Property Map>
A rule object that specifies a scheduled task that is used to back up a selection of resources.
tags Map<String>
Metadata that you can assign to help organize the plans you create. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

version String
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.

Supporting Types

PlanAdvancedBackupSetting
, PlanAdvancedBackupSettingArgs

BackupOptions This property is required. Dictionary<string, string>
Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs. Set to { WindowsVSS = "enabled" } to enable Windows VSS backup option and create a VSS Windows backup.
ResourceType This property is required. string
The type of AWS resource to be backed up. For VSS Windows backups, the only supported resource type is Amazon EC2. Valid values: EC2.
BackupOptions This property is required. map[string]string
Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs. Set to { WindowsVSS = "enabled" } to enable Windows VSS backup option and create a VSS Windows backup.
ResourceType This property is required. string
The type of AWS resource to be backed up. For VSS Windows backups, the only supported resource type is Amazon EC2. Valid values: EC2.
backupOptions This property is required. Map<String,String>
Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs. Set to { WindowsVSS = "enabled" } to enable Windows VSS backup option and create a VSS Windows backup.
resourceType This property is required. String
The type of AWS resource to be backed up. For VSS Windows backups, the only supported resource type is Amazon EC2. Valid values: EC2.
backupOptions This property is required. {[key: string]: string}
Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs. Set to { WindowsVSS = "enabled" } to enable Windows VSS backup option and create a VSS Windows backup.
resourceType This property is required. string
The type of AWS resource to be backed up. For VSS Windows backups, the only supported resource type is Amazon EC2. Valid values: EC2.
backup_options This property is required. Mapping[str, str]
Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs. Set to { WindowsVSS = "enabled" } to enable Windows VSS backup option and create a VSS Windows backup.
resource_type This property is required. str
The type of AWS resource to be backed up. For VSS Windows backups, the only supported resource type is Amazon EC2. Valid values: EC2.
backupOptions This property is required. Map<String>
Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs. Set to { WindowsVSS = "enabled" } to enable Windows VSS backup option and create a VSS Windows backup.
resourceType This property is required. String
The type of AWS resource to be backed up. For VSS Windows backups, the only supported resource type is Amazon EC2. Valid values: EC2.

PlanRule
, PlanRuleArgs

RuleName This property is required. string
An display name for a backup rule.
TargetVaultName This property is required. string
The name of a logical container where backups are stored.
CompletionWindow int
The amount of time in minutes AWS Backup attempts a backup before canceling the job and returning an error.
CopyActions List<PlanRuleCopyAction>
Configuration block(s) with copy operation settings. Detailed below.
EnableContinuousBackup bool
Enable continuous backups for supported resources.
Lifecycle PlanRuleLifecycle
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Fields documented below.
RecoveryPointTags Dictionary<string, string>
Metadata that you can assign to help organize the resources that you create.
Schedule string
A CRON expression specifying when AWS Backup initiates a backup job.
ScheduleExpressionTimezone string
The timezone in which the schedule expression is set. Default value: "Etc/UTC".
StartWindow int
The amount of time in minutes before beginning a backup.
RuleName This property is required. string
An display name for a backup rule.
TargetVaultName This property is required. string
The name of a logical container where backups are stored.
CompletionWindow int
The amount of time in minutes AWS Backup attempts a backup before canceling the job and returning an error.
CopyActions []PlanRuleCopyAction
Configuration block(s) with copy operation settings. Detailed below.
EnableContinuousBackup bool
Enable continuous backups for supported resources.
Lifecycle PlanRuleLifecycle
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Fields documented below.
RecoveryPointTags map[string]string
Metadata that you can assign to help organize the resources that you create.
Schedule string
A CRON expression specifying when AWS Backup initiates a backup job.
ScheduleExpressionTimezone string
The timezone in which the schedule expression is set. Default value: "Etc/UTC".
StartWindow int
The amount of time in minutes before beginning a backup.
ruleName This property is required. String
An display name for a backup rule.
targetVaultName This property is required. String
The name of a logical container where backups are stored.
completionWindow Integer
The amount of time in minutes AWS Backup attempts a backup before canceling the job and returning an error.
copyActions List<PlanRuleCopyAction>
Configuration block(s) with copy operation settings. Detailed below.
enableContinuousBackup Boolean
Enable continuous backups for supported resources.
lifecycle PlanRuleLifecycle
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Fields documented below.
recoveryPointTags Map<String,String>
Metadata that you can assign to help organize the resources that you create.
schedule String
A CRON expression specifying when AWS Backup initiates a backup job.
scheduleExpressionTimezone String
The timezone in which the schedule expression is set. Default value: "Etc/UTC".
startWindow Integer
The amount of time in minutes before beginning a backup.
ruleName This property is required. string
An display name for a backup rule.
targetVaultName This property is required. string
The name of a logical container where backups are stored.
completionWindow number
The amount of time in minutes AWS Backup attempts a backup before canceling the job and returning an error.
copyActions PlanRuleCopyAction[]
Configuration block(s) with copy operation settings. Detailed below.
enableContinuousBackup boolean
Enable continuous backups for supported resources.
lifecycle PlanRuleLifecycle
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Fields documented below.
recoveryPointTags {[key: string]: string}
Metadata that you can assign to help organize the resources that you create.
schedule string
A CRON expression specifying when AWS Backup initiates a backup job.
scheduleExpressionTimezone string
The timezone in which the schedule expression is set. Default value: "Etc/UTC".
startWindow number
The amount of time in minutes before beginning a backup.
rule_name This property is required. str
An display name for a backup rule.
target_vault_name This property is required. str
The name of a logical container where backups are stored.
completion_window int
The amount of time in minutes AWS Backup attempts a backup before canceling the job and returning an error.
copy_actions Sequence[PlanRuleCopyAction]
Configuration block(s) with copy operation settings. Detailed below.
enable_continuous_backup bool
Enable continuous backups for supported resources.
lifecycle PlanRuleLifecycle
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Fields documented below.
recovery_point_tags Mapping[str, str]
Metadata that you can assign to help organize the resources that you create.
schedule str
A CRON expression specifying when AWS Backup initiates a backup job.
schedule_expression_timezone str
The timezone in which the schedule expression is set. Default value: "Etc/UTC".
start_window int
The amount of time in minutes before beginning a backup.
ruleName This property is required. String
An display name for a backup rule.
targetVaultName This property is required. String
The name of a logical container where backups are stored.
completionWindow Number
The amount of time in minutes AWS Backup attempts a backup before canceling the job and returning an error.
copyActions List<Property Map>
Configuration block(s) with copy operation settings. Detailed below.
enableContinuousBackup Boolean
Enable continuous backups for supported resources.
lifecycle Property Map
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Fields documented below.
recoveryPointTags Map<String>
Metadata that you can assign to help organize the resources that you create.
schedule String
A CRON expression specifying when AWS Backup initiates a backup job.
scheduleExpressionTimezone String
The timezone in which the schedule expression is set. Default value: "Etc/UTC".
startWindow Number
The amount of time in minutes before beginning a backup.

PlanRuleCopyAction
, PlanRuleCopyActionArgs

DestinationVaultArn This property is required. string
An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for the copied backup.
Lifecycle PlanRuleCopyActionLifecycle
The lifecycle defines when a protected resource is copied over to a backup vault and when it expires. Fields documented above.
DestinationVaultArn This property is required. string
An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for the copied backup.
Lifecycle PlanRuleCopyActionLifecycle
The lifecycle defines when a protected resource is copied over to a backup vault and when it expires. Fields documented above.
destinationVaultArn This property is required. String
An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for the copied backup.
lifecycle PlanRuleCopyActionLifecycle
The lifecycle defines when a protected resource is copied over to a backup vault and when it expires. Fields documented above.
destinationVaultArn This property is required. string
An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for the copied backup.
lifecycle PlanRuleCopyActionLifecycle
The lifecycle defines when a protected resource is copied over to a backup vault and when it expires. Fields documented above.
destination_vault_arn This property is required. str
An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for the copied backup.
lifecycle PlanRuleCopyActionLifecycle
The lifecycle defines when a protected resource is copied over to a backup vault and when it expires. Fields documented above.
destinationVaultArn This property is required. String
An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for the copied backup.
lifecycle Property Map
The lifecycle defines when a protected resource is copied over to a backup vault and when it expires. Fields documented above.

PlanRuleCopyActionLifecycle
, PlanRuleCopyActionLifecycleArgs

ColdStorageAfter int
Specifies the number of days after creation that a recovery point is moved to cold storage.
DeleteAfter int
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
OptInToArchiveForSupportedResources bool
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
ColdStorageAfter int
Specifies the number of days after creation that a recovery point is moved to cold storage.
DeleteAfter int
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
OptInToArchiveForSupportedResources bool
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
coldStorageAfter Integer
Specifies the number of days after creation that a recovery point is moved to cold storage.
deleteAfter Integer
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
optInToArchiveForSupportedResources Boolean
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
coldStorageAfter number
Specifies the number of days after creation that a recovery point is moved to cold storage.
deleteAfter number
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
optInToArchiveForSupportedResources boolean
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
cold_storage_after int
Specifies the number of days after creation that a recovery point is moved to cold storage.
delete_after int
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
opt_in_to_archive_for_supported_resources bool
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
coldStorageAfter Number
Specifies the number of days after creation that a recovery point is moved to cold storage.
deleteAfter Number
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
optInToArchiveForSupportedResources Boolean
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.

PlanRuleLifecycle
, PlanRuleLifecycleArgs

ColdStorageAfter int
Specifies the number of days after creation that a recovery point is moved to cold storage.
DeleteAfter int
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
OptInToArchiveForSupportedResources bool
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
ColdStorageAfter int
Specifies the number of days after creation that a recovery point is moved to cold storage.
DeleteAfter int
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
OptInToArchiveForSupportedResources bool
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
coldStorageAfter Integer
Specifies the number of days after creation that a recovery point is moved to cold storage.
deleteAfter Integer
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
optInToArchiveForSupportedResources Boolean
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
coldStorageAfter number
Specifies the number of days after creation that a recovery point is moved to cold storage.
deleteAfter number
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
optInToArchiveForSupportedResources boolean
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
cold_storage_after int
Specifies the number of days after creation that a recovery point is moved to cold storage.
delete_after int
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
opt_in_to_archive_for_supported_resources bool
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
coldStorageAfter Number
Specifies the number of days after creation that a recovery point is moved to cold storage.
deleteAfter Number
Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after.
optInToArchiveForSupportedResources Boolean
This setting will instruct your backup plan to transition supported resources to archive (cold) storage tier in accordance with your lifecycle settings.

Import

Using pulumi import, import Backup Plan using the id. For example:

$ pulumi import aws:backup/plan:Plan test <id>
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.