:doc:`ElasticBeanstalk <../../elasticbeanstalk>` / Client / describe_applications

*********************
describe_applications
*********************



.. py:method:: ElasticBeanstalk.Client.describe_applications(**kwargs)

  

  Returns the descriptions of existing applications.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplications>`_  


  **Request Syntax**
  ::

    response = client.describe_applications(
        ApplicationNames=[
            'string',
        ]
    )
    
  :type ApplicationNames: list
  :param ApplicationNames: 

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include those with the specified names.

    

  
    - *(string) --* 

    

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

    
    ::

      {
          'Applications': [
              {
                  'ApplicationArn': 'string',
                  'ApplicationName': 'string',
                  'Description': 'string',
                  'DateCreated': datetime(2015, 1, 1),
                  'DateUpdated': datetime(2015, 1, 1),
                  'Versions': [
                      'string',
                  ],
                  'ConfigurationTemplates': [
                      'string',
                  ],
                  'ResourceLifecycleConfig': {
                      'ServiceRole': 'string',
                      'VersionLifecycleConfig': {
                          'MaxCountRule': {
                              'Enabled': True|False,
                              'MaxCount': 123,
                              'DeleteSourceFromS3': True|False
                          },
                          'MaxAgeRule': {
                              'Enabled': True|False,
                              'MaxAgeInDays': 123,
                              'DeleteSourceFromS3': True|False
                          }
                      }
                  }
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Result message containing a list of application descriptions.

      
      

      - **Applications** *(list) --* 

        This parameter contains a list of  ApplicationDescription.

        
        

        - *(dict) --* 

          Describes the properties of an application.

          
          

          - **ApplicationArn** *(string) --* 

            The Amazon Resource Name (ARN) of the application.

            
          

          - **ApplicationName** *(string) --* 

            The name of the application.

            
          

          - **Description** *(string) --* 

            User-defined description of the application.

            
          

          - **DateCreated** *(datetime) --* 

            The date when the application was created.

            
          

          - **DateUpdated** *(datetime) --* 

            The date when the application was last modified.

            
          

          - **Versions** *(list) --* 

            The names of the versions for this application.

            
            

            - *(string) --* 
        
          

          - **ConfigurationTemplates** *(list) --* 

            The names of the configuration templates associated with this application.

            
            

            - *(string) --* 
        
          

          - **ResourceLifecycleConfig** *(dict) --* 

            The lifecycle settings for the application.

            
            

            - **ServiceRole** *(string) --* 

              The ARN of an IAM service role that Elastic Beanstalk has permission to assume.

               

              The ``ServiceRole`` property is required the first time that you provide a ``VersionLifecycleConfig`` for the application in one of the supporting calls ( ``CreateApplication`` or ``UpdateApplicationResourceLifecycle``). After you provide it once, in either one of the calls, Elastic Beanstalk persists the Service Role with the application, and you don't need to specify it again in subsequent ``UpdateApplicationResourceLifecycle`` calls. You can, however, specify it in subsequent calls to change the Service Role to another value.

              
            

            - **VersionLifecycleConfig** *(dict) --* 

              Defines lifecycle settings for application versions.

              
              

              - **MaxCountRule** *(dict) --* 

                Specify a max count rule to restrict the number of application versions that are retained for an application.

                
                

                - **Enabled** *(boolean) --* 

                  Specify ``true`` to apply the rule, or ``false`` to disable it.

                  
                

                - **MaxCount** *(integer) --* 

                  Specify the maximum number of application versions to retain.

                  
                

                - **DeleteSourceFromS3** *(boolean) --* 

                  Set to ``true`` to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

                  
            
              

              - **MaxAgeRule** *(dict) --* 

                Specify a max age rule to restrict the length of time that application versions are retained for an application.

                
                

                - **Enabled** *(boolean) --* 

                  Specify ``true`` to apply the rule, or ``false`` to disable it.

                  
                

                - **MaxAgeInDays** *(integer) --* 

                  Specify the number of days to retain an application versions.

                  
                

                - **DeleteSourceFromS3** *(boolean) --* 

                  Set to ``true`` to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

                  
            
          
        
      
    
  

  **Examples**

  The following operation retrieves information about applications in the current region:
  ::

    response = client.describe_applications(
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'Applications': [
            {
                'ApplicationName': 'ruby',
                'ConfigurationTemplates': [
                ],
                'DateCreated': datetime(2015, 8, 13, 21, 5, 44, 3, 225, 0),
                'DateUpdated': datetime(2015, 8, 13, 21, 5, 44, 3, 225, 0),
                'Versions': [
                    'Sample Application',
                ],
            },
            {
                'ApplicationName': 'pythonsample',
                'ConfigurationTemplates': [
                ],
                'DateCreated': datetime(2015, 8, 13, 19, 5, 43, 3, 225, 0),
                'DateUpdated': datetime(2015, 8, 13, 19, 5, 43, 3, 225, 0),
                'Description': 'Application created from the EB CLI using "eb init"',
                'Versions': [
                    'Sample Application',
                ],
            },
            {
                'ApplicationName': 'nodejs-example',
                'ConfigurationTemplates': [
                ],
                'DateCreated': datetime(2015, 8, 6, 17, 50, 2, 3, 218, 0),
                'DateUpdated': datetime(2015, 8, 6, 17, 50, 2, 3, 218, 0),
                'Versions': [
                    'add elasticache',
                    'First Release',
                ],
            },
        ],
        'ResponseMetadata': {
            '...': '...',
        },
    }

  