import * as core from "@terrascript/core"; export interface ClusterNodesArgs extends core.SchemaArgs { nodeRole: string | core.StringOut; privateIpAddress: string | core.StringOut; publicIpAddress: string | core.StringOut; } export class ClusterNodes extends core.Schema { @core.attr(String, { computed: true }) public nodeRole!: string | core.StringOut; @core.attr(String, { computed: true }) public privateIpAddress!: string | core.StringOut; @core.attr(String, { computed: true }) public publicIpAddress!: string | core.StringOut; } export interface DsClusterArgs { /** * (Required) The cluster identifier */ clusterIdentifier: string | core.StringOut; /** * The tags associated to the cluster */ tags?: core.Map | core.MapOut; } export class DsCluster extends core.Data { /** * Whether major version upgrades can be applied during maintenance period */ @core.attr(Boolean, { computed: true }) public allowVersionUpgrade!: boolean | core.BooleanOut; /** * The value represents how the cluster is configured to use AQUA. */ @core.attr(String, { computed: true }) public aquaConfigurationStatus!: string | core.StringOut; /** * Amazon Resource Name (ARN) of cluster. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The backup retention period */ @core.attr(Number, { computed: true }) public automatedSnapshotRetentionPeriod!: number | core.NumberOut; /** * The availability zone of the cluster */ @core.attr(String, { computed: true }) public availabilityZone!: string | core.StringOut; /** * Indicates whether the cluster is able to be relocated to another availability zone. */ @core.attr(Boolean, { computed: true }) public availabilityZoneRelocationEnabled!: boolean | core.BooleanOut; /** * The name of the S3 bucket where the log files are to be stored */ @core.attr(String, { computed: true }) public bucketName!: string | core.StringOut; /** * (Required) The cluster identifier */ @core.attr(String) public clusterIdentifier!: string | core.StringOut; /** * The nodes in the cluster. Cluster node blocks are documented below */ @core.attr(ClusterNodes, { computed: true, kind: "array" }) public clusterNodes!: core.Array | core.ArrayOut; /** * The name of the parameter group to be associated with this cluster */ @core.attr(String, { computed: true }) public clusterParameterGroupName!: string | core.StringOut; /** * The public key for the cluster */ @core.attr(String, { computed: true }) public clusterPublicKey!: string | core.StringOut; /** * The cluster revision number */ @core.attr(String, { computed: true }) public clusterRevisionNumber!: string | core.StringOut; /** * The security groups associated with the cluster */ @core.attr(String, { computed: true, kind: "array" }) public clusterSecurityGroups!: | core.Array | core.ArrayOut; /** * The name of a cluster subnet group to be associated with this cluster */ @core.attr(String, { computed: true }) public clusterSubnetGroupName!: string | core.StringOut; /** * The cluster type */ @core.attr(String, { computed: true }) public clusterType!: string | core.StringOut; @core.attr(String, { computed: true }) public clusterVersion!: string | core.StringOut; /** * The name of the default database in the cluster */ @core.attr(String, { computed: true }) public databaseName!: string | core.StringOut; /** * ∂The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cl * uster was created. */ @core.attr(String, { computed: true }) public defaultIamRoleArn!: string | core.StringOut; /** * The Elastic IP of the cluster */ @core.attr(String, { computed: true }) public elasticIp!: string | core.StringOut; /** * Whether cluster logging is enabled */ @core.attr(Boolean, { computed: true }) public enableLogging!: boolean | core.BooleanOut; /** * Whether the cluster data is encrypted */ @core.attr(Boolean, { computed: true }) public encrypted!: boolean | core.BooleanOut; /** * The cluster endpoint */ @core.attr(String, { computed: true }) public endpoint!: string | core.StringOut; /** * Whether enhanced VPC routing is enabled */ @core.attr(Boolean, { computed: true }) public enhancedVpcRouting!: boolean | core.BooleanOut; /** * The IAM roles associated to the cluster */ @core.attr(String, { computed: true, kind: "array" }) public iamRoles!: core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The KMS encryption key associated to the cluster */ @core.attr(String, { computed: true }) public kmsKeyId!: string | core.StringOut; /** * The log destination type. */ @core.attr(String, { computed: true }) public logDestinationType!: string | core.StringOut; /** * The collection of exported log types. Log types include the connection log, user log and user activi * ty log. */ @core.attr(String, { computed: true, kind: "array" }) public logExports!: core.Array | core.ArrayOut; /** * The name of the maintenance track for the restored cluster. */ @core.attr(String, { computed: true }) public maintenanceTrackName!: string | core.StringOut; /** * (Optional) The default number of days to retain a manual snapshot. */ @core.attr(Number, { computed: true }) public manualSnapshotRetentionPeriod!: number | core.NumberOut; /** * Username for the master DB user */ @core.attr(String, { computed: true }) public masterUsername!: string | core.StringOut; /** * The cluster node type */ @core.attr(String, { computed: true }) public nodeType!: string | core.StringOut; /** * The number of nodes in the cluster */ @core.attr(Number, { computed: true }) public numberOfNodes!: number | core.NumberOut; /** * The port the cluster responds on */ @core.attr(Number, { computed: true }) public port!: number | core.NumberOut; /** * The maintenance window */ @core.attr(String, { computed: true }) public preferredMaintenanceWindow!: string | core.StringOut; /** * Whether the cluster is publicly accessible */ @core.attr(Boolean, { computed: true }) public publiclyAccessible!: boolean | core.BooleanOut; /** * The folder inside the S3 bucket where the log files are stored */ @core.attr(String, { computed: true }) public s3KeyPrefix!: string | core.StringOut; /** * The tags associated to the cluster */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * The VPC Id associated with the cluster */ @core.attr(String, { computed: true }) public vpcId!: string | core.StringOut; /** * The VPC security group Ids associated with the cluster */ @core.attr(String, { computed: true, kind: "array" }) public vpcSecurityGroupIds!: | core.Array | core.ArrayOut; constructor(name: string, args?: DsClusterArgs) { super(name, "aws_redshift_cluster", args); } public override getNamespace(): string { return "aws_redshift"; } }