create_framework

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]

    A list of 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) --

        A list of ParameterName and ParameterValue pairs.

        • (dict) --

          A list of 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. 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) --

    Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair.

    • (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