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

*************************************
update_application_resource_lifecycle
*************************************



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

  

  Modifies lifecycle settings for an application.

  

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


  **Request Syntax**
  ::

    response = client.update_application_resource_lifecycle(
        ApplicationName='string',
        ResourceLifecycleConfig={
            'ServiceRole': 'string',
            'VersionLifecycleConfig': {
                'MaxCountRule': {
                    'Enabled': True|False,
                    'MaxCount': 123,
                    'DeleteSourceFromS3': True|False
                },
                'MaxAgeRule': {
                    'Enabled': True|False,
                    'MaxAgeInDays': 123,
                    'DeleteSourceFromS3': True|False
                }
            }
        }
    )
    
  :type ApplicationName: string
  :param ApplicationName: **[REQUIRED]** 

    The name of the application.

    

  
  :type ResourceLifecycleConfig: dict
  :param ResourceLifecycleConfig: **[REQUIRED]** 

    The lifecycle configuration.

    

  
    - **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) --* **[REQUIRED]** 

          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) --* **[REQUIRED]** 

          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.

          

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

    
    ::

      {
          'ApplicationName': '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) --* 
      

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

        The name of the application.

        
      

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

        The lifecycle configuration.

        
        

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

              
        
      
    
  
  **Exceptions**
  
  *   :py:class:`ElasticBeanstalk.Client.exceptions.InsufficientPrivilegesException`

  