create_db_proxy

RDS.Client.create_db_proxy(**kwargs)

Creates a new DB proxy.

See also: AWS API Documentation

Request Syntax

response = client.create_db_proxy(
    DBProxyName='string',
    EngineFamily='MYSQL'|'POSTGRESQL'|'SQLSERVER',
    Auth=[
        {
            'Description': 'string',
            'UserName': 'string',
            'AuthScheme': 'SECRETS',
            'SecretArn': 'string',
            'IAMAuth': 'DISABLED'|'REQUIRED'|'ENABLED',
            'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD'|'POSTGRES_SCRAM_SHA_256'|'POSTGRES_MD5'|'SQL_SERVER_AUTHENTICATION'
        },
    ],
    RoleArn='string',
    VpcSubnetIds=[
        'string',
    ],
    VpcSecurityGroupIds=[
        'string',
    ],
    RequireTLS=True|False,
    IdleClientTimeout=123,
    DebugLogging=True|False,
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
Parameters
  • DBProxyName (string) --

    [REQUIRED]

    The identifier for the proxy. This name must be unique for all proxies owned by your Amazon Web Services account in the specified Amazon Web Services Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

  • EngineFamily (string) --

    [REQUIRED]

    The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL . For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL . For RDS for Microsoft SQL Server, specify SQLSERVER .

  • Auth (list) --

    [REQUIRED]

    The authorization mechanism that the proxy uses.

    • (dict) --

      Specifies the details of authentication used by a proxy to log in as a specific database user.

      • Description (string) --

        A user-specified description about the authentication used by a proxy to log in as a specific database user.

      • UserName (string) --

        The name of the database user to which the proxy connects.

      • AuthScheme (string) --

        The type of authentication that the proxy uses for connections from the proxy to the underlying database.

      • SecretArn (string) --

        The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.

      • IAMAuth (string) --

        Whether to require or disallow Amazon Web Services Identity and Access Management (IAM) authentication for connections to the proxy. The ENABLED value is valid only for proxies with RDS for Microsoft SQL Server.

      • ClientPasswordAuthType (string) --

        The type of authentication the proxy uses for connections from clients.

  • RoleArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in Amazon Web Services Secrets Manager.

  • VpcSubnetIds (list) --

    [REQUIRED]

    One or more VPC subnet IDs to associate with the new proxy.

    • (string) --
  • VpcSecurityGroupIds (list) --

    One or more VPC security group IDs to associate with the new proxy.

    • (string) --
  • RequireTLS (boolean) -- A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.
  • IdleClientTimeout (integer) -- The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.
  • DebugLogging (boolean) -- Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.
  • Tags (list) --

    An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.

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

{
    'DBProxy': {
        'DBProxyName': 'string',
        'DBProxyArn': 'string',
        'Status': 'available'|'modifying'|'incompatible-network'|'insufficient-resource-limits'|'creating'|'deleting'|'suspended'|'suspending'|'reactivating',
        'EngineFamily': 'string',
        'VpcId': 'string',
        'VpcSecurityGroupIds': [
            'string',
        ],
        'VpcSubnetIds': [
            'string',
        ],
        'Auth': [
            {
                'Description': 'string',
                'UserName': 'string',
                'AuthScheme': 'SECRETS',
                'SecretArn': 'string',
                'IAMAuth': 'DISABLED'|'REQUIRED'|'ENABLED',
                'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD'|'POSTGRES_SCRAM_SHA_256'|'POSTGRES_MD5'|'SQL_SERVER_AUTHENTICATION'
            },
        ],
        'RoleArn': 'string',
        'Endpoint': 'string',
        'RequireTLS': True|False,
        'IdleClientTimeout': 123,
        'DebugLogging': True|False,
        'CreatedDate': datetime(2015, 1, 1),
        'UpdatedDate': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • DBProxy (dict) --

      The DBProxy structure corresponding to the new proxy.

      • DBProxyName (string) --

        The identifier for the proxy. This name must be unique for all proxies owned by your Amazon Web Services account in the specified Amazon Web Services Region.

      • DBProxyArn (string) --

        The Amazon Resource Name (ARN) for the proxy.

      • Status (string) --

        The current status of this proxy. A status of available means the proxy is ready to handle requests. Other values indicate that you must wait for the proxy to be ready, or take some action to resolve an issue.

      • EngineFamily (string) --

        The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. MYSQL supports Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases. POSTGRESQL supports Aurora PostgreSQL and RDS for PostgreSQL databases. SQLSERVER supports RDS for Microsoft SQL Server databases.

      • VpcId (string) --

        Provides the VPC ID of the DB proxy.

      • VpcSecurityGroupIds (list) --

        Provides a list of VPC security groups that the proxy belongs to.

        • (string) --
      • VpcSubnetIds (list) --

        The EC2 subnet IDs for the proxy.

        • (string) --
      • Auth (list) --

        One or more data structures specifying the authorization mechanism to connect to the associated RDS DB instance or Aurora DB cluster.

        • (dict) --

          Returns the details of authentication used by a proxy to log in as a specific database user.

          • Description (string) --

            A user-specified description about the authentication used by a proxy to log in as a specific database user.

          • UserName (string) --

            The name of the database user to which the proxy connects.

          • AuthScheme (string) --

            The type of authentication that the proxy uses for connections from the proxy to the underlying database.

          • SecretArn (string) --

            The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.

          • IAMAuth (string) --

            Whether to require or disallow Amazon Web Services Identity and Access Management (IAM) authentication for connections to the proxy. The ENABLED value is valid only for proxies with RDS for Microsoft SQL Server.

          • ClientPasswordAuthType (string) --

            The type of authentication the proxy uses for connections from clients.

      • RoleArn (string) --

        The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access Amazon Secrets Manager.

      • Endpoint (string) --

        The endpoint that you can use to connect to the DB proxy. You include the endpoint value in the connection string for a database client application.

      • RequireTLS (boolean) --

        Indicates whether Transport Layer Security (TLS) encryption is required for connections to the proxy.

      • IdleClientTimeout (integer) --

        The number of seconds a connection to the proxy can have no activity before the proxy drops the client connection. The proxy keeps the underlying database connection open and puts it back into the connection pool for reuse by later connection requests.

        Default: 1800 (30 minutes)

        Constraints: 1 to 28,800

      • DebugLogging (boolean) --

        Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

      • CreatedDate (datetime) --

        The date and time when the proxy was first created.

      • UpdatedDate (datetime) --

        The date and time when the proxy was last updated.

Exceptions

  • RDS.Client.exceptions.InvalidSubnet
  • RDS.Client.exceptions.DBProxyAlreadyExistsFault
  • RDS.Client.exceptions.DBProxyQuotaExceededFault