github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/chime/voiceConnectorLogging.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 a logging configuration for the specified Amazon Chime Voice Connector. The logging configuration specifies whether SIP message logs are enabled for sending to Amazon CloudWatch Logs.
    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.NewVoiceConnectorLogging(ctx, "default", &chime.VoiceConnectorLoggingArgs{
    40  //				EnableSipLogs:         pulumi.Bool(true),
    41  //				EnableMediaMetricLogs: pulumi.Bool(true),
    42  //				VoiceConnectorId:      _default.ID(),
    43  //			})
    44  //			if err != nil {
    45  //				return err
    46  //			}
    47  //			return nil
    48  //		})
    49  //	}
    50  //
    51  // ```
    52  // <!--End PulumiCodeChooser -->
    53  //
    54  // ## Import
    55  //
    56  // Using `pulumi import`, import Chime Voice Connector Logging using the `voice_connector_id`. For example:
    57  //
    58  // ```sh
    59  // $ pulumi import aws:chime/voiceConnectorLogging:VoiceConnectorLogging default abcdef1ghij2klmno3pqr4
    60  // ```
    61  type VoiceConnectorLogging struct {
    62  	pulumi.CustomResourceState
    63  
    64  	// When true, enables logging of detailed media metrics for Voice Connectors to Amazon CloudWatch logs.
    65  	EnableMediaMetricLogs pulumi.BoolPtrOutput `pulumi:"enableMediaMetricLogs"`
    66  	// When true, enables SIP message logs for sending to Amazon CloudWatch Logs.
    67  	EnableSipLogs pulumi.BoolPtrOutput `pulumi:"enableSipLogs"`
    68  	// The Amazon Chime Voice Connector ID.
    69  	VoiceConnectorId pulumi.StringOutput `pulumi:"voiceConnectorId"`
    70  }
    71  
    72  // NewVoiceConnectorLogging registers a new resource with the given unique name, arguments, and options.
    73  func NewVoiceConnectorLogging(ctx *pulumi.Context,
    74  	name string, args *VoiceConnectorLoggingArgs, opts ...pulumi.ResourceOption) (*VoiceConnectorLogging, error) {
    75  	if args == nil {
    76  		return nil, errors.New("missing one or more required arguments")
    77  	}
    78  
    79  	if args.VoiceConnectorId == nil {
    80  		return nil, errors.New("invalid value for required argument 'VoiceConnectorId'")
    81  	}
    82  	opts = internal.PkgResourceDefaultOpts(opts)
    83  	var resource VoiceConnectorLogging
    84  	err := ctx.RegisterResource("aws:chime/voiceConnectorLogging:VoiceConnectorLogging", name, args, &resource, opts...)
    85  	if err != nil {
    86  		return nil, err
    87  	}
    88  	return &resource, nil
    89  }
    90  
    91  // GetVoiceConnectorLogging gets an existing VoiceConnectorLogging resource's state with the given name, ID, and optional
    92  // state properties that are used to uniquely qualify the lookup (nil if not required).
    93  func GetVoiceConnectorLogging(ctx *pulumi.Context,
    94  	name string, id pulumi.IDInput, state *VoiceConnectorLoggingState, opts ...pulumi.ResourceOption) (*VoiceConnectorLogging, error) {
    95  	var resource VoiceConnectorLogging
    96  	err := ctx.ReadResource("aws:chime/voiceConnectorLogging:VoiceConnectorLogging", name, id, state, &resource, opts...)
    97  	if err != nil {
    98  		return nil, err
    99  	}
   100  	return &resource, nil
   101  }
   102  
   103  // Input properties used for looking up and filtering VoiceConnectorLogging resources.
   104  type voiceConnectorLoggingState struct {
   105  	// When true, enables logging of detailed media metrics for Voice Connectors to Amazon CloudWatch logs.
   106  	EnableMediaMetricLogs *bool `pulumi:"enableMediaMetricLogs"`
   107  	// When true, enables SIP message logs for sending to Amazon CloudWatch Logs.
   108  	EnableSipLogs *bool `pulumi:"enableSipLogs"`
   109  	// The Amazon Chime Voice Connector ID.
   110  	VoiceConnectorId *string `pulumi:"voiceConnectorId"`
   111  }
   112  
   113  type VoiceConnectorLoggingState struct {
   114  	// When true, enables logging of detailed media metrics for Voice Connectors to Amazon CloudWatch logs.
   115  	EnableMediaMetricLogs pulumi.BoolPtrInput
   116  	// When true, enables SIP message logs for sending to Amazon CloudWatch Logs.
   117  	EnableSipLogs pulumi.BoolPtrInput
   118  	// The Amazon Chime Voice Connector ID.
   119  	VoiceConnectorId pulumi.StringPtrInput
   120  }
   121  
   122  func (VoiceConnectorLoggingState) ElementType() reflect.Type {
   123  	return reflect.TypeOf((*voiceConnectorLoggingState)(nil)).Elem()
   124  }
   125  
   126  type voiceConnectorLoggingArgs struct {
   127  	// When true, enables logging of detailed media metrics for Voice Connectors to Amazon CloudWatch logs.
   128  	EnableMediaMetricLogs *bool `pulumi:"enableMediaMetricLogs"`
   129  	// When true, enables SIP message logs for sending to Amazon CloudWatch Logs.
   130  	EnableSipLogs *bool `pulumi:"enableSipLogs"`
   131  	// The Amazon Chime Voice Connector ID.
   132  	VoiceConnectorId string `pulumi:"voiceConnectorId"`
   133  }
   134  
   135  // The set of arguments for constructing a VoiceConnectorLogging resource.
   136  type VoiceConnectorLoggingArgs struct {
   137  	// When true, enables logging of detailed media metrics for Voice Connectors to Amazon CloudWatch logs.
   138  	EnableMediaMetricLogs pulumi.BoolPtrInput
   139  	// When true, enables SIP message logs for sending to Amazon CloudWatch Logs.
   140  	EnableSipLogs pulumi.BoolPtrInput
   141  	// The Amazon Chime Voice Connector ID.
   142  	VoiceConnectorId pulumi.StringInput
   143  }
   144  
   145  func (VoiceConnectorLoggingArgs) ElementType() reflect.Type {
   146  	return reflect.TypeOf((*voiceConnectorLoggingArgs)(nil)).Elem()
   147  }
   148  
   149  type VoiceConnectorLoggingInput interface {
   150  	pulumi.Input
   151  
   152  	ToVoiceConnectorLoggingOutput() VoiceConnectorLoggingOutput
   153  	ToVoiceConnectorLoggingOutputWithContext(ctx context.Context) VoiceConnectorLoggingOutput
   154  }
   155  
   156  func (*VoiceConnectorLogging) ElementType() reflect.Type {
   157  	return reflect.TypeOf((**VoiceConnectorLogging)(nil)).Elem()
   158  }
   159  
   160  func (i *VoiceConnectorLogging) ToVoiceConnectorLoggingOutput() VoiceConnectorLoggingOutput {
   161  	return i.ToVoiceConnectorLoggingOutputWithContext(context.Background())
   162  }
   163  
   164  func (i *VoiceConnectorLogging) ToVoiceConnectorLoggingOutputWithContext(ctx context.Context) VoiceConnectorLoggingOutput {
   165  	return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorLoggingOutput)
   166  }
   167  
   168  // VoiceConnectorLoggingArrayInput is an input type that accepts VoiceConnectorLoggingArray and VoiceConnectorLoggingArrayOutput values.
   169  // You can construct a concrete instance of `VoiceConnectorLoggingArrayInput` via:
   170  //
   171  //	VoiceConnectorLoggingArray{ VoiceConnectorLoggingArgs{...} }
   172  type VoiceConnectorLoggingArrayInput interface {
   173  	pulumi.Input
   174  
   175  	ToVoiceConnectorLoggingArrayOutput() VoiceConnectorLoggingArrayOutput
   176  	ToVoiceConnectorLoggingArrayOutputWithContext(context.Context) VoiceConnectorLoggingArrayOutput
   177  }
   178  
   179  type VoiceConnectorLoggingArray []VoiceConnectorLoggingInput
   180  
   181  func (VoiceConnectorLoggingArray) ElementType() reflect.Type {
   182  	return reflect.TypeOf((*[]*VoiceConnectorLogging)(nil)).Elem()
   183  }
   184  
   185  func (i VoiceConnectorLoggingArray) ToVoiceConnectorLoggingArrayOutput() VoiceConnectorLoggingArrayOutput {
   186  	return i.ToVoiceConnectorLoggingArrayOutputWithContext(context.Background())
   187  }
   188  
   189  func (i VoiceConnectorLoggingArray) ToVoiceConnectorLoggingArrayOutputWithContext(ctx context.Context) VoiceConnectorLoggingArrayOutput {
   190  	return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorLoggingArrayOutput)
   191  }
   192  
   193  // VoiceConnectorLoggingMapInput is an input type that accepts VoiceConnectorLoggingMap and VoiceConnectorLoggingMapOutput values.
   194  // You can construct a concrete instance of `VoiceConnectorLoggingMapInput` via:
   195  //
   196  //	VoiceConnectorLoggingMap{ "key": VoiceConnectorLoggingArgs{...} }
   197  type VoiceConnectorLoggingMapInput interface {
   198  	pulumi.Input
   199  
   200  	ToVoiceConnectorLoggingMapOutput() VoiceConnectorLoggingMapOutput
   201  	ToVoiceConnectorLoggingMapOutputWithContext(context.Context) VoiceConnectorLoggingMapOutput
   202  }
   203  
   204  type VoiceConnectorLoggingMap map[string]VoiceConnectorLoggingInput
   205  
   206  func (VoiceConnectorLoggingMap) ElementType() reflect.Type {
   207  	return reflect.TypeOf((*map[string]*VoiceConnectorLogging)(nil)).Elem()
   208  }
   209  
   210  func (i VoiceConnectorLoggingMap) ToVoiceConnectorLoggingMapOutput() VoiceConnectorLoggingMapOutput {
   211  	return i.ToVoiceConnectorLoggingMapOutputWithContext(context.Background())
   212  }
   213  
   214  func (i VoiceConnectorLoggingMap) ToVoiceConnectorLoggingMapOutputWithContext(ctx context.Context) VoiceConnectorLoggingMapOutput {
   215  	return pulumi.ToOutputWithContext(ctx, i).(VoiceConnectorLoggingMapOutput)
   216  }
   217  
   218  type VoiceConnectorLoggingOutput struct{ *pulumi.OutputState }
   219  
   220  func (VoiceConnectorLoggingOutput) ElementType() reflect.Type {
   221  	return reflect.TypeOf((**VoiceConnectorLogging)(nil)).Elem()
   222  }
   223  
   224  func (o VoiceConnectorLoggingOutput) ToVoiceConnectorLoggingOutput() VoiceConnectorLoggingOutput {
   225  	return o
   226  }
   227  
   228  func (o VoiceConnectorLoggingOutput) ToVoiceConnectorLoggingOutputWithContext(ctx context.Context) VoiceConnectorLoggingOutput {
   229  	return o
   230  }
   231  
   232  // When true, enables logging of detailed media metrics for Voice Connectors to Amazon CloudWatch logs.
   233  func (o VoiceConnectorLoggingOutput) EnableMediaMetricLogs() pulumi.BoolPtrOutput {
   234  	return o.ApplyT(func(v *VoiceConnectorLogging) pulumi.BoolPtrOutput { return v.EnableMediaMetricLogs }).(pulumi.BoolPtrOutput)
   235  }
   236  
   237  // When true, enables SIP message logs for sending to Amazon CloudWatch Logs.
   238  func (o VoiceConnectorLoggingOutput) EnableSipLogs() pulumi.BoolPtrOutput {
   239  	return o.ApplyT(func(v *VoiceConnectorLogging) pulumi.BoolPtrOutput { return v.EnableSipLogs }).(pulumi.BoolPtrOutput)
   240  }
   241  
   242  // The Amazon Chime Voice Connector ID.
   243  func (o VoiceConnectorLoggingOutput) VoiceConnectorId() pulumi.StringOutput {
   244  	return o.ApplyT(func(v *VoiceConnectorLogging) pulumi.StringOutput { return v.VoiceConnectorId }).(pulumi.StringOutput)
   245  }
   246  
   247  type VoiceConnectorLoggingArrayOutput struct{ *pulumi.OutputState }
   248  
   249  func (VoiceConnectorLoggingArrayOutput) ElementType() reflect.Type {
   250  	return reflect.TypeOf((*[]*VoiceConnectorLogging)(nil)).Elem()
   251  }
   252  
   253  func (o VoiceConnectorLoggingArrayOutput) ToVoiceConnectorLoggingArrayOutput() VoiceConnectorLoggingArrayOutput {
   254  	return o
   255  }
   256  
   257  func (o VoiceConnectorLoggingArrayOutput) ToVoiceConnectorLoggingArrayOutputWithContext(ctx context.Context) VoiceConnectorLoggingArrayOutput {
   258  	return o
   259  }
   260  
   261  func (o VoiceConnectorLoggingArrayOutput) Index(i pulumi.IntInput) VoiceConnectorLoggingOutput {
   262  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VoiceConnectorLogging {
   263  		return vs[0].([]*VoiceConnectorLogging)[vs[1].(int)]
   264  	}).(VoiceConnectorLoggingOutput)
   265  }
   266  
   267  type VoiceConnectorLoggingMapOutput struct{ *pulumi.OutputState }
   268  
   269  func (VoiceConnectorLoggingMapOutput) ElementType() reflect.Type {
   270  	return reflect.TypeOf((*map[string]*VoiceConnectorLogging)(nil)).Elem()
   271  }
   272  
   273  func (o VoiceConnectorLoggingMapOutput) ToVoiceConnectorLoggingMapOutput() VoiceConnectorLoggingMapOutput {
   274  	return o
   275  }
   276  
   277  func (o VoiceConnectorLoggingMapOutput) ToVoiceConnectorLoggingMapOutputWithContext(ctx context.Context) VoiceConnectorLoggingMapOutput {
   278  	return o
   279  }
   280  
   281  func (o VoiceConnectorLoggingMapOutput) MapIndex(k pulumi.StringInput) VoiceConnectorLoggingOutput {
   282  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VoiceConnectorLogging {
   283  		return vs[0].(map[string]*VoiceConnectorLogging)[vs[1].(string)]
   284  	}).(VoiceConnectorLoggingOutput)
   285  }
   286  
   287  func init() {
   288  	pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorLoggingInput)(nil)).Elem(), &VoiceConnectorLogging{})
   289  	pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorLoggingArrayInput)(nil)).Elem(), VoiceConnectorLoggingArray{})
   290  	pulumi.RegisterInputType(reflect.TypeOf((*VoiceConnectorLoggingMapInput)(nil)).Elem(), VoiceConnectorLoggingMap{})
   291  	pulumi.RegisterOutputType(VoiceConnectorLoggingOutput{})
   292  	pulumi.RegisterOutputType(VoiceConnectorLoggingArrayOutput{})
   293  	pulumi.RegisterOutputType(VoiceConnectorLoggingMapOutput{})
   294  }