github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/docdb/elasticCluster.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 docdb 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 // Manages an AWS DocDB (DocumentDB) Elastic Cluster. 16 // 17 // ## Example Usage 18 // 19 // ### Basic Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := docdb.NewElasticCluster(ctx, "example", &docdb.ElasticClusterArgs{ 35 // Name: pulumi.String("my-docdb-cluster"), 36 // AdminUserName: pulumi.String("foo"), 37 // AdminUserPassword: pulumi.String("mustbeeightchars"), 38 // AuthType: pulumi.String("PLAIN_TEXT"), 39 // ShardCapacity: pulumi.Int(2), 40 // ShardCount: pulumi.Int(1), 41 // }) 42 // if err != nil { 43 // return err 44 // } 45 // return nil 46 // }) 47 // } 48 // 49 // ``` 50 // <!--End PulumiCodeChooser --> 51 // 52 // ## Import 53 // 54 // Using `pulumi import`, import DocDB (DocumentDB) Elastic Cluster using the `arn` argument. For example, 55 // 56 // ```sh 57 // $ pulumi import aws:docdb/elasticCluster:ElasticCluster example arn:aws:docdb-elastic:us-east-1:000011112222:cluster/12345678-7abc-def0-1234-56789abcdef 58 // ``` 59 type ElasticCluster struct { 60 pulumi.CustomResourceState 61 62 // Name of the Elastic DocumentDB cluster administrator 63 AdminUserName pulumi.StringOutput `pulumi:"adminUserName"` 64 // Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters 65 AdminUserPassword pulumi.StringOutput `pulumi:"adminUserPassword"` 66 // ARN of the DocumentDB Elastic Cluster 67 Arn pulumi.StringOutput `pulumi:"arn"` 68 // Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN` 69 AuthType pulumi.StringOutput `pulumi:"authType"` 70 // The DNS address of the DocDB instance 71 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 72 // ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used. 73 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 74 // Name of the Elastic DocumentDB cluster 75 Name pulumi.StringOutput `pulumi:"name"` 76 // Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week. 77 PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"` 78 // Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64 79 ShardCapacity pulumi.IntOutput `pulumi:"shardCapacity"` 80 // Number of shards assigned to the elastic cluster. Maximum is 32 81 // 82 // The following arguments are optional: 83 ShardCount pulumi.IntOutput `pulumi:"shardCount"` 84 // IDs of subnets in which the Elastic DocumentDB Cluster operates. 85 SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"` 86 // A map of tags to assign to the collection. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 87 Tags pulumi.StringMapOutput `pulumi:"tags"` 88 // Deprecated: Please use `tags` instead. 89 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 90 Timeouts ElasticClusterTimeoutsPtrOutput `pulumi:"timeouts"` 91 // List of VPC security groups to associate with the Elastic DocumentDB Cluster 92 VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"` 93 } 94 95 // NewElasticCluster registers a new resource with the given unique name, arguments, and options. 96 func NewElasticCluster(ctx *pulumi.Context, 97 name string, args *ElasticClusterArgs, opts ...pulumi.ResourceOption) (*ElasticCluster, error) { 98 if args == nil { 99 return nil, errors.New("missing one or more required arguments") 100 } 101 102 if args.AdminUserName == nil { 103 return nil, errors.New("invalid value for required argument 'AdminUserName'") 104 } 105 if args.AdminUserPassword == nil { 106 return nil, errors.New("invalid value for required argument 'AdminUserPassword'") 107 } 108 if args.AuthType == nil { 109 return nil, errors.New("invalid value for required argument 'AuthType'") 110 } 111 if args.ShardCapacity == nil { 112 return nil, errors.New("invalid value for required argument 'ShardCapacity'") 113 } 114 if args.ShardCount == nil { 115 return nil, errors.New("invalid value for required argument 'ShardCount'") 116 } 117 if args.AdminUserPassword != nil { 118 args.AdminUserPassword = pulumi.ToSecret(args.AdminUserPassword).(pulumi.StringInput) 119 } 120 secrets := pulumi.AdditionalSecretOutputs([]string{ 121 "adminUserPassword", 122 }) 123 opts = append(opts, secrets) 124 opts = internal.PkgResourceDefaultOpts(opts) 125 var resource ElasticCluster 126 err := ctx.RegisterResource("aws:docdb/elasticCluster:ElasticCluster", name, args, &resource, opts...) 127 if err != nil { 128 return nil, err 129 } 130 return &resource, nil 131 } 132 133 // GetElasticCluster gets an existing ElasticCluster resource's state with the given name, ID, and optional 134 // state properties that are used to uniquely qualify the lookup (nil if not required). 135 func GetElasticCluster(ctx *pulumi.Context, 136 name string, id pulumi.IDInput, state *ElasticClusterState, opts ...pulumi.ResourceOption) (*ElasticCluster, error) { 137 var resource ElasticCluster 138 err := ctx.ReadResource("aws:docdb/elasticCluster:ElasticCluster", name, id, state, &resource, opts...) 139 if err != nil { 140 return nil, err 141 } 142 return &resource, nil 143 } 144 145 // Input properties used for looking up and filtering ElasticCluster resources. 146 type elasticClusterState struct { 147 // Name of the Elastic DocumentDB cluster administrator 148 AdminUserName *string `pulumi:"adminUserName"` 149 // Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters 150 AdminUserPassword *string `pulumi:"adminUserPassword"` 151 // ARN of the DocumentDB Elastic Cluster 152 Arn *string `pulumi:"arn"` 153 // Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN` 154 AuthType *string `pulumi:"authType"` 155 // The DNS address of the DocDB instance 156 Endpoint *string `pulumi:"endpoint"` 157 // ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used. 158 KmsKeyId *string `pulumi:"kmsKeyId"` 159 // Name of the Elastic DocumentDB cluster 160 Name *string `pulumi:"name"` 161 // Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week. 162 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 163 // Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64 164 ShardCapacity *int `pulumi:"shardCapacity"` 165 // Number of shards assigned to the elastic cluster. Maximum is 32 166 // 167 // The following arguments are optional: 168 ShardCount *int `pulumi:"shardCount"` 169 // IDs of subnets in which the Elastic DocumentDB Cluster operates. 170 SubnetIds []string `pulumi:"subnetIds"` 171 // A map of tags to assign to the collection. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 172 Tags map[string]string `pulumi:"tags"` 173 // Deprecated: Please use `tags` instead. 174 TagsAll map[string]string `pulumi:"tagsAll"` 175 Timeouts *ElasticClusterTimeouts `pulumi:"timeouts"` 176 // List of VPC security groups to associate with the Elastic DocumentDB Cluster 177 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 178 } 179 180 type ElasticClusterState struct { 181 // Name of the Elastic DocumentDB cluster administrator 182 AdminUserName pulumi.StringPtrInput 183 // Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters 184 AdminUserPassword pulumi.StringPtrInput 185 // ARN of the DocumentDB Elastic Cluster 186 Arn pulumi.StringPtrInput 187 // Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN` 188 AuthType pulumi.StringPtrInput 189 // The DNS address of the DocDB instance 190 Endpoint pulumi.StringPtrInput 191 // ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used. 192 KmsKeyId pulumi.StringPtrInput 193 // Name of the Elastic DocumentDB cluster 194 Name pulumi.StringPtrInput 195 // Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week. 196 PreferredMaintenanceWindow pulumi.StringPtrInput 197 // Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64 198 ShardCapacity pulumi.IntPtrInput 199 // Number of shards assigned to the elastic cluster. Maximum is 32 200 // 201 // The following arguments are optional: 202 ShardCount pulumi.IntPtrInput 203 // IDs of subnets in which the Elastic DocumentDB Cluster operates. 204 SubnetIds pulumi.StringArrayInput 205 // A map of tags to assign to the collection. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 206 Tags pulumi.StringMapInput 207 // Deprecated: Please use `tags` instead. 208 TagsAll pulumi.StringMapInput 209 Timeouts ElasticClusterTimeoutsPtrInput 210 // List of VPC security groups to associate with the Elastic DocumentDB Cluster 211 VpcSecurityGroupIds pulumi.StringArrayInput 212 } 213 214 func (ElasticClusterState) ElementType() reflect.Type { 215 return reflect.TypeOf((*elasticClusterState)(nil)).Elem() 216 } 217 218 type elasticClusterArgs struct { 219 // Name of the Elastic DocumentDB cluster administrator 220 AdminUserName string `pulumi:"adminUserName"` 221 // Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters 222 AdminUserPassword string `pulumi:"adminUserPassword"` 223 // Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN` 224 AuthType string `pulumi:"authType"` 225 // ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used. 226 KmsKeyId *string `pulumi:"kmsKeyId"` 227 // Name of the Elastic DocumentDB cluster 228 Name *string `pulumi:"name"` 229 // Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week. 230 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 231 // Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64 232 ShardCapacity int `pulumi:"shardCapacity"` 233 // Number of shards assigned to the elastic cluster. Maximum is 32 234 // 235 // The following arguments are optional: 236 ShardCount int `pulumi:"shardCount"` 237 // IDs of subnets in which the Elastic DocumentDB Cluster operates. 238 SubnetIds []string `pulumi:"subnetIds"` 239 // A map of tags to assign to the collection. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 240 Tags map[string]string `pulumi:"tags"` 241 Timeouts *ElasticClusterTimeouts `pulumi:"timeouts"` 242 // List of VPC security groups to associate with the Elastic DocumentDB Cluster 243 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 244 } 245 246 // The set of arguments for constructing a ElasticCluster resource. 247 type ElasticClusterArgs struct { 248 // Name of the Elastic DocumentDB cluster administrator 249 AdminUserName pulumi.StringInput 250 // Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters 251 AdminUserPassword pulumi.StringInput 252 // Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN` 253 AuthType pulumi.StringInput 254 // ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used. 255 KmsKeyId pulumi.StringPtrInput 256 // Name of the Elastic DocumentDB cluster 257 Name pulumi.StringPtrInput 258 // Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week. 259 PreferredMaintenanceWindow pulumi.StringPtrInput 260 // Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64 261 ShardCapacity pulumi.IntInput 262 // Number of shards assigned to the elastic cluster. Maximum is 32 263 // 264 // The following arguments are optional: 265 ShardCount pulumi.IntInput 266 // IDs of subnets in which the Elastic DocumentDB Cluster operates. 267 SubnetIds pulumi.StringArrayInput 268 // A map of tags to assign to the collection. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 269 Tags pulumi.StringMapInput 270 Timeouts ElasticClusterTimeoutsPtrInput 271 // List of VPC security groups to associate with the Elastic DocumentDB Cluster 272 VpcSecurityGroupIds pulumi.StringArrayInput 273 } 274 275 func (ElasticClusterArgs) ElementType() reflect.Type { 276 return reflect.TypeOf((*elasticClusterArgs)(nil)).Elem() 277 } 278 279 type ElasticClusterInput interface { 280 pulumi.Input 281 282 ToElasticClusterOutput() ElasticClusterOutput 283 ToElasticClusterOutputWithContext(ctx context.Context) ElasticClusterOutput 284 } 285 286 func (*ElasticCluster) ElementType() reflect.Type { 287 return reflect.TypeOf((**ElasticCluster)(nil)).Elem() 288 } 289 290 func (i *ElasticCluster) ToElasticClusterOutput() ElasticClusterOutput { 291 return i.ToElasticClusterOutputWithContext(context.Background()) 292 } 293 294 func (i *ElasticCluster) ToElasticClusterOutputWithContext(ctx context.Context) ElasticClusterOutput { 295 return pulumi.ToOutputWithContext(ctx, i).(ElasticClusterOutput) 296 } 297 298 // ElasticClusterArrayInput is an input type that accepts ElasticClusterArray and ElasticClusterArrayOutput values. 299 // You can construct a concrete instance of `ElasticClusterArrayInput` via: 300 // 301 // ElasticClusterArray{ ElasticClusterArgs{...} } 302 type ElasticClusterArrayInput interface { 303 pulumi.Input 304 305 ToElasticClusterArrayOutput() ElasticClusterArrayOutput 306 ToElasticClusterArrayOutputWithContext(context.Context) ElasticClusterArrayOutput 307 } 308 309 type ElasticClusterArray []ElasticClusterInput 310 311 func (ElasticClusterArray) ElementType() reflect.Type { 312 return reflect.TypeOf((*[]*ElasticCluster)(nil)).Elem() 313 } 314 315 func (i ElasticClusterArray) ToElasticClusterArrayOutput() ElasticClusterArrayOutput { 316 return i.ToElasticClusterArrayOutputWithContext(context.Background()) 317 } 318 319 func (i ElasticClusterArray) ToElasticClusterArrayOutputWithContext(ctx context.Context) ElasticClusterArrayOutput { 320 return pulumi.ToOutputWithContext(ctx, i).(ElasticClusterArrayOutput) 321 } 322 323 // ElasticClusterMapInput is an input type that accepts ElasticClusterMap and ElasticClusterMapOutput values. 324 // You can construct a concrete instance of `ElasticClusterMapInput` via: 325 // 326 // ElasticClusterMap{ "key": ElasticClusterArgs{...} } 327 type ElasticClusterMapInput interface { 328 pulumi.Input 329 330 ToElasticClusterMapOutput() ElasticClusterMapOutput 331 ToElasticClusterMapOutputWithContext(context.Context) ElasticClusterMapOutput 332 } 333 334 type ElasticClusterMap map[string]ElasticClusterInput 335 336 func (ElasticClusterMap) ElementType() reflect.Type { 337 return reflect.TypeOf((*map[string]*ElasticCluster)(nil)).Elem() 338 } 339 340 func (i ElasticClusterMap) ToElasticClusterMapOutput() ElasticClusterMapOutput { 341 return i.ToElasticClusterMapOutputWithContext(context.Background()) 342 } 343 344 func (i ElasticClusterMap) ToElasticClusterMapOutputWithContext(ctx context.Context) ElasticClusterMapOutput { 345 return pulumi.ToOutputWithContext(ctx, i).(ElasticClusterMapOutput) 346 } 347 348 type ElasticClusterOutput struct{ *pulumi.OutputState } 349 350 func (ElasticClusterOutput) ElementType() reflect.Type { 351 return reflect.TypeOf((**ElasticCluster)(nil)).Elem() 352 } 353 354 func (o ElasticClusterOutput) ToElasticClusterOutput() ElasticClusterOutput { 355 return o 356 } 357 358 func (o ElasticClusterOutput) ToElasticClusterOutputWithContext(ctx context.Context) ElasticClusterOutput { 359 return o 360 } 361 362 // Name of the Elastic DocumentDB cluster administrator 363 func (o ElasticClusterOutput) AdminUserName() pulumi.StringOutput { 364 return o.ApplyT(func(v *ElasticCluster) pulumi.StringOutput { return v.AdminUserName }).(pulumi.StringOutput) 365 } 366 367 // Password for the Elastic DocumentDB cluster administrator. Can contain any printable ASCII characters. Must be at least 8 characters 368 func (o ElasticClusterOutput) AdminUserPassword() pulumi.StringOutput { 369 return o.ApplyT(func(v *ElasticCluster) pulumi.StringOutput { return v.AdminUserPassword }).(pulumi.StringOutput) 370 } 371 372 // ARN of the DocumentDB Elastic Cluster 373 func (o ElasticClusterOutput) Arn() pulumi.StringOutput { 374 return o.ApplyT(func(v *ElasticCluster) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 375 } 376 377 // Authentication type for the Elastic DocumentDB cluster. Valid values are `PLAIN_TEXT` and `SECRET_ARN` 378 func (o ElasticClusterOutput) AuthType() pulumi.StringOutput { 379 return o.ApplyT(func(v *ElasticCluster) pulumi.StringOutput { return v.AuthType }).(pulumi.StringOutput) 380 } 381 382 // The DNS address of the DocDB instance 383 func (o ElasticClusterOutput) Endpoint() pulumi.StringOutput { 384 return o.ApplyT(func(v *ElasticCluster) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 385 } 386 387 // ARN of a KMS key that is used to encrypt the Elastic DocumentDB cluster. If not specified, the default encryption key that KMS creates for your account is used. 388 func (o ElasticClusterOutput) KmsKeyId() pulumi.StringOutput { 389 return o.ApplyT(func(v *ElasticCluster) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 390 } 391 392 // Name of the Elastic DocumentDB cluster 393 func (o ElasticClusterOutput) Name() pulumi.StringOutput { 394 return o.ApplyT(func(v *ElasticCluster) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 395 } 396 397 // Weekly time range during which system maintenance can occur in UTC. Format: `ddd:hh24:mi-ddd:hh24:mi`. If not specified, AWS will choose a random 30-minute window on a random day of the week. 398 func (o ElasticClusterOutput) PreferredMaintenanceWindow() pulumi.StringOutput { 399 return o.ApplyT(func(v *ElasticCluster) pulumi.StringOutput { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput) 400 } 401 402 // Number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64 403 func (o ElasticClusterOutput) ShardCapacity() pulumi.IntOutput { 404 return o.ApplyT(func(v *ElasticCluster) pulumi.IntOutput { return v.ShardCapacity }).(pulumi.IntOutput) 405 } 406 407 // Number of shards assigned to the elastic cluster. Maximum is 32 408 // 409 // The following arguments are optional: 410 func (o ElasticClusterOutput) ShardCount() pulumi.IntOutput { 411 return o.ApplyT(func(v *ElasticCluster) pulumi.IntOutput { return v.ShardCount }).(pulumi.IntOutput) 412 } 413 414 // IDs of subnets in which the Elastic DocumentDB Cluster operates. 415 func (o ElasticClusterOutput) SubnetIds() pulumi.StringArrayOutput { 416 return o.ApplyT(func(v *ElasticCluster) pulumi.StringArrayOutput { return v.SubnetIds }).(pulumi.StringArrayOutput) 417 } 418 419 // A map of tags to assign to the collection. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 420 func (o ElasticClusterOutput) Tags() pulumi.StringMapOutput { 421 return o.ApplyT(func(v *ElasticCluster) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 422 } 423 424 // Deprecated: Please use `tags` instead. 425 func (o ElasticClusterOutput) TagsAll() pulumi.StringMapOutput { 426 return o.ApplyT(func(v *ElasticCluster) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 427 } 428 429 func (o ElasticClusterOutput) Timeouts() ElasticClusterTimeoutsPtrOutput { 430 return o.ApplyT(func(v *ElasticCluster) ElasticClusterTimeoutsPtrOutput { return v.Timeouts }).(ElasticClusterTimeoutsPtrOutput) 431 } 432 433 // List of VPC security groups to associate with the Elastic DocumentDB Cluster 434 func (o ElasticClusterOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput { 435 return o.ApplyT(func(v *ElasticCluster) pulumi.StringArrayOutput { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput) 436 } 437 438 type ElasticClusterArrayOutput struct{ *pulumi.OutputState } 439 440 func (ElasticClusterArrayOutput) ElementType() reflect.Type { 441 return reflect.TypeOf((*[]*ElasticCluster)(nil)).Elem() 442 } 443 444 func (o ElasticClusterArrayOutput) ToElasticClusterArrayOutput() ElasticClusterArrayOutput { 445 return o 446 } 447 448 func (o ElasticClusterArrayOutput) ToElasticClusterArrayOutputWithContext(ctx context.Context) ElasticClusterArrayOutput { 449 return o 450 } 451 452 func (o ElasticClusterArrayOutput) Index(i pulumi.IntInput) ElasticClusterOutput { 453 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ElasticCluster { 454 return vs[0].([]*ElasticCluster)[vs[1].(int)] 455 }).(ElasticClusterOutput) 456 } 457 458 type ElasticClusterMapOutput struct{ *pulumi.OutputState } 459 460 func (ElasticClusterMapOutput) ElementType() reflect.Type { 461 return reflect.TypeOf((*map[string]*ElasticCluster)(nil)).Elem() 462 } 463 464 func (o ElasticClusterMapOutput) ToElasticClusterMapOutput() ElasticClusterMapOutput { 465 return o 466 } 467 468 func (o ElasticClusterMapOutput) ToElasticClusterMapOutputWithContext(ctx context.Context) ElasticClusterMapOutput { 469 return o 470 } 471 472 func (o ElasticClusterMapOutput) MapIndex(k pulumi.StringInput) ElasticClusterOutput { 473 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ElasticCluster { 474 return vs[0].(map[string]*ElasticCluster)[vs[1].(string)] 475 }).(ElasticClusterOutput) 476 } 477 478 func init() { 479 pulumi.RegisterInputType(reflect.TypeOf((*ElasticClusterInput)(nil)).Elem(), &ElasticCluster{}) 480 pulumi.RegisterInputType(reflect.TypeOf((*ElasticClusterArrayInput)(nil)).Elem(), ElasticClusterArray{}) 481 pulumi.RegisterInputType(reflect.TypeOf((*ElasticClusterMapInput)(nil)).Elem(), ElasticClusterMap{}) 482 pulumi.RegisterOutputType(ElasticClusterOutput{}) 483 pulumi.RegisterOutputType(ElasticClusterArrayOutput{}) 484 pulumi.RegisterOutputType(ElasticClusterMapOutput{}) 485 }