github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/chime/voiceConnectorTermination.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 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Enable Termination settings to control outbound calling from your SIP infrastructure. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := chime.NewVoiceConnector(ctx, "default", &chime.VoiceConnectorArgs{ 33 // Name: pulumi.String("vc-name-test"), 34 // RequireEncryption: pulumi.Bool(true), 35 // }) 36 // if err != nil { 37 // return err 38 // } 39 // _, err = chime.NewVoiceConnectorTermination(ctx, "default", &chime.VoiceConnectorTerminationArgs{ 40 // Disabled: pulumi.Bool(false), 41 // CpsLimit: pulumi.Int(1), 42 // CidrAllowLists: pulumi.StringArray{ 43 // pulumi.String("50.35.78.96/31"), 44 // }, 45 // CallingRegions: pulumi.StringArray{ 46 // pulumi.String("US"), 47 // pulumi.String("CA"), 48 // }, 49 // VoiceConnectorId: _default.ID(), 50 // }) 51 // if err != nil { 52 // return err 53 // } 54 // return nil 55 // }) 56 // } 57 // 58 // ``` 59 // <!--End PulumiCodeChooser --> 60 // 61 // ## Import 62 // 63 // Using `pulumi import`, import Chime Voice Connector Termination using the `voice_connector_id`. For example: 64 // 65 // ```sh 66 // $ pulumi import aws:chime/voiceConnectorTermination:VoiceConnectorTermination default abcdef1ghij2klmno3pqr4 67 // ``` 68 type VoiceConnectorTermination struct { 69 pulumi.CustomResourceState 70 71 // The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. 72 CallingRegions pulumi.StringArrayOutput `pulumi:"callingRegions"` 73 // The IP addresses allowed to make calls, in CIDR format. 74 CidrAllowLists pulumi.StringArrayOutput `pulumi:"cidrAllowLists"` 75 // The limit on calls per second. Max value based on account service quota. Default value of `1`. 76 CpsLimit pulumi.IntPtrOutput `pulumi:"cpsLimit"` 77 // The default caller ID phone number. 78 DefaultPhoneNumber pulumi.StringPtrOutput `pulumi:"defaultPhoneNumber"` 79 // When termination settings are disabled, outbound calls can not be made. 80 Disabled pulumi.BoolPtrOutput `pulumi:"disabled"` 81 // The Amazon Chime Voice Connector ID. 82 VoiceConnectorId pulumi.StringOutput `pulumi:"voiceConnectorId"` 83 } 84 85 // NewVoiceConnectorTermination registers a new resource with the given unique name, arguments, and options. 86 func NewVoiceConnectorTermination(ctx *pulumi.Context, 87 name string, args *VoiceConnectorTerminationArgs, opts ...pulumi.ResourceOption) (*VoiceConnectorTermination, error) { 88 if args == nil { 89 return nil, errors.New("missing one or more required arguments") 90 } 91 92 if args.CallingRegions == nil { 93 return nil, errors.New("invalid value for required argument 'CallingRegions'") 94 } 95 if args.CidrAllowLists == nil { 96 return nil, errors.New("invalid value for required argument 'CidrAllowLists'") 97 } 98 if args.VoiceConnectorId == nil { 99 return nil, errors.New("invalid value for required argument 'VoiceConnectorId'") 100 } 101 opts = internal.PkgResourceDefaultOpts(opts) 102 var resource VoiceConnectorTermination 103 err := ctx.RegisterResource("aws:chime/voiceConnectorTermination:VoiceConnectorTermination", name, args, &resource, opts...) 104 if err != nil { 105 return nil, err 106 } 107 return &resource, nil 108 } 109 110 // GetVoiceConnectorTermination gets an existing VoiceConnectorTermination resource's state with the given name, ID, and optional 111 // state properties that are used to uniquely qualify the lookup (nil if not required). 112 func GetVoiceConnectorTermination(ctx *pulumi.Context, 113 name string, id pulumi.IDInput, state *VoiceConnectorTerminationState, opts ...pulumi.ResourceOption) (*VoiceConnectorTermination, error) { 114 var resource VoiceConnectorTermination 115 err := ctx.ReadResource("aws:chime/voiceConnectorTermination:VoiceConnectorTermination", name, id, state, &resource, opts...) 116 if err != nil { 117 return nil, err 118 } 119 return &resource, nil 120 } 121 122 // Input properties used for looking up and filtering VoiceConnectorTermination resources. 123 type voiceConnectorTerminationState struct { 124 // The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. 125 CallingRegions []string `pulumi:"callingRegions"` 126 // The IP addresses allowed to make calls, in CIDR format. 127 CidrAllowLists []string `pulumi:"cidrAllowLists"` 128 // The limit on calls per second. Max value based on account service quota. Default value of `1`. 129 CpsLimit *int `pulumi:"cpsLimit"` 130 // The default caller ID phone number. 131 DefaultPhoneNumber *string `pulumi:"defaultPhoneNumber"` 132 // When termination settings are disabled, outbound calls can not be made. 133 Disabled *bool `pulumi:"disabled"` 134 // The Amazon Chime Voice Connector ID. 135 VoiceConnectorId *string `pulumi:"voiceConnectorId"` 136 } 137 138 type VoiceConnectorTerminationState struct { 139 // The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. 140 CallingRegions pulumi.StringArrayInput 141 // The IP addresses allowed to make calls, in CIDR format. 142 CidrAllowLists pulumi.StringArrayInput 143 // The limit on calls per second. Max value based on account service quota. Default value of `1`. 144 CpsLimit pulumi.IntPtrInput 145 // The default caller ID phone number. 146 DefaultPhoneNumber pulumi.StringPtrInput 147 // When termination settings are disabled, outbound calls can not be made. 148 Disabled pulumi.BoolPtrInput 149 // The Amazon Chime Voice Connector ID. 150 VoiceConnectorId pulumi.StringPtrInput 151 } 152 153 func (VoiceConnectorTerminationState) ElementType() reflect.Type { 154 return reflect.TypeOf((*voiceConnectorTerminationState)(nil)).Elem() 155 } 156 157 type voiceConnectorTerminationArgs struct { 158 // The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. 159 CallingRegions []string `pulumi:"callingRegions"` 160 // The IP addresses allowed to make calls, in CIDR format. 161 CidrAllowLists []string `pulumi:"cidrAllowLists"` 162 // The limit on calls per second. Max value based on account service quota. Default value of `1`. 163 CpsLimit *int `pulumi:"cpsLimit"` 164 // The default caller ID phone number. 165 DefaultPhoneNumber *string `pulumi:"defaultPhoneNumber"` 166 // When termination settings are disabled, outbound calls can not be made. 167 Disabled *bool `pulumi:"disabled"` 168 // The Amazon Chime Voice Connector ID. 169 VoiceConnectorId string `pulumi:"voiceConnectorId"` 170 } 171 172 // The set of arguments for constructing a VoiceConnectorTermination resource. 173 type VoiceConnectorTerminationArgs struct { 174 // The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. 175 CallingRegions pulumi.StringArrayInput 176 // The IP addresses allowed to make calls, in CIDR format. 177 CidrAllowLists pulumi.StringArrayInput 178 // The limit on calls per second. Max value based on account service quota. Default value of `1`. 179 CpsLimit pulumi.IntPtrInput 180 // The default caller ID phone number. 181 DefaultPhoneNumber pulumi.StringPtrInput 182 // When termination settings are disabled, outbound calls can not be made. 183 Disabled pulumi.BoolPtrInput 184 // The Amazon Chime Voice Connector ID. 185 VoiceConnectorId pulumi.StringInput 186 } 187 188 func (VoiceConnectorTerminationArgs) ElementType() reflect.Type { 189 return reflect.TypeOf((*voiceConnectorTerminationArgs)(nil)).Elem() 190 } 191 192 type VoiceConnectorTerminationInput interface { 193 pulumi.Input 194 195 ToVoiceConnectorTerminationOutput() VoiceConnectorTerminationOutput 196 ToVoiceConnectorTerminationOutputWithContext(ctx context.Context) VoiceConnectorTerminationOutput 197 } 198 199 func (*VoiceConnectorTermination) ElementType() reflect.Type { 200 return reflect.TypeOf((**VoiceConnectorTermination)(nil)).Elem() 201 } 202 203 func (i *VoiceConnectorTermination) ToVoiceConnectorTerminationOutput() VoiceConnectorTerminationOutput { 204 return i.ToVoiceConnectorTerminationOutputWithContext(context.Background()) 205 } 206 207 func (i *VoiceConnectorTermination) ToVoiceConnectorTerminationOutputWithContext(ctx context.Context) VoiceConnectorTerminationOutput { 208 return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorTerminationOutput) 209 } 210 211 // VoiceConnectorTerminationArrayInput is an input type that accepts VoiceConnectorTerminationArray and VoiceConnectorTerminationArrayOutput values. 212 // You can construct a concrete instance of `VoiceConnectorTerminationArrayInput` via: 213 // 214 // VoiceConnectorTerminationArray{ VoiceConnectorTerminationArgs{...} } 215 type VoiceConnectorTerminationArrayInput interface { 216 pulumi.Input 217 218 ToVoiceConnectorTerminationArrayOutput() VoiceConnectorTerminationArrayOutput 219 ToVoiceConnectorTerminationArrayOutputWithContext(context.Context) VoiceConnectorTerminationArrayOutput 220 } 221 222 type VoiceConnectorTerminationArray []VoiceConnectorTerminationInput 223 224 func (VoiceConnectorTerminationArray) ElementType() reflect.Type { 225 return reflect.TypeOf((*[]*VoiceConnectorTermination)(nil)).Elem() 226 } 227 228 func (i VoiceConnectorTerminationArray) ToVoiceConnectorTerminationArrayOutput() VoiceConnectorTerminationArrayOutput { 229 return i.ToVoiceConnectorTerminationArrayOutputWithContext(context.Background()) 230 } 231 232 func (i VoiceConnectorTerminationArray) ToVoiceConnectorTerminationArrayOutputWithContext(ctx context.Context) VoiceConnectorTerminationArrayOutput { 233 return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorTerminationArrayOutput) 234 } 235 236 // VoiceConnectorTerminationMapInput is an input type that accepts VoiceConnectorTerminationMap and VoiceConnectorTerminationMapOutput values. 237 // You can construct a concrete instance of `VoiceConnectorTerminationMapInput` via: 238 // 239 // VoiceConnectorTerminationMap{ "key": VoiceConnectorTerminationArgs{...} } 240 type VoiceConnectorTerminationMapInput interface { 241 pulumi.Input 242 243 ToVoiceConnectorTerminationMapOutput() VoiceConnectorTerminationMapOutput 244 ToVoiceConnectorTerminationMapOutputWithContext(context.Context) VoiceConnectorTerminationMapOutput 245 } 246 247 type VoiceConnectorTerminationMap map[string]VoiceConnectorTerminationInput 248 249 func (VoiceConnectorTerminationMap) ElementType() reflect.Type { 250 return reflect.TypeOf((*map[string]*VoiceConnectorTermination)(nil)).Elem() 251 } 252 253 func (i VoiceConnectorTerminationMap) ToVoiceConnectorTerminationMapOutput() VoiceConnectorTerminationMapOutput { 254 return i.ToVoiceConnectorTerminationMapOutputWithContext(context.Background()) 255 } 256 257 func (i VoiceConnectorTerminationMap) ToVoiceConnectorTerminationMapOutputWithContext(ctx context.Context) VoiceConnectorTerminationMapOutput { 258 return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorTerminationMapOutput) 259 } 260 261 type VoiceConnectorTerminationOutput struct{ *pulumi.OutputState } 262 263 func (VoiceConnectorTerminationOutput) ElementType() reflect.Type { 264 return reflect.TypeOf((**VoiceConnectorTermination)(nil)).Elem() 265 } 266 267 func (o VoiceConnectorTerminationOutput) ToVoiceConnectorTerminationOutput() VoiceConnectorTerminationOutput { 268 return o 269 } 270 271 func (o VoiceConnectorTerminationOutput) ToVoiceConnectorTerminationOutputWithContext(ctx context.Context) VoiceConnectorTerminationOutput { 272 return o 273 } 274 275 // The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. 276 func (o VoiceConnectorTerminationOutput) CallingRegions() pulumi.StringArrayOutput { 277 return o.ApplyT(func(v *VoiceConnectorTermination) pulumi.StringArrayOutput { return v.CallingRegions }).(pulumi.StringArrayOutput) 278 } 279 280 // The IP addresses allowed to make calls, in CIDR format. 281 func (o VoiceConnectorTerminationOutput) CidrAllowLists() pulumi.StringArrayOutput { 282 return o.ApplyT(func(v *VoiceConnectorTermination) pulumi.StringArrayOutput { return v.CidrAllowLists }).(pulumi.StringArrayOutput) 283 } 284 285 // The limit on calls per second. Max value based on account service quota. Default value of `1`. 286 func (o VoiceConnectorTerminationOutput) CpsLimit() pulumi.IntPtrOutput { 287 return o.ApplyT(func(v *VoiceConnectorTermination) pulumi.IntPtrOutput { return v.CpsLimit }).(pulumi.IntPtrOutput) 288 } 289 290 // The default caller ID phone number. 291 func (o VoiceConnectorTerminationOutput) DefaultPhoneNumber() pulumi.StringPtrOutput { 292 return o.ApplyT(func(v *VoiceConnectorTermination) pulumi.StringPtrOutput { return v.DefaultPhoneNumber }).(pulumi.StringPtrOutput) 293 } 294 295 // When termination settings are disabled, outbound calls can not be made. 296 func (o VoiceConnectorTerminationOutput) Disabled() pulumi.BoolPtrOutput { 297 return o.ApplyT(func(v *VoiceConnectorTermination) pulumi.BoolPtrOutput { return v.Disabled }).(pulumi.BoolPtrOutput) 298 } 299 300 // The Amazon Chime Voice Connector ID. 301 func (o VoiceConnectorTerminationOutput) VoiceConnectorId() pulumi.StringOutput { 302 return o.ApplyT(func(v *VoiceConnectorTermination) pulumi.StringOutput { return v.VoiceConnectorId }).(pulumi.StringOutput) 303 } 304 305 type VoiceConnectorTerminationArrayOutput struct{ *pulumi.OutputState } 306 307 func (VoiceConnectorTerminationArrayOutput) ElementType() reflect.Type { 308 return reflect.TypeOf((*[]*VoiceConnectorTermination)(nil)).Elem() 309 } 310 311 func (o VoiceConnectorTerminationArrayOutput) ToVoiceConnectorTerminationArrayOutput() VoiceConnectorTerminationArrayOutput { 312 return o 313 } 314 315 func (o VoiceConnectorTerminationArrayOutput) ToVoiceConnectorTerminationArrayOutputWithContext(ctx context.Context) VoiceConnectorTerminationArrayOutput { 316 return o 317 } 318 319 func (o VoiceConnectorTerminationArrayOutput) Index(i pulumi.IntInput) VoiceConnectorTerminationOutput { 320 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VoiceConnectorTermination { 321 return vs[0].([]*VoiceConnectorTermination)[vs[1].(int)] 322 }).(VoiceConnectorTerminationOutput) 323 } 324 325 type VoiceConnectorTerminationMapOutput struct{ *pulumi.OutputState } 326 327 func (VoiceConnectorTerminationMapOutput) ElementType() reflect.Type { 328 return reflect.TypeOf((*map[string]*VoiceConnectorTermination)(nil)).Elem() 329 } 330 331 func (o VoiceConnectorTerminationMapOutput) ToVoiceConnectorTerminationMapOutput() VoiceConnectorTerminationMapOutput { 332 return o 333 } 334 335 func (o VoiceConnectorTerminationMapOutput) ToVoiceConnectorTerminationMapOutputWithContext(ctx context.Context) VoiceConnectorTerminationMapOutput { 336 return o 337 } 338 339 func (o VoiceConnectorTerminationMapOutput) MapIndex(k pulumi.StringInput) VoiceConnectorTerminationOutput { 340 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VoiceConnectorTermination { 341 return vs[0].(map[string]*VoiceConnectorTermination)[vs[1].(string)] 342 }).(VoiceConnectorTerminationOutput) 343 } 344 345 func init() { 346 pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorTerminationInput)(nil)).Elem(), &VoiceConnectorTermination{}) 347 pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorTerminationArrayInput)(nil)).Elem(), VoiceConnectorTerminationArray{}) 348 pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorTerminationMapInput)(nil)).Elem(), VoiceConnectorTerminationMap{}) 349 pulumi.RegisterOutputType(VoiceConnectorTerminationOutput{}) 350 pulumi.RegisterOutputType(VoiceConnectorTerminationArrayOutput{}) 351 pulumi.RegisterOutputType(VoiceConnectorTerminationMapOutput{}) 352 }