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

******************************
describe_configuration_options
******************************



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

  

  Describes the configuration options that are used in a particular configuration template or environment, or that a specified solution stack defines. The description includes the values the options, their default values, and an indication of the required action on a running environment if an option value is changed.

  

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


  **Request Syntax**
  ::

    response = client.describe_configuration_options(
        ApplicationName='string',
        TemplateName='string',
        EnvironmentName='string',
        SolutionStackName='string',
        PlatformArn='string',
        Options=[
            {
                'ResourceName': 'string',
                'Namespace': 'string',
                'OptionName': 'string'
            },
        ]
    )
    
  :type ApplicationName: string
  :param ApplicationName: 

    The name of the application associated with the configuration template or environment. Only needed if you want to describe the configuration options associated with either the configuration template or environment.

    

  
  :type TemplateName: string
  :param TemplateName: 

    The name of the configuration template whose configuration options you want to describe.

    

  
  :type EnvironmentName: string
  :param EnvironmentName: 

    The name of the environment whose configuration options you want to describe.

    

  
  :type SolutionStackName: string
  :param SolutionStackName: 

    The name of the solution stack whose configuration options you want to describe.

    

  
  :type PlatformArn: string
  :param PlatformArn: 

    The ARN of the custom platform.

    

  
  :type Options: list
  :param Options: 

    If specified, restricts the descriptions to only the specified options.

    

  
    - *(dict) --* 

      A specification identifying an individual configuration option.

      

    
      - **ResourceName** *(string) --* 

        A unique resource name for a time-based scaling configuration option.

        

      
      - **Namespace** *(string) --* 

        A unique namespace identifying the option's associated AWS resource.

        

      
      - **OptionName** *(string) --* 

        The name of the configuration option.

        

      
    

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

    
    ::

      {
          'SolutionStackName': 'string',
          'PlatformArn': 'string',
          'Options': [
              {
                  'Namespace': 'string',
                  'Name': 'string',
                  'DefaultValue': 'string',
                  'ChangeSeverity': 'string',
                  'UserDefined': True|False,
                  'ValueType': 'Scalar'|'List',
                  'ValueOptions': [
                      'string',
                  ],
                  'MinValue': 123,
                  'MaxValue': 123,
                  'MaxLength': 123,
                  'Regex': {
                      'Pattern': 'string',
                      'Label': 'string'
                  }
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Describes the settings for a specified configuration set.

      
      

      - **SolutionStackName** *(string) --* 

        The name of the solution stack these configuration options belong to.

        
      

      - **PlatformArn** *(string) --* 

        The ARN of the platform version.

        
      

      - **Options** *(list) --* 

        A list of  ConfigurationOptionDescription.

        
        

        - *(dict) --* 

          Describes the possible values for a configuration option.

          
          

          - **Namespace** *(string) --* 

            A unique namespace identifying the option's associated AWS resource.

            
          

          - **Name** *(string) --* 

            The name of the configuration option.

            
          

          - **DefaultValue** *(string) --* 

            The default value for this configuration option.

            
          

          - **ChangeSeverity** *(string) --* 

            An indication of which action is required if the value for this configuration option changes:

             

            
            * ``NoInterruption`` : There is no interruption to the environment or application availability.
             
            * ``RestartEnvironment`` : The environment is entirely restarted, all AWS resources are deleted and recreated, and the environment is unavailable during the process.
             
            * ``RestartApplicationServer`` : The environment is available the entire time. However, a short application outage occurs when the application servers on the running Amazon EC2 instances are restarted.
            

            
          

          - **UserDefined** *(boolean) --* 

            An indication of whether the user defined this configuration option:

             

            
            * ``true`` : This configuration option was defined by the user. It is a valid choice for specifying if this as an ``Option to Remove`` when updating configuration settings.
             
            * ``false`` : This configuration was not defined by the user.
            

             

            Constraint: You can remove only ``UserDefined`` options from a configuration.

             

            Valid Values: ``true`` | ``false``

            
          

          - **ValueType** *(string) --* 

            An indication of which type of values this option has and whether it is allowable to select one or more than one of the possible values:

             

            
            * ``Scalar`` : Values for this option are a single selection from the possible values, or an unformatted string, or numeric value governed by the ``MIN/MAX/Regex`` constraints.
             
            * ``List`` : Values for this option are multiple selections from the possible values.
             
            * ``Boolean`` : Values for this option are either ``true`` or ``false`` .
             
            * ``Json`` : Values for this option are a JSON representation of a ``ConfigDocument``.
            

            
          

          - **ValueOptions** *(list) --* 

            If specified, values for the configuration option are selected from this list.

            
            

            - *(string) --* 
        
          

          - **MinValue** *(integer) --* 

            If specified, the configuration option must be a numeric value greater than this value.

            
          

          - **MaxValue** *(integer) --* 

            If specified, the configuration option must be a numeric value less than this value.

            
          

          - **MaxLength** *(integer) --* 

            If specified, the configuration option must be a string value no longer than this value.

            
          

          - **Regex** *(dict) --* 

            If specified, the configuration option must be a string value that satisfies this regular expression.

            
            

            - **Pattern** *(string) --* 

              The regular expression pattern that a string configuration option value with this restriction must match.

              
            

            - **Label** *(string) --* 

              A unique name representing this regular expression.

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

  

  **Examples**

  The following operation retrieves descriptions of all available configuration options for an environment named my-env:
  ::

    response = client.describe_configuration_options(
        ApplicationName='my-app',
        EnvironmentName='my-env',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'Options': [
            {
                'ChangeSeverity': 'NoInterruption',
                'DefaultValue': '30',
                'MaxValue': 300,
                'MinValue': 5,
                'Name': 'Interval',
                'Namespace': 'aws:elb:healthcheck',
                'UserDefined': False,
                'ValueType': 'Scalar',
            },
            {
                'ChangeSeverity': 'NoInterruption',
                'DefaultValue': '2000000',
                'MinValue': 0,
                'Name': 'LowerThreshold',
                'Namespace': 'aws:autoscaling:trigger',
                'UserDefined': False,
                'ValueType': 'Scalar',
            },
        ],
        'ResponseMetadata': {
            '...': '...',
        },
    }

  