:doc:`RDS <../../rds>` / Client / describe_option_groups

**********************
describe_option_groups
**********************



.. py:method:: RDS.Client.describe_option_groups(**kwargs)

  

  Describes the available option groups.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups>`_  


  **Request Syntax**
  ::

    response = client.describe_option_groups(
        OptionGroupName='string',
        Filters=[
            {
                'Name': 'string',
                'Values': [
                    'string',
                ]
            },
        ],
        Marker='string',
        MaxRecords=123,
        EngineName='string',
        MajorEngineVersion='string'
    )
    
  :type OptionGroupName: string
  :param OptionGroupName: 

    The name of the option group to describe. Can't be supplied together with EngineName or MajorEngineVersion.

    

  
  :type Filters: list
  :param Filters: 

    This parameter isn't currently supported.

    

  
    - *(dict) --* 

      A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as IDs. The filters supported by a describe operation are documented with the describe operation.

       

      .. note::

        

        Currently, wildcards are not supported in filters.

        

       

      The following actions can be filtered:

       

      
      * ``DescribeDBClusterBacktracks``
       
      * ``DescribeDBClusterEndpoints``
       
      * ``DescribeDBClusters``
       
      * ``DescribeDBInstances``
       
      * ``DescribeDBRecommendations``
       
      * ``DescribeDBShardGroups``
       
      * ``DescribePendingMaintenanceActions``
      

      

    
      - **Name** *(string) --* **[REQUIRED]** 

        The name of the filter. Filter names are case-sensitive.

        

      
      - **Values** *(list) --* **[REQUIRED]** 

        One or more filter values. Filter values are case-sensitive.

        

      
        - *(string) --* 

        
    
    

  :type Marker: string
  :param Marker: 

    An optional pagination token provided by a previous DescribeOptionGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by ``MaxRecords``.

    

  
  :type MaxRecords: integer
  :param MaxRecords: 

    The maximum number of records to include in the response. If more records exist than the specified ``MaxRecords`` value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

     

    Default: 100

     

    Constraints: Minimum 20, maximum 100.

    

  
  :type EngineName: string
  :param EngineName: 

    A filter to only include option groups associated with this database engine.

     

    Valid Values:

     

    
    * ``db2-ae``
     
    * ``db2-se``
     
    * ``mariadb``
     
    * ``mysql``
     
    * ``oracle-ee``
     
    * ``oracle-ee-cdb``
     
    * ``oracle-se2``
     
    * ``oracle-se2-cdb``
     
    * ``postgres``
     
    * ``sqlserver-ee``
     
    * ``sqlserver-se``
     
    * ``sqlserver-ex``
     
    * ``sqlserver-web``
    

    

  
  :type MajorEngineVersion: string
  :param MajorEngineVersion: 

    Filters the list of option groups to only include groups associated with a specific database engine version. If specified, then EngineName must also be specified.

    

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

    
    ::

      {
          'OptionGroupsList': [
              {
                  'OptionGroupName': 'string',
                  'OptionGroupDescription': 'string',
                  'EngineName': 'string',
                  'MajorEngineVersion': 'string',
                  'Options': [
                      {
                          'OptionName': 'string',
                          'OptionDescription': 'string',
                          'Persistent': True|False,
                          'Permanent': True|False,
                          'Port': 123,
                          'OptionVersion': 'string',
                          'OptionSettings': [
                              {
                                  'Name': 'string',
                                  'Value': 'string',
                                  'DefaultValue': 'string',
                                  'Description': 'string',
                                  'ApplyType': 'string',
                                  'DataType': 'string',
                                  'AllowedValues': 'string',
                                  'IsModifiable': True|False,
                                  'IsCollection': True|False
                              },
                          ],
                          'DBSecurityGroupMemberships': [
                              {
                                  'DBSecurityGroupName': 'string',
                                  'Status': 'string'
                              },
                          ],
                          'VpcSecurityGroupMemberships': [
                              {
                                  'VpcSecurityGroupId': 'string',
                                  'Status': 'string'
                              },
                          ]
                      },
                  ],
                  'AllowsVpcAndNonVpcInstanceMemberships': True|False,
                  'VpcId': 'string',
                  'OptionGroupArn': 'string',
                  'SourceOptionGroup': 'string',
                  'SourceAccountId': 'string',
                  'CopyTimestamp': datetime(2015, 1, 1)
              },
          ],
          'Marker': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      List of option groups.

      
      

      - **OptionGroupsList** *(list) --* 

        List of option groups.

        
        

        - *(dict) --* 
          

          - **OptionGroupName** *(string) --* 

            Specifies the name of the option group.

            
          

          - **OptionGroupDescription** *(string) --* 

            Provides a description of the option group.

            
          

          - **EngineName** *(string) --* 

            Indicates the name of the engine that this option group can be applied to.

            
          

          - **MajorEngineVersion** *(string) --* 

            Indicates the major engine version associated with this option group.

            
          

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

            Indicates what options are available in the option group.

            
            

            - *(dict) --* 

              The details of an option.

              
              

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

                The name of the option.

                
              

              - **OptionDescription** *(string) --* 

                The description of the option.

                
              

              - **Persistent** *(boolean) --* 

                Indicates whether this option is persistent.

                
              

              - **Permanent** *(boolean) --* 

                Indicates whether this option is permanent.

                
              

              - **Port** *(integer) --* 

                If required, the port configured for this option to use.

                
              

              - **OptionVersion** *(string) --* 

                The version of the option.

                
              

              - **OptionSettings** *(list) --* 

                The option settings for this option.

                
                

                - *(dict) --* 

                  Option settings are the actual settings being applied or configured for that option. It is used when you modify an option group or describe option groups. For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER that can have several different values.

                  
                  

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

                    The name of the option that has settings that you can set.

                    
                  

                  - **Value** *(string) --* 

                    The current value of the option setting.

                    
                  

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

                    The default value of the option setting.

                    
                  

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

                    The description of the option setting.

                    
                  

                  - **ApplyType** *(string) --* 

                    The DB engine specific parameter type.

                    
                  

                  - **DataType** *(string) --* 

                    The data type of the option setting.

                    
                  

                  - **AllowedValues** *(string) --* 

                    The allowed values of the option setting.

                    
                  

                  - **IsModifiable** *(boolean) --* 

                    Indicates whether the option setting can be modified from the default.

                    
                  

                  - **IsCollection** *(boolean) --* 

                    Indicates whether the option setting is part of a collection.

                    
              
            
              

              - **DBSecurityGroupMemberships** *(list) --* 

                If the option requires access to a port, then this DB security group allows access to the port.

                
                

                - *(dict) --* 

                  This data type is used as a response element in the following actions:

                   

                  
                  * ``ModifyDBInstance``
                   
                  * ``RebootDBInstance``
                   
                  * ``RestoreDBInstanceFromDBSnapshot``
                   
                  * ``RestoreDBInstanceToPointInTime``
                  

                  
                  

                  - **DBSecurityGroupName** *(string) --* 

                    The name of the DB security group.

                    
                  

                  - **Status** *(string) --* 

                    The status of the DB security group.

                    
              
            
              

              - **VpcSecurityGroupMemberships** *(list) --* 

                If the option requires access to a port, then this VPC security group allows access to the port.

                
                

                - *(dict) --* 

                  This data type is used as a response element for queries on VPC security group membership.

                  
                  

                  - **VpcSecurityGroupId** *(string) --* 

                    The name of the VPC security group.

                    
                  

                  - **Status** *(string) --* 

                    The membership status of the VPC security group.

                     

                    Currently, the only valid status is ``active``.

                    
              
            
          
        
          

          - **AllowsVpcAndNonVpcInstanceMemberships** *(boolean) --* 

            Indicates whether this option group can be applied to both VPC and non-VPC instances. The value ``true`` indicates the option group can be applied to both VPC and non-VPC instances.

            
          

          - **VpcId** *(string) --* 

            If **AllowsVpcAndNonVpcInstanceMemberships** is ``false``, this field is blank. If **AllowsVpcAndNonVpcInstanceMemberships** is ``true`` and this field is blank, then this option group can be applied to both VPC and non-VPC instances. If this field contains a value, then this option group can only be applied to instances that are in the VPC indicated by this field.

            
          

          - **OptionGroupArn** *(string) --* 

            Specifies the Amazon Resource Name (ARN) for the option group.

            
          

          - **SourceOptionGroup** *(string) --* 

            Specifies the name of the option group from which this option group is copied.

            
          

          - **SourceAccountId** *(string) --* 

            Specifies the Amazon Web Services account ID for the option group from which this option group is copied.

            
          

          - **CopyTimestamp** *(datetime) --* 

            Indicates when the option group was copied.

            
      
    
      

      - **Marker** *(string) --* 

        An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by ``MaxRecords``.

        
  
  **Exceptions**
  
  *   :py:class:`RDS.Client.exceptions.OptionGroupNotFoundFault`

  

  **Examples**

  This example lists information for all option groups for the specified DB engine.
  ::

    response = client.describe_option_groups(
        EngineName='mysql',
        MajorEngineVersion='5.6',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'ResponseMetadata': {
            '...': '...',
        },
    }

  