github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/connect/contactFlow.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 Contact Flow 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 // This resource embeds or references Contact Flows specified in Amazon Connect Contact Flow Language. For more information see 19 // [Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html) 20 // 21 // !> **WARN:** Contact Flows exported from the Console [Contact Flow import/export](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/connect/describe-contact-flow.html). 22 // See example below which uses `jq` to extract the `Content` attribute and saves it to a local file. 23 // 24 // ## Example Usage 25 // 26 // ### Basic 27 // 28 // <!--Start PulumiCodeChooser --> 29 // ```go 30 // package main 31 // 32 // import ( 33 // 34 // "encoding/json" 35 // 36 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 37 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 38 // 39 // ) 40 // 41 // func main() { 42 // pulumi.Run(func(ctx *pulumi.Context) error { 43 // tmpJSON0, err := json.Marshal(map[string]interface{}{ 44 // "Version": "2019-10-30", 45 // "StartAction": "12345678-1234-1234-1234-123456789012", 46 // "Actions": []interface{}{ 47 // map[string]interface{}{ 48 // "Identifier": "12345678-1234-1234-1234-123456789012", 49 // "Type": "MessageParticipant", 50 // "Transitions": map[string]interface{}{ 51 // "NextAction": "abcdef-abcd-abcd-abcd-abcdefghijkl", 52 // "Errors": []interface{}{}, 53 // "Conditions": []interface{}{}, 54 // }, 55 // "Parameters": map[string]interface{}{ 56 // "Text": "Thanks for calling the sample flow!", 57 // }, 58 // }, 59 // map[string]interface{}{ 60 // "Identifier": "abcdef-abcd-abcd-abcd-abcdefghijkl", 61 // "Type": "DisconnectParticipant", 62 // "Transitions": nil, 63 // "Parameters": nil, 64 // }, 65 // }, 66 // }) 67 // if err != nil { 68 // return err 69 // } 70 // json0 := string(tmpJSON0) 71 // _, err = connect.NewContactFlow(ctx, "test", &connect.ContactFlowArgs{ 72 // InstanceId: pulumi.String("aaaaaaaa-bbbb-cccc-dddd-111111111111"), 73 // Name: pulumi.String("Test"), 74 // Description: pulumi.String("Test Contact Flow Description"), 75 // Type: pulumi.String("CONTACT_FLOW"), 76 // Content: pulumi.String(json0), 77 // Tags: pulumi.StringMap{ 78 // "Name": pulumi.String("Test Contact Flow"), 79 // "Application": pulumi.String("Example"), 80 // "Method": pulumi.String("Create"), 81 // }, 82 // }) 83 // if err != nil { 84 // return err 85 // } 86 // return nil 87 // }) 88 // } 89 // 90 // ``` 91 // <!--End PulumiCodeChooser --> 92 // 93 // ### With External Content 94 // 95 // Use the AWS CLI to extract Contact Flow Content: 96 // 97 // Use the generated file as input: 98 // 99 // <!--Start PulumiCodeChooser --> 100 // ```go 101 // package main 102 // 103 // import ( 104 // 105 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect" 106 // "github.com/pulumi/pulumi-std/sdk/go/std" 107 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 108 // 109 // ) 110 // 111 // func main() { 112 // pulumi.Run(func(ctx *pulumi.Context) error { 113 // invokeFilebase64sha256, err := std.Filebase64sha256(ctx, &std.Filebase64sha256Args{ 114 // Input: "contact_flow.json", 115 // }, nil) 116 // if err != nil { 117 // return err 118 // } 119 // _, err = connect.NewContactFlow(ctx, "test", &connect.ContactFlowArgs{ 120 // InstanceId: pulumi.String("aaaaaaaa-bbbb-cccc-dddd-111111111111"), 121 // Name: pulumi.String("Test"), 122 // Description: pulumi.String("Test Contact Flow Description"), 123 // Type: pulumi.String("CONTACT_FLOW"), 124 // Filename: pulumi.String("contact_flow.json"), 125 // ContentHash: invokeFilebase64sha256.Result, 126 // Tags: pulumi.StringMap{ 127 // "Name": pulumi.String("Test Contact Flow"), 128 // "Application": pulumi.String("Example"), 129 // "Method": pulumi.String("Create"), 130 // }, 131 // }) 132 // if err != nil { 133 // return err 134 // } 135 // return nil 136 // }) 137 // } 138 // 139 // ``` 140 // <!--End PulumiCodeChooser --> 141 // 142 // ## Import 143 // 144 // Using `pulumi import`, import Amazon Connect Contact Flows using the `instance_id` and `contact_flow_id` separated by a colon (`:`). For example: 145 // 146 // ```sh 147 // $ pulumi import aws:connect/contactFlow:ContactFlow example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 148 // ``` 149 type ContactFlow struct { 150 pulumi.CustomResourceState 151 152 // The Amazon Resource Name (ARN) of the Contact Flow. 153 Arn pulumi.StringOutput `pulumi:"arn"` 154 // The identifier of the Contact Flow. 155 ContactFlowId pulumi.StringOutput `pulumi:"contactFlowId"` 156 // Specifies the content of the Contact Flow, provided as a JSON string, written in Amazon Connect Contact Flow Language. If defined, the `filename` argument cannot be used. 157 Content pulumi.StringOutput `pulumi:"content"` 158 // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the Contact Flow source specified with `filename`. 159 ContentHash pulumi.StringPtrOutput `pulumi:"contentHash"` 160 // Specifies the description of the Contact Flow. 161 Description pulumi.StringPtrOutput `pulumi:"description"` 162 // The path to the Contact Flow source within the local filesystem. Conflicts with `content`. 163 Filename pulumi.StringPtrOutput `pulumi:"filename"` 164 // Specifies the identifier of the hosting Amazon Connect Instance. 165 InstanceId pulumi.StringOutput `pulumi:"instanceId"` 166 // Specifies the name of the Contact Flow. 167 Name pulumi.StringOutput `pulumi:"name"` 168 // Tags to apply to the Contact Flow. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 169 Tags pulumi.StringMapOutput `pulumi:"tags"` 170 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 171 // 172 // Deprecated: Please use `tags` instead. 173 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 174 // Specifies the type of the Contact Flow. Defaults to `CONTACT_FLOW`. Allowed Values are: `CONTACT_FLOW`, `CUSTOMER_QUEUE`, `CUSTOMER_HOLD`, `CUSTOMER_WHISPER`, `AGENT_HOLD`, `AGENT_WHISPER`, `OUTBOUND_WHISPER`, `AGENT_TRANSFER`, `QUEUE_TRANSFER`. 175 Type pulumi.StringPtrOutput `pulumi:"type"` 176 } 177 178 // NewContactFlow registers a new resource with the given unique name, arguments, and options. 179 func NewContactFlow(ctx *pulumi.Context, 180 name string, args *ContactFlowArgs, opts ...pulumi.ResourceOption) (*ContactFlow, error) { 181 if args == nil { 182 return nil, errors.New("missing one or more required arguments") 183 } 184 185 if args.InstanceId == nil { 186 return nil, errors.New("invalid value for required argument 'InstanceId'") 187 } 188 opts = internal.PkgResourceDefaultOpts(opts) 189 var resource ContactFlow 190 err := ctx.RegisterResource("aws:connect/contactFlow:ContactFlow", name, args, &resource, opts...) 191 if err != nil { 192 return nil, err 193 } 194 return &resource, nil 195 } 196 197 // GetContactFlow gets an existing ContactFlow resource's state with the given name, ID, and optional 198 // state properties that are used to uniquely qualify the lookup (nil if not required). 199 func GetContactFlow(ctx *pulumi.Context, 200 name string, id pulumi.IDInput, state *ContactFlowState, opts ...pulumi.ResourceOption) (*ContactFlow, error) { 201 var resource ContactFlow 202 err := ctx.ReadResource("aws:connect/contactFlow:ContactFlow", name, id, state, &resource, opts...) 203 if err != nil { 204 return nil, err 205 } 206 return &resource, nil 207 } 208 209 // Input properties used for looking up and filtering ContactFlow resources. 210 type contactFlowState struct { 211 // The Amazon Resource Name (ARN) of the Contact Flow. 212 Arn *string `pulumi:"arn"` 213 // The identifier of the Contact Flow. 214 ContactFlowId *string `pulumi:"contactFlowId"` 215 // Specifies the content of the Contact Flow, provided as a JSON string, written in Amazon Connect Contact Flow Language. If defined, the `filename` argument cannot be used. 216 Content *string `pulumi:"content"` 217 // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the Contact Flow source specified with `filename`. 218 ContentHash *string `pulumi:"contentHash"` 219 // Specifies the description of the Contact Flow. 220 Description *string `pulumi:"description"` 221 // The path to the Contact Flow source within the local filesystem. Conflicts with `content`. 222 Filename *string `pulumi:"filename"` 223 // Specifies the identifier of the hosting Amazon Connect Instance. 224 InstanceId *string `pulumi:"instanceId"` 225 // Specifies the name of the Contact Flow. 226 Name *string `pulumi:"name"` 227 // Tags to apply to the Contact Flow. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 228 Tags map[string]string `pulumi:"tags"` 229 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 230 // 231 // Deprecated: Please use `tags` instead. 232 TagsAll map[string]string `pulumi:"tagsAll"` 233 // Specifies the type of the Contact Flow. Defaults to `CONTACT_FLOW`. Allowed Values are: `CONTACT_FLOW`, `CUSTOMER_QUEUE`, `CUSTOMER_HOLD`, `CUSTOMER_WHISPER`, `AGENT_HOLD`, `AGENT_WHISPER`, `OUTBOUND_WHISPER`, `AGENT_TRANSFER`, `QUEUE_TRANSFER`. 234 Type *string `pulumi:"type"` 235 } 236 237 type ContactFlowState struct { 238 // The Amazon Resource Name (ARN) of the Contact Flow. 239 Arn pulumi.StringPtrInput 240 // The identifier of the Contact Flow. 241 ContactFlowId pulumi.StringPtrInput 242 // Specifies the content of the Contact Flow, provided as a JSON string, written in Amazon Connect Contact Flow Language. If defined, the `filename` argument cannot be used. 243 Content pulumi.StringPtrInput 244 // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the Contact Flow source specified with `filename`. 245 ContentHash pulumi.StringPtrInput 246 // Specifies the description of the Contact Flow. 247 Description pulumi.StringPtrInput 248 // The path to the Contact Flow source within the local filesystem. Conflicts with `content`. 249 Filename pulumi.StringPtrInput 250 // Specifies the identifier of the hosting Amazon Connect Instance. 251 InstanceId pulumi.StringPtrInput 252 // Specifies the name of the Contact Flow. 253 Name pulumi.StringPtrInput 254 // Tags to apply to the Contact Flow. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 255 Tags pulumi.StringMapInput 256 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 257 // 258 // Deprecated: Please use `tags` instead. 259 TagsAll pulumi.StringMapInput 260 // Specifies the type of the Contact Flow. Defaults to `CONTACT_FLOW`. Allowed Values are: `CONTACT_FLOW`, `CUSTOMER_QUEUE`, `CUSTOMER_HOLD`, `CUSTOMER_WHISPER`, `AGENT_HOLD`, `AGENT_WHISPER`, `OUTBOUND_WHISPER`, `AGENT_TRANSFER`, `QUEUE_TRANSFER`. 261 Type pulumi.StringPtrInput 262 } 263 264 func (ContactFlowState) ElementType() reflect.Type { 265 return reflect.TypeOf((*contactFlowState)(nil)).Elem() 266 } 267 268 type contactFlowArgs struct { 269 // Specifies the content of the Contact Flow, provided as a JSON string, written in Amazon Connect Contact Flow Language. If defined, the `filename` argument cannot be used. 270 Content *string `pulumi:"content"` 271 // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the Contact Flow source specified with `filename`. 272 ContentHash *string `pulumi:"contentHash"` 273 // Specifies the description of the Contact Flow. 274 Description *string `pulumi:"description"` 275 // The path to the Contact Flow source within the local filesystem. Conflicts with `content`. 276 Filename *string `pulumi:"filename"` 277 // Specifies the identifier of the hosting Amazon Connect Instance. 278 InstanceId string `pulumi:"instanceId"` 279 // Specifies the name of the Contact Flow. 280 Name *string `pulumi:"name"` 281 // Tags to apply to the Contact Flow. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 282 Tags map[string]string `pulumi:"tags"` 283 // Specifies the type of the Contact Flow. Defaults to `CONTACT_FLOW`. Allowed Values are: `CONTACT_FLOW`, `CUSTOMER_QUEUE`, `CUSTOMER_HOLD`, `CUSTOMER_WHISPER`, `AGENT_HOLD`, `AGENT_WHISPER`, `OUTBOUND_WHISPER`, `AGENT_TRANSFER`, `QUEUE_TRANSFER`. 284 Type *string `pulumi:"type"` 285 } 286 287 // The set of arguments for constructing a ContactFlow resource. 288 type ContactFlowArgs struct { 289 // Specifies the content of the Contact Flow, provided as a JSON string, written in Amazon Connect Contact Flow Language. If defined, the `filename` argument cannot be used. 290 Content pulumi.StringPtrInput 291 // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the Contact Flow source specified with `filename`. 292 ContentHash pulumi.StringPtrInput 293 // Specifies the description of the Contact Flow. 294 Description pulumi.StringPtrInput 295 // The path to the Contact Flow source within the local filesystem. Conflicts with `content`. 296 Filename pulumi.StringPtrInput 297 // Specifies the identifier of the hosting Amazon Connect Instance. 298 InstanceId pulumi.StringInput 299 // Specifies the name of the Contact Flow. 300 Name pulumi.StringPtrInput 301 // Tags to apply to the Contact Flow. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 302 Tags pulumi.StringMapInput 303 // Specifies the type of the Contact Flow. Defaults to `CONTACT_FLOW`. Allowed Values are: `CONTACT_FLOW`, `CUSTOMER_QUEUE`, `CUSTOMER_HOLD`, `CUSTOMER_WHISPER`, `AGENT_HOLD`, `AGENT_WHISPER`, `OUTBOUND_WHISPER`, `AGENT_TRANSFER`, `QUEUE_TRANSFER`. 304 Type pulumi.StringPtrInput 305 } 306 307 func (ContactFlowArgs) ElementType() reflect.Type { 308 return reflect.TypeOf((*contactFlowArgs)(nil)).Elem() 309 } 310 311 type ContactFlowInput interface { 312 pulumi.Input 313 314 ToContactFlowOutput() ContactFlowOutput 315 ToContactFlowOutputWithContext(ctx context.Context) ContactFlowOutput 316 } 317 318 func (*ContactFlow) ElementType() reflect.Type { 319 return reflect.TypeOf((**ContactFlow)(nil)).Elem() 320 } 321 322 func (i *ContactFlow) ToContactFlowOutput() ContactFlowOutput { 323 return i.ToContactFlowOutputWithContext(context.Background()) 324 } 325 326 func (i *ContactFlow) ToContactFlowOutputWithContext(ctx context.Context) ContactFlowOutput { 327 return pulumi.ToOutputWithContext(ctx, i).(ContactFlowOutput) 328 } 329 330 // ContactFlowArrayInput is an input type that accepts ContactFlowArray and ContactFlowArrayOutput values. 331 // You can construct a concrete instance of `ContactFlowArrayInput` via: 332 // 333 // ContactFlowArray{ ContactFlowArgs{...} } 334 type ContactFlowArrayInput interface { 335 pulumi.Input 336 337 ToContactFlowArrayOutput() ContactFlowArrayOutput 338 ToContactFlowArrayOutputWithContext(context.Context) ContactFlowArrayOutput 339 } 340 341 type ContactFlowArray []ContactFlowInput 342 343 func (ContactFlowArray) ElementType() reflect.Type { 344 return reflect.TypeOf((*[]*ContactFlow)(nil)).Elem() 345 } 346 347 func (i ContactFlowArray) ToContactFlowArrayOutput() ContactFlowArrayOutput { 348 return i.ToContactFlowArrayOutputWithContext(context.Background()) 349 } 350 351 func (i ContactFlowArray) ToContactFlowArrayOutputWithContext(ctx context.Context) ContactFlowArrayOutput { 352 return pulumi.ToOutputWithContext(ctx, i).(ContactFlowArrayOutput) 353 } 354 355 // ContactFlowMapInput is an input type that accepts ContactFlowMap and ContactFlowMapOutput values. 356 // You can construct a concrete instance of `ContactFlowMapInput` via: 357 // 358 // ContactFlowMap{ "key": ContactFlowArgs{...} } 359 type ContactFlowMapInput interface { 360 pulumi.Input 361 362 ToContactFlowMapOutput() ContactFlowMapOutput 363 ToContactFlowMapOutputWithContext(context.Context) ContactFlowMapOutput 364 } 365 366 type ContactFlowMap map[string]ContactFlowInput 367 368 func (ContactFlowMap) ElementType() reflect.Type { 369 return reflect.TypeOf((*map[string]*ContactFlow)(nil)).Elem() 370 } 371 372 func (i ContactFlowMap) ToContactFlowMapOutput() ContactFlowMapOutput { 373 return i.ToContactFlowMapOutputWithContext(context.Background()) 374 } 375 376 func (i ContactFlowMap) ToContactFlowMapOutputWithContext(ctx context.Context) ContactFlowMapOutput { 377 return pulumi.ToOutputWithContext(ctx, i).(ContactFlowMapOutput) 378 } 379 380 type ContactFlowOutput struct{ *pulumi.OutputState } 381 382 func (ContactFlowOutput) ElementType() reflect.Type { 383 return reflect.TypeOf((**ContactFlow)(nil)).Elem() 384 } 385 386 func (o ContactFlowOutput) ToContactFlowOutput() ContactFlowOutput { 387 return o 388 } 389 390 func (o ContactFlowOutput) ToContactFlowOutputWithContext(ctx context.Context) ContactFlowOutput { 391 return o 392 } 393 394 // The Amazon Resource Name (ARN) of the Contact Flow. 395 func (o ContactFlowOutput) Arn() pulumi.StringOutput { 396 return o.ApplyT(func(v *ContactFlow) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 397 } 398 399 // The identifier of the Contact Flow. 400 func (o ContactFlowOutput) ContactFlowId() pulumi.StringOutput { 401 return o.ApplyT(func(v *ContactFlow) pulumi.StringOutput { return v.ContactFlowId }).(pulumi.StringOutput) 402 } 403 404 // Specifies the content of the Contact Flow, provided as a JSON string, written in Amazon Connect Contact Flow Language. If defined, the `filename` argument cannot be used. 405 func (o ContactFlowOutput) Content() pulumi.StringOutput { 406 return o.ApplyT(func(v *ContactFlow) pulumi.StringOutput { return v.Content }).(pulumi.StringOutput) 407 } 408 409 // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the Contact Flow source specified with `filename`. 410 func (o ContactFlowOutput) ContentHash() pulumi.StringPtrOutput { 411 return o.ApplyT(func(v *ContactFlow) pulumi.StringPtrOutput { return v.ContentHash }).(pulumi.StringPtrOutput) 412 } 413 414 // Specifies the description of the Contact Flow. 415 func (o ContactFlowOutput) Description() pulumi.StringPtrOutput { 416 return o.ApplyT(func(v *ContactFlow) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 417 } 418 419 // The path to the Contact Flow source within the local filesystem. Conflicts with `content`. 420 func (o ContactFlowOutput) Filename() pulumi.StringPtrOutput { 421 return o.ApplyT(func(v *ContactFlow) pulumi.StringPtrOutput { return v.Filename }).(pulumi.StringPtrOutput) 422 } 423 424 // Specifies the identifier of the hosting Amazon Connect Instance. 425 func (o ContactFlowOutput) InstanceId() pulumi.StringOutput { 426 return o.ApplyT(func(v *ContactFlow) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) 427 } 428 429 // Specifies the name of the Contact Flow. 430 func (o ContactFlowOutput) Name() pulumi.StringOutput { 431 return o.ApplyT(func(v *ContactFlow) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 432 } 433 434 // Tags to apply to the Contact Flow. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 435 func (o ContactFlowOutput) Tags() pulumi.StringMapOutput { 436 return o.ApplyT(func(v *ContactFlow) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 437 } 438 439 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 440 // 441 // Deprecated: Please use `tags` instead. 442 func (o ContactFlowOutput) TagsAll() pulumi.StringMapOutput { 443 return o.ApplyT(func(v *ContactFlow) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 444 } 445 446 // Specifies the type of the Contact Flow. Defaults to `CONTACT_FLOW`. Allowed Values are: `CONTACT_FLOW`, `CUSTOMER_QUEUE`, `CUSTOMER_HOLD`, `CUSTOMER_WHISPER`, `AGENT_HOLD`, `AGENT_WHISPER`, `OUTBOUND_WHISPER`, `AGENT_TRANSFER`, `QUEUE_TRANSFER`. 447 func (o ContactFlowOutput) Type() pulumi.StringPtrOutput { 448 return o.ApplyT(func(v *ContactFlow) pulumi.StringPtrOutput { return v.Type }).(pulumi.StringPtrOutput) 449 } 450 451 type ContactFlowArrayOutput struct{ *pulumi.OutputState } 452 453 func (ContactFlowArrayOutput) ElementType() reflect.Type { 454 return reflect.TypeOf((*[]*ContactFlow)(nil)).Elem() 455 } 456 457 func (o ContactFlowArrayOutput) ToContactFlowArrayOutput() ContactFlowArrayOutput { 458 return o 459 } 460 461 func (o ContactFlowArrayOutput) ToContactFlowArrayOutputWithContext(ctx context.Context) ContactFlowArrayOutput { 462 return o 463 } 464 465 func (o ContactFlowArrayOutput) Index(i pulumi.IntInput) ContactFlowOutput { 466 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ContactFlow { 467 return vs[0].([]*ContactFlow)[vs[1].(int)] 468 }).(ContactFlowOutput) 469 } 470 471 type ContactFlowMapOutput struct{ *pulumi.OutputState } 472 473 func (ContactFlowMapOutput) ElementType() reflect.Type { 474 return reflect.TypeOf((*map[string]*ContactFlow)(nil)).Elem() 475 } 476 477 func (o ContactFlowMapOutput) ToContactFlowMapOutput() ContactFlowMapOutput { 478 return o 479 } 480 481 func (o ContactFlowMapOutput) ToContactFlowMapOutputWithContext(ctx context.Context) ContactFlowMapOutput { 482 return o 483 } 484 485 func (o ContactFlowMapOutput) MapIndex(k pulumi.StringInput) ContactFlowOutput { 486 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ContactFlow { 487 return vs[0].(map[string]*ContactFlow)[vs[1].(string)] 488 }).(ContactFlowOutput) 489 } 490 491 func init() { 492 pulumi.RegisterInputType(reflect.TypeOf((*ContactFlowInput)(nil)).Elem(), &ContactFlow{}) 493 pulumi.RegisterInputType(reflect.TypeOf((*ContactFlowArrayInput)(nil)).Elem(), ContactFlowArray{}) 494 pulumi.RegisterInputType(reflect.TypeOf((*ContactFlowMapInput)(nil)).Elem(), ContactFlowMap{}) 495 pulumi.RegisterOutputType(ContactFlowOutput{}) 496 pulumi.RegisterOutputType(ContactFlowArrayOutput{}) 497 pulumi.RegisterOutputType(ContactFlowMapOutput{}) 498 }