Amazon Relational Database Service

2019/12/04 - Amazon Relational Database Service - 9 new api methods

Changes  Update rds client to latest version

DeleteDBProxy (new) Link ¶

Deletes an existing proxy.

See also: AWS API Documentation

Request Syntax

client.delete_db_proxy(
    DBProxyName='string'
)
type DBProxyName:

string

param DBProxyName:

[REQUIRED]

The name of the DB proxy to delete.

rtype:

dict

returns:

Response Syntax

{
    'DBProxy': {
        'DBProxyName': 'string',
        'DBProxyArn': 'string',
        'Status': 'available'|'modifying'|'incompatible-network'|'insufficient-resource-limits'|'creating'|'deleting',
        'EngineFamily': 'string',
        'VpcSecurityGroupIds': [
            'string',
        ],
        'VpcSubnetIds': [
            'string',
        ],
        'Auth': [
            {
                'Description': 'string',
                'UserName': 'string',
                'AuthScheme': 'SECRETS',
                'SecretArn': 'string',
                'IAMAuth': 'DISABLED'|'REQUIRED'
            },
        ],
        '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 data structure representing the details of the DB proxy that you delete.

      • DBProxyName (string) --

        The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS 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) --

        Currently, this value is always MYSQL. The engine family applies to both RDS MySQL and Aurora MySQL.

      • 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 AWS Identity and Access Management (IAM) authentication for connections to the proxy.

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

CreateDBProxy (new) Link ¶

Creates a new DB proxy.

See also: AWS API Documentation

Request Syntax

client.create_db_proxy(
    DBProxyName='string',
    EngineFamily='MYSQL',
    Auth=[
        {
            'Description': 'string',
            'UserName': 'string',
            'AuthScheme': 'SECRETS',
            'SecretArn': 'string',
            'IAMAuth': 'DISABLED'|'REQUIRED'
        },
    ],
    RoleArn='string',
    VpcSubnetIds=[
        'string',
    ],
    VpcSecurityGroupIds=[
        'string',
    ],
    RequireTLS=True|False,
    IdleClientTimeout=123,
    DebugLogging=True|False,
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type DBProxyName:

string

param DBProxyName:

[REQUIRED]

The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS 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.

type EngineFamily:

string

param EngineFamily:

[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. Currently, this value is always MYSQL. The engine family applies to both RDS MySQL and Aurora MySQL.

type Auth:

list

param Auth:

[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 AWS Identity and Access Management (IAM) authentication for connections to the proxy.

type RoleArn:

string

param RoleArn:

[REQUIRED]

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

type VpcSubnetIds:

list

param VpcSubnetIds:

[REQUIRED]

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

  • (string) --

type VpcSecurityGroupIds:

list

param VpcSecurityGroupIds:

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

  • (string) --

type RequireTLS:

boolean

param RequireTLS:

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.

type IdleClientTimeout:

integer

param IdleClientTimeout:

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.

type DebugLogging:

boolean

param DebugLogging:

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.

type Tags:

list

param Tags:

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.

    • 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}_.:/=+\-]*)$").

rtype:

dict

returns:

Response Syntax

{
    'DBProxy': {
        'DBProxyName': 'string',
        'DBProxyArn': 'string',
        'Status': 'available'|'modifying'|'incompatible-network'|'insufficient-resource-limits'|'creating'|'deleting',
        'EngineFamily': 'string',
        'VpcSecurityGroupIds': [
            'string',
        ],
        'VpcSubnetIds': [
            'string',
        ],
        'Auth': [
            {
                'Description': 'string',
                'UserName': 'string',
                'AuthScheme': 'SECRETS',
                'SecretArn': 'string',
                'IAMAuth': 'DISABLED'|'REQUIRED'
            },
        ],
        '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 AWS account in the specified AWS 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) --

        Currently, this value is always MYSQL. The engine family applies to both RDS MySQL and Aurora MySQL.

      • 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 AWS Identity and Access Management (IAM) authentication for connections to the proxy.

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

DescribeDBProxyTargetGroups (new) Link ¶

Returns information about DB proxy target groups, represented by DBProxyTargetGroup data structures.

See also: AWS API Documentation

Request Syntax

client.describe_db_proxy_target_groups(
    DBProxyName='string',
    TargetGroupName='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    Marker='string',
    MaxRecords=123
)
type DBProxyName:

string

param DBProxyName:

[REQUIRED]

The identifier of the DBProxy associated with the target group.

type TargetGroupName:

string

param TargetGroupName:

The identifier of the DBProxyTargetGroup to describe.

type Filters:

list

param Filters:

This parameter is not 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.

    The following actions can be filtered:

    • DescribeDBClusterBacktracks

    • DescribeDBClusterEndpoints

    • DescribeDBClusters

    • DescribeDBInstances

    • 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 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 the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

rtype:

dict

returns:

Response Syntax

{
    'TargetGroups': [
        {
            'DBProxyName': 'string',
            'TargetGroupName': 'string',
            'TargetGroupArn': 'string',
            'IsDefault': True|False,
            'Status': 'string',
            'ConnectionPoolConfig': {
                'MaxConnectionsPercent': 123,
                'MaxIdleConnectionsPercent': 123,
                'ConnectionBorrowTimeout': 123,
                'SessionPinningFilters': [
                    'string',
                ],
                'InitQuery': 'string'
            },
            'CreatedDate': datetime(2015, 1, 1),
            'UpdatedDate': datetime(2015, 1, 1)
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    • TargetGroups (list) --

      An arbitrary number of DBProxyTargetGroup objects, containing details of the corresponding target groups.

      • (dict) --

        Represents a set of RDS DB instances, Aurora DB clusters, or both that a proxy can connect to. Currently, each target group is associated with exactly one RDS DB instance or Aurora DB cluster.

        This data type is used as a response element in the DescribeDBProxyTargetGroups action.

        • DBProxyName (string) --

          The identifier for the RDS proxy associated with this target group.

        • TargetGroupName (string) --

          The identifier for the target group. This name must be unique for all target groups owned by your AWS account in the specified AWS Region.

        • TargetGroupArn (string) --

          The Amazon Resource Name (ARN) representing the target group.

        • IsDefault (boolean) --

          Whether this target group is the first one used for connection requests by the associated proxy. Because each proxy is currently associated with a single target group, currently this setting is always true.

        • Status (string) --

          The current status of this target group. A status of available means the target group is correctly associated with a database. Other values indicate that you must wait for the target group to be ready, or take some action to resolve an issue.

        • ConnectionPoolConfig (dict) --

          The settings that determine the size and behavior of the connection pool for the target group.

          • MaxConnectionsPercent (integer) --

            The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

          • MaxIdleConnectionsPercent (integer) --

            Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

          • ConnectionBorrowTimeout (integer) --

            The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.

          • SessionPinningFilters (list) --

            Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.

            • (string) --

          • InitQuery (string) --

            One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.

        • CreatedDate (datetime) --

          The date and time when the target group was first created.

        • UpdatedDate (datetime) --

          The date and time when the target group was last updated.

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

DeregisterDBProxyTargets (new) Link ¶

Remove the association between one or more DBProxyTarget data structures and a DBProxyTargetGroup.

See also: AWS API Documentation

Request Syntax

client.deregister_db_proxy_targets(
    DBProxyName='string',
    TargetGroupName='string',
    DBInstanceIdentifiers=[
        'string',
    ],
    DBClusterIdentifiers=[
        'string',
    ]
)
type DBProxyName:

string

param DBProxyName:

[REQUIRED]

The identifier of the DBProxy that is associated with the DBProxyTargetGroup.

type TargetGroupName:

string

param TargetGroupName:

The identifier of the DBProxyTargetGroup.

type DBInstanceIdentifiers:

list

param DBInstanceIdentifiers:

One or more DB instance identifiers.

  • (string) --

type DBClusterIdentifiers:

list

param DBClusterIdentifiers:

One or more DB cluster identifiers.

  • (string) --

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

ModifyDBProxy (new) Link ¶

Changes the settings for an existing DB proxy.

See also: AWS API Documentation

Request Syntax

client.modify_db_proxy(
    DBProxyName='string',
    NewDBProxyName='string',
    Auth=[
        {
            'Description': 'string',
            'UserName': 'string',
            'AuthScheme': 'SECRETS',
            'SecretArn': 'string',
            'IAMAuth': 'DISABLED'|'REQUIRED'
        },
    ],
    RequireTLS=True|False,
    IdleClientTimeout=123,
    DebugLogging=True|False,
    RoleArn='string',
    SecurityGroups=[
        'string',
    ]
)
type DBProxyName:

string

param DBProxyName:

[REQUIRED]

The identifier for the DBProxy to modify.

type NewDBProxyName:

string

param NewDBProxyName:

The new identifier for the DBProxy. 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.

type Auth:

list

param Auth:

The new authentication settings for the DBProxy.

  • (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 AWS Identity and Access Management (IAM) authentication for connections to the proxy.

type RequireTLS:

boolean

param RequireTLS:

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, even if the associated database doesn't use TLS.

type IdleClientTimeout:

integer

param IdleClientTimeout:

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.

type DebugLogging:

boolean

param DebugLogging:

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.

type RoleArn:

string

param RoleArn:

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

type SecurityGroups:

list

param SecurityGroups:

The new list of security groups for the DBProxy.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'DBProxy': {
        'DBProxyName': 'string',
        'DBProxyArn': 'string',
        'Status': 'available'|'modifying'|'incompatible-network'|'insufficient-resource-limits'|'creating'|'deleting',
        'EngineFamily': 'string',
        'VpcSecurityGroupIds': [
            'string',
        ],
        'VpcSubnetIds': [
            'string',
        ],
        'Auth': [
            {
                'Description': 'string',
                'UserName': 'string',
                'AuthScheme': 'SECRETS',
                'SecretArn': 'string',
                'IAMAuth': 'DISABLED'|'REQUIRED'
            },
        ],
        '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 object representing the new settings for the proxy.

      • DBProxyName (string) --

        The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS 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) --

        Currently, this value is always MYSQL. The engine family applies to both RDS MySQL and Aurora MySQL.

      • 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 AWS Identity and Access Management (IAM) authentication for connections to the proxy.

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

RegisterDBProxyTargets (new) Link ¶

Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup.

See also: AWS API Documentation

Request Syntax

client.register_db_proxy_targets(
    DBProxyName='string',
    TargetGroupName='string',
    DBInstanceIdentifiers=[
        'string',
    ],
    DBClusterIdentifiers=[
        'string',
    ]
)
type DBProxyName:

string

param DBProxyName:

[REQUIRED]

The identifier of the DBProxy that is associated with the DBProxyTargetGroup.

type TargetGroupName:

string

param TargetGroupName:

The identifier of the DBProxyTargetGroup.

type DBInstanceIdentifiers:

list

param DBInstanceIdentifiers:

One or more DB instance identifiers.

  • (string) --

type DBClusterIdentifiers:

list

param DBClusterIdentifiers:

One or more DB cluster identifiers.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'DBProxyTargets': [
        {
            'TargetArn': 'string',
            'Endpoint': 'string',
            'TrackedClusterId': 'string',
            'RdsResourceId': 'string',
            'Port': 123,
            'Type': 'RDS_INSTANCE'|'RDS_SERVERLESS_ENDPOINT'|'TRACKED_CLUSTER'
        },
    ]
}

Response Structure

  • (dict) --

    • DBProxyTargets (list) --

      One or more DBProxyTarget objects that are created when you register targets with a target group.

      • (dict) --

        Contains the details for an RDS Proxy target. It represents an RDS DB instance or Aurora DB cluster that the proxy can connect to. One or more targets are associated with an RDS Proxy target group.

        This data type is used as a response element in the DescribeDBProxyTargets action.

        • TargetArn (string) --

          The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.

        • Endpoint (string) --

          The writer endpoint for the RDS DB instance or Aurora DB cluster.

        • TrackedClusterId (string) --

          The DB cluster identifier when the target represents an Aurora DB cluster. This field is blank when the target represents an

        • RdsResourceId (string) --

          The identifier representing the target. It can be the instance identifier for an RDS DB instance, or the cluster identifier for an Aurora DB cluster.

        • Port (integer) --

          The port that the RDS Proxy uses to connect to the target RDS DB instance or Aurora DB cluster.

        • Type (string) --

          Specifies the kind of database, such as an RDS DB instance or an Aurora DB cluster, that the target represents.

DescribeDBProxies (new) Link ¶

Returns information about DB proxies.

See also: AWS API Documentation

Request Syntax

client.describe_db_proxies(
    DBProxyName='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    Marker='string',
    MaxRecords=123
)
type DBProxyName:

string

param DBProxyName:

The name of the DB proxy.

type Filters:

list

param Filters:

This parameter is not 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.

    The following actions can be filtered:

    • DescribeDBClusterBacktracks

    • DescribeDBClusterEndpoints

    • DescribeDBClusters

    • DescribeDBInstances

    • 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 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 the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

rtype:

dict

returns:

Response Syntax

{
    'DBProxies': [
        {
            'DBProxyName': 'string',
            'DBProxyArn': 'string',
            'Status': 'available'|'modifying'|'incompatible-network'|'insufficient-resource-limits'|'creating'|'deleting',
            'EngineFamily': 'string',
            'VpcSecurityGroupIds': [
                'string',
            ],
            'VpcSubnetIds': [
                'string',
            ],
            'Auth': [
                {
                    'Description': 'string',
                    'UserName': 'string',
                    'AuthScheme': 'SECRETS',
                    'SecretArn': 'string',
                    'IAMAuth': 'DISABLED'|'REQUIRED'
                },
            ],
            'RoleArn': 'string',
            'Endpoint': 'string',
            'RequireTLS': True|False,
            'IdleClientTimeout': 123,
            'DebugLogging': True|False,
            'CreatedDate': datetime(2015, 1, 1),
            'UpdatedDate': datetime(2015, 1, 1)
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    • DBProxies (list) --

      A return value representing an arbitrary number of DBProxy data structures.

      • (dict) --

        The data structure representing a proxy managed by the RDS Proxy.

        This data type is used as a response element in the DescribeDBProxies action.

        • DBProxyName (string) --

          The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS 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) --

          Currently, this value is always MYSQL. The engine family applies to both RDS MySQL and Aurora MySQL.

        • 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 AWS Identity and Access Management (IAM) authentication for connections to the proxy.

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

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

DescribeDBProxyTargets (new) Link ¶

Returns information about DBProxyTarget objects. This API supports pagination.

See also: AWS API Documentation

Request Syntax

client.describe_db_proxy_targets(
    DBProxyName='string',
    TargetGroupName='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    Marker='string',
    MaxRecords=123
)
type DBProxyName:

string

param DBProxyName:

[REQUIRED]

The identifier of the DBProxyTarget to describe.

type TargetGroupName:

string

param TargetGroupName:

The identifier of the DBProxyTargetGroup to describe.

type Filters:

list

param Filters:

This parameter is not 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.

    The following actions can be filtered:

    • DescribeDBClusterBacktracks

    • DescribeDBClusterEndpoints

    • DescribeDBClusters

    • DescribeDBInstances

    • 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 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 the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

rtype:

dict

returns:

Response Syntax

{
    'Targets': [
        {
            'TargetArn': 'string',
            'Endpoint': 'string',
            'TrackedClusterId': 'string',
            'RdsResourceId': 'string',
            'Port': 123,
            'Type': 'RDS_INSTANCE'|'RDS_SERVERLESS_ENDPOINT'|'TRACKED_CLUSTER'
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    • Targets (list) --

      An arbitrary number of DBProxyTarget objects, containing details of the corresponding targets.

      • (dict) --

        Contains the details for an RDS Proxy target. It represents an RDS DB instance or Aurora DB cluster that the proxy can connect to. One or more targets are associated with an RDS Proxy target group.

        This data type is used as a response element in the DescribeDBProxyTargets action.

        • TargetArn (string) --

          The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.

        • Endpoint (string) --

          The writer endpoint for the RDS DB instance or Aurora DB cluster.

        • TrackedClusterId (string) --

          The DB cluster identifier when the target represents an Aurora DB cluster. This field is blank when the target represents an

        • RdsResourceId (string) --

          The identifier representing the target. It can be the instance identifier for an RDS DB instance, or the cluster identifier for an Aurora DB cluster.

        • Port (integer) --

          The port that the RDS Proxy uses to connect to the target RDS DB instance or Aurora DB cluster.

        • Type (string) --

          Specifies the kind of database, such as an RDS DB instance or an Aurora DB cluster, that the target represents.

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

ModifyDBProxyTargetGroup (new) Link ¶

Modifies the properties of a DBProxyTargetGroup.

See also: AWS API Documentation

Request Syntax

client.modify_db_proxy_target_group(
    TargetGroupName='string',
    DBProxyName='string',
    ConnectionPoolConfig={
        'MaxConnectionsPercent': 123,
        'MaxIdleConnectionsPercent': 123,
        'ConnectionBorrowTimeout': 123,
        'SessionPinningFilters': [
            'string',
        ],
        'InitQuery': 'string'
    },
    NewName='string'
)
type TargetGroupName:

string

param TargetGroupName:

[REQUIRED]

The name of the new target group to assign to the proxy.

type DBProxyName:

string

param DBProxyName:

[REQUIRED]

The name of the new proxy to which to assign the target group.

type ConnectionPoolConfig:

dict

param ConnectionPoolConfig:

The settings that determine the size and behavior of the connection pool for the target group.

  • MaxConnectionsPercent (integer) --

    The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

    Default: 100

    Constraints: between 1 and 100

  • MaxIdleConnectionsPercent (integer) --

    Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

    Default: 50

    Constraints: between 0 and MaxConnectionsPercent

  • ConnectionBorrowTimeout (integer) --

    The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.

    Default: 120

    Constraints: between 1 and 3600, or 0 representing unlimited

  • SessionPinningFilters (list) --

    Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior.

    Default: no session pinning filters

    • (string) --

  • InitQuery (string) --

    One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.

    Default: no initialization query

type NewName:

string

param NewName:

The new name for the modified DBProxyTarget. 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.

rtype:

dict

returns:

Response Syntax

{
    'DBProxyTargetGroup': {
        'DBProxyName': 'string',
        'TargetGroupName': 'string',
        'TargetGroupArn': 'string',
        'IsDefault': True|False,
        'Status': 'string',
        'ConnectionPoolConfig': {
            'MaxConnectionsPercent': 123,
            'MaxIdleConnectionsPercent': 123,
            'ConnectionBorrowTimeout': 123,
            'SessionPinningFilters': [
                'string',
            ],
            'InitQuery': 'string'
        },
        'CreatedDate': datetime(2015, 1, 1),
        'UpdatedDate': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • DBProxyTargetGroup (dict) --

      The settings of the modified DBProxyTarget.

      • DBProxyName (string) --

        The identifier for the RDS proxy associated with this target group.

      • TargetGroupName (string) --

        The identifier for the target group. This name must be unique for all target groups owned by your AWS account in the specified AWS Region.

      • TargetGroupArn (string) --

        The Amazon Resource Name (ARN) representing the target group.

      • IsDefault (boolean) --

        Whether this target group is the first one used for connection requests by the associated proxy. Because each proxy is currently associated with a single target group, currently this setting is always true.

      • Status (string) --

        The current status of this target group. A status of available means the target group is correctly associated with a database. Other values indicate that you must wait for the target group to be ready, or take some action to resolve an issue.

      • ConnectionPoolConfig (dict) --

        The settings that determine the size and behavior of the connection pool for the target group.

        • MaxConnectionsPercent (integer) --

          The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

        • MaxIdleConnectionsPercent (integer) --

          Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

        • ConnectionBorrowTimeout (integer) --

          The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.

        • SessionPinningFilters (list) --

          Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.

          • (string) --

        • InitQuery (string) --

          One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.

      • CreatedDate (datetime) --

        The date and time when the target group was first created.

      • UpdatedDate (datetime) --

        The date and time when the target group was last updated.