:doc:`Shield <../../shield>` / Client / describe_subscription

*********************
describe_subscription
*********************



.. py:method:: Shield.Client.describe_subscription()

  

  Provides details about the Shield Advanced subscription for an account.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription>`_  


  **Request Syntax**
  ::

    response = client.describe_subscription()
    
    
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Subscription': {
              'StartTime': datetime(2015, 1, 1),
              'EndTime': datetime(2015, 1, 1),
              'TimeCommitmentInSeconds': 123,
              'AutoRenew': 'ENABLED'|'DISABLED',
              'Limits': [
                  {
                      'Type': 'string',
                      'Max': 123
                  },
              ],
              'ProactiveEngagementStatus': 'ENABLED'|'DISABLED'|'PENDING',
              'SubscriptionLimits': {
                  'ProtectionLimits': {
                      'ProtectedResourceTypeLimits': [
                          {
                              'Type': 'string',
                              'Max': 123
                          },
                      ]
                  },
                  'ProtectionGroupLimits': {
                      'MaxProtectionGroups': 123,
                      'PatternTypeLimits': {
                          'ArbitraryPatternLimits': {
                              'MaxMembers': 123
                          }
                      }
                  }
              },
              'SubscriptionArn': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Subscription** *(dict) --* 

        The Shield Advanced subscription details for an account.

        
        

        - **StartTime** *(datetime) --* 

          The start time of the subscription, in Unix time in seconds.

          
        

        - **EndTime** *(datetime) --* 

          The date and time your subscription will end.

          
        

        - **TimeCommitmentInSeconds** *(integer) --* 

          The length, in seconds, of the Shield Advanced subscription for the account.

          
        

        - **AutoRenew** *(string) --* 

          If ``ENABLED``, the subscription will be automatically renewed at the end of the existing subscription period.

           

          When you initally create a subscription, ``AutoRenew`` is set to ``ENABLED``. You can change this by submitting an ``UpdateSubscription`` request. If the ``UpdateSubscription`` request does not included a value for ``AutoRenew``, the existing value for ``AutoRenew`` remains unchanged.

          
        

        - **Limits** *(list) --* 

          Specifies how many protections of a given type you can create.

          
          

          - *(dict) --* 

            Specifies how many protections of a given type you can create.

            
            

            - **Type** *(string) --* 

              The type of protection.

              
            

            - **Max** *(integer) --* 

              The maximum number of protections that can be created for the specified ``Type``.

              
        
      
        

        - **ProactiveEngagementStatus** *(string) --* 

          If ``ENABLED``, the Shield Response Team (SRT) will use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support.

           

          If ``PENDING``, you have requested proactive engagement and the request is pending. The status changes to ``ENABLED`` when your request is fully processed.

           

          If ``DISABLED``, the SRT will not proactively notify contacts about escalations or to initiate proactive customer support.

          
        

        - **SubscriptionLimits** *(dict) --* 

          Limits settings for your subscription.

          
          

          - **ProtectionLimits** *(dict) --* 

            Limits settings on protections for your subscription.

            
            

            - **ProtectedResourceTypeLimits** *(list) --* 

              The maximum number of resource types that you can specify in a protection.

              
              

              - *(dict) --* 

                Specifies how many protections of a given type you can create.

                
                

                - **Type** *(string) --* 

                  The type of protection.

                  
                

                - **Max** *(integer) --* 

                  The maximum number of protections that can be created for the specified ``Type``.

                  
            
          
        
          

          - **ProtectionGroupLimits** *(dict) --* 

            Limits settings on protection groups for your subscription.

            
            

            - **MaxProtectionGroups** *(integer) --* 

              The maximum number of protection groups that you can have at one time.

              
            

            - **PatternTypeLimits** *(dict) --* 

              Limits settings by pattern type in the protection groups for your subscription.

              
              

              - **ArbitraryPatternLimits** *(dict) --* 

                Limits settings on protection groups with arbitrary pattern type.

                
                

                - **MaxMembers** *(integer) --* 

                  The maximum number of resources you can specify for a single arbitrary pattern in a protection group.

                  
            
          
        
      
        

        - **SubscriptionArn** *(string) --* 

          The ARN (Amazon Resource Name) of the subscription.

          
    
  
  **Exceptions**
  
  *   :py:class:`Shield.Client.exceptions.InternalErrorException`

  
  *   :py:class:`Shield.Client.exceptions.ResourceNotFoundException`

  