:doc:`Backup <../../backup>` / Client / describe_framework

******************
describe_framework
******************



.. py:method:: Backup.Client.describe_framework(**kwargs)

  

  Returns the framework details for the specified ``FrameworkName``.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeFramework>`_  


  **Request Syntax**
  ::

    response = client.describe_framework(
        FrameworkName='string'
    )
    
  :type FrameworkName: string
  :param FrameworkName: **[REQUIRED]** 

    The unique name of a framework.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'FrameworkName': 'string',
          'FrameworkArn': 'string',
          'FrameworkDescription': 'string',
          'FrameworkControls': [
              {
                  'ControlName': 'string',
                  'ControlInputParameters': [
                      {
                          'ParameterName': 'string',
                          'ParameterValue': 'string'
                      },
                  ],
                  'ControlScope': {
                      'ComplianceResourceIds': [
                          'string',
                      ],
                      'ComplianceResourceTypes': [
                          'string',
                      ],
                      'Tags': {
                          'string': 'string'
                      }
                  }
              },
          ],
          'CreationTime': datetime(2015, 1, 1),
          'DeploymentStatus': 'string',
          'FrameworkStatus': 'string',
          'IdempotencyToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **FrameworkName** *(string) --* 

        The unique name of a framework.

        
      

      - **FrameworkArn** *(string) --* 

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

        
      

      - **FrameworkDescription** *(string) --* 

        An optional description of the framework.

        
      

      - **FrameworkControls** *(list) --* 

        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) --* 

            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. <https://docs.aws.amazon.com/aws-backup/latest/devguide/API_ControlScope.html>`__

            
            

            - **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) --* 
          
        
        
      
    
      

      - **CreationTime** *(datetime) --* 

        The date and time that a framework is created, in ISO 8601 representation. The value of ``CreationTime`` is accurate to milliseconds. For example, 2020-07-10T15:00:00.000-08:00 represents the 10th of July 2020 at 3:00 PM 8 hours behind UTC.

        
      

      - **DeploymentStatus** *(string) --* 

        The deployment status of a framework. The statuses are:

         

        ``CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED``

        
      

      - **FrameworkStatus** *(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 Config recording on or off for each resource. The statuses are:

         

        
        * ``ACTIVE`` when recording is turned on for all resources governed by the framework.
         
        * ``PARTIALLY_ACTIVE`` when recording is turned off for at least one resource governed by the framework.
         
        * ``INACTIVE`` when recording is turned off for all resources governed by the framework.
         
        * ``UNAVAILABLE`` when Backup is unable to validate recording status at this time.
        

        
      

      - **IdempotencyToken** *(string) --* 

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

        
  
  **Exceptions**
  
  *   :py:class:`Backup.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`Backup.Client.exceptions.InvalidParameterValueException`

  
  *   :py:class:`Backup.Client.exceptions.MissingParameterValueException`

  
  *   :py:class:`Backup.Client.exceptions.ServiceUnavailableException`

  