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  }