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

aws.backup.Framework

Explore with Pulumi AI

Provides an AWS Backup Framework resource.

Note: For the Deployment Status of the Framework to be successful, please turn on resource tracking to enable AWS Config recording to track configuration changes of your backup resources. This can be done from the AWS Console.

Example Usage

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

const example = new aws.backup.Framework("Example", {
    name: "exampleFramework",
    description: "this is an example framework",
    controls: [
        {
            name: "BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK",
            inputParameters: [{
                name: "requiredRetentionDays",
                value: "35",
            }],
        },
        {
            name: "BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK",
            inputParameters: [
                {
                    name: "requiredFrequencyUnit",
                    value: "hours",
                },
                {
                    name: "requiredRetentionDays",
                    value: "35",
                },
                {
                    name: "requiredFrequencyValue",
                    value: "1",
                },
            ],
        },
        {
            name: "BACKUP_RECOVERY_POINT_ENCRYPTED",
        },
        {
            name: "BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN",
            scope: {
                complianceResourceTypes: ["EBS"],
            },
        },
        {
            name: "BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED",
        },
        {
            name: "BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK",
            inputParameters: [
                {
                    name: "maxRetentionDays",
                    value: "100",
                },
                {
                    name: "minRetentionDays",
                    value: "1",
                },
            ],
            scope: {
                complianceResourceTypes: ["EBS"],
            },
        },
        {
            name: "BACKUP_LAST_RECOVERY_POINT_CREATED",
            inputParameters: [
                {
                    name: "recoveryPointAgeUnit",
                    value: "days",
                },
                {
                    name: "recoveryPointAgeValue",
                    value: "1",
                },
            ],
            scope: {
                complianceResourceTypes: ["EBS"],
            },
        },
    ],
    tags: {
        Name: "Example Framework",
    },
});
Copy
import pulumi
import pulumi_aws as aws

example = aws.backup.Framework("Example",
    name="exampleFramework",
    description="this is an example framework",
    controls=[
        {
            "name": "BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK",
            "input_parameters": [{
                "name": "requiredRetentionDays",
                "value": "35",
            }],
        },
        {
            "name": "BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK",
            "input_parameters": [
                {
                    "name": "requiredFrequencyUnit",
                    "value": "hours",
                },
                {
                    "name": "requiredRetentionDays",
                    "value": "35",
                },
                {
                    "name": "requiredFrequencyValue",
                    "value": "1",
                },
            ],
        },
        {
            "name": "BACKUP_RECOVERY_POINT_ENCRYPTED",
        },
        {
            "name": "BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN",
            "scope": {
                "compliance_resource_types": ["EBS"],
            },
        },
        {
            "name": "BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED",
        },
        {
            "name": "BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK",
            "input_parameters": [
                {
                    "name": "maxRetentionDays",
                    "value": "100",
                },
                {
                    "name": "minRetentionDays",
                    "value": "1",
                },
            ],
            "scope": {
                "compliance_resource_types": ["EBS"],
            },
        },
        {
            "name": "BACKUP_LAST_RECOVERY_POINT_CREATED",
            "input_parameters": [
                {
                    "name": "recoveryPointAgeUnit",
                    "value": "days",
                },
                {
                    "name": "recoveryPointAgeValue",
                    "value": "1",
                },
            ],
            "scope": {
                "compliance_resource_types": ["EBS"],
            },
        },
    ],
    tags={
        "Name": "Example Framework",
    })
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.NewFramework(ctx, "Example", &backup.FrameworkArgs{
			Name:        pulumi.String("exampleFramework"),
			Description: pulumi.String("this is an example framework"),
			Controls: backup.FrameworkControlArray{
				&backup.FrameworkControlArgs{
					Name: pulumi.String("BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK"),
					InputParameters: backup.FrameworkControlInputParameterArray{
						&backup.FrameworkControlInputParameterArgs{
							Name:  pulumi.String("requiredRetentionDays"),
							Value: pulumi.String("35"),
						},
					},
				},
				&backup.FrameworkControlArgs{
					Name: pulumi.String("BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK"),
					InputParameters: backup.FrameworkControlInputParameterArray{
						&backup.FrameworkControlInputParameterArgs{
							Name:  pulumi.String("requiredFrequencyUnit"),
							Value: pulumi.String("hours"),
						},
						&backup.FrameworkControlInputParameterArgs{
							Name:  pulumi.String("requiredRetentionDays"),
							Value: pulumi.String("35"),
						},
						&backup.FrameworkControlInputParameterArgs{
							Name:  pulumi.String("requiredFrequencyValue"),
							Value: pulumi.String("1"),
						},
					},
				},
				&backup.FrameworkControlArgs{
					Name: pulumi.String("BACKUP_RECOVERY_POINT_ENCRYPTED"),
				},
				&backup.FrameworkControlArgs{
					Name: pulumi.String("BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN"),
					Scope: &backup.FrameworkControlScopeArgs{
						ComplianceResourceTypes: pulumi.StringArray{
							pulumi.String("EBS"),
						},
					},
				},
				&backup.FrameworkControlArgs{
					Name: pulumi.String("BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED"),
				},
				&backup.FrameworkControlArgs{
					Name: pulumi.String("BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK"),
					InputParameters: backup.FrameworkControlInputParameterArray{
						&backup.FrameworkControlInputParameterArgs{
							Name:  pulumi.String("maxRetentionDays"),
							Value: pulumi.String("100"),
						},
						&backup.FrameworkControlInputParameterArgs{
							Name:  pulumi.String("minRetentionDays"),
							Value: pulumi.String("1"),
						},
					},
					Scope: &backup.FrameworkControlScopeArgs{
						ComplianceResourceTypes: pulumi.StringArray{
							pulumi.String("EBS"),
						},
					},
				},
				&backup.FrameworkControlArgs{
					Name: pulumi.String("BACKUP_LAST_RECOVERY_POINT_CREATED"),
					InputParameters: backup.FrameworkControlInputParameterArray{
						&backup.FrameworkControlInputParameterArgs{
							Name:  pulumi.String("recoveryPointAgeUnit"),
							Value: pulumi.String("days"),
						},
						&backup.FrameworkControlInputParameterArgs{
							Name:  pulumi.String("recoveryPointAgeValue"),
							Value: pulumi.String("1"),
						},
					},
					Scope: &backup.FrameworkControlScopeArgs{
						ComplianceResourceTypes: pulumi.StringArray{
							pulumi.String("EBS"),
						},
					},
				},
			},
			Tags: pulumi.StringMap{
				"Name": pulumi.String("Example Framework"),
			},
		})
		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.Framework("Example", new()
    {
        Name = "exampleFramework",
        Description = "this is an example framework",
        Controls = new[]
        {
            new Aws.Backup.Inputs.FrameworkControlArgs
            {
                Name = "BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK",
                InputParameters = new[]
                {
                    new Aws.Backup.Inputs.FrameworkControlInputParameterArgs
                    {
                        Name = "requiredRetentionDays",
                        Value = "35",
                    },
                },
            },
            new Aws.Backup.Inputs.FrameworkControlArgs
            {
                Name = "BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK",
                InputParameters = new[]
                {
                    new Aws.Backup.Inputs.FrameworkControlInputParameterArgs
                    {
                        Name = "requiredFrequencyUnit",
                        Value = "hours",
                    },
                    new Aws.Backup.Inputs.FrameworkControlInputParameterArgs
                    {
                        Name = "requiredRetentionDays",
                        Value = "35",
                    },
                    new Aws.Backup.Inputs.FrameworkControlInputParameterArgs
                    {
                        Name = "requiredFrequencyValue",
                        Value = "1",
                    },
                },
            },
            new Aws.Backup.Inputs.FrameworkControlArgs
            {
                Name = "BACKUP_RECOVERY_POINT_ENCRYPTED",
            },
            new Aws.Backup.Inputs.FrameworkControlArgs
            {
                Name = "BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN",
                Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs
                {
                    ComplianceResourceTypes = new[]
                    {
                        "EBS",
                    },
                },
            },
            new Aws.Backup.Inputs.FrameworkControlArgs
            {
                Name = "BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED",
            },
            new Aws.Backup.Inputs.FrameworkControlArgs
            {
                Name = "BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK",
                InputParameters = new[]
                {
                    new Aws.Backup.Inputs.FrameworkControlInputParameterArgs
                    {
                        Name = "maxRetentionDays",
                        Value = "100",
                    },
                    new Aws.Backup.Inputs.FrameworkControlInputParameterArgs
                    {
                        Name = "minRetentionDays",
                        Value = "1",
                    },
                },
                Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs
                {
                    ComplianceResourceTypes = new[]
                    {
                        "EBS",
                    },
                },
            },
            new Aws.Backup.Inputs.FrameworkControlArgs
            {
                Name = "BACKUP_LAST_RECOVERY_POINT_CREATED",
                InputParameters = new[]
                {
                    new Aws.Backup.Inputs.FrameworkControlInputParameterArgs
                    {
                        Name = "recoveryPointAgeUnit",
                        Value = "days",
                    },
                    new Aws.Backup.Inputs.FrameworkControlInputParameterArgs
                    {
                        Name = "recoveryPointAgeValue",
                        Value = "1",
                    },
                },
                Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs
                {
                    ComplianceResourceTypes = new[]
                    {
                        "EBS",
                    },
                },
            },
        },
        Tags = 
        {
            { "Name", "Example Framework" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.backup.Framework;
import com.pulumi.aws.backup.FrameworkArgs;
import com.pulumi.aws.backup.inputs.FrameworkControlArgs;
import com.pulumi.aws.backup.inputs.FrameworkControlScopeArgs;
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 Framework("example", FrameworkArgs.builder()
            .name("exampleFramework")
            .description("this is an example framework")
            .controls(            
                FrameworkControlArgs.builder()
                    .name("BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK")
                    .inputParameters(FrameworkControlInputParameterArgs.builder()
                        .name("requiredRetentionDays")
                        .value("35")
                        .build())
                    .build(),
                FrameworkControlArgs.builder()
                    .name("BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK")
                    .inputParameters(                    
                        FrameworkControlInputParameterArgs.builder()
                            .name("requiredFrequencyUnit")
                            .value("hours")
                            .build(),
                        FrameworkControlInputParameterArgs.builder()
                            .name("requiredRetentionDays")
                            .value("35")
                            .build(),
                        FrameworkControlInputParameterArgs.builder()
                            .name("requiredFrequencyValue")
                            .value("1")
                            .build())
                    .build(),
                FrameworkControlArgs.builder()
                    .name("BACKUP_RECOVERY_POINT_ENCRYPTED")
                    .build(),
                FrameworkControlArgs.builder()
                    .name("BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN")
                    .scope(FrameworkControlScopeArgs.builder()
                        .complianceResourceTypes("EBS")
                        .build())
                    .build(),
                FrameworkControlArgs.builder()
                    .name("BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED")
                    .build(),
                FrameworkControlArgs.builder()
                    .name("BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK")
                    .inputParameters(                    
                        FrameworkControlInputParameterArgs.builder()
                            .name("maxRetentionDays")
                            .value("100")
                            .build(),
                        FrameworkControlInputParameterArgs.builder()
                            .name("minRetentionDays")
                            .value("1")
                            .build())
                    .scope(FrameworkControlScopeArgs.builder()
                        .complianceResourceTypes("EBS")
                        .build())
                    .build(),
                FrameworkControlArgs.builder()
                    .name("BACKUP_LAST_RECOVERY_POINT_CREATED")
                    .inputParameters(                    
                        FrameworkControlInputParameterArgs.builder()
                            .name("recoveryPointAgeUnit")
                            .value("days")
                            .build(),
                        FrameworkControlInputParameterArgs.builder()
                            .name("recoveryPointAgeValue")
                            .value("1")
                            .build())
                    .scope(FrameworkControlScopeArgs.builder()
                        .complianceResourceTypes("EBS")
                        .build())
                    .build())
            .tags(Map.of("Name", "Example Framework"))
            .build());

    }
}
Copy
resources:
  example:
    type: aws:backup:Framework
    name: Example
    properties:
      name: exampleFramework
      description: this is an example framework
      controls:
        - name: BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK
          inputParameters:
            - name: requiredRetentionDays
              value: '35'
        - name: BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK
          inputParameters:
            - name: requiredFrequencyUnit
              value: hours
            - name: requiredRetentionDays
              value: '35'
            - name: requiredFrequencyValue
              value: '1'
        - name: BACKUP_RECOVERY_POINT_ENCRYPTED
        - name: BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN
          scope:
            complianceResourceTypes:
              - EBS
        - name: BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED
        - name: BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK
          inputParameters:
            - name: maxRetentionDays
              value: '100'
            - name: minRetentionDays
              value: '1'
          scope:
            complianceResourceTypes:
              - EBS
        - name: BACKUP_LAST_RECOVERY_POINT_CREATED
          inputParameters:
            - name: recoveryPointAgeUnit
              value: days
            - name: recoveryPointAgeValue
              value: '1'
          scope:
            complianceResourceTypes:
              - EBS
      tags:
        Name: Example Framework
Copy

Create Framework Resource

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

Constructor syntax

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

@overload
def Framework(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              controls: Optional[Sequence[FrameworkControlArgs]] = None,
              description: Optional[str] = None,
              name: Optional[str] = None,
              tags: Optional[Mapping[str, str]] = None)
func NewFramework(ctx *Context, name string, args FrameworkArgs, opts ...ResourceOption) (*Framework, error)
public Framework(string name, FrameworkArgs args, CustomResourceOptions? opts = null)
public Framework(String name, FrameworkArgs args)
public Framework(String name, FrameworkArgs args, CustomResourceOptions options)
type: aws:backup:Framework
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. FrameworkArgs
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. FrameworkArgs
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. FrameworkArgs
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. FrameworkArgs
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. FrameworkArgs
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 awsFrameworkResource = new Aws.Backup.Framework("awsFrameworkResource", new()
{
    Controls = new[]
    {
        new Aws.Backup.Inputs.FrameworkControlArgs
        {
            Name = "string",
            InputParameters = new[]
            {
                new Aws.Backup.Inputs.FrameworkControlInputParameterArgs
                {
                    Name = "string",
                    Value = "string",
                },
            },
            Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs
            {
                ComplianceResourceIds = new[]
                {
                    "string",
                },
                ComplianceResourceTypes = new[]
                {
                    "string",
                },
                Tags = 
                {
                    { "string", "string" },
                },
            },
        },
    },
    Description = "string",
    Name = "string",
    Tags = 
    {
        { "string", "string" },
    },
});
Copy
example, err := backup.NewFramework(ctx, "awsFrameworkResource", &backup.FrameworkArgs{
	Controls: backup.FrameworkControlArray{
		&backup.FrameworkControlArgs{
			Name: pulumi.String("string"),
			InputParameters: backup.FrameworkControlInputParameterArray{
				&backup.FrameworkControlInputParameterArgs{
					Name:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			Scope: &backup.FrameworkControlScopeArgs{
				ComplianceResourceIds: pulumi.StringArray{
					pulumi.String("string"),
				},
				ComplianceResourceTypes: pulumi.StringArray{
					pulumi.String("string"),
				},
				Tags: pulumi.StringMap{
					"string": pulumi.String("string"),
				},
			},
		},
	},
	Description: pulumi.String("string"),
	Name:        pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
Copy
var awsFrameworkResource = new Framework("awsFrameworkResource", FrameworkArgs.builder()
    .controls(FrameworkControlArgs.builder()
        .name("string")
        .inputParameters(FrameworkControlInputParameterArgs.builder()
            .name("string")
            .value("string")
            .build())
        .scope(FrameworkControlScopeArgs.builder()
            .complianceResourceIds("string")
            .complianceResourceTypes("string")
            .tags(Map.of("string", "string"))
            .build())
        .build())
    .description("string")
    .name("string")
    .tags(Map.of("string", "string"))
    .build());
Copy
aws_framework_resource = aws.backup.Framework("awsFrameworkResource",
    controls=[{
        "name": "string",
        "input_parameters": [{
            "name": "string",
            "value": "string",
        }],
        "scope": {
            "compliance_resource_ids": ["string"],
            "compliance_resource_types": ["string"],
            "tags": {
                "string": "string",
            },
        },
    }],
    description="string",
    name="string",
    tags={
        "string": "string",
    })
Copy
const awsFrameworkResource = new aws.backup.Framework("awsFrameworkResource", {
    controls: [{
        name: "string",
        inputParameters: [{
            name: "string",
            value: "string",
        }],
        scope: {
            complianceResourceIds: ["string"],
            complianceResourceTypes: ["string"],
            tags: {
                string: "string",
            },
        },
    }],
    description: "string",
    name: "string",
    tags: {
        string: "string",
    },
});
Copy
type: aws:backup:Framework
properties:
    controls:
        - inputParameters:
            - name: string
              value: string
          name: string
          scope:
            complianceResourceIds:
                - string
            complianceResourceTypes:
                - string
            tags:
                string: string
    description: string
    name: string
    tags:
        string: string
Copy

Framework 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 Framework resource accepts the following input properties:

Controls This property is required. List<FrameworkControl>
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
Description string
The description of the framework with a maximum of 1,024 characters
Name Changes to this property will trigger replacement. string
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
Tags Dictionary<string, string>
Metadata that you can assign to help organize the frameworks you create. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
Controls This property is required. []FrameworkControlArgs
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
Description string
The description of the framework with a maximum of 1,024 characters
Name Changes to this property will trigger replacement. string
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
Tags map[string]string
Metadata that you can assign to help organize the frameworks you create. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
controls This property is required. List<FrameworkControl>
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
description String
The description of the framework with a maximum of 1,024 characters
name Changes to this property will trigger replacement. String
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
tags Map<String,String>
Metadata that you can assign to help organize the frameworks you create. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
controls This property is required. FrameworkControl[]
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
description string
The description of the framework with a maximum of 1,024 characters
name Changes to this property will trigger replacement. string
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
tags {[key: string]: string}
Metadata that you can assign to help organize the frameworks you create. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
controls This property is required. Sequence[FrameworkControlArgs]
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
description str
The description of the framework with a maximum of 1,024 characters
name Changes to this property will trigger replacement. str
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
tags Mapping[str, str]
Metadata that you can assign to help organize the frameworks you create. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
controls This property is required. List<Property Map>
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
description String
The description of the framework with a maximum of 1,024 characters
name Changes to this property will trigger replacement. String
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
tags Map<String>
Metadata that you can assign to help organize the frameworks 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 Framework resource produces the following output properties:

Arn string
The ARN of the backup framework.
CreationTime string
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
DeploymentStatus string
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
Id string
The provider-assigned unique ID for this managed resource.
Status string
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
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.

Arn string
The ARN of the backup framework.
CreationTime string
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
DeploymentStatus string
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
Id string
The provider-assigned unique ID for this managed resource.
Status string
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
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.

arn String
The ARN of the backup framework.
creationTime String
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
deploymentStatus String
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
id String
The provider-assigned unique ID for this managed resource.
status String
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
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.

arn string
The ARN of the backup framework.
creationTime string
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
deploymentStatus string
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
id string
The provider-assigned unique ID for this managed resource.
status string
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
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.

arn str
The ARN of the backup framework.
creation_time str
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
deployment_status str
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
id str
The provider-assigned unique ID for this managed resource.
status str
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
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.

arn String
The ARN of the backup framework.
creationTime String
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
deploymentStatus String
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
id String
The provider-assigned unique ID for this managed resource.
status String
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
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.

Look up Existing Framework Resource

Get an existing Framework 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?: FrameworkState, opts?: CustomResourceOptions): Framework
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        controls: Optional[Sequence[FrameworkControlArgs]] = None,
        creation_time: Optional[str] = None,
        deployment_status: Optional[str] = None,
        description: Optional[str] = None,
        name: Optional[str] = None,
        status: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> Framework
func GetFramework(ctx *Context, name string, id IDInput, state *FrameworkState, opts ...ResourceOption) (*Framework, error)
public static Framework Get(string name, Input<string> id, FrameworkState? state, CustomResourceOptions? opts = null)
public static Framework get(String name, Output<String> id, FrameworkState state, CustomResourceOptions options)
resources:  _:    type: aws:backup:Framework    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:
Arn string
The ARN of the backup framework.
Controls List<FrameworkControl>
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
CreationTime string
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
DeploymentStatus string
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
Description string
The description of the framework with a maximum of 1,024 characters
Name Changes to this property will trigger replacement. string
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
Status string
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
Tags Dictionary<string, string>
Metadata that you can assign to help organize the frameworks 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.

Arn string
The ARN of the backup framework.
Controls []FrameworkControlArgs
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
CreationTime string
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
DeploymentStatus string
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
Description string
The description of the framework with a maximum of 1,024 characters
Name Changes to this property will trigger replacement. string
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
Status string
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
Tags map[string]string
Metadata that you can assign to help organize the frameworks 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.

arn String
The ARN of the backup framework.
controls List<FrameworkControl>
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
creationTime String
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
deploymentStatus String
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
description String
The description of the framework with a maximum of 1,024 characters
name Changes to this property will trigger replacement. String
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
status String
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
tags Map<String,String>
Metadata that you can assign to help organize the frameworks 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.

arn string
The ARN of the backup framework.
controls FrameworkControl[]
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
creationTime string
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
deploymentStatus string
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
description string
The description of the framework with a maximum of 1,024 characters
name Changes to this property will trigger replacement. string
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
status string
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
tags {[key: string]: string}
Metadata that you can assign to help organize the frameworks 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.

arn str
The ARN of the backup framework.
controls Sequence[FrameworkControlArgs]
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
creation_time str
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
deployment_status str
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
description str
The description of the framework with a maximum of 1,024 characters
name Changes to this property will trigger replacement. str
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
status str
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
tags Mapping[str, str]
Metadata that you can assign to help organize the frameworks 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.

arn String
The ARN of the backup framework.
controls List<Property Map>
One or more control blocks that make up the framework. Each control in the list has a name, input parameters, and scope. Detailed below.
creationTime String
The date and time that a framework is created, in Unix format and Coordinated Universal Time (UTC).
deploymentStatus String
The deployment status of a framework. The statuses are: CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED.
description String
The description of the framework with a maximum of 1,024 characters
name Changes to this property will trigger replacement. String
The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters, numbers, and underscores.
status String
A framework consists of one or more controls. Each control governs a resource, such as backup plans, backup selections, backup vaults, or recovery points. You can also turn AWS Config recording on or off for each resource. For more information refer to the AWS documentation for Framework Status
tags Map<String>
Metadata that you can assign to help organize the frameworks 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.

Supporting Types

FrameworkControl
, FrameworkControlArgs

Name This property is required. string
The name of a control. This name is between 1 and 256 characters.
InputParameters List<FrameworkControlInputParameter>
One or more input parameter blocks. An example of a control with two parameters is: "backup plan frequency is at least daily and the retention period is at least 1 year". The first parameter is daily. The second parameter is 1 year. Detailed below.
Scope FrameworkControlScope
The scope of a control. The control scope defines what the control will evaluate. Three examples of control scopes are: a specific backup plan, all backup plans with a specific tag, or all backup plans. Detailed below.
Name This property is required. string
The name of a control. This name is between 1 and 256 characters.
InputParameters []FrameworkControlInputParameter
One or more input parameter blocks. An example of a control with two parameters is: "backup plan frequency is at least daily and the retention period is at least 1 year". The first parameter is daily. The second parameter is 1 year. Detailed below.
Scope FrameworkControlScope
The scope of a control. The control scope defines what the control will evaluate. Three examples of control scopes are: a specific backup plan, all backup plans with a specific tag, or all backup plans. Detailed below.
name This property is required. String
The name of a control. This name is between 1 and 256 characters.
inputParameters List<FrameworkControlInputParameter>
One or more input parameter blocks. An example of a control with two parameters is: "backup plan frequency is at least daily and the retention period is at least 1 year". The first parameter is daily. The second parameter is 1 year. Detailed below.
scope FrameworkControlScope
The scope of a control. The control scope defines what the control will evaluate. Three examples of control scopes are: a specific backup plan, all backup plans with a specific tag, or all backup plans. Detailed below.
name This property is required. string
The name of a control. This name is between 1 and 256 characters.
inputParameters FrameworkControlInputParameter[]
One or more input parameter blocks. An example of a control with two parameters is: "backup plan frequency is at least daily and the retention period is at least 1 year". The first parameter is daily. The second parameter is 1 year. Detailed below.
scope FrameworkControlScope
The scope of a control. The control scope defines what the control will evaluate. Three examples of control scopes are: a specific backup plan, all backup plans with a specific tag, or all backup plans. Detailed below.
name This property is required. str
The name of a control. This name is between 1 and 256 characters.
input_parameters Sequence[FrameworkControlInputParameter]
One or more input parameter blocks. An example of a control with two parameters is: "backup plan frequency is at least daily and the retention period is at least 1 year". The first parameter is daily. The second parameter is 1 year. Detailed below.
scope FrameworkControlScope
The scope of a control. The control scope defines what the control will evaluate. Three examples of control scopes are: a specific backup plan, all backup plans with a specific tag, or all backup plans. Detailed below.
name This property is required. String
The name of a control. This name is between 1 and 256 characters.
inputParameters List<Property Map>
One or more input parameter blocks. An example of a control with two parameters is: "backup plan frequency is at least daily and the retention period is at least 1 year". The first parameter is daily. The second parameter is 1 year. Detailed below.
scope Property Map
The scope of a control. The control scope defines what the control will evaluate. Three examples of control scopes are: a specific backup plan, all backup plans with a specific tag, or all backup plans. Detailed below.

FrameworkControlInputParameter
, FrameworkControlInputParameterArgs

Name string
The name of a parameter, for example, BackupPlanFrequency.
Value string
The value of parameter, for example, hourly.
Name string
The name of a parameter, for example, BackupPlanFrequency.
Value string
The value of parameter, for example, hourly.
name String
The name of a parameter, for example, BackupPlanFrequency.
value String
The value of parameter, for example, hourly.
name string
The name of a parameter, for example, BackupPlanFrequency.
value string
The value of parameter, for example, hourly.
name str
The name of a parameter, for example, BackupPlanFrequency.
value str
The value of parameter, for example, hourly.
name String
The name of a parameter, for example, BackupPlanFrequency.
value String
The value of parameter, for example, hourly.

FrameworkControlScope
, FrameworkControlScopeArgs

ComplianceResourceIds List<string>
The ID of the only AWS resource that you want your control scope to contain. Minimum number of 1 item. Maximum number of 100 items.
ComplianceResourceTypes List<string>
Describes whether the control scope includes one or more types of resources, such as EFS or RDS.
Tags Dictionary<string, string>
The tag key-value pair applied to those AWS resources that you want to trigger an evaluation for a rule. A maximum of one key-value pair can be provided.
ComplianceResourceIds []string
The ID of the only AWS resource that you want your control scope to contain. Minimum number of 1 item. Maximum number of 100 items.
ComplianceResourceTypes []string
Describes whether the control scope includes one or more types of resources, such as EFS or RDS.
Tags map[string]string
The tag key-value pair applied to those AWS resources that you want to trigger an evaluation for a rule. A maximum of one key-value pair can be provided.
complianceResourceIds List<String>
The ID of the only AWS resource that you want your control scope to contain. Minimum number of 1 item. Maximum number of 100 items.
complianceResourceTypes List<String>
Describes whether the control scope includes one or more types of resources, such as EFS or RDS.
tags Map<String,String>
The tag key-value pair applied to those AWS resources that you want to trigger an evaluation for a rule. A maximum of one key-value pair can be provided.
complianceResourceIds string[]
The ID of the only AWS resource that you want your control scope to contain. Minimum number of 1 item. Maximum number of 100 items.
complianceResourceTypes string[]
Describes whether the control scope includes one or more types of resources, such as EFS or RDS.
tags {[key: string]: string}
The tag key-value pair applied to those AWS resources that you want to trigger an evaluation for a rule. A maximum of one key-value pair can be provided.
compliance_resource_ids Sequence[str]
The ID of the only AWS resource that you want your control scope to contain. Minimum number of 1 item. Maximum number of 100 items.
compliance_resource_types Sequence[str]
Describes whether the control scope includes one or more types of resources, such as EFS or RDS.
tags Mapping[str, str]
The tag key-value pair applied to those AWS resources that you want to trigger an evaluation for a rule. A maximum of one key-value pair can be provided.
complianceResourceIds List<String>
The ID of the only AWS resource that you want your control scope to contain. Minimum number of 1 item. Maximum number of 100 items.
complianceResourceTypes List<String>
Describes whether the control scope includes one or more types of resources, such as EFS or RDS.
tags Map<String>
The tag key-value pair applied to those AWS resources that you want to trigger an evaluation for a rule. A maximum of one key-value pair can be provided.

Import

Using pulumi import, import Backup Framework using the id which corresponds to the name of the Backup Framework. For example:

$ pulumi import aws:backup/framework:Framework 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.