github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/chime/voiceConnectorGroup.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 chime 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Creates an Amazon Chime Voice Connector group under the administrator's AWS account. You can associate Amazon Chime Voice Connectors with the Amazon Chime Voice Connector group by including VoiceConnectorItems in the request. 15 // 16 // You can include Amazon Chime Voice Connectors from different AWS Regions in your group. This creates a fault tolerant mechanism for fallback in case of availability events. 17 // 18 // ## Example Usage 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // vc1, err := chime.NewVoiceConnector(ctx, "vc1", &chime.VoiceConnectorArgs{ 34 // Name: pulumi.String("connector-test-1"), 35 // RequireEncryption: pulumi.Bool(true), 36 // AwsRegion: pulumi.String("us-east-1"), 37 // }) 38 // if err != nil { 39 // return err 40 // } 41 // vc2, err := chime.NewVoiceConnector(ctx, "vc2", &chime.VoiceConnectorArgs{ 42 // Name: pulumi.String("connector-test-2"), 43 // RequireEncryption: pulumi.Bool(true), 44 // AwsRegion: pulumi.String("us-west-2"), 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // _, err = chime.NewVoiceConnectorGroup(ctx, "group", &chime.VoiceConnectorGroupArgs{ 50 // Name: pulumi.String("test-group"), 51 // Connectors: chime.VoiceConnectorGroupConnectorArray{ 52 // &chime.VoiceConnectorGroupConnectorArgs{ 53 // VoiceConnectorId: vc1.ID(), 54 // Priority: pulumi.Int(1), 55 // }, 56 // &chime.VoiceConnectorGroupConnectorArgs{ 57 // VoiceConnectorId: vc2.ID(), 58 // Priority: pulumi.Int(3), 59 // }, 60 // }, 61 // }) 62 // if err != nil { 63 // return err 64 // } 65 // return nil 66 // }) 67 // } 68 // 69 // ``` 70 // <!--End PulumiCodeChooser --> 71 // 72 // ## Import 73 // 74 // Using `pulumi import`, import Configuration Recorder using the name. For example: 75 // 76 // ```sh 77 // $ pulumi import aws:chime/voiceConnectorGroup:VoiceConnectorGroup default example 78 // ``` 79 type VoiceConnectorGroup struct { 80 pulumi.CustomResourceState 81 82 // The Amazon Chime Voice Connectors to route inbound calls to. 83 Connectors VoiceConnectorGroupConnectorArrayOutput `pulumi:"connectors"` 84 // The name of the Amazon Chime Voice Connector group. 85 Name pulumi.StringOutput `pulumi:"name"` 86 } 87 88 // NewVoiceConnectorGroup registers a new resource with the given unique name, arguments, and options. 89 func NewVoiceConnectorGroup(ctx *pulumi.Context, 90 name string, args *VoiceConnectorGroupArgs, opts ...pulumi.ResourceOption) (*VoiceConnectorGroup, error) { 91 if args == nil { 92 args = &VoiceConnectorGroupArgs{} 93 } 94 95 opts = internal.PkgResourceDefaultOpts(opts) 96 var resource VoiceConnectorGroup 97 err := ctx.RegisterResource("aws:chime/voiceConnectorGroup:VoiceConnectorGroup", name, args, &resource, opts...) 98 if err != nil { 99 return nil, err 100 } 101 return &resource, nil 102 } 103 104 // GetVoiceConnectorGroup gets an existing VoiceConnectorGroup resource's state with the given name, ID, and optional 105 // state properties that are used to uniquely qualify the lookup (nil if not required). 106 func GetVoiceConnectorGroup(ctx *pulumi.Context, 107 name string, id pulumi.IDInput, state *VoiceConnectorGroupState, opts ...pulumi.ResourceOption) (*VoiceConnectorGroup, error) { 108 var resource VoiceConnectorGroup 109 err := ctx.ReadResource("aws:chime/voiceConnectorGroup:VoiceConnectorGroup", name, id, state, &resource, opts...) 110 if err != nil { 111 return nil, err 112 } 113 return &resource, nil 114 } 115 116 // Input properties used for looking up and filtering VoiceConnectorGroup resources. 117 type voiceConnectorGroupState struct { 118 // The Amazon Chime Voice Connectors to route inbound calls to. 119 Connectors []VoiceConnectorGroupConnector `pulumi:"connectors"` 120 // The name of the Amazon Chime Voice Connector group. 121 Name *string `pulumi:"name"` 122 } 123 124 type VoiceConnectorGroupState struct { 125 // The Amazon Chime Voice Connectors to route inbound calls to. 126 Connectors VoiceConnectorGroupConnectorArrayInput 127 // The name of the Amazon Chime Voice Connector group. 128 Name pulumi.StringPtrInput 129 } 130 131 func (VoiceConnectorGroupState) ElementType() reflect.Type { 132 return reflect.TypeOf((*voiceConnectorGroupState)(nil)).Elem() 133 } 134 135 type voiceConnectorGroupArgs struct { 136 // The Amazon Chime Voice Connectors to route inbound calls to. 137 Connectors []VoiceConnectorGroupConnector `pulumi:"connectors"` 138 // The name of the Amazon Chime Voice Connector group. 139 Name *string `pulumi:"name"` 140 } 141 142 // The set of arguments for constructing a VoiceConnectorGroup resource. 143 type VoiceConnectorGroupArgs struct { 144 // The Amazon Chime Voice Connectors to route inbound calls to. 145 Connectors VoiceConnectorGroupConnectorArrayInput 146 // The name of the Amazon Chime Voice Connector group. 147 Name pulumi.StringPtrInput 148 } 149 150 func (VoiceConnectorGroupArgs) ElementType() reflect.Type { 151 return reflect.TypeOf((*voiceConnectorGroupArgs)(nil)).Elem() 152 } 153 154 type VoiceConnectorGroupInput interface { 155 pulumi.Input 156 157 ToVoiceConnectorGroupOutput() VoiceConnectorGroupOutput 158 ToVoiceConnectorGroupOutputWithContext(ctx context.Context) VoiceConnectorGroupOutput 159 } 160 161 func (*VoiceConnectorGroup) ElementType() reflect.Type { 162 return reflect.TypeOf((**VoiceConnectorGroup)(nil)).Elem() 163 } 164 165 func (i *VoiceConnectorGroup) ToVoiceConnectorGroupOutput() VoiceConnectorGroupOutput { 166 return i.ToVoiceConnectorGroupOutputWithContext(context.Background()) 167 } 168 169 func (i *VoiceConnectorGroup) ToVoiceConnectorGroupOutputWithContext(ctx context.Context) VoiceConnectorGroupOutput { 170 return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorGroupOutput) 171 } 172 173 // VoiceConnectorGroupArrayInput is an input type that accepts VoiceConnectorGroupArray and VoiceConnectorGroupArrayOutput values. 174 // You can construct a concrete instance of `VoiceConnectorGroupArrayInput` via: 175 // 176 // VoiceConnectorGroupArray{ VoiceConnectorGroupArgs{...} } 177 type VoiceConnectorGroupArrayInput interface { 178 pulumi.Input 179 180 ToVoiceConnectorGroupArrayOutput() VoiceConnectorGroupArrayOutput 181 ToVoiceConnectorGroupArrayOutputWithContext(context.Context) VoiceConnectorGroupArrayOutput 182 } 183 184 type VoiceConnectorGroupArray []VoiceConnectorGroupInput 185 186 func (VoiceConnectorGroupArray) ElementType() reflect.Type { 187 return reflect.TypeOf((*[]*VoiceConnectorGroup)(nil)).Elem() 188 } 189 190 func (i VoiceConnectorGroupArray) ToVoiceConnectorGroupArrayOutput() VoiceConnectorGroupArrayOutput { 191 return i.ToVoiceConnectorGroupArrayOutputWithContext(context.Background()) 192 } 193 194 func (i VoiceConnectorGroupArray) ToVoiceConnectorGroupArrayOutputWithContext(ctx context.Context) VoiceConnectorGroupArrayOutput { 195 return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorGroupArrayOutput) 196 } 197 198 // VoiceConnectorGroupMapInput is an input type that accepts VoiceConnectorGroupMap and VoiceConnectorGroupMapOutput values. 199 // You can construct a concrete instance of `VoiceConnectorGroupMapInput` via: 200 // 201 // VoiceConnectorGroupMap{ "key": VoiceConnectorGroupArgs{...} } 202 type VoiceConnectorGroupMapInput interface { 203 pulumi.Input 204 205 ToVoiceConnectorGroupMapOutput() VoiceConnectorGroupMapOutput 206 ToVoiceConnectorGroupMapOutputWithContext(context.Context) VoiceConnectorGroupMapOutput 207 } 208 209 type VoiceConnectorGroupMap map[string]VoiceConnectorGroupInput 210 211 func (VoiceConnectorGroupMap) ElementType() reflect.Type { 212 return reflect.TypeOf((*map[string]*VoiceConnectorGroup)(nil)).Elem() 213 } 214 215 func (i VoiceConnectorGroupMap) ToVoiceConnectorGroupMapOutput() VoiceConnectorGroupMapOutput { 216 return i.ToVoiceConnectorGroupMapOutputWithContext(context.Background()) 217 } 218 219 func (i VoiceConnectorGroupMap) ToVoiceConnectorGroupMapOutputWithContext(ctx context.Context) VoiceConnectorGroupMapOutput { 220 return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorGroupMapOutput) 221 } 222 223 type VoiceConnectorGroupOutput struct{ *pulumi.OutputState } 224 225 func (VoiceConnectorGroupOutput) ElementType() reflect.Type { 226 return reflect.TypeOf((**VoiceConnectorGroup)(nil)).Elem() 227 } 228 229 func (o VoiceConnectorGroupOutput) ToVoiceConnectorGroupOutput() VoiceConnectorGroupOutput { 230 return o 231 } 232 233 func (o VoiceConnectorGroupOutput) ToVoiceConnectorGroupOutputWithContext(ctx context.Context) VoiceConnectorGroupOutput { 234 return o 235 } 236 237 // The Amazon Chime Voice Connectors to route inbound calls to. 238 func (o VoiceConnectorGroupOutput) Connectors() VoiceConnectorGroupConnectorArrayOutput { 239 return o.ApplyT(func(v *VoiceConnectorGroup) VoiceConnectorGroupConnectorArrayOutput { return v.Connectors }).(VoiceConnectorGroupConnectorArrayOutput) 240 } 241 242 // The name of the Amazon Chime Voice Connector group. 243 func (o VoiceConnectorGroupOutput) Name() pulumi.StringOutput { 244 return o.ApplyT(func(v *VoiceConnectorGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 245 } 246 247 type VoiceConnectorGroupArrayOutput struct{ *pulumi.OutputState } 248 249 func (VoiceConnectorGroupArrayOutput) ElementType() reflect.Type { 250 return reflect.TypeOf((*[]*VoiceConnectorGroup)(nil)).Elem() 251 } 252 253 func (o VoiceConnectorGroupArrayOutput) ToVoiceConnectorGroupArrayOutput() VoiceConnectorGroupArrayOutput { 254 return o 255 } 256 257 func (o VoiceConnectorGroupArrayOutput) ToVoiceConnectorGroupArrayOutputWithContext(ctx context.Context) VoiceConnectorGroupArrayOutput { 258 return o 259 } 260 261 func (o VoiceConnectorGroupArrayOutput) Index(i pulumi.IntInput) VoiceConnectorGroupOutput { 262 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VoiceConnectorGroup { 263 return vs[0].([]*VoiceConnectorGroup)[vs[1].(int)] 264 }).(VoiceConnectorGroupOutput) 265 } 266 267 type VoiceConnectorGroupMapOutput struct{ *pulumi.OutputState } 268 269 func (VoiceConnectorGroupMapOutput) ElementType() reflect.Type { 270 return reflect.TypeOf((*map[string]*VoiceConnectorGroup)(nil)).Elem() 271 } 272 273 func (o VoiceConnectorGroupMapOutput) ToVoiceConnectorGroupMapOutput() VoiceConnectorGroupMapOutput { 274 return o 275 } 276 277 func (o VoiceConnectorGroupMapOutput) ToVoiceConnectorGroupMapOutputWithContext(ctx context.Context) VoiceConnectorGroupMapOutput { 278 return o 279 } 280 281 func (o VoiceConnectorGroupMapOutput) MapIndex(k pulumi.StringInput) VoiceConnectorGroupOutput { 282 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VoiceConnectorGroup { 283 return vs[0].(map[string]*VoiceConnectorGroup)[vs[1].(string)] 284 }).(VoiceConnectorGroupOutput) 285 } 286 287 func init() { 288 pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorGroupInput)(nil)).Elem(), &VoiceConnectorGroup{}) 289 pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorGroupArrayInput)(nil)).Elem(), VoiceConnectorGroupArray{}) 290 pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorGroupMapInput)(nil)).Elem(), VoiceConnectorGroupMap{}) 291 pulumi.RegisterOutputType(VoiceConnectorGroupOutput{}) 292 pulumi.RegisterOutputType(VoiceConnectorGroupArrayOutput{}) 293 pulumi.RegisterOutputType(VoiceConnectorGroupMapOutput{}) 294 }