github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/redshift/getCluster.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 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Provides details about a specific redshift cluster. 15 func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error) { 16 opts = internal.PkgInvokeDefaultOpts(opts) 17 var rv LookupClusterResult 18 err := ctx.Invoke("aws:redshift/getCluster:getCluster", args, &rv, opts...) 19 if err != nil { 20 return nil, err 21 } 22 return &rv, nil 23 } 24 25 // A collection of arguments for invoking getCluster. 26 type LookupClusterArgs struct { 27 // Cluster identifier 28 ClusterIdentifier string `pulumi:"clusterIdentifier"` 29 // Tags associated to the cluster 30 Tags map[string]string `pulumi:"tags"` 31 } 32 33 // A collection of values returned by getCluster. 34 type LookupClusterResult struct { 35 // Whether major version upgrades can be applied during maintenance period 36 AllowVersionUpgrade bool `pulumi:"allowVersionUpgrade"` 37 // The value represents how the cluster is configured to use AQUA. 38 AquaConfigurationStatus string `pulumi:"aquaConfigurationStatus"` 39 // ARN of cluster. 40 Arn string `pulumi:"arn"` 41 // The backup retention period 42 AutomatedSnapshotRetentionPeriod int `pulumi:"automatedSnapshotRetentionPeriod"` 43 // Availability zone of the cluster 44 AvailabilityZone string `pulumi:"availabilityZone"` 45 // Indicates whether the cluster is able to be relocated to another availability zone. 46 AvailabilityZoneRelocationEnabled bool `pulumi:"availabilityZoneRelocationEnabled"` 47 // Name of the S3 bucket where the log files are to be stored 48 BucketName string `pulumi:"bucketName"` 49 // Cluster identifier 50 ClusterIdentifier string `pulumi:"clusterIdentifier"` 51 // The namespace Amazon Resource Name (ARN) of the cluster 52 ClusterNamespaceArn string `pulumi:"clusterNamespaceArn"` 53 // Nodes in the cluster. Cluster node blocks are documented below 54 ClusterNodes []GetClusterClusterNode `pulumi:"clusterNodes"` 55 // The name of the parameter group to be associated with this cluster 56 ClusterParameterGroupName string `pulumi:"clusterParameterGroupName"` 57 // Public key for the cluster 58 ClusterPublicKey string `pulumi:"clusterPublicKey"` 59 // The cluster revision number 60 ClusterRevisionNumber string `pulumi:"clusterRevisionNumber"` 61 // The name of a cluster subnet group to be associated with this cluster 62 ClusterSubnetGroupName string `pulumi:"clusterSubnetGroupName"` 63 // Cluster type 64 ClusterType string `pulumi:"clusterType"` 65 ClusterVersion string `pulumi:"clusterVersion"` 66 // Name of the default database in the cluster 67 DatabaseName string `pulumi:"databaseName"` 68 // The ARN for the IAM role that was set as default for the cluster when the cluster was created. 69 DefaultIamRoleArn string `pulumi:"defaultIamRoleArn"` 70 // Elastic IP of the cluster 71 ElasticIp string `pulumi:"elasticIp"` 72 // Whether cluster logging is enabled 73 EnableLogging bool `pulumi:"enableLogging"` 74 // Whether the cluster data is encrypted 75 Encrypted bool `pulumi:"encrypted"` 76 // Cluster endpoint 77 Endpoint string `pulumi:"endpoint"` 78 // Whether enhanced VPC routing is enabled 79 EnhancedVpcRouting bool `pulumi:"enhancedVpcRouting"` 80 // IAM roles associated to the cluster 81 IamRoles []string `pulumi:"iamRoles"` 82 // The provider-assigned unique ID for this managed resource. 83 Id string `pulumi:"id"` 84 // KMS encryption key associated to the cluster 85 KmsKeyId string `pulumi:"kmsKeyId"` 86 // The log destination type. 87 LogDestinationType string `pulumi:"logDestinationType"` 88 // Collection of exported log types. Log types include the connection log, user log and user activity log. 89 LogExports []string `pulumi:"logExports"` 90 // The name of the maintenance track for the restored cluster. 91 MaintenanceTrackName string `pulumi:"maintenanceTrackName"` 92 // (Optional) The default number of days to retain a manual snapshot. 93 ManualSnapshotRetentionPeriod int `pulumi:"manualSnapshotRetentionPeriod"` 94 // Username for the master DB user 95 MasterUsername string `pulumi:"masterUsername"` 96 // If the cluster is a Multi-AZ deployment 97 MultiAz bool `pulumi:"multiAz"` 98 // Cluster node type 99 NodeType string `pulumi:"nodeType"` 100 // Number of nodes in the cluster 101 NumberOfNodes int `pulumi:"numberOfNodes"` 102 // Port the cluster responds on 103 Port int `pulumi:"port"` 104 // The maintenance window 105 PreferredMaintenanceWindow string `pulumi:"preferredMaintenanceWindow"` 106 // Whether the cluster is publicly accessible 107 PubliclyAccessible bool `pulumi:"publiclyAccessible"` 108 // Folder inside the S3 bucket where the log files are stored 109 S3KeyPrefix string `pulumi:"s3KeyPrefix"` 110 // Tags associated to the cluster 111 Tags map[string]string `pulumi:"tags"` 112 // VPC Id associated with the cluster 113 VpcId string `pulumi:"vpcId"` 114 // The VPC security group Ids associated with the cluster 115 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 116 } 117 118 func LookupClusterOutput(ctx *pulumi.Context, args LookupClusterOutputArgs, opts ...pulumi.InvokeOption) LookupClusterResultOutput { 119 return pulumi.ToOutputWithContext(context.Background(), args). 120 ApplyT(func(v interface{}) (LookupClusterResult, error) { 121 args := v.(LookupClusterArgs) 122 r, err := LookupCluster(ctx, &args, opts...) 123 var s LookupClusterResult 124 if r != nil { 125 s = *r 126 } 127 return s, err 128 }).(LookupClusterResultOutput) 129 } 130 131 // A collection of arguments for invoking getCluster. 132 type LookupClusterOutputArgs struct { 133 // Cluster identifier 134 ClusterIdentifier pulumi.StringInput `pulumi:"clusterIdentifier"` 135 // Tags associated to the cluster 136 Tags pulumi.StringMapInput `pulumi:"tags"` 137 } 138 139 func (LookupClusterOutputArgs) ElementType() reflect.Type { 140 return reflect.TypeOf((*LookupClusterArgs)(nil)).Elem() 141 } 142 143 // A collection of values returned by getCluster. 144 type LookupClusterResultOutput struct{ *pulumi.OutputState } 145 146 func (LookupClusterResultOutput) ElementType() reflect.Type { 147 return reflect.TypeOf((*LookupClusterResult)(nil)).Elem() 148 } 149 150 func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput { 151 return o 152 } 153 154 func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput { 155 return o 156 } 157 158 // Whether major version upgrades can be applied during maintenance period 159 func (o LookupClusterResultOutput) AllowVersionUpgrade() pulumi.BoolOutput { 160 return o.ApplyT(func(v LookupClusterResult) bool { return v.AllowVersionUpgrade }).(pulumi.BoolOutput) 161 } 162 163 // The value represents how the cluster is configured to use AQUA. 164 func (o LookupClusterResultOutput) AquaConfigurationStatus() pulumi.StringOutput { 165 return o.ApplyT(func(v LookupClusterResult) string { return v.AquaConfigurationStatus }).(pulumi.StringOutput) 166 } 167 168 // ARN of cluster. 169 func (o LookupClusterResultOutput) Arn() pulumi.StringOutput { 170 return o.ApplyT(func(v LookupClusterResult) string { return v.Arn }).(pulumi.StringOutput) 171 } 172 173 // The backup retention period 174 func (o LookupClusterResultOutput) AutomatedSnapshotRetentionPeriod() pulumi.IntOutput { 175 return o.ApplyT(func(v LookupClusterResult) int { return v.AutomatedSnapshotRetentionPeriod }).(pulumi.IntOutput) 176 } 177 178 // Availability zone of the cluster 179 func (o LookupClusterResultOutput) AvailabilityZone() pulumi.StringOutput { 180 return o.ApplyT(func(v LookupClusterResult) string { return v.AvailabilityZone }).(pulumi.StringOutput) 181 } 182 183 // Indicates whether the cluster is able to be relocated to another availability zone. 184 func (o LookupClusterResultOutput) AvailabilityZoneRelocationEnabled() pulumi.BoolOutput { 185 return o.ApplyT(func(v LookupClusterResult) bool { return v.AvailabilityZoneRelocationEnabled }).(pulumi.BoolOutput) 186 } 187 188 // Name of the S3 bucket where the log files are to be stored 189 func (o LookupClusterResultOutput) BucketName() pulumi.StringOutput { 190 return o.ApplyT(func(v LookupClusterResult) string { return v.BucketName }).(pulumi.StringOutput) 191 } 192 193 // Cluster identifier 194 func (o LookupClusterResultOutput) ClusterIdentifier() pulumi.StringOutput { 195 return o.ApplyT(func(v LookupClusterResult) string { return v.ClusterIdentifier }).(pulumi.StringOutput) 196 } 197 198 // The namespace Amazon Resource Name (ARN) of the cluster 199 func (o LookupClusterResultOutput) ClusterNamespaceArn() pulumi.StringOutput { 200 return o.ApplyT(func(v LookupClusterResult) string { return v.ClusterNamespaceArn }).(pulumi.StringOutput) 201 } 202 203 // Nodes in the cluster. Cluster node blocks are documented below 204 func (o LookupClusterResultOutput) ClusterNodes() GetClusterClusterNodeArrayOutput { 205 return o.ApplyT(func(v LookupClusterResult) []GetClusterClusterNode { return v.ClusterNodes }).(GetClusterClusterNodeArrayOutput) 206 } 207 208 // The name of the parameter group to be associated with this cluster 209 func (o LookupClusterResultOutput) ClusterParameterGroupName() pulumi.StringOutput { 210 return o.ApplyT(func(v LookupClusterResult) string { return v.ClusterParameterGroupName }).(pulumi.StringOutput) 211 } 212 213 // Public key for the cluster 214 func (o LookupClusterResultOutput) ClusterPublicKey() pulumi.StringOutput { 215 return o.ApplyT(func(v LookupClusterResult) string { return v.ClusterPublicKey }).(pulumi.StringOutput) 216 } 217 218 // The cluster revision number 219 func (o LookupClusterResultOutput) ClusterRevisionNumber() pulumi.StringOutput { 220 return o.ApplyT(func(v LookupClusterResult) string { return v.ClusterRevisionNumber }).(pulumi.StringOutput) 221 } 222 223 // The name of a cluster subnet group to be associated with this cluster 224 func (o LookupClusterResultOutput) ClusterSubnetGroupName() pulumi.StringOutput { 225 return o.ApplyT(func(v LookupClusterResult) string { return v.ClusterSubnetGroupName }).(pulumi.StringOutput) 226 } 227 228 // Cluster type 229 func (o LookupClusterResultOutput) ClusterType() pulumi.StringOutput { 230 return o.ApplyT(func(v LookupClusterResult) string { return v.ClusterType }).(pulumi.StringOutput) 231 } 232 233 func (o LookupClusterResultOutput) ClusterVersion() pulumi.StringOutput { 234 return o.ApplyT(func(v LookupClusterResult) string { return v.ClusterVersion }).(pulumi.StringOutput) 235 } 236 237 // Name of the default database in the cluster 238 func (o LookupClusterResultOutput) DatabaseName() pulumi.StringOutput { 239 return o.ApplyT(func(v LookupClusterResult) string { return v.DatabaseName }).(pulumi.StringOutput) 240 } 241 242 // The ARN for the IAM role that was set as default for the cluster when the cluster was created. 243 func (o LookupClusterResultOutput) DefaultIamRoleArn() pulumi.StringOutput { 244 return o.ApplyT(func(v LookupClusterResult) string { return v.DefaultIamRoleArn }).(pulumi.StringOutput) 245 } 246 247 // Elastic IP of the cluster 248 func (o LookupClusterResultOutput) ElasticIp() pulumi.StringOutput { 249 return o.ApplyT(func(v LookupClusterResult) string { return v.ElasticIp }).(pulumi.StringOutput) 250 } 251 252 // Whether cluster logging is enabled 253 func (o LookupClusterResultOutput) EnableLogging() pulumi.BoolOutput { 254 return o.ApplyT(func(v LookupClusterResult) bool { return v.EnableLogging }).(pulumi.BoolOutput) 255 } 256 257 // Whether the cluster data is encrypted 258 func (o LookupClusterResultOutput) Encrypted() pulumi.BoolOutput { 259 return o.ApplyT(func(v LookupClusterResult) bool { return v.Encrypted }).(pulumi.BoolOutput) 260 } 261 262 // Cluster endpoint 263 func (o LookupClusterResultOutput) Endpoint() pulumi.StringOutput { 264 return o.ApplyT(func(v LookupClusterResult) string { return v.Endpoint }).(pulumi.StringOutput) 265 } 266 267 // Whether enhanced VPC routing is enabled 268 func (o LookupClusterResultOutput) EnhancedVpcRouting() pulumi.BoolOutput { 269 return o.ApplyT(func(v LookupClusterResult) bool { return v.EnhancedVpcRouting }).(pulumi.BoolOutput) 270 } 271 272 // IAM roles associated to the cluster 273 func (o LookupClusterResultOutput) IamRoles() pulumi.StringArrayOutput { 274 return o.ApplyT(func(v LookupClusterResult) []string { return v.IamRoles }).(pulumi.StringArrayOutput) 275 } 276 277 // The provider-assigned unique ID for this managed resource. 278 func (o LookupClusterResultOutput) Id() pulumi.StringOutput { 279 return o.ApplyT(func(v LookupClusterResult) string { return v.Id }).(pulumi.StringOutput) 280 } 281 282 // KMS encryption key associated to the cluster 283 func (o LookupClusterResultOutput) KmsKeyId() pulumi.StringOutput { 284 return o.ApplyT(func(v LookupClusterResult) string { return v.KmsKeyId }).(pulumi.StringOutput) 285 } 286 287 // The log destination type. 288 func (o LookupClusterResultOutput) LogDestinationType() pulumi.StringOutput { 289 return o.ApplyT(func(v LookupClusterResult) string { return v.LogDestinationType }).(pulumi.StringOutput) 290 } 291 292 // Collection of exported log types. Log types include the connection log, user log and user activity log. 293 func (o LookupClusterResultOutput) LogExports() pulumi.StringArrayOutput { 294 return o.ApplyT(func(v LookupClusterResult) []string { return v.LogExports }).(pulumi.StringArrayOutput) 295 } 296 297 // The name of the maintenance track for the restored cluster. 298 func (o LookupClusterResultOutput) MaintenanceTrackName() pulumi.StringOutput { 299 return o.ApplyT(func(v LookupClusterResult) string { return v.MaintenanceTrackName }).(pulumi.StringOutput) 300 } 301 302 // (Optional) The default number of days to retain a manual snapshot. 303 func (o LookupClusterResultOutput) ManualSnapshotRetentionPeriod() pulumi.IntOutput { 304 return o.ApplyT(func(v LookupClusterResult) int { return v.ManualSnapshotRetentionPeriod }).(pulumi.IntOutput) 305 } 306 307 // Username for the master DB user 308 func (o LookupClusterResultOutput) MasterUsername() pulumi.StringOutput { 309 return o.ApplyT(func(v LookupClusterResult) string { return v.MasterUsername }).(pulumi.StringOutput) 310 } 311 312 // If the cluster is a Multi-AZ deployment 313 func (o LookupClusterResultOutput) MultiAz() pulumi.BoolOutput { 314 return o.ApplyT(func(v LookupClusterResult) bool { return v.MultiAz }).(pulumi.BoolOutput) 315 } 316 317 // Cluster node type 318 func (o LookupClusterResultOutput) NodeType() pulumi.StringOutput { 319 return o.ApplyT(func(v LookupClusterResult) string { return v.NodeType }).(pulumi.StringOutput) 320 } 321 322 // Number of nodes in the cluster 323 func (o LookupClusterResultOutput) NumberOfNodes() pulumi.IntOutput { 324 return o.ApplyT(func(v LookupClusterResult) int { return v.NumberOfNodes }).(pulumi.IntOutput) 325 } 326 327 // Port the cluster responds on 328 func (o LookupClusterResultOutput) Port() pulumi.IntOutput { 329 return o.ApplyT(func(v LookupClusterResult) int { return v.Port }).(pulumi.IntOutput) 330 } 331 332 // The maintenance window 333 func (o LookupClusterResultOutput) PreferredMaintenanceWindow() pulumi.StringOutput { 334 return o.ApplyT(func(v LookupClusterResult) string { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput) 335 } 336 337 // Whether the cluster is publicly accessible 338 func (o LookupClusterResultOutput) PubliclyAccessible() pulumi.BoolOutput { 339 return o.ApplyT(func(v LookupClusterResult) bool { return v.PubliclyAccessible }).(pulumi.BoolOutput) 340 } 341 342 // Folder inside the S3 bucket where the log files are stored 343 func (o LookupClusterResultOutput) S3KeyPrefix() pulumi.StringOutput { 344 return o.ApplyT(func(v LookupClusterResult) string { return v.S3KeyPrefix }).(pulumi.StringOutput) 345 } 346 347 // Tags associated to the cluster 348 func (o LookupClusterResultOutput) Tags() pulumi.StringMapOutput { 349 return o.ApplyT(func(v LookupClusterResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) 350 } 351 352 // VPC Id associated with the cluster 353 func (o LookupClusterResultOutput) VpcId() pulumi.StringOutput { 354 return o.ApplyT(func(v LookupClusterResult) string { return v.VpcId }).(pulumi.StringOutput) 355 } 356 357 // The VPC security group Ids associated with the cluster 358 func (o LookupClusterResultOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput { 359 return o.ApplyT(func(v LookupClusterResult) []string { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput) 360 } 361 362 func init() { 363 pulumi.RegisterOutputType(LookupClusterResultOutput{}) 364 }