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  }