import * as core from "@terrascript/core"; export interface ParametersArgs extends core.SchemaArgs { name: string | core.StringOut; value: string | core.StringOut; } export class Parameters extends core.Schema { @core.attr(String) public name!: string | core.StringOut; @core.attr(String) public value!: string | core.StringOut; } export interface StatementArgs extends core.ResourceArgs { /** * (Required) The cluster identifier. */ clusterIdentifier: string | core.StringOut; /** * (Required) The name of the database. */ database: string | core.StringOut; /** * (Optional) The database user name. */ dbUser?: string | core.StringOut; parameters?: core.Array | core.ArrayOut; /** * (Optional) The name or ARN of the secret that enables access to the database. */ secretArn?: string | core.StringOut; /** * (Required) The SQL statement text to run. */ sql: string | core.StringOut; /** * (Optional) The name of the SQL statement. You can name the SQL statement when you create it to ident * ify the query. */ statementName?: string | core.StringOut; /** * (Optional) A value that indicates whether to send an event to the Amazon EventBridge event bus after * the SQL statement runs. */ withEvent?: boolean | core.BooleanOut; } export class Statement extends core.Resource { /** * (Required) The cluster identifier. */ @core.attr(String) public clusterIdentifier!: string | core.StringOut; /** * (Required) The name of the database. */ @core.attr(String) public database!: string | core.StringOut; /** * (Optional) The database user name. */ @core.attr(String) public dbUser?: string | core.StringOut; /** * The Redshift Data Statement ID. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(Parameters, { kind: "array" }) public parameters?: core.Array | core.ArrayOut; /** * (Optional) The name or ARN of the secret that enables access to the database. */ @core.attr(String) public secretArn?: string | core.StringOut; /** * (Required) The SQL statement text to run. */ @core.attr(String) public sql!: string | core.StringOut; /** * (Optional) The name of the SQL statement. You can name the SQL statement when you create it to ident * ify the query. */ @core.attr(String) public statementName?: string | core.StringOut; /** * (Optional) A value that indicates whether to send an event to the Amazon EventBridge event bus after * the SQL statement runs. */ @core.attr(Boolean) public withEvent?: boolean | core.BooleanOut; constructor(name: string, args?: StatementArgs) { super(name, "aws_redshiftdata_statement", args); } public override getNamespace(): string { return "aws_redshiftdata"; } }