Proxy Target Args
data class ProxyTargetArgs(val dbClusterIdentifier: Output<String>? = null, val dbInstanceIdentifier: Output<String>? = null, val dbProxyName: Output<String>? = null, val targetGroupName: Output<String>? = null) : ConvertibleToJava<ProxyTargetArgs>
Provides an RDS DB proxy target resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.rds.Proxy("example", {
name: "example",
debugLogging: false,
engineFamily: "MYSQL",
idleClientTimeout: 1800,
requireTls: true,
roleArn: exampleAwsIamRole.arn,
vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],
vpcSubnetIds: [exampleAwsSubnet.id],
auths: [{
authScheme: "SECRETS",
description: "example",
iamAuth: "DISABLED",
secretArn: exampleAwsSecretsmanagerSecret.arn,
}],
tags: {
Name: "example",
Key: "value",
},
});
const exampleProxyDefaultTargetGroup = new aws.rds.ProxyDefaultTargetGroup("example", {
dbProxyName: example.name,
connectionPoolConfig: {
connectionBorrowTimeout: 120,
initQuery: "SET x=1, y=2",
maxConnectionsPercent: 100,
maxIdleConnectionsPercent: 50,
sessionPinningFilters: ["EXCLUDE_VARIABLE_SETS"],
},
});
const exampleProxyTarget = new aws.rds.ProxyTarget("example", {
dbInstanceIdentifier: exampleAwsDbInstance.identifier,
dbProxyName: example.name,
targetGroupName: exampleProxyDefaultTargetGroup.name,
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.rds.Proxy("example",
name="example",
debug_logging=False,
engine_family="MYSQL",
idle_client_timeout=1800,
require_tls=True,
role_arn=example_aws_iam_role["arn"],
vpc_security_group_ids=[example_aws_security_group["id"]],
vpc_subnet_ids=[example_aws_subnet["id"]],
auths=[{
"auth_scheme": "SECRETS",
"description": "example",
"iam_auth": "DISABLED",
"secret_arn": example_aws_secretsmanager_secret["arn"],
}],
tags={
"Name": "example",
"Key": "value",
})
example_proxy_default_target_group = aws.rds.ProxyDefaultTargetGroup("example",
db_proxy_name=example.name,
connection_pool_config={
"connection_borrow_timeout": 120,
"init_query": "SET x=1, y=2",
"max_connections_percent": 100,
"max_idle_connections_percent": 50,
"session_pinning_filters": ["EXCLUDE_VARIABLE_SETS"],
})
example_proxy_target = aws.rds.ProxyTarget("example",
db_instance_identifier=example_aws_db_instance["identifier"],
db_proxy_name=example.name,
target_group_name=example_proxy_default_target_group.name)
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Rds.Proxy("example", new()
{
Name = "example",
DebugLogging = false,
EngineFamily = "MYSQL",
IdleClientTimeout = 1800,
RequireTls = true,
RoleArn = exampleAwsIamRole.Arn,
VpcSecurityGroupIds = new[]
{
exampleAwsSecurityGroup.Id,
},
VpcSubnetIds = new[]
{
exampleAwsSubnet.Id,
},
Auths = new[]
{
new Aws.Rds.Inputs.ProxyAuthArgs
{
AuthScheme = "SECRETS",
Description = "example",
IamAuth = "DISABLED",
SecretArn = exampleAwsSecretsmanagerSecret.Arn,
},
},
Tags =
{
{ "Name", "example" },
{ "Key", "value" },
},
});
var exampleProxyDefaultTargetGroup = new Aws.Rds.ProxyDefaultTargetGroup("example", new()
{
DbProxyName = example.Name,
ConnectionPoolConfig = new Aws.Rds.Inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs
{
ConnectionBorrowTimeout = 120,
InitQuery = "SET x=1, y=2",
MaxConnectionsPercent = 100,
MaxIdleConnectionsPercent = 50,
SessionPinningFilters = new[]
{
"EXCLUDE_VARIABLE_SETS",
},
},
});
var exampleProxyTarget = new Aws.Rds.ProxyTarget("example", new()
{
DbInstanceIdentifier = exampleAwsDbInstance.Identifier,
DbProxyName = example.Name,
TargetGroupName = exampleProxyDefaultTargetGroup.Name,
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := rds.NewProxy(ctx, "example", &rds.ProxyArgs{
Name: pulumi.String("example"),
DebugLogging: pulumi.Bool(false),
EngineFamily: pulumi.String("MYSQL"),
IdleClientTimeout: pulumi.Int(1800),
RequireTls: pulumi.Bool(true),
RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
VpcSecurityGroupIds: pulumi.StringArray{
exampleAwsSecurityGroup.Id,
},
VpcSubnetIds: pulumi.StringArray{
exampleAwsSubnet.Id,
},
Auths: rds.ProxyAuthArray{
&rds.ProxyAuthArgs{
AuthScheme: pulumi.String("SECRETS"),
Description: pulumi.String("example"),
IamAuth: pulumi.String("DISABLED"),
SecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),
},
},
Tags: pulumi.StringMap{
"Name": pulumi.String("example"),
"Key": pulumi.String("value"),
},
})
if err != nil {
return err
}
exampleProxyDefaultTargetGroup, err := rds.NewProxyDefaultTargetGroup(ctx, "example", &rds.ProxyDefaultTargetGroupArgs{
DbProxyName: example.Name,
ConnectionPoolConfig: &rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs{
ConnectionBorrowTimeout: pulumi.Int(120),
InitQuery: pulumi.String("SET x=1, y=2"),
MaxConnectionsPercent: pulumi.Int(100),
MaxIdleConnectionsPercent: pulumi.Int(50),
SessionPinningFilters: pulumi.StringArray{
pulumi.String("EXCLUDE_VARIABLE_SETS"),
},
},
})
if err != nil {
return err
}
_, err = rds.NewProxyTarget(ctx, "example", &rds.ProxyTargetArgs{
DbInstanceIdentifier: pulumi.Any(exampleAwsDbInstance.Identifier),
DbProxyName: example.Name,
TargetGroupName: exampleProxyDefaultTargetGroup.Name,
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.rds.Proxy;
import com.pulumi.aws.rds.ProxyArgs;
import com.pulumi.aws.rds.inputs.ProxyAuthArgs;
import com.pulumi.aws.rds.ProxyDefaultTargetGroup;
import com.pulumi.aws.rds.ProxyDefaultTargetGroupArgs;
import com.pulumi.aws.rds.inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs;
import com.pulumi.aws.rds.ProxyTarget;
import com.pulumi.aws.rds.ProxyTargetArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Proxy("example", ProxyArgs.builder()
.name("example")
.debugLogging(false)
.engineFamily("MYSQL")
.idleClientTimeout(1800)
.requireTls(true)
.roleArn(exampleAwsIamRole.arn())
.vpcSecurityGroupIds(exampleAwsSecurityGroup.id())
.vpcSubnetIds(exampleAwsSubnet.id())
.auths(ProxyAuthArgs.builder()
.authScheme("SECRETS")
.description("example")
.iamAuth("DISABLED")
.secretArn(exampleAwsSecretsmanagerSecret.arn())
.build())
.tags(Map.ofEntries(
Map.entry("Name", "example"),
Map.entry("Key", "value")
))
.build());
var exampleProxyDefaultTargetGroup = new ProxyDefaultTargetGroup("exampleProxyDefaultTargetGroup", ProxyDefaultTargetGroupArgs.builder()
.dbProxyName(example.name())
.connectionPoolConfig(ProxyDefaultTargetGroupConnectionPoolConfigArgs.builder()
.connectionBorrowTimeout(120)
.initQuery("SET x=1, y=2")
.maxConnectionsPercent(100)
.maxIdleConnectionsPercent(50)
.sessionPinningFilters("EXCLUDE_VARIABLE_SETS")
.build())
.build());
var exampleProxyTarget = new ProxyTarget("exampleProxyTarget", ProxyTargetArgs.builder()
.dbInstanceIdentifier(exampleAwsDbInstance.identifier())
.dbProxyName(example.name())
.targetGroupName(exampleProxyDefaultTargetGroup.name())
.build());
}
}
Content copied to clipboard
resources:
example:
type: aws:rds:Proxy
properties:
name: example
debugLogging: false
engineFamily: MYSQL
idleClientTimeout: 1800
requireTls: true
roleArn: ${exampleAwsIamRole.arn}
vpcSecurityGroupIds:
- ${exampleAwsSecurityGroup.id}
vpcSubnetIds:
- ${exampleAwsSubnet.id}
auths:
- authScheme: SECRETS
description: example
iamAuth: DISABLED
secretArn: ${exampleAwsSecretsmanagerSecret.arn}
tags:
Name: example
Key: value
exampleProxyDefaultTargetGroup:
type: aws:rds:ProxyDefaultTargetGroup
name: example
properties:
dbProxyName: ${example.name}
connectionPoolConfig:
connectionBorrowTimeout: 120
initQuery: SET x=1, y=2
maxConnectionsPercent: 100
maxIdleConnectionsPercent: 50
sessionPinningFilters:
- EXCLUDE_VARIABLE_SETS
exampleProxyTarget:
type: aws:rds:ProxyTarget
name: example
properties:
dbInstanceIdentifier: ${exampleAwsDbInstance.identifier}
dbProxyName: ${example.name}
targetGroupName: ${exampleProxyDefaultTargetGroup.name}
Content copied to clipboard
Import
Provisioned Clusters: Using pulumi import
to import RDS DB Proxy Targets using the db_proxy_name
, target_group_name
, target type (such as RDS_INSTANCE
or TRACKED_CLUSTER
), and resource identifier separated by forward slashes (/
). For example: Instances:
$ pulumi import aws:rds/proxyTarget:ProxyTarget example example-proxy/default/RDS_INSTANCE/example-instance
Content copied to clipboard
Provisioned Clusters:
$ pulumi import aws:rds/proxyTarget:ProxyTarget example example-proxy/default/TRACKED_CLUSTER/example-cluster
Content copied to clipboard
Properties
Link copied to clipboard
DB cluster identifier. NOTE: Either db_instance_identifier
or db_cluster_identifier
should be specified and both should not be specified together
Link copied to clipboard
DB instance identifier.
Link copied to clipboard
The name of the DB proxy.
Link copied to clipboard
The name of the target group.