create_option_group

create_option_group(**kwargs)

Creates a new option group. You can create up to 20 option groups.

This command doesn't apply to RDS Custom.

See also: AWS API Documentation

Request Syntax

response = client.create_option_group(
    OptionGroupName='string',
    EngineName='string',
    MajorEngineVersion='string',
    OptionGroupDescription='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
Parameters
  • OptionGroupName (string) --

    [REQUIRED]

    Specifies the name of the option group to be created.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens
    • First character must be a letter
    • Can't end with a hyphen or contain two consecutive hyphens

    Example: myoptiongroup

  • EngineName (string) --

    [REQUIRED]

    Specifies the name of the engine that this option group should be associated with.

    Valid Values:

    • mariadb
    • mysql
    • oracle-ee
    • oracle-ee-cdb
    • oracle-se2
    • oracle-se2-cdb
    • postgres
    • sqlserver-ee
    • sqlserver-se
    • sqlserver-ex
    • sqlserver-web
  • MajorEngineVersion (string) --

    [REQUIRED]

    Specifies the major version of the engine that this option group should be associated with.

  • OptionGroupDescription (string) --

    [REQUIRED]

    The description of the option group.

  • Tags (list) --

    Tags to assign to the option group.

    • (dict) --

      Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

      For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

      • Key (string) --

        A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with aws: or rds: . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$").

      • Value (string) --

        A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with aws: or rds: . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$").

Return type

dict

Returns

Response Syntax

{
    'OptionGroup': {
        '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)
    }
}

Response Structure

  • (dict) --

    • OptionGroup (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) --

          Option details.

          • OptionName (string) --

            The name of the option.

          • OptionDescription (string) --

            The description of the option.

          • Persistent (boolean) --

            Indicate if this option is persistent.

          • Permanent (boolean) --

            Indicate if 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) --

                A Boolean value that, when true, indicates the option setting can be modified from the default.

              • IsCollection (boolean) --

                Indicates if 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.

Exceptions

  • RDS.Client.exceptions.OptionGroupAlreadyExistsFault
  • RDS.Client.exceptions.OptionGroupQuotaExceededFault

Examples

This example creates an option group.

response = client.create_option_group(
    EngineName='MySQL',
    MajorEngineVersion='5.6',
    OptionGroupDescription='My MySQL 5.6 option group',
    OptionGroupName='mymysqloptiongroup',
)

print(response)

Expected Output:

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