Plan class

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", {
    advancedBackupSettings: [{
        backupOptions: {
            WindowsVSS: "enabled",
        },
        resourceType: "EC2",
    }],
    rules: [{
        lifecycle: {
            deleteAfter: 14,
        },
        ruleName: "my_example_backup_rule",
        targetVaultName: test.name,
        schedule: "cron(0 12 * * ? *)",
    }],
    name: "my_example_backup_plan",
});
import pulumi
import pulumi_aws as aws

example = aws.backup.Plan("example",
    advanced_backup_settings=[{
        "backup_options": {
            "WindowsVSS": "enabled",
        },
        "resource_type": "EC2",
    }],
    rules=[{
        "lifecycle": {
            "delete_after": 14,
        },
        "rule_name": "my_example_backup_rule",
        "target_vault_name": test["name"],
        "schedule": "cron(0 12 * * ? *)",
    }],
    name="my_example_backup_plan")
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()
    {
        AdvancedBackupSettings = new[]
        {
            new Aws.Backup.Inputs.PlanAdvancedBackupSettingArgs
            {
                BackupOptions =
                {
                    { "WindowsVSS", "enabled" },
                },
                ResourceType = "EC2",
            },
        },
        Rules = new[]
        {
            new Aws.Backup.Inputs.PlanRuleArgs
            {
                Lifecycle = new Aws.Backup.Inputs.PlanRuleLifecycleArgs
                {
                    DeleteAfter = 14,
                },
                RuleName = "my_example_backup_rule",
                TargetVaultName = test.Name,
                Schedule = "cron(0 12 * * ? *)",
            },
        },
        Name = "my_example_backup_plan",
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v7/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{
			AdvancedBackupSettings: backup.PlanAdvancedBackupSettingArray{
				&backup.PlanAdvancedBackupSettingArgs{
					BackupOptions: pulumi.StringMap{
						"WindowsVSS": pulumi.String("enabled"),
					},
					ResourceType: pulumi.String("EC2"),
				},
			},
			Rules: backup.PlanRuleArray{
				&backup.PlanRuleArgs{
					Lifecycle: &backup.PlanRuleLifecycleArgs{
						DeleteAfter: pulumi.Int(14),
					},
					RuleName:        pulumi.String("my_example_backup_rule"),
					TargetVaultName: pulumi.Any(test.Name),
					Schedule:        pulumi.String("cron(0 12 * * ? *)"),
				},
			},
			Name: pulumi.String("my_example_backup_plan"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

resource "aws_backup_plan" "example" {
  advanced_backup_settings {
    backup_options = {
      "WindowsVSS" = "enabled"
    }
    resource_type = "EC2"
  }
  rules {
    lifecycle = {
      delete_after = 14
    }
    rule_name         = "my_example_backup_rule"
    target_vault_name = test.name
    schedule          = "cron(0 12 * * ? *)"
  }
  name = "my_example_backup_plan"
}
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.PlanAdvancedBackupSettingArgs;
import com.pulumi.aws.backup.inputs.PlanRuleArgs;
import com.pulumi.aws.backup.inputs.PlanRuleLifecycleArgs;
import java.util.ArrayList;
import java.util.Arrays;
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()
            .advancedBackupSettings(PlanAdvancedBackupSettingArgs.builder()
                .backupOptions(Map.of("WindowsVSS", "enabled"))
                .resourceType("EC2")
                .build())
            .rules(PlanRuleArgs.builder()
                .lifecycle(PlanRuleLifecycleArgs.builder()
                    .deleteAfter(14)
                    .build())
                .ruleName("my_example_backup_rule")
                .targetVaultName(test.name())
                .schedule("cron(0 12 * * ? *)")
                .build())
            .name("my_example_backup_plan")
            .build());

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

Import

Identity Schema

Required

  • id (String) Backup Plan ID.

Optional

  • accountId (String) AWS Account where this resource is managed.
  • region (String) Region where this resource is managed.

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

$ pulumi import aws:backup/plan:Plan example abc123

Constructors

Plan(String name, {PlanArgs? args, CustomResourceOptions? options})
Creates a new Plan. name The Pulumi resource name. args Arguments used to configure this Plan. The set of arguments for Plan. options Resource options controlling this resource's behavior.
Plan.reference(String urn)
Creates a typed reference to an existing Plan resource.

Properties

advancedBackupSettings ↔ Output<List<PlanAdvancedBackupSetting>?>
An object that specifies backup options for each resource type.
latefinal
arn ↔ Output<String>
The ARN of the backup plan.
latefinal
childResources → Set<Resource>
finalinherited
completionSources ↔ Map<String, IOutputCompletionSource>
latefinalinherited
hashCode → int
The hash code for this object.
no setterinherited
id ↔ Output<String>
getter/setter pairinherited
isCustom → bool
Returns whether this resource is provider-managed.
no setterinherited
isProtected → bool
Returns whether this resource is protected from deletion.
no setterinherited
isRemote → bool
Whether this resource is registered as remote.
no setterinherited
isResourceReference → bool
Whether this instance represents a resource value returned over RPC.
finalinherited
name ↔ Output<String>
The display name of a backup plan.
latefinal
region ↔ Output<String>
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
resourceTransforms → List<ResourceTransform>
Inherited/explicit async transforms.
no setterinherited
rules ↔ Output<List<PlanRule>>
A rule object that specifies a scheduled task that is used to back up a selection of resources.
latefinal
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scanSettings ↔ Output<List<PlanScanSetting>?>
Block for scanning configuration for the backup rule and includes the malware scanner, and scan mode of either full or incremental. Detailed below.
latefinal
tags ↔ Output<Map<String, String>?>
Metadata that you can assign to help organize the plans you create. .If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
latefinal
tagsAll ↔ Output<Map<String, String>>
A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
latefinal
transformations → List<ResourceTransformation>
Inherited/explicit legacy transformations.
no setterinherited
urn ↔ Output<String>
latefinalinherited
version ↔ Output<String>
Unique, randomly generated, Unicode, UTF-8 encoded string that serves as the version ID of the backup plan.
latefinal

Methods

failId(Object error) → void
Completes this resource ID with an error when registration fails.
inherited
failOutputs(Object error) → void
Completes all output properties with error.
inherited
failUrn(Object error) → void
Completes this resource URN with an error when registration fails.
inherited
getProvider(String moduleMember) → ProviderResource?
Returns provider for moduleMember's package, if configured.
inherited
getResourceName() → String
Returns this resource's logical name.
inherited
getResourceType() → String
Returns this resource's Pulumi type token.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerOutput<T>(String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output<T>
Registers a dynamic output property for this resource.
inherited
resolveId(String? value, {required bool isKnown}) → void
Resolves the provider-assigned ID for this resource.
inherited
resolveOutputs(Struct outputs) → void
Resolves all output properties from a monitor response payload.
inherited
resolveUrn(String value) → void
Resolves this resource's URN once assigned by the engine.
inherited
serializeProperties(Map<String, dynamic> properties) → Future<Struct>
Serializes resource properties for RPC transmission.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

get(String name, Input<String> id, {PlanState? state, CustomResourceOptions? options}) → Plan
Gets an existing Plan resource's state with the given name and id.