import * as core from "@terrascript/core"; export interface AuthArgs extends core.SchemaArgs { authScheme: string | core.StringOut; description: string | core.StringOut; iamAuth: string | core.StringOut; secretArn: string | core.StringOut; username: string | core.StringOut; } export class Auth extends core.Schema { @core.attr(String, { computed: true }) public authScheme!: string | core.StringOut; @core.attr(String, { computed: true }) public description!: string | core.StringOut; @core.attr(String, { computed: true }) public iamAuth!: string | core.StringOut; @core.attr(String, { computed: true }) public secretArn!: string | core.StringOut; @core.attr(String, { computed: true }) public username!: string | core.StringOut; } export interface DsDbProxyArgs { /** * (Required) The name of the DB proxy. */ name: string | core.StringOut; } export class DsDbProxy extends core.Data { /** * The ARN of the DB Proxy. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The configuration(s) with authorization mechanisms to connect to the associated instance or cluster. */ @core.attr(Auth, { computed: true, kind: "array" }) public auth!: core.Array | core.ArrayOut; /** * Whether the proxy includes detailed information about SQL statements in its logs. */ @core.attr(Boolean, { computed: true }) public debugLogging!: boolean | core.BooleanOut; /** * The endpoint that you can use to connect to the DB proxy. */ @core.attr(String, { computed: true }) public endpoint!: string | core.StringOut; /** * The kinds of databases that the proxy can connect to. */ @core.attr(String, { computed: true }) public engineFamily!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The number of seconds a connection to the proxy can have no activity before the proxy drops the clie * nt connection. */ @core.attr(Number, { computed: true }) public idleClientTimeout!: number | core.NumberOut; /** * (Required) The name of the DB proxy. */ @core.attr(String) public name!: string | core.StringOut; /** * Indicates whether Transport Layer Security (TLS) encryption is required for connections to the proxy * . */ @core.attr(Boolean, { computed: true }) public requireTls!: boolean | core.BooleanOut; /** * The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access Amazon Secrets Manager * . */ @core.attr(String, { computed: true }) public roleArn!: string | core.StringOut; /** * Provides the VPC ID of the DB proxy. */ @core.attr(String, { computed: true }) public vpcId!: string | core.StringOut; /** * Provides a list of VPC security groups that the proxy belongs to. */ @core.attr(String, { computed: true, kind: "array" }) public vpcSecurityGroupIds!: | core.Array | core.ArrayOut; /** * The EC2 subnet IDs for the proxy. */ @core.attr(String, { computed: true, kind: "array" }) public vpcSubnetIds!: core.Array | core.ArrayOut; constructor(name: string, args?: DsDbProxyArgs) { super(name, "aws_db_proxy", args); } public override getNamespace(): string { return "aws_rds"; } }