github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/chime/voiceConnectorTerminationCredentials.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 // Adds termination SIP credentials for the specified Amazon Chime Voice Connector. 16 // 17 // > **Note:** Voice Connector Termination Credentials requires a Voice Connector Termination to be present. Use of `dependsOn` (as shown below) is recommended to avoid race conditions. 18 // 19 // ## Example Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := chime.NewVoiceConnector(ctx, "default", &chime.VoiceConnectorArgs{ 35 // Name: pulumi.String("test"), 36 // RequireEncryption: pulumi.Bool(true), 37 // }) 38 // if err != nil { 39 // return err 40 // } 41 // defaultVoiceConnectorTermination, err := chime.NewVoiceConnectorTermination(ctx, "default", &chime.VoiceConnectorTerminationArgs{ 42 // Disabled: pulumi.Bool(true), 43 // CpsLimit: pulumi.Int(1), 44 // CidrAllowLists: pulumi.StringArray{ 45 // pulumi.String("50.35.78.96/31"), 46 // }, 47 // CallingRegions: pulumi.StringArray{ 48 // pulumi.String("US"), 49 // pulumi.String("CA"), 50 // }, 51 // VoiceConnectorId: _default.ID(), 52 // }) 53 // if err != nil { 54 // return err 55 // } 56 // _, err = chime.NewVoiceConnectorTerminationCredentials(ctx, "default", &chime.VoiceConnectorTerminationCredentialsArgs{ 57 // VoiceConnectorId: _default.ID(), 58 // Credentials: chime.VoiceConnectorTerminationCredentialsCredentialArray{ 59 // &chime.VoiceConnectorTerminationCredentialsCredentialArgs{ 60 // Username: pulumi.String("test"), 61 // Password: pulumi.String("test!"), 62 // }, 63 // }, 64 // }, pulumi.DependsOn([]pulumi.Resource{ 65 // defaultVoiceConnectorTermination, 66 // })) 67 // if err != nil { 68 // return err 69 // } 70 // return nil 71 // }) 72 // } 73 // 74 // ``` 75 // <!--End PulumiCodeChooser --> 76 // 77 // ## Import 78 // 79 // Using `pulumi import`, import Chime Voice Connector Termination Credentials using the `voice_connector_id`. For example: 80 // 81 // ```sh 82 // $ pulumi import aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials default abcdef1ghij2klmno3pqr4 83 // ``` 84 type VoiceConnectorTerminationCredentials struct { 85 pulumi.CustomResourceState 86 87 // List of termination SIP credentials. 88 Credentials VoiceConnectorTerminationCredentialsCredentialArrayOutput `pulumi:"credentials"` 89 // Amazon Chime Voice Connector ID. 90 VoiceConnectorId pulumi.StringOutput `pulumi:"voiceConnectorId"` 91 } 92 93 // NewVoiceConnectorTerminationCredentials registers a new resource with the given unique name, arguments, and options. 94 func NewVoiceConnectorTerminationCredentials(ctx *pulumi.Context, 95 name string, args *VoiceConnectorTerminationCredentialsArgs, opts ...pulumi.ResourceOption) (*VoiceConnectorTerminationCredentials, error) { 96 if args == nil { 97 return nil, errors.New("missing one or more required arguments") 98 } 99 100 if args.Credentials == nil { 101 return nil, errors.New("invalid value for required argument 'Credentials'") 102 } 103 if args.VoiceConnectorId == nil { 104 return nil, errors.New("invalid value for required argument 'VoiceConnectorId'") 105 } 106 opts = internal.PkgResourceDefaultOpts(opts) 107 var resource VoiceConnectorTerminationCredentials 108 err := ctx.RegisterResource("aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials", name, args, &resource, opts...) 109 if err != nil { 110 return nil, err 111 } 112 return &resource, nil 113 } 114 115 // GetVoiceConnectorTerminationCredentials gets an existing VoiceConnectorTerminationCredentials resource's state with the given name, ID, and optional 116 // state properties that are used to uniquely qualify the lookup (nil if not required). 117 func GetVoiceConnectorTerminationCredentials(ctx *pulumi.Context, 118 name string, id pulumi.IDInput, state *VoiceConnectorTerminationCredentialsState, opts ...pulumi.ResourceOption) (*VoiceConnectorTerminationCredentials, error) { 119 var resource VoiceConnectorTerminationCredentials 120 err := ctx.ReadResource("aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials", name, id, state, &resource, opts...) 121 if err != nil { 122 return nil, err 123 } 124 return &resource, nil 125 } 126 127 // Input properties used for looking up and filtering VoiceConnectorTerminationCredentials resources. 128 type voiceConnectorTerminationCredentialsState struct { 129 // List of termination SIP credentials. 130 Credentials []VoiceConnectorTerminationCredentialsCredential `pulumi:"credentials"` 131 // Amazon Chime Voice Connector ID. 132 VoiceConnectorId *string `pulumi:"voiceConnectorId"` 133 } 134 135 type VoiceConnectorTerminationCredentialsState struct { 136 // List of termination SIP credentials. 137 Credentials VoiceConnectorTerminationCredentialsCredentialArrayInput 138 // Amazon Chime Voice Connector ID. 139 VoiceConnectorId pulumi.StringPtrInput 140 } 141 142 func (VoiceConnectorTerminationCredentialsState) ElementType() reflect.Type { 143 return reflect.TypeOf((*voiceConnectorTerminationCredentialsState)(nil)).Elem() 144 } 145 146 type voiceConnectorTerminationCredentialsArgs struct { 147 // List of termination SIP credentials. 148 Credentials []VoiceConnectorTerminationCredentialsCredential `pulumi:"credentials"` 149 // Amazon Chime Voice Connector ID. 150 VoiceConnectorId string `pulumi:"voiceConnectorId"` 151 } 152 153 // The set of arguments for constructing a VoiceConnectorTerminationCredentials resource. 154 type VoiceConnectorTerminationCredentialsArgs struct { 155 // List of termination SIP credentials. 156 Credentials VoiceConnectorTerminationCredentialsCredentialArrayInput 157 // Amazon Chime Voice Connector ID. 158 VoiceConnectorId pulumi.StringInput 159 } 160 161 func (VoiceConnectorTerminationCredentialsArgs) ElementType() reflect.Type { 162 return reflect.TypeOf((*voiceConnectorTerminationCredentialsArgs)(nil)).Elem() 163 } 164 165 type VoiceConnectorTerminationCredentialsInput interface { 166 pulumi.Input 167 168 ToVoiceConnectorTerminationCredentialsOutput() VoiceConnectorTerminationCredentialsOutput 169 ToVoiceConnectorTerminationCredentialsOutputWithContext(ctx context.Context) VoiceConnectorTerminationCredentialsOutput 170 } 171 172 func (*VoiceConnectorTerminationCredentials) ElementType() reflect.Type { 173 return reflect.TypeOf((**VoiceConnectorTerminationCredentials)(nil)).Elem() 174 } 175 176 func (i *VoiceConnectorTerminationCredentials) ToVoiceConnectorTerminationCredentialsOutput() VoiceConnectorTerminationCredentialsOutput { 177 return i.ToVoiceConnectorTerminationCredentialsOutputWithContext(context.Background()) 178 } 179 180 func (i *VoiceConnectorTerminationCredentials) ToVoiceConnectorTerminationCredentialsOutputWithContext(ctx context.Context) VoiceConnectorTerminationCredentialsOutput { 181 return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorTerminationCredentialsOutput) 182 } 183 184 // VoiceConnectorTerminationCredentialsArrayInput is an input type that accepts VoiceConnectorTerminationCredentialsArray and VoiceConnectorTerminationCredentialsArrayOutput values. 185 // You can construct a concrete instance of `VoiceConnectorTerminationCredentialsArrayInput` via: 186 // 187 // VoiceConnectorTerminationCredentialsArray{ VoiceConnectorTerminationCredentialsArgs{...} } 188 type VoiceConnectorTerminationCredentialsArrayInput interface { 189 pulumi.Input 190 191 ToVoiceConnectorTerminationCredentialsArrayOutput() VoiceConnectorTerminationCredentialsArrayOutput 192 ToVoiceConnectorTerminationCredentialsArrayOutputWithContext(context.Context) VoiceConnectorTerminationCredentialsArrayOutput 193 } 194 195 type VoiceConnectorTerminationCredentialsArray []VoiceConnectorTerminationCredentialsInput 196 197 func (VoiceConnectorTerminationCredentialsArray) ElementType() reflect.Type { 198 return reflect.TypeOf((*[]*VoiceConnectorTerminationCredentials)(nil)).Elem() 199 } 200 201 func (i VoiceConnectorTerminationCredentialsArray) ToVoiceConnectorTerminationCredentialsArrayOutput() VoiceConnectorTerminationCredentialsArrayOutput { 202 return i.ToVoiceConnectorTerminationCredentialsArrayOutputWithContext(context.Background()) 203 } 204 205 func (i VoiceConnectorTerminationCredentialsArray) ToVoiceConnectorTerminationCredentialsArrayOutputWithContext(ctx context.Context) VoiceConnectorTerminationCredentialsArrayOutput { 206 return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorTerminationCredentialsArrayOutput) 207 } 208 209 // VoiceConnectorTerminationCredentialsMapInput is an input type that accepts VoiceConnectorTerminationCredentialsMap and VoiceConnectorTerminationCredentialsMapOutput values. 210 // You can construct a concrete instance of `VoiceConnectorTerminationCredentialsMapInput` via: 211 // 212 // VoiceConnectorTerminationCredentialsMap{ "key": VoiceConnectorTerminationCredentialsArgs{...} } 213 type VoiceConnectorTerminationCredentialsMapInput interface { 214 pulumi.Input 215 216 ToVoiceConnectorTerminationCredentialsMapOutput() VoiceConnectorTerminationCredentialsMapOutput 217 ToVoiceConnectorTerminationCredentialsMapOutputWithContext(context.Context) VoiceConnectorTerminationCredentialsMapOutput 218 } 219 220 type VoiceConnectorTerminationCredentialsMap map[string]VoiceConnectorTerminationCredentialsInput 221 222 func (VoiceConnectorTerminationCredentialsMap) ElementType() reflect.Type { 223 return reflect.TypeOf((*map[string]*VoiceConnectorTerminationCredentials)(nil)).Elem() 224 } 225 226 func (i VoiceConnectorTerminationCredentialsMap) ToVoiceConnectorTerminationCredentialsMapOutput() VoiceConnectorTerminationCredentialsMapOutput { 227 return i.ToVoiceConnectorTerminationCredentialsMapOutputWithContext(context.Background()) 228 } 229 230 func (i VoiceConnectorTerminationCredentialsMap) ToVoiceConnectorTerminationCredentialsMapOutputWithContext(ctx context.Context) VoiceConnectorTerminationCredentialsMapOutput { 231 return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorTerminationCredentialsMapOutput) 232 } 233 234 type VoiceConnectorTerminationCredentialsOutput struct{ *pulumi.OutputState } 235 236 func (VoiceConnectorTerminationCredentialsOutput) ElementType() reflect.Type { 237 return reflect.TypeOf((**VoiceConnectorTerminationCredentials)(nil)).Elem() 238 } 239 240 func (o VoiceConnectorTerminationCredentialsOutput) ToVoiceConnectorTerminationCredentialsOutput() VoiceConnectorTerminationCredentialsOutput { 241 return o 242 } 243 244 func (o VoiceConnectorTerminationCredentialsOutput) ToVoiceConnectorTerminationCredentialsOutputWithContext(ctx context.Context) VoiceConnectorTerminationCredentialsOutput { 245 return o 246 } 247 248 // List of termination SIP credentials. 249 func (o VoiceConnectorTerminationCredentialsOutput) Credentials() VoiceConnectorTerminationCredentialsCredentialArrayOutput { 250 return o.ApplyT(func(v *VoiceConnectorTerminationCredentials) VoiceConnectorTerminationCredentialsCredentialArrayOutput { 251 return v.Credentials 252 }).(VoiceConnectorTerminationCredentialsCredentialArrayOutput) 253 } 254 255 // Amazon Chime Voice Connector ID. 256 func (o VoiceConnectorTerminationCredentialsOutput) VoiceConnectorId() pulumi.StringOutput { 257 return o.ApplyT(func(v *VoiceConnectorTerminationCredentials) pulumi.StringOutput { return v.VoiceConnectorId }).(pulumi.StringOutput) 258 } 259 260 type VoiceConnectorTerminationCredentialsArrayOutput struct{ *pulumi.OutputState } 261 262 func (VoiceConnectorTerminationCredentialsArrayOutput) ElementType() reflect.Type { 263 return reflect.TypeOf((*[]*VoiceConnectorTerminationCredentials)(nil)).Elem() 264 } 265 266 func (o VoiceConnectorTerminationCredentialsArrayOutput) ToVoiceConnectorTerminationCredentialsArrayOutput() VoiceConnectorTerminationCredentialsArrayOutput { 267 return o 268 } 269 270 func (o VoiceConnectorTerminationCredentialsArrayOutput) ToVoiceConnectorTerminationCredentialsArrayOutputWithContext(ctx context.Context) VoiceConnectorTerminationCredentialsArrayOutput { 271 return o 272 } 273 274 func (o VoiceConnectorTerminationCredentialsArrayOutput) Index(i pulumi.IntInput) VoiceConnectorTerminationCredentialsOutput { 275 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VoiceConnectorTerminationCredentials { 276 return vs[0].([]*VoiceConnectorTerminationCredentials)[vs[1].(int)] 277 }).(VoiceConnectorTerminationCredentialsOutput) 278 } 279 280 type VoiceConnectorTerminationCredentialsMapOutput struct{ *pulumi.OutputState } 281 282 func (VoiceConnectorTerminationCredentialsMapOutput) ElementType() reflect.Type { 283 return reflect.TypeOf((*map[string]*VoiceConnectorTerminationCredentials)(nil)).Elem() 284 } 285 286 func (o VoiceConnectorTerminationCredentialsMapOutput) ToVoiceConnectorTerminationCredentialsMapOutput() VoiceConnectorTerminationCredentialsMapOutput { 287 return o 288 } 289 290 func (o VoiceConnectorTerminationCredentialsMapOutput) ToVoiceConnectorTerminationCredentialsMapOutputWithContext(ctx context.Context) VoiceConnectorTerminationCredentialsMapOutput { 291 return o 292 } 293 294 func (o VoiceConnectorTerminationCredentialsMapOutput) MapIndex(k pulumi.StringInput) VoiceConnectorTerminationCredentialsOutput { 295 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VoiceConnectorTerminationCredentials { 296 return vs[0].(map[string]*VoiceConnectorTerminationCredentials)[vs[1].(string)] 297 }).(VoiceConnectorTerminationCredentialsOutput) 298 } 299 300 func init() { 301 pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorTerminationCredentialsInput)(nil)).Elem(), &VoiceConnectorTerminationCredentials{}) 302 pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorTerminationCredentialsArrayInput)(nil)).Elem(), VoiceConnectorTerminationCredentialsArray{}) 303 pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorTerminationCredentialsMapInput)(nil)).Elem(), VoiceConnectorTerminationCredentialsMap{}) 304 pulumi.RegisterOutputType(VoiceConnectorTerminationCredentialsOutput{}) 305 pulumi.RegisterOutputType(VoiceConnectorTerminationCredentialsArrayOutput{}) 306 pulumi.RegisterOutputType(VoiceConnectorTerminationCredentialsMapOutput{}) 307 }