Backup / Client / create_framework

create_framework#

Backup.Client.create_framework(**kwargs)#

Creates a framework with one or more controls. A framework is a collection of controls that you can use to evaluate your backup practices. By using pre-built customizable controls to define your policies, you can evaluate whether your backup practices comply with your policies and which resources are not yet in compliance.

See also: AWS API Documentation

Request Syntax

response = client.create_framework(
    FrameworkName='string',
    FrameworkDescription='string',
    FrameworkControls=[
        {
            'ControlName': 'string',
            'ControlInputParameters': [
                {
                    'ParameterName': 'string',
                    'ParameterValue': 'string'
                },
            ],
            'ControlScope': {
                'ComplianceResourceIds': [
                    'string',
                ],
                'ComplianceResourceTypes': [
                    'string',
                ],
                'Tags': {
                    'string': 'string'
                }
            }
        },
    ],
    IdempotencyToken='string',
    FrameworkTags={
        'string': 'string'
    }
)
Parameters:
  • FrameworkName (string) –

    [REQUIRED]

    The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).

  • FrameworkDescription (string) – An optional description of the framework with a maximum of 1,024 characters.

  • FrameworkControls (list) –

    [REQUIRED]

    The controls that make up the framework. Each control in the list has a name, input parameters, and scope.

    • (dict) –

      Contains detailed information about all of the controls of a framework. Each framework must contain at least one control.

      • ControlName (string) – [REQUIRED]

        The name of a control. This name is between 1 and 256 characters.

      • ControlInputParameters (list) –

        The name/value pairs.

        • (dict) –

          The parameters for a control. A control can have zero, one, or more than one parameter. 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.

          • ParameterName (string) –

            The name of a parameter, for example, BackupPlanFrequency.

          • ParameterValue (string) –

            The value of parameter, for example, hourly.

      • ControlScope (dict) –

        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.

        For more information, see ControlScope.

        • ComplianceResourceIds (list) –

          The ID of the only Amazon Web Services resource that you want your control scope to contain.

          • (string) –

        • ComplianceResourceTypes (list) –

          Describes whether the control scope includes one or more types of resources, such as EFS or RDS.

          • (string) –

        • Tags (dict) –

          The tag key-value pair applied to those Amazon Web Services resources that you want to trigger an evaluation for a rule. A maximum of one key-value pair can be provided. The tag value is optional, but it cannot be an empty string if you are creating or editing a framework from the console (though the value can be an empty string when included in a CloudFormation template).

          The structure to assign a tag is: [{"Key":"string","Value":"string"}].

          • (string) –

            • (string) –

  • IdempotencyToken (string) –

    A customer-chosen string that you can use to distinguish between otherwise identical calls to CreateFrameworkInput. Retrying a successful request with the same idempotency token results in a success message with no action taken.

    This field is autopopulated if not provided.

  • FrameworkTags (dict) –

    The tags to assign to the framework.

    • (string) –

      • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'FrameworkName': 'string',
    'FrameworkArn': 'string'
}

Response Structure

  • (dict) –

    • FrameworkName (string) –

      The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).

    • FrameworkArn (string) –

      An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

Exceptions

  • Backup.Client.exceptions.AlreadyExistsException

  • Backup.Client.exceptions.LimitExceededException

  • Backup.Client.exceptions.InvalidParameterValueException

  • Backup.Client.exceptions.MissingParameterValueException

  • Backup.Client.exceptions.ServiceUnavailableException