github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/connect/instance.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 connect 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 an Amazon Connect instance resource. For more information see 16 // [Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) 17 // 18 // !> **WARN:** Amazon Connect enforces a limit of [100 combined instance creation and deletions every 30 days](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits). For example, if you create 80 instances and delete 20 of them, you must wait 30 days to create or delete another instance. Use care when creating or deleting instances. 19 // 20 // ## Example Usage 21 // 22 // <!--Start PulumiCodeChooser --> 23 // ```go 24 // package main 25 // 26 // import ( 27 // 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // _, err := connect.NewInstance(ctx, "test", &connect.InstanceArgs{ 36 // IdentityManagementType: pulumi.String("CONNECT_MANAGED"), 37 // InboundCallsEnabled: pulumi.Bool(true), 38 // InstanceAlias: pulumi.String("friendly-name-connect"), 39 // OutboundCallsEnabled: pulumi.Bool(true), 40 // }) 41 // if err != nil { 42 // return err 43 // } 44 // return nil 45 // }) 46 // } 47 // 48 // ``` 49 // <!--End PulumiCodeChooser --> 50 // 51 // ### With Existing Active Directory 52 // 53 // <!--Start PulumiCodeChooser --> 54 // ```go 55 // package main 56 // 57 // import ( 58 // 59 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 60 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 61 // 62 // ) 63 // 64 // func main() { 65 // pulumi.Run(func(ctx *pulumi.Context) error { 66 // _, err := connect.NewInstance(ctx, "test", &connect.InstanceArgs{ 67 // DirectoryId: pulumi.Any(testAwsDirectoryServiceDirectory.Id), 68 // IdentityManagementType: pulumi.String("EXISTING_DIRECTORY"), 69 // InboundCallsEnabled: pulumi.Bool(true), 70 // InstanceAlias: pulumi.String("friendly-name-connect"), 71 // OutboundCallsEnabled: pulumi.Bool(true), 72 // }) 73 // if err != nil { 74 // return err 75 // } 76 // return nil 77 // }) 78 // } 79 // 80 // ``` 81 // <!--End PulumiCodeChooser --> 82 // 83 // ### With SAML 84 // 85 // <!--Start PulumiCodeChooser --> 86 // ```go 87 // package main 88 // 89 // import ( 90 // 91 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 92 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 93 // 94 // ) 95 // 96 // func main() { 97 // pulumi.Run(func(ctx *pulumi.Context) error { 98 // _, err := connect.NewInstance(ctx, "test", &connect.InstanceArgs{ 99 // IdentityManagementType: pulumi.String("SAML"), 100 // InboundCallsEnabled: pulumi.Bool(true), 101 // InstanceAlias: pulumi.String("friendly-name-connect"), 102 // OutboundCallsEnabled: pulumi.Bool(true), 103 // }) 104 // if err != nil { 105 // return err 106 // } 107 // return nil 108 // }) 109 // } 110 // 111 // ``` 112 // <!--End PulumiCodeChooser --> 113 // 114 // ## Import 115 // 116 // Using `pulumi import`, import Connect instances using the `id`. For example: 117 // 118 // ```sh 119 // $ pulumi import aws:connect/instance:Instance example f1288a1f-6193-445a-b47e-af739b2 120 // ``` 121 type Instance struct { 122 pulumi.CustomResourceState 123 124 // Amazon Resource Name (ARN) of the instance. 125 Arn pulumi.StringOutput `pulumi:"arn"` 126 // Specifies whether auto resolve best voices is enabled. Defaults to `true`. 127 AutoResolveBestVoicesEnabled pulumi.BoolPtrOutput `pulumi:"autoResolveBestVoicesEnabled"` 128 // Specifies whether contact flow logs are enabled. Defaults to `false`. 129 ContactFlowLogsEnabled pulumi.BoolPtrOutput `pulumi:"contactFlowLogsEnabled"` 130 // Specifies whether contact lens is enabled. Defaults to `true`. 131 ContactLensEnabled pulumi.BoolPtrOutput `pulumi:"contactLensEnabled"` 132 // When the instance was created. 133 CreatedTime pulumi.StringOutput `pulumi:"createdTime"` 134 // The identifier for the directory if identityManagementType is `EXISTING_DIRECTORY`. 135 DirectoryId pulumi.StringPtrOutput `pulumi:"directoryId"` 136 // Specifies whether early media for outbound calls is enabled . Defaults to `true` if outbound calls is enabled. 137 EarlyMediaEnabled pulumi.BoolPtrOutput `pulumi:"earlyMediaEnabled"` 138 // Specifies the identity management type attached to the instance. Allowed Values are: `SAML`, `CONNECT_MANAGED`, `EXISTING_DIRECTORY`. 139 IdentityManagementType pulumi.StringOutput `pulumi:"identityManagementType"` 140 // Specifies whether inbound calls are enabled. 141 InboundCallsEnabled pulumi.BoolOutput `pulumi:"inboundCallsEnabled"` 142 // Specifies the name of the instance. Required if `directoryId` not specified. 143 InstanceAlias pulumi.StringPtrOutput `pulumi:"instanceAlias"` 144 // Specifies whether multi-party calls/conference is enabled. Defaults to `false`. 145 MultiPartyConferenceEnabled pulumi.BoolPtrOutput `pulumi:"multiPartyConferenceEnabled"` 146 // Specifies whether outbound calls are enabled. 147 // <!-- * `useCustomTtsVoices` - (Optional) Whether use custom tts voices is enabled. Defaults to `false` --> 148 OutboundCallsEnabled pulumi.BoolOutput `pulumi:"outboundCallsEnabled"` 149 // The service role of the instance. 150 ServiceRole pulumi.StringOutput `pulumi:"serviceRole"` 151 // The state of the instance. 152 Status pulumi.StringOutput `pulumi:"status"` 153 } 154 155 // NewInstance registers a new resource with the given unique name, arguments, and options. 156 func NewInstance(ctx *pulumi.Context, 157 name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error) { 158 if args == nil { 159 return nil, errors.New("missing one or more required arguments") 160 } 161 162 if args.IdentityManagementType == nil { 163 return nil, errors.New("invalid value for required argument 'IdentityManagementType'") 164 } 165 if args.InboundCallsEnabled == nil { 166 return nil, errors.New("invalid value for required argument 'InboundCallsEnabled'") 167 } 168 if args.OutboundCallsEnabled == nil { 169 return nil, errors.New("invalid value for required argument 'OutboundCallsEnabled'") 170 } 171 opts = internal.PkgResourceDefaultOpts(opts) 172 var resource Instance 173 err := ctx.RegisterResource("aws:connect/instance:Instance", name, args, &resource, opts...) 174 if err != nil { 175 return nil, err 176 } 177 return &resource, nil 178 } 179 180 // GetInstance gets an existing Instance resource's state with the given name, ID, and optional 181 // state properties that are used to uniquely qualify the lookup (nil if not required). 182 func GetInstance(ctx *pulumi.Context, 183 name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error) { 184 var resource Instance 185 err := ctx.ReadResource("aws:connect/instance:Instance", name, id, state, &resource, opts...) 186 if err != nil { 187 return nil, err 188 } 189 return &resource, nil 190 } 191 192 // Input properties used for looking up and filtering Instance resources. 193 type instanceState struct { 194 // Amazon Resource Name (ARN) of the instance. 195 Arn *string `pulumi:"arn"` 196 // Specifies whether auto resolve best voices is enabled. Defaults to `true`. 197 AutoResolveBestVoicesEnabled *bool `pulumi:"autoResolveBestVoicesEnabled"` 198 // Specifies whether contact flow logs are enabled. Defaults to `false`. 199 ContactFlowLogsEnabled *bool `pulumi:"contactFlowLogsEnabled"` 200 // Specifies whether contact lens is enabled. Defaults to `true`. 201 ContactLensEnabled *bool `pulumi:"contactLensEnabled"` 202 // When the instance was created. 203 CreatedTime *string `pulumi:"createdTime"` 204 // The identifier for the directory if identityManagementType is `EXISTING_DIRECTORY`. 205 DirectoryId *string `pulumi:"directoryId"` 206 // Specifies whether early media for outbound calls is enabled . Defaults to `true` if outbound calls is enabled. 207 EarlyMediaEnabled *bool `pulumi:"earlyMediaEnabled"` 208 // Specifies the identity management type attached to the instance. Allowed Values are: `SAML`, `CONNECT_MANAGED`, `EXISTING_DIRECTORY`. 209 IdentityManagementType *string `pulumi:"identityManagementType"` 210 // Specifies whether inbound calls are enabled. 211 InboundCallsEnabled *bool `pulumi:"inboundCallsEnabled"` 212 // Specifies the name of the instance. Required if `directoryId` not specified. 213 InstanceAlias *string `pulumi:"instanceAlias"` 214 // Specifies whether multi-party calls/conference is enabled. Defaults to `false`. 215 MultiPartyConferenceEnabled *bool `pulumi:"multiPartyConferenceEnabled"` 216 // Specifies whether outbound calls are enabled. 217 // <!-- * `useCustomTtsVoices` - (Optional) Whether use custom tts voices is enabled. Defaults to `false` --> 218 OutboundCallsEnabled *bool `pulumi:"outboundCallsEnabled"` 219 // The service role of the instance. 220 ServiceRole *string `pulumi:"serviceRole"` 221 // The state of the instance. 222 Status *string `pulumi:"status"` 223 } 224 225 type InstanceState struct { 226 // Amazon Resource Name (ARN) of the instance. 227 Arn pulumi.StringPtrInput 228 // Specifies whether auto resolve best voices is enabled. Defaults to `true`. 229 AutoResolveBestVoicesEnabled pulumi.BoolPtrInput 230 // Specifies whether contact flow logs are enabled. Defaults to `false`. 231 ContactFlowLogsEnabled pulumi.BoolPtrInput 232 // Specifies whether contact lens is enabled. Defaults to `true`. 233 ContactLensEnabled pulumi.BoolPtrInput 234 // When the instance was created. 235 CreatedTime pulumi.StringPtrInput 236 // The identifier for the directory if identityManagementType is `EXISTING_DIRECTORY`. 237 DirectoryId pulumi.StringPtrInput 238 // Specifies whether early media for outbound calls is enabled . Defaults to `true` if outbound calls is enabled. 239 EarlyMediaEnabled pulumi.BoolPtrInput 240 // Specifies the identity management type attached to the instance. Allowed Values are: `SAML`, `CONNECT_MANAGED`, `EXISTING_DIRECTORY`. 241 IdentityManagementType pulumi.StringPtrInput 242 // Specifies whether inbound calls are enabled. 243 InboundCallsEnabled pulumi.BoolPtrInput 244 // Specifies the name of the instance. Required if `directoryId` not specified. 245 InstanceAlias pulumi.StringPtrInput 246 // Specifies whether multi-party calls/conference is enabled. Defaults to `false`. 247 MultiPartyConferenceEnabled pulumi.BoolPtrInput 248 // Specifies whether outbound calls are enabled. 249 // <!-- * `useCustomTtsVoices` - (Optional) Whether use custom tts voices is enabled. Defaults to `false` --> 250 OutboundCallsEnabled pulumi.BoolPtrInput 251 // The service role of the instance. 252 ServiceRole pulumi.StringPtrInput 253 // The state of the instance. 254 Status pulumi.StringPtrInput 255 } 256 257 func (InstanceState) ElementType() reflect.Type { 258 return reflect.TypeOf((*instanceState)(nil)).Elem() 259 } 260 261 type instanceArgs struct { 262 // Specifies whether auto resolve best voices is enabled. Defaults to `true`. 263 AutoResolveBestVoicesEnabled *bool `pulumi:"autoResolveBestVoicesEnabled"` 264 // Specifies whether contact flow logs are enabled. Defaults to `false`. 265 ContactFlowLogsEnabled *bool `pulumi:"contactFlowLogsEnabled"` 266 // Specifies whether contact lens is enabled. Defaults to `true`. 267 ContactLensEnabled *bool `pulumi:"contactLensEnabled"` 268 // The identifier for the directory if identityManagementType is `EXISTING_DIRECTORY`. 269 DirectoryId *string `pulumi:"directoryId"` 270 // Specifies whether early media for outbound calls is enabled . Defaults to `true` if outbound calls is enabled. 271 EarlyMediaEnabled *bool `pulumi:"earlyMediaEnabled"` 272 // Specifies the identity management type attached to the instance. Allowed Values are: `SAML`, `CONNECT_MANAGED`, `EXISTING_DIRECTORY`. 273 IdentityManagementType string `pulumi:"identityManagementType"` 274 // Specifies whether inbound calls are enabled. 275 InboundCallsEnabled bool `pulumi:"inboundCallsEnabled"` 276 // Specifies the name of the instance. Required if `directoryId` not specified. 277 InstanceAlias *string `pulumi:"instanceAlias"` 278 // Specifies whether multi-party calls/conference is enabled. Defaults to `false`. 279 MultiPartyConferenceEnabled *bool `pulumi:"multiPartyConferenceEnabled"` 280 // Specifies whether outbound calls are enabled. 281 // <!-- * `useCustomTtsVoices` - (Optional) Whether use custom tts voices is enabled. Defaults to `false` --> 282 OutboundCallsEnabled bool `pulumi:"outboundCallsEnabled"` 283 } 284 285 // The set of arguments for constructing a Instance resource. 286 type InstanceArgs struct { 287 // Specifies whether auto resolve best voices is enabled. Defaults to `true`. 288 AutoResolveBestVoicesEnabled pulumi.BoolPtrInput 289 // Specifies whether contact flow logs are enabled. Defaults to `false`. 290 ContactFlowLogsEnabled pulumi.BoolPtrInput 291 // Specifies whether contact lens is enabled. Defaults to `true`. 292 ContactLensEnabled pulumi.BoolPtrInput 293 // The identifier for the directory if identityManagementType is `EXISTING_DIRECTORY`. 294 DirectoryId pulumi.StringPtrInput 295 // Specifies whether early media for outbound calls is enabled . Defaults to `true` if outbound calls is enabled. 296 EarlyMediaEnabled pulumi.BoolPtrInput 297 // Specifies the identity management type attached to the instance. Allowed Values are: `SAML`, `CONNECT_MANAGED`, `EXISTING_DIRECTORY`. 298 IdentityManagementType pulumi.StringInput 299 // Specifies whether inbound calls are enabled. 300 InboundCallsEnabled pulumi.BoolInput 301 // Specifies the name of the instance. Required if `directoryId` not specified. 302 InstanceAlias pulumi.StringPtrInput 303 // Specifies whether multi-party calls/conference is enabled. Defaults to `false`. 304 MultiPartyConferenceEnabled pulumi.BoolPtrInput 305 // Specifies whether outbound calls are enabled. 306 // <!-- * `useCustomTtsVoices` - (Optional) Whether use custom tts voices is enabled. Defaults to `false` --> 307 OutboundCallsEnabled pulumi.BoolInput 308 } 309 310 func (InstanceArgs) ElementType() reflect.Type { 311 return reflect.TypeOf((*instanceArgs)(nil)).Elem() 312 } 313 314 type InstanceInput interface { 315 pulumi.Input 316 317 ToInstanceOutput() InstanceOutput 318 ToInstanceOutputWithContext(ctx context.Context) InstanceOutput 319 } 320 321 func (*Instance) ElementType() reflect.Type { 322 return reflect.TypeOf((**Instance)(nil)).Elem() 323 } 324 325 func (i *Instance) ToInstanceOutput() InstanceOutput { 326 return i.ToInstanceOutputWithContext(context.Background()) 327 } 328 329 func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput { 330 return pulumi.ToOutputWithContext(ctx, i).(InstanceOutput) 331 } 332 333 // InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. 334 // You can construct a concrete instance of `InstanceArrayInput` via: 335 // 336 // InstanceArray{ InstanceArgs{...} } 337 type InstanceArrayInput interface { 338 pulumi.Input 339 340 ToInstanceArrayOutput() InstanceArrayOutput 341 ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput 342 } 343 344 type InstanceArray []InstanceInput 345 346 func (InstanceArray) ElementType() reflect.Type { 347 return reflect.TypeOf((*[]*Instance)(nil)).Elem() 348 } 349 350 func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput { 351 return i.ToInstanceArrayOutputWithContext(context.Background()) 352 } 353 354 func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput { 355 return pulumi.ToOutputWithContext(ctx, i).(InstanceArrayOutput) 356 } 357 358 // InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. 359 // You can construct a concrete instance of `InstanceMapInput` via: 360 // 361 // InstanceMap{ "key": InstanceArgs{...} } 362 type InstanceMapInput interface { 363 pulumi.Input 364 365 ToInstanceMapOutput() InstanceMapOutput 366 ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput 367 } 368 369 type InstanceMap map[string]InstanceInput 370 371 func (InstanceMap) ElementType() reflect.Type { 372 return reflect.TypeOf((*map[string]*Instance)(nil)).Elem() 373 } 374 375 func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput { 376 return i.ToInstanceMapOutputWithContext(context.Background()) 377 } 378 379 func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput { 380 return pulumi.ToOutputWithContext(ctx, i).(InstanceMapOutput) 381 } 382 383 type InstanceOutput struct{ *pulumi.OutputState } 384 385 func (InstanceOutput) ElementType() reflect.Type { 386 return reflect.TypeOf((**Instance)(nil)).Elem() 387 } 388 389 func (o InstanceOutput) ToInstanceOutput() InstanceOutput { 390 return o 391 } 392 393 func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput { 394 return o 395 } 396 397 // Amazon Resource Name (ARN) of the instance. 398 func (o InstanceOutput) Arn() pulumi.StringOutput { 399 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 400 } 401 402 // Specifies whether auto resolve best voices is enabled. Defaults to `true`. 403 func (o InstanceOutput) AutoResolveBestVoicesEnabled() pulumi.BoolPtrOutput { 404 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.AutoResolveBestVoicesEnabled }).(pulumi.BoolPtrOutput) 405 } 406 407 // Specifies whether contact flow logs are enabled. Defaults to `false`. 408 func (o InstanceOutput) ContactFlowLogsEnabled() pulumi.BoolPtrOutput { 409 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.ContactFlowLogsEnabled }).(pulumi.BoolPtrOutput) 410 } 411 412 // Specifies whether contact lens is enabled. Defaults to `true`. 413 func (o InstanceOutput) ContactLensEnabled() pulumi.BoolPtrOutput { 414 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.ContactLensEnabled }).(pulumi.BoolPtrOutput) 415 } 416 417 // When the instance was created. 418 func (o InstanceOutput) CreatedTime() pulumi.StringOutput { 419 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput) 420 } 421 422 // The identifier for the directory if identityManagementType is `EXISTING_DIRECTORY`. 423 func (o InstanceOutput) DirectoryId() pulumi.StringPtrOutput { 424 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.DirectoryId }).(pulumi.StringPtrOutput) 425 } 426 427 // Specifies whether early media for outbound calls is enabled . Defaults to `true` if outbound calls is enabled. 428 func (o InstanceOutput) EarlyMediaEnabled() pulumi.BoolPtrOutput { 429 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.EarlyMediaEnabled }).(pulumi.BoolPtrOutput) 430 } 431 432 // Specifies the identity management type attached to the instance. Allowed Values are: `SAML`, `CONNECT_MANAGED`, `EXISTING_DIRECTORY`. 433 func (o InstanceOutput) IdentityManagementType() pulumi.StringOutput { 434 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.IdentityManagementType }).(pulumi.StringOutput) 435 } 436 437 // Specifies whether inbound calls are enabled. 438 func (o InstanceOutput) InboundCallsEnabled() pulumi.BoolOutput { 439 return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.InboundCallsEnabled }).(pulumi.BoolOutput) 440 } 441 442 // Specifies the name of the instance. Required if `directoryId` not specified. 443 func (o InstanceOutput) InstanceAlias() pulumi.StringPtrOutput { 444 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.InstanceAlias }).(pulumi.StringPtrOutput) 445 } 446 447 // Specifies whether multi-party calls/conference is enabled. Defaults to `false`. 448 func (o InstanceOutput) MultiPartyConferenceEnabled() pulumi.BoolPtrOutput { 449 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.MultiPartyConferenceEnabled }).(pulumi.BoolPtrOutput) 450 } 451 452 // Specifies whether outbound calls are enabled. 453 // <!-- * `useCustomTtsVoices` - (Optional) Whether use custom tts voices is enabled. Defaults to `false` --> 454 func (o InstanceOutput) OutboundCallsEnabled() pulumi.BoolOutput { 455 return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.OutboundCallsEnabled }).(pulumi.BoolOutput) 456 } 457 458 // The service role of the instance. 459 func (o InstanceOutput) ServiceRole() pulumi.StringOutput { 460 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ServiceRole }).(pulumi.StringOutput) 461 } 462 463 // The state of the instance. 464 func (o InstanceOutput) Status() pulumi.StringOutput { 465 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) 466 } 467 468 type InstanceArrayOutput struct{ *pulumi.OutputState } 469 470 func (InstanceArrayOutput) ElementType() reflect.Type { 471 return reflect.TypeOf((*[]*Instance)(nil)).Elem() 472 } 473 474 func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput { 475 return o 476 } 477 478 func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput { 479 return o 480 } 481 482 func (o InstanceArrayOutput) Index(i pulumi.IntInput) InstanceOutput { 483 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Instance { 484 return vs[0].([]*Instance)[vs[1].(int)] 485 }).(InstanceOutput) 486 } 487 488 type InstanceMapOutput struct{ *pulumi.OutputState } 489 490 func (InstanceMapOutput) ElementType() reflect.Type { 491 return reflect.TypeOf((*map[string]*Instance)(nil)).Elem() 492 } 493 494 func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput { 495 return o 496 } 497 498 func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput { 499 return o 500 } 501 502 func (o InstanceMapOutput) MapIndex(k pulumi.StringInput) InstanceOutput { 503 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Instance { 504 return vs[0].(map[string]*Instance)[vs[1].(string)] 505 }).(InstanceOutput) 506 } 507 508 func init() { 509 pulumi.RegisterInputType(reflect.TypeOf((*InstanceInput)(nil)).Elem(), &Instance{}) 510 pulumi.RegisterInputType(reflect.TypeOf((*InstanceArrayInput)(nil)).Elem(), InstanceArray{}) 511 pulumi.RegisterInputType(reflect.TypeOf((*InstanceMapInput)(nil)).Elem(), InstanceMap{}) 512 pulumi.RegisterOutputType(InstanceOutput{}) 513 pulumi.RegisterOutputType(InstanceArrayOutput{}) 514 pulumi.RegisterOutputType(InstanceMapOutput{}) 515 }