:doc:`RDS <../../rds>` / Paginator / DescribeOptionGroups

********************
DescribeOptionGroups
********************



.. py:class:: RDS.Paginator.DescribeOptionGroups

  ::

    
    paginator = client.get_paginator('describe_option_groups')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`RDS.Client.describe_option_groups`.

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


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          OptionGroupName='string',
          Filters=[
              {
                  'Name': 'string',
                  'Values': [
                      'string',
                  ]
              },
          ],
          EngineName='string',
          MajorEngineVersion='string',
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': '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 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.

      

    
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

      
    
    
    :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)
                },
            ],
            'NextToken': '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.

              
        
      
        

        - **NextToken** *(string) --* 

          A token to resume pagination.

          
    