github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/redshift/cluster.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package redshift 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a Redshift Cluster Resource. 16 // 17 // > **NOTE:** A Redshift cluster's default IAM role can be managed both by this resource's `defaultIamRoleArn` argument and the `redshift.ClusterIamRoles` resource's `defaultIamRoleArn` argument. Do not configure different values for both arguments. Doing so will cause a conflict of default IAM roles. 18 // 19 // ## Example Usage 20 // 21 // ### Basic Usage 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift" 30 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 31 // 32 // ) 33 // 34 // func main() { 35 // pulumi.Run(func(ctx *pulumi.Context) error { 36 // _, err := redshift.NewCluster(ctx, "example", &redshift.ClusterArgs{ 37 // ClusterIdentifier: pulumi.String("tf-redshift-cluster"), 38 // DatabaseName: pulumi.String("mydb"), 39 // MasterUsername: pulumi.String("exampleuser"), 40 // MasterPassword: pulumi.String("Mustbe8characters"), 41 // NodeType: pulumi.String("dc1.large"), 42 // ClusterType: pulumi.String("single-node"), 43 // }) 44 // if err != nil { 45 // return err 46 // } 47 // return nil 48 // }) 49 // } 50 // 51 // ``` 52 // <!--End PulumiCodeChooser --> 53 // 54 // ### With Managed Credentials 55 // 56 // <!--Start PulumiCodeChooser --> 57 // ```go 58 // package main 59 // 60 // import ( 61 // 62 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift" 63 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 64 // 65 // ) 66 // 67 // func main() { 68 // pulumi.Run(func(ctx *pulumi.Context) error { 69 // _, err := redshift.NewCluster(ctx, "example", &redshift.ClusterArgs{ 70 // ClusterIdentifier: pulumi.String("tf-redshift-cluster"), 71 // DatabaseName: pulumi.String("mydb"), 72 // MasterUsername: pulumi.String("exampleuser"), 73 // NodeType: pulumi.String("dc1.large"), 74 // ClusterType: pulumi.String("single-node"), 75 // ManageMasterPassword: pulumi.Bool(true), 76 // }) 77 // if err != nil { 78 // return err 79 // } 80 // return nil 81 // }) 82 // } 83 // 84 // ``` 85 // <!--End PulumiCodeChooser --> 86 // 87 // ## Import 88 // 89 // Using `pulumi import`, import Redshift Clusters using the `cluster_identifier`. For example: 90 // 91 // ```sh 92 // $ pulumi import aws:redshift/cluster:Cluster myprodcluster tf-redshift-cluster-12345 93 // ``` 94 type Cluster struct { 95 pulumi.CustomResourceState 96 97 // If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is `true`. 98 AllowVersionUpgrade pulumi.BoolPtrOutput `pulumi:"allowVersionUpgrade"` 99 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 100 ApplyImmediately pulumi.BoolPtrOutput `pulumi:"applyImmediately"` 101 // The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. 102 // No longer supported by the AWS API. 103 // Always returns `auto`. 104 // 105 // Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider. 106 AquaConfigurationStatus pulumi.StringOutput `pulumi:"aquaConfigurationStatus"` 107 // Amazon Resource Name (ARN) of cluster 108 Arn pulumi.StringOutput `pulumi:"arn"` 109 // The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1. 110 AutomatedSnapshotRetentionPeriod pulumi.IntPtrOutput `pulumi:"automatedSnapshotRetentionPeriod"` 111 // The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Can only be changed if `availabilityZoneRelocationEnabled` is `true`. 112 AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` 113 // If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family. 114 AvailabilityZoneRelocationEnabled pulumi.BoolPtrOutput `pulumi:"availabilityZoneRelocationEnabled"` 115 // The Cluster Identifier. Must be a lower case string. 116 ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"` 117 // The namespace Amazon Resource Name (ARN) of the cluster 118 ClusterNamespaceArn pulumi.StringOutput `pulumi:"clusterNamespaceArn"` 119 // The nodes in the cluster. Cluster node blocks are documented below 120 ClusterNodes ClusterClusterNodeArrayOutput `pulumi:"clusterNodes"` 121 // The name of the parameter group to be associated with this cluster. 122 ClusterParameterGroupName pulumi.StringOutput `pulumi:"clusterParameterGroupName"` 123 // The public key for the cluster 124 ClusterPublicKey pulumi.StringOutput `pulumi:"clusterPublicKey"` 125 // The specific revision number of the database in the cluster 126 ClusterRevisionNumber pulumi.StringOutput `pulumi:"clusterRevisionNumber"` 127 // The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC). 128 ClusterSubnetGroupName pulumi.StringOutput `pulumi:"clusterSubnetGroupName"` 129 // The cluster type to use. Either `single-node` or `multi-node`. 130 ClusterType pulumi.StringOutput `pulumi:"clusterType"` 131 // The version of the Amazon Redshift engine software that you want to deploy on the cluster. 132 // The version selected runs on all the nodes in the cluster. 133 ClusterVersion pulumi.StringPtrOutput `pulumi:"clusterVersion"` 134 // The name of the first database to be created when the cluster is created. 135 // If you do not provide a name, Amazon Redshift will create a default database called `dev`. 136 DatabaseName pulumi.StringOutput `pulumi:"databaseName"` 137 // The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created. 138 DefaultIamRoleArn pulumi.StringOutput `pulumi:"defaultIamRoleArn"` 139 // The DNS name of the cluster 140 DnsName pulumi.StringOutput `pulumi:"dnsName"` 141 // The Elastic IP (EIP) address for the cluster. 142 ElasticIp pulumi.StringPtrOutput `pulumi:"elasticIp"` 143 // If true , the data in the cluster is encrypted at rest. 144 Encrypted pulumi.BoolPtrOutput `pulumi:"encrypted"` 145 // The connection endpoint 146 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 147 // If true , enhanced VPC routing is enabled. 148 EnhancedVpcRouting pulumi.BoolOutput `pulumi:"enhancedVpcRouting"` 149 // The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, `skipFinalSnapshot` must be false. 150 FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` 151 // A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time. 152 IamRoles pulumi.StringArrayOutput `pulumi:"iamRoles"` 153 // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. 154 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 155 // Logging, documented below. 156 // 157 // Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version. 158 Logging ClusterLoggingOutput `pulumi:"logging"` 159 // The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`. 160 MaintenanceTrackName pulumi.StringPtrOutput `pulumi:"maintenanceTrackName"` 161 // Whether to use AWS SecretsManager to manage the cluster admin credentials. 162 // Conflicts with `masterPassword`. 163 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 164 ManageMasterPassword pulumi.BoolPtrOutput `pulumi:"manageMasterPassword"` 165 // The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`. 166 ManualSnapshotRetentionPeriod pulumi.IntPtrOutput `pulumi:"manualSnapshotRetentionPeriod"` 167 // Password for the master DB user. 168 // Conflicts with `manageMasterPassword`. 169 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 170 // Note that this may show up in logs, and it will be stored in the state file. 171 // Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number. 172 MasterPassword pulumi.StringPtrOutput `pulumi:"masterPassword"` 173 // ARN of the cluster admin credentials secret 174 MasterPasswordSecretArn pulumi.StringOutput `pulumi:"masterPasswordSecretArn"` 175 // ID of the KMS key used to encrypt the cluster admin credentials secret. 176 MasterPasswordSecretKmsKeyId pulumi.StringOutput `pulumi:"masterPasswordSecretKmsKeyId"` 177 // Username for the master DB user. 178 MasterUsername pulumi.StringPtrOutput `pulumi:"masterUsername"` 179 // Specifies if the Redshift cluster is multi-AZ. 180 MultiAz pulumi.BoolPtrOutput `pulumi:"multiAz"` 181 // The node type to be provisioned for the cluster. 182 NodeType pulumi.StringOutput `pulumi:"nodeType"` 183 // The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1. 184 NumberOfNodes pulumi.IntPtrOutput `pulumi:"numberOfNodes"` 185 // The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot. 186 OwnerAccount pulumi.StringPtrOutput `pulumi:"ownerAccount"` 187 // The port number on which the cluster accepts incoming connections. Valid values are between `1115` and `65535`. 188 // The cluster is accessible only via the JDBC and ODBC connection strings. 189 // Part of the connection string requires the port on which the cluster will listen for incoming connections. 190 // Default port is `5439`. 191 Port pulumi.IntPtrOutput `pulumi:"port"` 192 // The weekly time range (in UTC) during which automated cluster maintenance can occur. 193 // Format: ddd:hh24:mi-ddd:hh24:mi 194 PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"` 195 // If true, the cluster can be accessed from a public network. Default is `true`. 196 PubliclyAccessible pulumi.BoolPtrOutput `pulumi:"publiclyAccessible"` 197 // Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false. 198 SkipFinalSnapshot pulumi.BoolPtrOutput `pulumi:"skipFinalSnapshot"` 199 // The ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`. 200 SnapshotArn pulumi.StringPtrOutput `pulumi:"snapshotArn"` 201 // The name of the cluster the source snapshot was created from. 202 SnapshotClusterIdentifier pulumi.StringPtrOutput `pulumi:"snapshotClusterIdentifier"` 203 // Configuration of automatic copy of snapshots from one region to another. Documented below. 204 // 205 // Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version. 206 SnapshotCopy ClusterSnapshotCopyOutput `pulumi:"snapshotCopy"` 207 // The name of the snapshot from which to create the new cluster. Conflicts with `snapshotArn`. 208 SnapshotIdentifier pulumi.StringPtrOutput `pulumi:"snapshotIdentifier"` 209 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 210 Tags pulumi.StringMapOutput `pulumi:"tags"` 211 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 212 // 213 // Deprecated: Please use `tags` instead. 214 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 215 // A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster. 216 VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"` 217 } 218 219 // NewCluster registers a new resource with the given unique name, arguments, and options. 220 func NewCluster(ctx *pulumi.Context, 221 name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error) { 222 if args == nil { 223 return nil, errors.New("missing one or more required arguments") 224 } 225 226 if args.ClusterIdentifier == nil { 227 return nil, errors.New("invalid value for required argument 'ClusterIdentifier'") 228 } 229 if args.NodeType == nil { 230 return nil, errors.New("invalid value for required argument 'NodeType'") 231 } 232 if args.MasterPassword != nil { 233 args.MasterPassword = pulumi.ToSecret(args.MasterPassword).(pulumi.StringPtrInput) 234 } 235 secrets := pulumi.AdditionalSecretOutputs([]string{ 236 "masterPassword", 237 }) 238 opts = append(opts, secrets) 239 opts = internal.PkgResourceDefaultOpts(opts) 240 var resource Cluster 241 err := ctx.RegisterResource("aws:redshift/cluster:Cluster", name, args, &resource, opts...) 242 if err != nil { 243 return nil, err 244 } 245 return &resource, nil 246 } 247 248 // GetCluster gets an existing Cluster resource's state with the given name, ID, and optional 249 // state properties that are used to uniquely qualify the lookup (nil if not required). 250 func GetCluster(ctx *pulumi.Context, 251 name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error) { 252 var resource Cluster 253 err := ctx.ReadResource("aws:redshift/cluster:Cluster", name, id, state, &resource, opts...) 254 if err != nil { 255 return nil, err 256 } 257 return &resource, nil 258 } 259 260 // Input properties used for looking up and filtering Cluster resources. 261 type clusterState struct { 262 // If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is `true`. 263 AllowVersionUpgrade *bool `pulumi:"allowVersionUpgrade"` 264 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 265 ApplyImmediately *bool `pulumi:"applyImmediately"` 266 // The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. 267 // No longer supported by the AWS API. 268 // Always returns `auto`. 269 // 270 // Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider. 271 AquaConfigurationStatus *string `pulumi:"aquaConfigurationStatus"` 272 // Amazon Resource Name (ARN) of cluster 273 Arn *string `pulumi:"arn"` 274 // The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1. 275 AutomatedSnapshotRetentionPeriod *int `pulumi:"automatedSnapshotRetentionPeriod"` 276 // The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Can only be changed if `availabilityZoneRelocationEnabled` is `true`. 277 AvailabilityZone *string `pulumi:"availabilityZone"` 278 // If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family. 279 AvailabilityZoneRelocationEnabled *bool `pulumi:"availabilityZoneRelocationEnabled"` 280 // The Cluster Identifier. Must be a lower case string. 281 ClusterIdentifier *string `pulumi:"clusterIdentifier"` 282 // The namespace Amazon Resource Name (ARN) of the cluster 283 ClusterNamespaceArn *string `pulumi:"clusterNamespaceArn"` 284 // The nodes in the cluster. Cluster node blocks are documented below 285 ClusterNodes []ClusterClusterNode `pulumi:"clusterNodes"` 286 // The name of the parameter group to be associated with this cluster. 287 ClusterParameterGroupName *string `pulumi:"clusterParameterGroupName"` 288 // The public key for the cluster 289 ClusterPublicKey *string `pulumi:"clusterPublicKey"` 290 // The specific revision number of the database in the cluster 291 ClusterRevisionNumber *string `pulumi:"clusterRevisionNumber"` 292 // The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC). 293 ClusterSubnetGroupName *string `pulumi:"clusterSubnetGroupName"` 294 // The cluster type to use. Either `single-node` or `multi-node`. 295 ClusterType *string `pulumi:"clusterType"` 296 // The version of the Amazon Redshift engine software that you want to deploy on the cluster. 297 // The version selected runs on all the nodes in the cluster. 298 ClusterVersion *string `pulumi:"clusterVersion"` 299 // The name of the first database to be created when the cluster is created. 300 // If you do not provide a name, Amazon Redshift will create a default database called `dev`. 301 DatabaseName *string `pulumi:"databaseName"` 302 // The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created. 303 DefaultIamRoleArn *string `pulumi:"defaultIamRoleArn"` 304 // The DNS name of the cluster 305 DnsName *string `pulumi:"dnsName"` 306 // The Elastic IP (EIP) address for the cluster. 307 ElasticIp *string `pulumi:"elasticIp"` 308 // If true , the data in the cluster is encrypted at rest. 309 Encrypted *bool `pulumi:"encrypted"` 310 // The connection endpoint 311 Endpoint *string `pulumi:"endpoint"` 312 // If true , enhanced VPC routing is enabled. 313 EnhancedVpcRouting *bool `pulumi:"enhancedVpcRouting"` 314 // The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, `skipFinalSnapshot` must be false. 315 FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` 316 // A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time. 317 IamRoles []string `pulumi:"iamRoles"` 318 // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. 319 KmsKeyId *string `pulumi:"kmsKeyId"` 320 // Logging, documented below. 321 // 322 // Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version. 323 Logging *ClusterLogging `pulumi:"logging"` 324 // The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`. 325 MaintenanceTrackName *string `pulumi:"maintenanceTrackName"` 326 // Whether to use AWS SecretsManager to manage the cluster admin credentials. 327 // Conflicts with `masterPassword`. 328 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 329 ManageMasterPassword *bool `pulumi:"manageMasterPassword"` 330 // The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`. 331 ManualSnapshotRetentionPeriod *int `pulumi:"manualSnapshotRetentionPeriod"` 332 // Password for the master DB user. 333 // Conflicts with `manageMasterPassword`. 334 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 335 // Note that this may show up in logs, and it will be stored in the state file. 336 // Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number. 337 MasterPassword *string `pulumi:"masterPassword"` 338 // ARN of the cluster admin credentials secret 339 MasterPasswordSecretArn *string `pulumi:"masterPasswordSecretArn"` 340 // ID of the KMS key used to encrypt the cluster admin credentials secret. 341 MasterPasswordSecretKmsKeyId *string `pulumi:"masterPasswordSecretKmsKeyId"` 342 // Username for the master DB user. 343 MasterUsername *string `pulumi:"masterUsername"` 344 // Specifies if the Redshift cluster is multi-AZ. 345 MultiAz *bool `pulumi:"multiAz"` 346 // The node type to be provisioned for the cluster. 347 NodeType *string `pulumi:"nodeType"` 348 // The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1. 349 NumberOfNodes *int `pulumi:"numberOfNodes"` 350 // The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot. 351 OwnerAccount *string `pulumi:"ownerAccount"` 352 // The port number on which the cluster accepts incoming connections. Valid values are between `1115` and `65535`. 353 // The cluster is accessible only via the JDBC and ODBC connection strings. 354 // Part of the connection string requires the port on which the cluster will listen for incoming connections. 355 // Default port is `5439`. 356 Port *int `pulumi:"port"` 357 // The weekly time range (in UTC) during which automated cluster maintenance can occur. 358 // Format: ddd:hh24:mi-ddd:hh24:mi 359 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 360 // If true, the cluster can be accessed from a public network. Default is `true`. 361 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 362 // Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false. 363 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 364 // The ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`. 365 SnapshotArn *string `pulumi:"snapshotArn"` 366 // The name of the cluster the source snapshot was created from. 367 SnapshotClusterIdentifier *string `pulumi:"snapshotClusterIdentifier"` 368 // Configuration of automatic copy of snapshots from one region to another. Documented below. 369 // 370 // Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version. 371 SnapshotCopy *ClusterSnapshotCopy `pulumi:"snapshotCopy"` 372 // The name of the snapshot from which to create the new cluster. Conflicts with `snapshotArn`. 373 SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` 374 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 375 Tags map[string]string `pulumi:"tags"` 376 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 377 // 378 // Deprecated: Please use `tags` instead. 379 TagsAll map[string]string `pulumi:"tagsAll"` 380 // A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster. 381 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 382 } 383 384 type ClusterState struct { 385 // If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is `true`. 386 AllowVersionUpgrade pulumi.BoolPtrInput 387 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 388 ApplyImmediately pulumi.BoolPtrInput 389 // The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. 390 // No longer supported by the AWS API. 391 // Always returns `auto`. 392 // 393 // Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider. 394 AquaConfigurationStatus pulumi.StringPtrInput 395 // Amazon Resource Name (ARN) of cluster 396 Arn pulumi.StringPtrInput 397 // The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1. 398 AutomatedSnapshotRetentionPeriod pulumi.IntPtrInput 399 // The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Can only be changed if `availabilityZoneRelocationEnabled` is `true`. 400 AvailabilityZone pulumi.StringPtrInput 401 // If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family. 402 AvailabilityZoneRelocationEnabled pulumi.BoolPtrInput 403 // The Cluster Identifier. Must be a lower case string. 404 ClusterIdentifier pulumi.StringPtrInput 405 // The namespace Amazon Resource Name (ARN) of the cluster 406 ClusterNamespaceArn pulumi.StringPtrInput 407 // The nodes in the cluster. Cluster node blocks are documented below 408 ClusterNodes ClusterClusterNodeArrayInput 409 // The name of the parameter group to be associated with this cluster. 410 ClusterParameterGroupName pulumi.StringPtrInput 411 // The public key for the cluster 412 ClusterPublicKey pulumi.StringPtrInput 413 // The specific revision number of the database in the cluster 414 ClusterRevisionNumber pulumi.StringPtrInput 415 // The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC). 416 ClusterSubnetGroupName pulumi.StringPtrInput 417 // The cluster type to use. Either `single-node` or `multi-node`. 418 ClusterType pulumi.StringPtrInput 419 // The version of the Amazon Redshift engine software that you want to deploy on the cluster. 420 // The version selected runs on all the nodes in the cluster. 421 ClusterVersion pulumi.StringPtrInput 422 // The name of the first database to be created when the cluster is created. 423 // If you do not provide a name, Amazon Redshift will create a default database called `dev`. 424 DatabaseName pulumi.StringPtrInput 425 // The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created. 426 DefaultIamRoleArn pulumi.StringPtrInput 427 // The DNS name of the cluster 428 DnsName pulumi.StringPtrInput 429 // The Elastic IP (EIP) address for the cluster. 430 ElasticIp pulumi.StringPtrInput 431 // If true , the data in the cluster is encrypted at rest. 432 Encrypted pulumi.BoolPtrInput 433 // The connection endpoint 434 Endpoint pulumi.StringPtrInput 435 // If true , enhanced VPC routing is enabled. 436 EnhancedVpcRouting pulumi.BoolPtrInput 437 // The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, `skipFinalSnapshot` must be false. 438 FinalSnapshotIdentifier pulumi.StringPtrInput 439 // A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time. 440 IamRoles pulumi.StringArrayInput 441 // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. 442 KmsKeyId pulumi.StringPtrInput 443 // Logging, documented below. 444 // 445 // Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version. 446 Logging ClusterLoggingPtrInput 447 // The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`. 448 MaintenanceTrackName pulumi.StringPtrInput 449 // Whether to use AWS SecretsManager to manage the cluster admin credentials. 450 // Conflicts with `masterPassword`. 451 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 452 ManageMasterPassword pulumi.BoolPtrInput 453 // The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`. 454 ManualSnapshotRetentionPeriod pulumi.IntPtrInput 455 // Password for the master DB user. 456 // Conflicts with `manageMasterPassword`. 457 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 458 // Note that this may show up in logs, and it will be stored in the state file. 459 // Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number. 460 MasterPassword pulumi.StringPtrInput 461 // ARN of the cluster admin credentials secret 462 MasterPasswordSecretArn pulumi.StringPtrInput 463 // ID of the KMS key used to encrypt the cluster admin credentials secret. 464 MasterPasswordSecretKmsKeyId pulumi.StringPtrInput 465 // Username for the master DB user. 466 MasterUsername pulumi.StringPtrInput 467 // Specifies if the Redshift cluster is multi-AZ. 468 MultiAz pulumi.BoolPtrInput 469 // The node type to be provisioned for the cluster. 470 NodeType pulumi.StringPtrInput 471 // The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1. 472 NumberOfNodes pulumi.IntPtrInput 473 // The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot. 474 OwnerAccount pulumi.StringPtrInput 475 // The port number on which the cluster accepts incoming connections. Valid values are between `1115` and `65535`. 476 // The cluster is accessible only via the JDBC and ODBC connection strings. 477 // Part of the connection string requires the port on which the cluster will listen for incoming connections. 478 // Default port is `5439`. 479 Port pulumi.IntPtrInput 480 // The weekly time range (in UTC) during which automated cluster maintenance can occur. 481 // Format: ddd:hh24:mi-ddd:hh24:mi 482 PreferredMaintenanceWindow pulumi.StringPtrInput 483 // If true, the cluster can be accessed from a public network. Default is `true`. 484 PubliclyAccessible pulumi.BoolPtrInput 485 // Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false. 486 SkipFinalSnapshot pulumi.BoolPtrInput 487 // The ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`. 488 SnapshotArn pulumi.StringPtrInput 489 // The name of the cluster the source snapshot was created from. 490 SnapshotClusterIdentifier pulumi.StringPtrInput 491 // Configuration of automatic copy of snapshots from one region to another. Documented below. 492 // 493 // Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version. 494 SnapshotCopy ClusterSnapshotCopyPtrInput 495 // The name of the snapshot from which to create the new cluster. Conflicts with `snapshotArn`. 496 SnapshotIdentifier pulumi.StringPtrInput 497 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 498 Tags pulumi.StringMapInput 499 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 500 // 501 // Deprecated: Please use `tags` instead. 502 TagsAll pulumi.StringMapInput 503 // A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster. 504 VpcSecurityGroupIds pulumi.StringArrayInput 505 } 506 507 func (ClusterState) ElementType() reflect.Type { 508 return reflect.TypeOf((*clusterState)(nil)).Elem() 509 } 510 511 type clusterArgs struct { 512 // If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is `true`. 513 AllowVersionUpgrade *bool `pulumi:"allowVersionUpgrade"` 514 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 515 ApplyImmediately *bool `pulumi:"applyImmediately"` 516 // The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. 517 // No longer supported by the AWS API. 518 // Always returns `auto`. 519 // 520 // Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider. 521 AquaConfigurationStatus *string `pulumi:"aquaConfigurationStatus"` 522 // The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1. 523 AutomatedSnapshotRetentionPeriod *int `pulumi:"automatedSnapshotRetentionPeriod"` 524 // The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Can only be changed if `availabilityZoneRelocationEnabled` is `true`. 525 AvailabilityZone *string `pulumi:"availabilityZone"` 526 // If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family. 527 AvailabilityZoneRelocationEnabled *bool `pulumi:"availabilityZoneRelocationEnabled"` 528 // The Cluster Identifier. Must be a lower case string. 529 ClusterIdentifier string `pulumi:"clusterIdentifier"` 530 // The name of the parameter group to be associated with this cluster. 531 ClusterParameterGroupName *string `pulumi:"clusterParameterGroupName"` 532 // The public key for the cluster 533 ClusterPublicKey *string `pulumi:"clusterPublicKey"` 534 // The specific revision number of the database in the cluster 535 ClusterRevisionNumber *string `pulumi:"clusterRevisionNumber"` 536 // The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC). 537 ClusterSubnetGroupName *string `pulumi:"clusterSubnetGroupName"` 538 // The cluster type to use. Either `single-node` or `multi-node`. 539 ClusterType *string `pulumi:"clusterType"` 540 // The version of the Amazon Redshift engine software that you want to deploy on the cluster. 541 // The version selected runs on all the nodes in the cluster. 542 ClusterVersion *string `pulumi:"clusterVersion"` 543 // The name of the first database to be created when the cluster is created. 544 // If you do not provide a name, Amazon Redshift will create a default database called `dev`. 545 DatabaseName *string `pulumi:"databaseName"` 546 // The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created. 547 DefaultIamRoleArn *string `pulumi:"defaultIamRoleArn"` 548 // The Elastic IP (EIP) address for the cluster. 549 ElasticIp *string `pulumi:"elasticIp"` 550 // If true , the data in the cluster is encrypted at rest. 551 Encrypted *bool `pulumi:"encrypted"` 552 // The connection endpoint 553 Endpoint *string `pulumi:"endpoint"` 554 // If true , enhanced VPC routing is enabled. 555 EnhancedVpcRouting *bool `pulumi:"enhancedVpcRouting"` 556 // The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, `skipFinalSnapshot` must be false. 557 FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` 558 // A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time. 559 IamRoles []string `pulumi:"iamRoles"` 560 // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. 561 KmsKeyId *string `pulumi:"kmsKeyId"` 562 // Logging, documented below. 563 // 564 // Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version. 565 Logging *ClusterLogging `pulumi:"logging"` 566 // The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`. 567 MaintenanceTrackName *string `pulumi:"maintenanceTrackName"` 568 // Whether to use AWS SecretsManager to manage the cluster admin credentials. 569 // Conflicts with `masterPassword`. 570 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 571 ManageMasterPassword *bool `pulumi:"manageMasterPassword"` 572 // The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`. 573 ManualSnapshotRetentionPeriod *int `pulumi:"manualSnapshotRetentionPeriod"` 574 // Password for the master DB user. 575 // Conflicts with `manageMasterPassword`. 576 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 577 // Note that this may show up in logs, and it will be stored in the state file. 578 // Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number. 579 MasterPassword *string `pulumi:"masterPassword"` 580 // ID of the KMS key used to encrypt the cluster admin credentials secret. 581 MasterPasswordSecretKmsKeyId *string `pulumi:"masterPasswordSecretKmsKeyId"` 582 // Username for the master DB user. 583 MasterUsername *string `pulumi:"masterUsername"` 584 // Specifies if the Redshift cluster is multi-AZ. 585 MultiAz *bool `pulumi:"multiAz"` 586 // The node type to be provisioned for the cluster. 587 NodeType string `pulumi:"nodeType"` 588 // The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1. 589 NumberOfNodes *int `pulumi:"numberOfNodes"` 590 // The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot. 591 OwnerAccount *string `pulumi:"ownerAccount"` 592 // The port number on which the cluster accepts incoming connections. Valid values are between `1115` and `65535`. 593 // The cluster is accessible only via the JDBC and ODBC connection strings. 594 // Part of the connection string requires the port on which the cluster will listen for incoming connections. 595 // Default port is `5439`. 596 Port *int `pulumi:"port"` 597 // The weekly time range (in UTC) during which automated cluster maintenance can occur. 598 // Format: ddd:hh24:mi-ddd:hh24:mi 599 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 600 // If true, the cluster can be accessed from a public network. Default is `true`. 601 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 602 // Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false. 603 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 604 // The ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`. 605 SnapshotArn *string `pulumi:"snapshotArn"` 606 // The name of the cluster the source snapshot was created from. 607 SnapshotClusterIdentifier *string `pulumi:"snapshotClusterIdentifier"` 608 // Configuration of automatic copy of snapshots from one region to another. Documented below. 609 // 610 // Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version. 611 SnapshotCopy *ClusterSnapshotCopy `pulumi:"snapshotCopy"` 612 // The name of the snapshot from which to create the new cluster. Conflicts with `snapshotArn`. 613 SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` 614 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 615 Tags map[string]string `pulumi:"tags"` 616 // A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster. 617 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 618 } 619 620 // The set of arguments for constructing a Cluster resource. 621 type ClusterArgs struct { 622 // If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is `true`. 623 AllowVersionUpgrade pulumi.BoolPtrInput 624 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 625 ApplyImmediately pulumi.BoolPtrInput 626 // The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. 627 // No longer supported by the AWS API. 628 // Always returns `auto`. 629 // 630 // Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider. 631 AquaConfigurationStatus pulumi.StringPtrInput 632 // The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1. 633 AutomatedSnapshotRetentionPeriod pulumi.IntPtrInput 634 // The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Can only be changed if `availabilityZoneRelocationEnabled` is `true`. 635 AvailabilityZone pulumi.StringPtrInput 636 // If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family. 637 AvailabilityZoneRelocationEnabled pulumi.BoolPtrInput 638 // The Cluster Identifier. Must be a lower case string. 639 ClusterIdentifier pulumi.StringInput 640 // The name of the parameter group to be associated with this cluster. 641 ClusterParameterGroupName pulumi.StringPtrInput 642 // The public key for the cluster 643 ClusterPublicKey pulumi.StringPtrInput 644 // The specific revision number of the database in the cluster 645 ClusterRevisionNumber pulumi.StringPtrInput 646 // The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC). 647 ClusterSubnetGroupName pulumi.StringPtrInput 648 // The cluster type to use. Either `single-node` or `multi-node`. 649 ClusterType pulumi.StringPtrInput 650 // The version of the Amazon Redshift engine software that you want to deploy on the cluster. 651 // The version selected runs on all the nodes in the cluster. 652 ClusterVersion pulumi.StringPtrInput 653 // The name of the first database to be created when the cluster is created. 654 // If you do not provide a name, Amazon Redshift will create a default database called `dev`. 655 DatabaseName pulumi.StringPtrInput 656 // The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created. 657 DefaultIamRoleArn pulumi.StringPtrInput 658 // The Elastic IP (EIP) address for the cluster. 659 ElasticIp pulumi.StringPtrInput 660 // If true , the data in the cluster is encrypted at rest. 661 Encrypted pulumi.BoolPtrInput 662 // The connection endpoint 663 Endpoint pulumi.StringPtrInput 664 // If true , enhanced VPC routing is enabled. 665 EnhancedVpcRouting pulumi.BoolPtrInput 666 // The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, `skipFinalSnapshot` must be false. 667 FinalSnapshotIdentifier pulumi.StringPtrInput 668 // A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time. 669 IamRoles pulumi.StringArrayInput 670 // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. 671 KmsKeyId pulumi.StringPtrInput 672 // Logging, documented below. 673 // 674 // Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version. 675 Logging ClusterLoggingPtrInput 676 // The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`. 677 MaintenanceTrackName pulumi.StringPtrInput 678 // Whether to use AWS SecretsManager to manage the cluster admin credentials. 679 // Conflicts with `masterPassword`. 680 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 681 ManageMasterPassword pulumi.BoolPtrInput 682 // The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`. 683 ManualSnapshotRetentionPeriod pulumi.IntPtrInput 684 // Password for the master DB user. 685 // Conflicts with `manageMasterPassword`. 686 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 687 // Note that this may show up in logs, and it will be stored in the state file. 688 // Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number. 689 MasterPassword pulumi.StringPtrInput 690 // ID of the KMS key used to encrypt the cluster admin credentials secret. 691 MasterPasswordSecretKmsKeyId pulumi.StringPtrInput 692 // Username for the master DB user. 693 MasterUsername pulumi.StringPtrInput 694 // Specifies if the Redshift cluster is multi-AZ. 695 MultiAz pulumi.BoolPtrInput 696 // The node type to be provisioned for the cluster. 697 NodeType pulumi.StringInput 698 // The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1. 699 NumberOfNodes pulumi.IntPtrInput 700 // The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot. 701 OwnerAccount pulumi.StringPtrInput 702 // The port number on which the cluster accepts incoming connections. Valid values are between `1115` and `65535`. 703 // The cluster is accessible only via the JDBC and ODBC connection strings. 704 // Part of the connection string requires the port on which the cluster will listen for incoming connections. 705 // Default port is `5439`. 706 Port pulumi.IntPtrInput 707 // The weekly time range (in UTC) during which automated cluster maintenance can occur. 708 // Format: ddd:hh24:mi-ddd:hh24:mi 709 PreferredMaintenanceWindow pulumi.StringPtrInput 710 // If true, the cluster can be accessed from a public network. Default is `true`. 711 PubliclyAccessible pulumi.BoolPtrInput 712 // Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false. 713 SkipFinalSnapshot pulumi.BoolPtrInput 714 // The ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`. 715 SnapshotArn pulumi.StringPtrInput 716 // The name of the cluster the source snapshot was created from. 717 SnapshotClusterIdentifier pulumi.StringPtrInput 718 // Configuration of automatic copy of snapshots from one region to another. Documented below. 719 // 720 // Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version. 721 SnapshotCopy ClusterSnapshotCopyPtrInput 722 // The name of the snapshot from which to create the new cluster. Conflicts with `snapshotArn`. 723 SnapshotIdentifier pulumi.StringPtrInput 724 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 725 Tags pulumi.StringMapInput 726 // A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster. 727 VpcSecurityGroupIds pulumi.StringArrayInput 728 } 729 730 func (ClusterArgs) ElementType() reflect.Type { 731 return reflect.TypeOf((*clusterArgs)(nil)).Elem() 732 } 733 734 type ClusterInput interface { 735 pulumi.Input 736 737 ToClusterOutput() ClusterOutput 738 ToClusterOutputWithContext(ctx context.Context) ClusterOutput 739 } 740 741 func (*Cluster) ElementType() reflect.Type { 742 return reflect.TypeOf((**Cluster)(nil)).Elem() 743 } 744 745 func (i *Cluster) ToClusterOutput() ClusterOutput { 746 return i.ToClusterOutputWithContext(context.Background()) 747 } 748 749 func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { 750 return pulumi.ToOutputWithContext(ctx, i).(ClusterOutput) 751 } 752 753 // ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. 754 // You can construct a concrete instance of `ClusterArrayInput` via: 755 // 756 // ClusterArray{ ClusterArgs{...} } 757 type ClusterArrayInput interface { 758 pulumi.Input 759 760 ToClusterArrayOutput() ClusterArrayOutput 761 ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput 762 } 763 764 type ClusterArray []ClusterInput 765 766 func (ClusterArray) ElementType() reflect.Type { 767 return reflect.TypeOf((*[]*Cluster)(nil)).Elem() 768 } 769 770 func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput { 771 return i.ToClusterArrayOutputWithContext(context.Background()) 772 } 773 774 func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput { 775 return pulumi.ToOutputWithContext(ctx, i).(ClusterArrayOutput) 776 } 777 778 // ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. 779 // You can construct a concrete instance of `ClusterMapInput` via: 780 // 781 // ClusterMap{ "key": ClusterArgs{...} } 782 type ClusterMapInput interface { 783 pulumi.Input 784 785 ToClusterMapOutput() ClusterMapOutput 786 ToClusterMapOutputWithContext(context.Context) ClusterMapOutput 787 } 788 789 type ClusterMap map[string]ClusterInput 790 791 func (ClusterMap) ElementType() reflect.Type { 792 return reflect.TypeOf((*map[string]*Cluster)(nil)).Elem() 793 } 794 795 func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput { 796 return i.ToClusterMapOutputWithContext(context.Background()) 797 } 798 799 func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput { 800 return pulumi.ToOutputWithContext(ctx, i).(ClusterMapOutput) 801 } 802 803 type ClusterOutput struct{ *pulumi.OutputState } 804 805 func (ClusterOutput) ElementType() reflect.Type { 806 return reflect.TypeOf((**Cluster)(nil)).Elem() 807 } 808 809 func (o ClusterOutput) ToClusterOutput() ClusterOutput { 810 return o 811 } 812 813 func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { 814 return o 815 } 816 817 // If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is `true`. 818 func (o ClusterOutput) AllowVersionUpgrade() pulumi.BoolPtrOutput { 819 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.AllowVersionUpgrade }).(pulumi.BoolPtrOutput) 820 } 821 822 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 823 func (o ClusterOutput) ApplyImmediately() pulumi.BoolPtrOutput { 824 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.ApplyImmediately }).(pulumi.BoolPtrOutput) 825 } 826 827 // The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. 828 // No longer supported by the AWS API. 829 // Always returns `auto`. 830 // 831 // Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider. 832 func (o ClusterOutput) AquaConfigurationStatus() pulumi.StringOutput { 833 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.AquaConfigurationStatus }).(pulumi.StringOutput) 834 } 835 836 // Amazon Resource Name (ARN) of cluster 837 func (o ClusterOutput) Arn() pulumi.StringOutput { 838 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 839 } 840 841 // The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1. 842 func (o ClusterOutput) AutomatedSnapshotRetentionPeriod() pulumi.IntPtrOutput { 843 return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.AutomatedSnapshotRetentionPeriod }).(pulumi.IntPtrOutput) 844 } 845 846 // The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Can only be changed if `availabilityZoneRelocationEnabled` is `true`. 847 func (o ClusterOutput) AvailabilityZone() pulumi.StringOutput { 848 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) 849 } 850 851 // If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family. 852 func (o ClusterOutput) AvailabilityZoneRelocationEnabled() pulumi.BoolPtrOutput { 853 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.AvailabilityZoneRelocationEnabled }).(pulumi.BoolPtrOutput) 854 } 855 856 // The Cluster Identifier. Must be a lower case string. 857 func (o ClusterOutput) ClusterIdentifier() pulumi.StringOutput { 858 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterIdentifier }).(pulumi.StringOutput) 859 } 860 861 // The namespace Amazon Resource Name (ARN) of the cluster 862 func (o ClusterOutput) ClusterNamespaceArn() pulumi.StringOutput { 863 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterNamespaceArn }).(pulumi.StringOutput) 864 } 865 866 // The nodes in the cluster. Cluster node blocks are documented below 867 func (o ClusterOutput) ClusterNodes() ClusterClusterNodeArrayOutput { 868 return o.ApplyT(func(v *Cluster) ClusterClusterNodeArrayOutput { return v.ClusterNodes }).(ClusterClusterNodeArrayOutput) 869 } 870 871 // The name of the parameter group to be associated with this cluster. 872 func (o ClusterOutput) ClusterParameterGroupName() pulumi.StringOutput { 873 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterParameterGroupName }).(pulumi.StringOutput) 874 } 875 876 // The public key for the cluster 877 func (o ClusterOutput) ClusterPublicKey() pulumi.StringOutput { 878 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterPublicKey }).(pulumi.StringOutput) 879 } 880 881 // The specific revision number of the database in the cluster 882 func (o ClusterOutput) ClusterRevisionNumber() pulumi.StringOutput { 883 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterRevisionNumber }).(pulumi.StringOutput) 884 } 885 886 // The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC). 887 func (o ClusterOutput) ClusterSubnetGroupName() pulumi.StringOutput { 888 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterSubnetGroupName }).(pulumi.StringOutput) 889 } 890 891 // The cluster type to use. Either `single-node` or `multi-node`. 892 func (o ClusterOutput) ClusterType() pulumi.StringOutput { 893 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterType }).(pulumi.StringOutput) 894 } 895 896 // The version of the Amazon Redshift engine software that you want to deploy on the cluster. 897 // The version selected runs on all the nodes in the cluster. 898 func (o ClusterOutput) ClusterVersion() pulumi.StringPtrOutput { 899 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.ClusterVersion }).(pulumi.StringPtrOutput) 900 } 901 902 // The name of the first database to be created when the cluster is created. 903 // If you do not provide a name, Amazon Redshift will create a default database called `dev`. 904 func (o ClusterOutput) DatabaseName() pulumi.StringOutput { 905 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DatabaseName }).(pulumi.StringOutput) 906 } 907 908 // The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created. 909 func (o ClusterOutput) DefaultIamRoleArn() pulumi.StringOutput { 910 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DefaultIamRoleArn }).(pulumi.StringOutput) 911 } 912 913 // The DNS name of the cluster 914 func (o ClusterOutput) DnsName() pulumi.StringOutput { 915 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) 916 } 917 918 // The Elastic IP (EIP) address for the cluster. 919 func (o ClusterOutput) ElasticIp() pulumi.StringPtrOutput { 920 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.ElasticIp }).(pulumi.StringPtrOutput) 921 } 922 923 // If true , the data in the cluster is encrypted at rest. 924 func (o ClusterOutput) Encrypted() pulumi.BoolPtrOutput { 925 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.Encrypted }).(pulumi.BoolPtrOutput) 926 } 927 928 // The connection endpoint 929 func (o ClusterOutput) Endpoint() pulumi.StringOutput { 930 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 931 } 932 933 // If true , enhanced VPC routing is enabled. 934 func (o ClusterOutput) EnhancedVpcRouting() pulumi.BoolOutput { 935 return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.EnhancedVpcRouting }).(pulumi.BoolOutput) 936 } 937 938 // The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, `skipFinalSnapshot` must be false. 939 func (o ClusterOutput) FinalSnapshotIdentifier() pulumi.StringPtrOutput { 940 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.FinalSnapshotIdentifier }).(pulumi.StringPtrOutput) 941 } 942 943 // A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time. 944 func (o ClusterOutput) IamRoles() pulumi.StringArrayOutput { 945 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.IamRoles }).(pulumi.StringArrayOutput) 946 } 947 948 // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. 949 func (o ClusterOutput) KmsKeyId() pulumi.StringOutput { 950 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 951 } 952 953 // Logging, documented below. 954 // 955 // Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version. 956 func (o ClusterOutput) Logging() ClusterLoggingOutput { 957 return o.ApplyT(func(v *Cluster) ClusterLoggingOutput { return v.Logging }).(ClusterLoggingOutput) 958 } 959 960 // The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`. 961 func (o ClusterOutput) MaintenanceTrackName() pulumi.StringPtrOutput { 962 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.MaintenanceTrackName }).(pulumi.StringPtrOutput) 963 } 964 965 // Whether to use AWS SecretsManager to manage the cluster admin credentials. 966 // Conflicts with `masterPassword`. 967 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 968 func (o ClusterOutput) ManageMasterPassword() pulumi.BoolPtrOutput { 969 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.ManageMasterPassword }).(pulumi.BoolPtrOutput) 970 } 971 972 // The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`. 973 func (o ClusterOutput) ManualSnapshotRetentionPeriod() pulumi.IntPtrOutput { 974 return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.ManualSnapshotRetentionPeriod }).(pulumi.IntPtrOutput) 975 } 976 977 // Password for the master DB user. 978 // Conflicts with `manageMasterPassword`. 979 // One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. 980 // Note that this may show up in logs, and it will be stored in the state file. 981 // Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number. 982 func (o ClusterOutput) MasterPassword() pulumi.StringPtrOutput { 983 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.MasterPassword }).(pulumi.StringPtrOutput) 984 } 985 986 // ARN of the cluster admin credentials secret 987 func (o ClusterOutput) MasterPasswordSecretArn() pulumi.StringOutput { 988 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.MasterPasswordSecretArn }).(pulumi.StringOutput) 989 } 990 991 // ID of the KMS key used to encrypt the cluster admin credentials secret. 992 func (o ClusterOutput) MasterPasswordSecretKmsKeyId() pulumi.StringOutput { 993 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.MasterPasswordSecretKmsKeyId }).(pulumi.StringOutput) 994 } 995 996 // Username for the master DB user. 997 func (o ClusterOutput) MasterUsername() pulumi.StringPtrOutput { 998 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.MasterUsername }).(pulumi.StringPtrOutput) 999 } 1000 1001 // Specifies if the Redshift cluster is multi-AZ. 1002 func (o ClusterOutput) MultiAz() pulumi.BoolPtrOutput { 1003 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.MultiAz }).(pulumi.BoolPtrOutput) 1004 } 1005 1006 // The node type to be provisioned for the cluster. 1007 func (o ClusterOutput) NodeType() pulumi.StringOutput { 1008 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.NodeType }).(pulumi.StringOutput) 1009 } 1010 1011 // The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1. 1012 func (o ClusterOutput) NumberOfNodes() pulumi.IntPtrOutput { 1013 return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.NumberOfNodes }).(pulumi.IntPtrOutput) 1014 } 1015 1016 // The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot. 1017 func (o ClusterOutput) OwnerAccount() pulumi.StringPtrOutput { 1018 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.OwnerAccount }).(pulumi.StringPtrOutput) 1019 } 1020 1021 // The port number on which the cluster accepts incoming connections. Valid values are between `1115` and `65535`. 1022 // The cluster is accessible only via the JDBC and ODBC connection strings. 1023 // Part of the connection string requires the port on which the cluster will listen for incoming connections. 1024 // Default port is `5439`. 1025 func (o ClusterOutput) Port() pulumi.IntPtrOutput { 1026 return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.Port }).(pulumi.IntPtrOutput) 1027 } 1028 1029 // The weekly time range (in UTC) during which automated cluster maintenance can occur. 1030 // Format: ddd:hh24:mi-ddd:hh24:mi 1031 func (o ClusterOutput) PreferredMaintenanceWindow() pulumi.StringOutput { 1032 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput) 1033 } 1034 1035 // If true, the cluster can be accessed from a public network. Default is `true`. 1036 func (o ClusterOutput) PubliclyAccessible() pulumi.BoolPtrOutput { 1037 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.PubliclyAccessible }).(pulumi.BoolPtrOutput) 1038 } 1039 1040 // Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false. 1041 func (o ClusterOutput) SkipFinalSnapshot() pulumi.BoolPtrOutput { 1042 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.SkipFinalSnapshot }).(pulumi.BoolPtrOutput) 1043 } 1044 1045 // The ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`. 1046 func (o ClusterOutput) SnapshotArn() pulumi.StringPtrOutput { 1047 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.SnapshotArn }).(pulumi.StringPtrOutput) 1048 } 1049 1050 // The name of the cluster the source snapshot was created from. 1051 func (o ClusterOutput) SnapshotClusterIdentifier() pulumi.StringPtrOutput { 1052 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.SnapshotClusterIdentifier }).(pulumi.StringPtrOutput) 1053 } 1054 1055 // Configuration of automatic copy of snapshots from one region to another. Documented below. 1056 // 1057 // Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version. 1058 func (o ClusterOutput) SnapshotCopy() ClusterSnapshotCopyOutput { 1059 return o.ApplyT(func(v *Cluster) ClusterSnapshotCopyOutput { return v.SnapshotCopy }).(ClusterSnapshotCopyOutput) 1060 } 1061 1062 // The name of the snapshot from which to create the new cluster. Conflicts with `snapshotArn`. 1063 func (o ClusterOutput) SnapshotIdentifier() pulumi.StringPtrOutput { 1064 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.SnapshotIdentifier }).(pulumi.StringPtrOutput) 1065 } 1066 1067 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 1068 func (o ClusterOutput) Tags() pulumi.StringMapOutput { 1069 return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 1070 } 1071 1072 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 1073 // 1074 // Deprecated: Please use `tags` instead. 1075 func (o ClusterOutput) TagsAll() pulumi.StringMapOutput { 1076 return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 1077 } 1078 1079 // A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster. 1080 func (o ClusterOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput { 1081 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput) 1082 } 1083 1084 type ClusterArrayOutput struct{ *pulumi.OutputState } 1085 1086 func (ClusterArrayOutput) ElementType() reflect.Type { 1087 return reflect.TypeOf((*[]*Cluster)(nil)).Elem() 1088 } 1089 1090 func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput { 1091 return o 1092 } 1093 1094 func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput { 1095 return o 1096 } 1097 1098 func (o ClusterArrayOutput) Index(i pulumi.IntInput) ClusterOutput { 1099 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Cluster { 1100 return vs[0].([]*Cluster)[vs[1].(int)] 1101 }).(ClusterOutput) 1102 } 1103 1104 type ClusterMapOutput struct{ *pulumi.OutputState } 1105 1106 func (ClusterMapOutput) ElementType() reflect.Type { 1107 return reflect.TypeOf((*map[string]*Cluster)(nil)).Elem() 1108 } 1109 1110 func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput { 1111 return o 1112 } 1113 1114 func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput { 1115 return o 1116 } 1117 1118 func (o ClusterMapOutput) MapIndex(k pulumi.StringInput) ClusterOutput { 1119 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Cluster { 1120 return vs[0].(map[string]*Cluster)[vs[1].(string)] 1121 }).(ClusterOutput) 1122 } 1123 1124 func init() { 1125 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInput)(nil)).Elem(), &Cluster{}) 1126 pulumi.RegisterInputType(reflect.TypeOf((*ClusterArrayInput)(nil)).Elem(), ClusterArray{}) 1127 pulumi.RegisterInputType(reflect.TypeOf((*ClusterMapInput)(nil)).Elem(), ClusterMap{}) 1128 pulumi.RegisterOutputType(ClusterOutput{}) 1129 pulumi.RegisterOutputType(ClusterArrayOutput{}) 1130 pulumi.RegisterOutputType(ClusterMapOutput{}) 1131 }