1. Packages
  2. AWS
  3. API Docs
  4. backup
  5. Framework
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

aws.backup.Framework

Explore with Pulumi AI

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

    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",
        },
    });
    
    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",
        })
    
    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
    	})
    }
    
    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" },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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
    

    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 string
    The unique name of the resource.
    args FrameworkArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args 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 string
    The unique name of the resource.
    args FrameworkArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FrameworkArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args 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" },
        },
    });
    
    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"),
    	},
    })
    
    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());
    
    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",
        })
    
    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",
        },
    });
    
    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
    

    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 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 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 []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 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 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 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 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 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 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 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 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 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)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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 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 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 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 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 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 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 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 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 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 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 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 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>
    

    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.
    aws logo
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi