github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/chime/sdkvoiceVoiceProfileDomain.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  // Resource for managing an AWS Chime SDK Voice Profile Domain.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### Basic 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-aws/sdk/v6/go/aws/kms"
    29  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    30  //
    31  // )
    32  //
    33  //	func main() {
    34  //		pulumi.Run(func(ctx *pulumi.Context) error {
    35  //			example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
    36  //				Description:          pulumi.String("KMS Key for Voice Profile Domain"),
    37  //				DeletionWindowInDays: pulumi.Int(7),
    38  //			})
    39  //			if err != nil {
    40  //				return err
    41  //			}
    42  //			_, err = chime.NewSdkvoiceVoiceProfileDomain(ctx, "example", &chime.SdkvoiceVoiceProfileDomainArgs{
    43  //				Name: pulumi.String("ExampleVoiceProfileDomain"),
    44  //				ServerSideEncryptionConfiguration: &chime.SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs{
    45  //					KmsKeyArn: example.Arn,
    46  //				},
    47  //				Description: pulumi.String("My Voice Profile Domain"),
    48  //				Tags: pulumi.StringMap{
    49  //					"key1": pulumi.String("value1"),
    50  //				},
    51  //			})
    52  //			if err != nil {
    53  //				return err
    54  //			}
    55  //			return nil
    56  //		})
    57  //	}
    58  //
    59  // ```
    60  // <!--End PulumiCodeChooser -->
    61  //
    62  // ## Import
    63  //
    64  // Using `pulumi import`, import AWS Chime SDK Voice Profile Domain using the `id`. For example:
    65  //
    66  // ```sh
    67  // $ pulumi import aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain example abcdef123456
    68  // ```
    69  type SdkvoiceVoiceProfileDomain struct {
    70  	pulumi.CustomResourceState
    71  
    72  	// ARN of the Voice Profile Domain.
    73  	Arn pulumi.StringOutput `pulumi:"arn"`
    74  	// Description of Voice Profile Domain.
    75  	Description pulumi.StringPtrOutput `pulumi:"description"`
    76  	// Name of Voice Profile Domain.
    77  	Name pulumi.StringOutput `pulumi:"name"`
    78  	// Configuration for server side encryption.
    79  	ServerSideEncryptionConfiguration SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationOutput `pulumi:"serverSideEncryptionConfiguration"`
    80  	Tags                              pulumi.StringMapOutput                                            `pulumi:"tags"`
    81  	// Deprecated: Please use `tags` instead.
    82  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    83  }
    84  
    85  // NewSdkvoiceVoiceProfileDomain registers a new resource with the given unique name, arguments, and options.
    86  func NewSdkvoiceVoiceProfileDomain(ctx *pulumi.Context,
    87  	name string, args *SdkvoiceVoiceProfileDomainArgs, opts ...pulumi.ResourceOption) (*SdkvoiceVoiceProfileDomain, error) {
    88  	if args == nil {
    89  		return nil, errors.New("missing one or more required arguments")
    90  	}
    91  
    92  	if args.ServerSideEncryptionConfiguration == nil {
    93  		return nil, errors.New("invalid value for required argument 'ServerSideEncryptionConfiguration'")
    94  	}
    95  	opts = internal.PkgResourceDefaultOpts(opts)
    96  	var resource SdkvoiceVoiceProfileDomain
    97  	err := ctx.RegisterResource("aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain", name, args, &resource, opts...)
    98  	if err != nil {
    99  		return nil, err
   100  	}
   101  	return &resource, nil
   102  }
   103  
   104  // GetSdkvoiceVoiceProfileDomain gets an existing SdkvoiceVoiceProfileDomain 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 GetSdkvoiceVoiceProfileDomain(ctx *pulumi.Context,
   107  	name string, id pulumi.IDInput, state *SdkvoiceVoiceProfileDomainState, opts ...pulumi.ResourceOption) (*SdkvoiceVoiceProfileDomain, error) {
   108  	var resource SdkvoiceVoiceProfileDomain
   109  	err := ctx.ReadResource("aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain", 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 SdkvoiceVoiceProfileDomain resources.
   117  type sdkvoiceVoiceProfileDomainState struct {
   118  	// ARN of the Voice Profile Domain.
   119  	Arn *string `pulumi:"arn"`
   120  	// Description of Voice Profile Domain.
   121  	Description *string `pulumi:"description"`
   122  	// Name of Voice Profile Domain.
   123  	Name *string `pulumi:"name"`
   124  	// Configuration for server side encryption.
   125  	ServerSideEncryptionConfiguration *SdkvoiceVoiceProfileDomainServerSideEncryptionConfiguration `pulumi:"serverSideEncryptionConfiguration"`
   126  	Tags                              map[string]string                                            `pulumi:"tags"`
   127  	// Deprecated: Please use `tags` instead.
   128  	TagsAll map[string]string `pulumi:"tagsAll"`
   129  }
   130  
   131  type SdkvoiceVoiceProfileDomainState struct {
   132  	// ARN of the Voice Profile Domain.
   133  	Arn pulumi.StringPtrInput
   134  	// Description of Voice Profile Domain.
   135  	Description pulumi.StringPtrInput
   136  	// Name of Voice Profile Domain.
   137  	Name pulumi.StringPtrInput
   138  	// Configuration for server side encryption.
   139  	ServerSideEncryptionConfiguration SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationPtrInput
   140  	Tags                              pulumi.StringMapInput
   141  	// Deprecated: Please use `tags` instead.
   142  	TagsAll pulumi.StringMapInput
   143  }
   144  
   145  func (SdkvoiceVoiceProfileDomainState) ElementType() reflect.Type {
   146  	return reflect.TypeOf((*sdkvoiceVoiceProfileDomainState)(nil)).Elem()
   147  }
   148  
   149  type sdkvoiceVoiceProfileDomainArgs struct {
   150  	// Description of Voice Profile Domain.
   151  	Description *string `pulumi:"description"`
   152  	// Name of Voice Profile Domain.
   153  	Name *string `pulumi:"name"`
   154  	// Configuration for server side encryption.
   155  	ServerSideEncryptionConfiguration SdkvoiceVoiceProfileDomainServerSideEncryptionConfiguration `pulumi:"serverSideEncryptionConfiguration"`
   156  	Tags                              map[string]string                                           `pulumi:"tags"`
   157  }
   158  
   159  // The set of arguments for constructing a SdkvoiceVoiceProfileDomain resource.
   160  type SdkvoiceVoiceProfileDomainArgs struct {
   161  	// Description of Voice Profile Domain.
   162  	Description pulumi.StringPtrInput
   163  	// Name of Voice Profile Domain.
   164  	Name pulumi.StringPtrInput
   165  	// Configuration for server side encryption.
   166  	ServerSideEncryptionConfiguration SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationInput
   167  	Tags                              pulumi.StringMapInput
   168  }
   169  
   170  func (SdkvoiceVoiceProfileDomainArgs) ElementType() reflect.Type {
   171  	return reflect.TypeOf((*sdkvoiceVoiceProfileDomainArgs)(nil)).Elem()
   172  }
   173  
   174  type SdkvoiceVoiceProfileDomainInput interface {
   175  	pulumi.Input
   176  
   177  	ToSdkvoiceVoiceProfileDomainOutput() SdkvoiceVoiceProfileDomainOutput
   178  	ToSdkvoiceVoiceProfileDomainOutputWithContext(ctx context.Context) SdkvoiceVoiceProfileDomainOutput
   179  }
   180  
   181  func (*SdkvoiceVoiceProfileDomain) ElementType() reflect.Type {
   182  	return reflect.TypeOf((**SdkvoiceVoiceProfileDomain)(nil)).Elem()
   183  }
   184  
   185  func (i *SdkvoiceVoiceProfileDomain) ToSdkvoiceVoiceProfileDomainOutput() SdkvoiceVoiceProfileDomainOutput {
   186  	return i.ToSdkvoiceVoiceProfileDomainOutputWithContext(context.Background())
   187  }
   188  
   189  func (i *SdkvoiceVoiceProfileDomain) ToSdkvoiceVoiceProfileDomainOutputWithContext(ctx context.Context) SdkvoiceVoiceProfileDomainOutput {
   190  	return pulumi.ToOutputWithContext(ctx, i).(SdkvoiceVoiceProfileDomainOutput)
   191  }
   192  
   193  // SdkvoiceVoiceProfileDomainArrayInput is an input type that accepts SdkvoiceVoiceProfileDomainArray and SdkvoiceVoiceProfileDomainArrayOutput values.
   194  // You can construct a concrete instance of `SdkvoiceVoiceProfileDomainArrayInput` via:
   195  //
   196  //	SdkvoiceVoiceProfileDomainArray{ SdkvoiceVoiceProfileDomainArgs{...} }
   197  type SdkvoiceVoiceProfileDomainArrayInput interface {
   198  	pulumi.Input
   199  
   200  	ToSdkvoiceVoiceProfileDomainArrayOutput() SdkvoiceVoiceProfileDomainArrayOutput
   201  	ToSdkvoiceVoiceProfileDomainArrayOutputWithContext(context.Context) SdkvoiceVoiceProfileDomainArrayOutput
   202  }
   203  
   204  type SdkvoiceVoiceProfileDomainArray []SdkvoiceVoiceProfileDomainInput
   205  
   206  func (SdkvoiceVoiceProfileDomainArray) ElementType() reflect.Type {
   207  	return reflect.TypeOf((*[]*SdkvoiceVoiceProfileDomain)(nil)).Elem()
   208  }
   209  
   210  func (i SdkvoiceVoiceProfileDomainArray) ToSdkvoiceVoiceProfileDomainArrayOutput() SdkvoiceVoiceProfileDomainArrayOutput {
   211  	return i.ToSdkvoiceVoiceProfileDomainArrayOutputWithContext(context.Background())
   212  }
   213  
   214  func (i SdkvoiceVoiceProfileDomainArray) ToSdkvoiceVoiceProfileDomainArrayOutputWithContext(ctx context.Context) SdkvoiceVoiceProfileDomainArrayOutput {
   215  	return pulumi.ToOutputWithContext(ctx, i).(SdkvoiceVoiceProfileDomainArrayOutput)
   216  }
   217  
   218  // SdkvoiceVoiceProfileDomainMapInput is an input type that accepts SdkvoiceVoiceProfileDomainMap and SdkvoiceVoiceProfileDomainMapOutput values.
   219  // You can construct a concrete instance of `SdkvoiceVoiceProfileDomainMapInput` via:
   220  //
   221  //	SdkvoiceVoiceProfileDomainMap{ "key": SdkvoiceVoiceProfileDomainArgs{...} }
   222  type SdkvoiceVoiceProfileDomainMapInput interface {
   223  	pulumi.Input
   224  
   225  	ToSdkvoiceVoiceProfileDomainMapOutput() SdkvoiceVoiceProfileDomainMapOutput
   226  	ToSdkvoiceVoiceProfileDomainMapOutputWithContext(context.Context) SdkvoiceVoiceProfileDomainMapOutput
   227  }
   228  
   229  type SdkvoiceVoiceProfileDomainMap map[string]SdkvoiceVoiceProfileDomainInput
   230  
   231  func (SdkvoiceVoiceProfileDomainMap) ElementType() reflect.Type {
   232  	return reflect.TypeOf((*map[string]*SdkvoiceVoiceProfileDomain)(nil)).Elem()
   233  }
   234  
   235  func (i SdkvoiceVoiceProfileDomainMap) ToSdkvoiceVoiceProfileDomainMapOutput() SdkvoiceVoiceProfileDomainMapOutput {
   236  	return i.ToSdkvoiceVoiceProfileDomainMapOutputWithContext(context.Background())
   237  }
   238  
   239  func (i SdkvoiceVoiceProfileDomainMap) ToSdkvoiceVoiceProfileDomainMapOutputWithContext(ctx context.Context) SdkvoiceVoiceProfileDomainMapOutput {
   240  	return pulumi.ToOutputWithContext(ctx, i).(SdkvoiceVoiceProfileDomainMapOutput)
   241  }
   242  
   243  type SdkvoiceVoiceProfileDomainOutput struct{ *pulumi.OutputState }
   244  
   245  func (SdkvoiceVoiceProfileDomainOutput) ElementType() reflect.Type {
   246  	return reflect.TypeOf((**SdkvoiceVoiceProfileDomain)(nil)).Elem()
   247  }
   248  
   249  func (o SdkvoiceVoiceProfileDomainOutput) ToSdkvoiceVoiceProfileDomainOutput() SdkvoiceVoiceProfileDomainOutput {
   250  	return o
   251  }
   252  
   253  func (o SdkvoiceVoiceProfileDomainOutput) ToSdkvoiceVoiceProfileDomainOutputWithContext(ctx context.Context) SdkvoiceVoiceProfileDomainOutput {
   254  	return o
   255  }
   256  
   257  // ARN of the Voice Profile Domain.
   258  func (o SdkvoiceVoiceProfileDomainOutput) Arn() pulumi.StringOutput {
   259  	return o.ApplyT(func(v *SdkvoiceVoiceProfileDomain) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   260  }
   261  
   262  // Description of Voice Profile Domain.
   263  func (o SdkvoiceVoiceProfileDomainOutput) Description() pulumi.StringPtrOutput {
   264  	return o.ApplyT(func(v *SdkvoiceVoiceProfileDomain) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   265  }
   266  
   267  // Name of Voice Profile Domain.
   268  func (o SdkvoiceVoiceProfileDomainOutput) Name() pulumi.StringOutput {
   269  	return o.ApplyT(func(v *SdkvoiceVoiceProfileDomain) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   270  }
   271  
   272  // Configuration for server side encryption.
   273  func (o SdkvoiceVoiceProfileDomainOutput) ServerSideEncryptionConfiguration() SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationOutput {
   274  	return o.ApplyT(func(v *SdkvoiceVoiceProfileDomain) SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationOutput {
   275  		return v.ServerSideEncryptionConfiguration
   276  	}).(SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationOutput)
   277  }
   278  
   279  func (o SdkvoiceVoiceProfileDomainOutput) Tags() pulumi.StringMapOutput {
   280  	return o.ApplyT(func(v *SdkvoiceVoiceProfileDomain) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   281  }
   282  
   283  // Deprecated: Please use `tags` instead.
   284  func (o SdkvoiceVoiceProfileDomainOutput) TagsAll() pulumi.StringMapOutput {
   285  	return o.ApplyT(func(v *SdkvoiceVoiceProfileDomain) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   286  }
   287  
   288  type SdkvoiceVoiceProfileDomainArrayOutput struct{ *pulumi.OutputState }
   289  
   290  func (SdkvoiceVoiceProfileDomainArrayOutput) ElementType() reflect.Type {
   291  	return reflect.TypeOf((*[]*SdkvoiceVoiceProfileDomain)(nil)).Elem()
   292  }
   293  
   294  func (o SdkvoiceVoiceProfileDomainArrayOutput) ToSdkvoiceVoiceProfileDomainArrayOutput() SdkvoiceVoiceProfileDomainArrayOutput {
   295  	return o
   296  }
   297  
   298  func (o SdkvoiceVoiceProfileDomainArrayOutput) ToSdkvoiceVoiceProfileDomainArrayOutputWithContext(ctx context.Context) SdkvoiceVoiceProfileDomainArrayOutput {
   299  	return o
   300  }
   301  
   302  func (o SdkvoiceVoiceProfileDomainArrayOutput) Index(i pulumi.IntInput) SdkvoiceVoiceProfileDomainOutput {
   303  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SdkvoiceVoiceProfileDomain {
   304  		return vs[0].([]*SdkvoiceVoiceProfileDomain)[vs[1].(int)]
   305  	}).(SdkvoiceVoiceProfileDomainOutput)
   306  }
   307  
   308  type SdkvoiceVoiceProfileDomainMapOutput struct{ *pulumi.OutputState }
   309  
   310  func (SdkvoiceVoiceProfileDomainMapOutput) ElementType() reflect.Type {
   311  	return reflect.TypeOf((*map[string]*SdkvoiceVoiceProfileDomain)(nil)).Elem()
   312  }
   313  
   314  func (o SdkvoiceVoiceProfileDomainMapOutput) ToSdkvoiceVoiceProfileDomainMapOutput() SdkvoiceVoiceProfileDomainMapOutput {
   315  	return o
   316  }
   317  
   318  func (o SdkvoiceVoiceProfileDomainMapOutput) ToSdkvoiceVoiceProfileDomainMapOutputWithContext(ctx context.Context) SdkvoiceVoiceProfileDomainMapOutput {
   319  	return o
   320  }
   321  
   322  func (o SdkvoiceVoiceProfileDomainMapOutput) MapIndex(k pulumi.StringInput) SdkvoiceVoiceProfileDomainOutput {
   323  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SdkvoiceVoiceProfileDomain {
   324  		return vs[0].(map[string]*SdkvoiceVoiceProfileDomain)[vs[1].(string)]
   325  	}).(SdkvoiceVoiceProfileDomainOutput)
   326  }
   327  
   328  func init() {
   329  	pulumi.RegisterInputType(reflect.TypeOf((*SdkvoiceVoiceProfileDomainInput)(nil)).Elem(), &SdkvoiceVoiceProfileDomain{})
   330  	pulumi.RegisterInputType(reflect.TypeOf((*SdkvoiceVoiceProfileDomainArrayInput)(nil)).Elem(), SdkvoiceVoiceProfileDomainArray{})
   331  	pulumi.RegisterInputType(reflect.TypeOf((*SdkvoiceVoiceProfileDomainMapInput)(nil)).Elem(), SdkvoiceVoiceProfileDomainMap{})
   332  	pulumi.RegisterOutputType(SdkvoiceVoiceProfileDomainOutput{})
   333  	pulumi.RegisterOutputType(SdkvoiceVoiceProfileDomainArrayOutput{})
   334  	pulumi.RegisterOutputType(SdkvoiceVoiceProfileDomainMapOutput{})
   335  }