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

********************
get_backup_selection
********************



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

  

  Returns selection metadata and a document in JSON format that specifies a list of resources that are associated with a backup plan.

  

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


  **Request Syntax**
  ::

    response = client.get_backup_selection(
        BackupPlanId='string',
        SelectionId='string'
    )
    
  :type BackupPlanId: string
  :param BackupPlanId: **[REQUIRED]** 

    Uniquely identifies a backup plan.

    

  
  :type SelectionId: string
  :param SelectionId: **[REQUIRED]** 

    Uniquely identifies the body of a request to assign a set of resources to a backup plan.

    

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

    
    ::

      {
          'BackupSelection': {
              'SelectionName': 'string',
              'IamRoleArn': 'string',
              'Resources': [
                  'string',
              ],
              'ListOfTags': [
                  {
                      'ConditionType': 'STRINGEQUALS',
                      'ConditionKey': 'string',
                      'ConditionValue': 'string'
                  },
              ],
              'NotResources': [
                  'string',
              ],
              'Conditions': {
                  'StringEquals': [
                      {
                          'ConditionKey': 'string',
                          'ConditionValue': 'string'
                      },
                  ],
                  'StringNotEquals': [
                      {
                          'ConditionKey': 'string',
                          'ConditionValue': 'string'
                      },
                  ],
                  'StringLike': [
                      {
                          'ConditionKey': 'string',
                          'ConditionValue': 'string'
                      },
                  ],
                  'StringNotLike': [
                      {
                          'ConditionKey': 'string',
                          'ConditionValue': 'string'
                      },
                  ]
              }
          },
          'SelectionId': 'string',
          'BackupPlanId': 'string',
          'CreationDate': datetime(2015, 1, 1),
          'CreatorRequestId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **BackupSelection** *(dict) --* 

        Specifies the body of a request to assign a set of resources to a backup plan.

        
        

        - **SelectionName** *(string) --* 

          The display name of a resource selection document. Must contain 1 to 50 alphanumeric or '-_.' characters.

          
        

        - **IamRoleArn** *(string) --* 

          The ARN of the IAM role that Backup uses to authenticate when backing up the target resource; for example, ``arn:aws:iam::123456789012:role/S3Access``.

          
        

        - **Resources** *(list) --* 

          The Amazon Resource Names (ARNs) of the resources to assign to a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.

           

          If you need to assign many resources to a backup plan, consider a different resource selection strategy, such as assigning all resources of a resource type or refining your resource selection using tags.

           

          If you specify multiple ARNs, the resources much match any of the ARNs (OR logic).

          
          

          - *(string) --* 
      
        

        - **ListOfTags** *(list) --* 

          The conditions that you define to assign resources to your backup plans using tags. For example, ``"StringEquals": { "ConditionKey": "backup", "ConditionValue": "daily"}``.

           

          ``ListOfTags`` supports only ``StringEquals``. Condition operators are case sensitive.

           

          If you specify multiple conditions, the resources much match any of the conditions (OR logic).

          
          

          - *(dict) --* 

            Contains an array of triplets made up of a condition type (such as ``StringEquals``), a key, and a value. Used to filter resources using their tags and assign them to a backup plan. Case sensitive.

            
            

            - **ConditionType** *(string) --* 

              An operation applied to a key-value pair used to assign resources to your backup plan. Condition only supports ``StringEquals``. For more flexible assignment options, including ``StringLike`` and the ability to exclude resources from your backup plan, use ``Conditions`` (with an "s" on the end) for your `BackupSelection <https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupSelection.html>`__.

              
            

            - **ConditionKey** *(string) --* 

              The key in a key-value pair. For example, in the tag ``Department: Accounting``, ``Department`` is the key.

              
            

            - **ConditionValue** *(string) --* 

              The value in a key-value pair. For example, in the tag ``Department: Accounting``, ``Accounting`` is the value.

              
        
      
        

        - **NotResources** *(list) --* 

          The Amazon Resource Names (ARNs) of the resources to exclude from a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.

           

          If you need to exclude many resources from a backup plan, consider a different resource selection strategy, such as assigning only one or a few resource types or refining your resource selection using tags.

          
          

          - *(string) --* 
      
        

        - **Conditions** *(dict) --* 

          The conditions that you define to assign resources to your backup plans using tags. For example, ``"StringEquals": { "ConditionKey": "aws:ResourceTag/backup", "ConditionValue": "daily" }``.

           

          ``Conditions`` supports ``StringEquals``, ``StringLike``, ``StringNotEquals``, and ``StringNotLike``. Condition operators are case sensitive.

           

          If you specify multiple conditions, the resources much match all conditions (AND logic).

          
          

          - **StringEquals** *(list) --* 

            Filters the values of your tagged resources for only those resources that you tagged with the same value. Also called "exact matching."

            
            

            - *(dict) --* 

              Includes information about tags you define to assign tagged resources to a backup plan.

               

              Include the prefix ``aws:ResourceTag`` in your tags. For example, ``"aws:ResourceTag/TagKey1": "Value1"``.

              
              

              - **ConditionKey** *(string) --* 

                The key in a key-value pair. For example, in the tag ``Department: Accounting``, ``Department`` is the key.

                
              

              - **ConditionValue** *(string) --* 

                The value in a key-value pair. For example, in the tag ``Department: Accounting``, ``Accounting`` is the value.

                
          
        
          

          - **StringNotEquals** *(list) --* 

            Filters the values of your tagged resources for only those resources that you tagged that do not have the same value. Also called "negated matching."

            
            

            - *(dict) --* 

              Includes information about tags you define to assign tagged resources to a backup plan.

               

              Include the prefix ``aws:ResourceTag`` in your tags. For example, ``"aws:ResourceTag/TagKey1": "Value1"``.

              
              

              - **ConditionKey** *(string) --* 

                The key in a key-value pair. For example, in the tag ``Department: Accounting``, ``Department`` is the key.

                
              

              - **ConditionValue** *(string) --* 

                The value in a key-value pair. For example, in the tag ``Department: Accounting``, ``Accounting`` is the value.

                
          
        
          

          - **StringLike** *(list) --* 

            Filters the values of your tagged resources for matching tag values with the use of a wildcard character (*) anywhere in the string. For example, "prod*" or "*rod*" matches the tag value "production".

            
            

            - *(dict) --* 

              Includes information about tags you define to assign tagged resources to a backup plan.

               

              Include the prefix ``aws:ResourceTag`` in your tags. For example, ``"aws:ResourceTag/TagKey1": "Value1"``.

              
              

              - **ConditionKey** *(string) --* 

                The key in a key-value pair. For example, in the tag ``Department: Accounting``, ``Department`` is the key.

                
              

              - **ConditionValue** *(string) --* 

                The value in a key-value pair. For example, in the tag ``Department: Accounting``, ``Accounting`` is the value.

                
          
        
          

          - **StringNotLike** *(list) --* 

            Filters the values of your tagged resources for non-matching tag values with the use of a wildcard character (*) anywhere in the string.

            
            

            - *(dict) --* 

              Includes information about tags you define to assign tagged resources to a backup plan.

               

              Include the prefix ``aws:ResourceTag`` in your tags. For example, ``"aws:ResourceTag/TagKey1": "Value1"``.

              
              

              - **ConditionKey** *(string) --* 

                The key in a key-value pair. For example, in the tag ``Department: Accounting``, ``Department`` is the key.

                
              

              - **ConditionValue** *(string) --* 

                The value in a key-value pair. For example, in the tag ``Department: Accounting``, ``Accounting`` is the value.

                
          
        
      
    
      

      - **SelectionId** *(string) --* 

        Uniquely identifies the body of a request to assign a set of resources to a backup plan.

        
      

      - **BackupPlanId** *(string) --* 

        Uniquely identifies a backup plan.

        
      

      - **CreationDate** *(datetime) --* 

        The date and time a backup selection is created, in Unix format and Coordinated Universal Time (UTC). The value of ``CreationDate`` is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

        
      

      - **CreatorRequestId** *(string) --* 

        A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.

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

  