github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/bedrockmodel/invocationLoggingConfiguration.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 bedrockmodel
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Manages Bedrock model invocation logging configuration.
    15  //
    16  // > Model invocation logging is configured per AWS region. To avoid overwriting settings, this resource should not be defined in multiple configurations.
    17  //
    18  // ## Example Usage
    19  //
    20  // ## Import
    21  //
    22  // Using `pulumi import`, import Bedrock custom model using the `id` set to the AWS Region. For example:
    23  //
    24  // ```sh
    25  // $ pulumi import aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration my_config us-east-1
    26  // ```
    27  type InvocationLoggingConfiguration struct {
    28  	pulumi.CustomResourceState
    29  
    30  	// The logging configuration values to set.
    31  	LoggingConfig InvocationLoggingConfigurationLoggingConfigPtrOutput `pulumi:"loggingConfig"`
    32  }
    33  
    34  // NewInvocationLoggingConfiguration registers a new resource with the given unique name, arguments, and options.
    35  func NewInvocationLoggingConfiguration(ctx *pulumi.Context,
    36  	name string, args *InvocationLoggingConfigurationArgs, opts ...pulumi.ResourceOption) (*InvocationLoggingConfiguration, error) {
    37  	if args == nil {
    38  		args = &InvocationLoggingConfigurationArgs{}
    39  	}
    40  
    41  	opts = internal.PkgResourceDefaultOpts(opts)
    42  	var resource InvocationLoggingConfiguration
    43  	err := ctx.RegisterResource("aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration", name, args, &resource, opts...)
    44  	if err != nil {
    45  		return nil, err
    46  	}
    47  	return &resource, nil
    48  }
    49  
    50  // GetInvocationLoggingConfiguration gets an existing InvocationLoggingConfiguration resource's state with the given name, ID, and optional
    51  // state properties that are used to uniquely qualify the lookup (nil if not required).
    52  func GetInvocationLoggingConfiguration(ctx *pulumi.Context,
    53  	name string, id pulumi.IDInput, state *InvocationLoggingConfigurationState, opts ...pulumi.ResourceOption) (*InvocationLoggingConfiguration, error) {
    54  	var resource InvocationLoggingConfiguration
    55  	err := ctx.ReadResource("aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration", name, id, state, &resource, opts...)
    56  	if err != nil {
    57  		return nil, err
    58  	}
    59  	return &resource, nil
    60  }
    61  
    62  // Input properties used for looking up and filtering InvocationLoggingConfiguration resources.
    63  type invocationLoggingConfigurationState struct {
    64  	// The logging configuration values to set.
    65  	LoggingConfig *InvocationLoggingConfigurationLoggingConfig `pulumi:"loggingConfig"`
    66  }
    67  
    68  type InvocationLoggingConfigurationState struct {
    69  	// The logging configuration values to set.
    70  	LoggingConfig InvocationLoggingConfigurationLoggingConfigPtrInput
    71  }
    72  
    73  func (InvocationLoggingConfigurationState) ElementType() reflect.Type {
    74  	return reflect.TypeOf((*invocationLoggingConfigurationState)(nil)).Elem()
    75  }
    76  
    77  type invocationLoggingConfigurationArgs struct {
    78  	// The logging configuration values to set.
    79  	LoggingConfig *InvocationLoggingConfigurationLoggingConfig `pulumi:"loggingConfig"`
    80  }
    81  
    82  // The set of arguments for constructing a InvocationLoggingConfiguration resource.
    83  type InvocationLoggingConfigurationArgs struct {
    84  	// The logging configuration values to set.
    85  	LoggingConfig InvocationLoggingConfigurationLoggingConfigPtrInput
    86  }
    87  
    88  func (InvocationLoggingConfigurationArgs) ElementType() reflect.Type {
    89  	return reflect.TypeOf((*invocationLoggingConfigurationArgs)(nil)).Elem()
    90  }
    91  
    92  type InvocationLoggingConfigurationInput interface {
    93  	pulumi.Input
    94  
    95  	ToInvocationLoggingConfigurationOutput() InvocationLoggingConfigurationOutput
    96  	ToInvocationLoggingConfigurationOutputWithContext(ctx context.Context) InvocationLoggingConfigurationOutput
    97  }
    98  
    99  func (*InvocationLoggingConfiguration) ElementType() reflect.Type {
   100  	return reflect.TypeOf((**InvocationLoggingConfiguration)(nil)).Elem()
   101  }
   102  
   103  func (i *InvocationLoggingConfiguration) ToInvocationLoggingConfigurationOutput() InvocationLoggingConfigurationOutput {
   104  	return i.ToInvocationLoggingConfigurationOutputWithContext(context.Background())
   105  }
   106  
   107  func (i *InvocationLoggingConfiguration) ToInvocationLoggingConfigurationOutputWithContext(ctx context.Context) InvocationLoggingConfigurationOutput {
   108  	return pulumi.ToOutputWithContext(ctx, i).(InvocationLoggingConfigurationOutput)
   109  }
   110  
   111  // InvocationLoggingConfigurationArrayInput is an input type that accepts InvocationLoggingConfigurationArray and InvocationLoggingConfigurationArrayOutput values.
   112  // You can construct a concrete instance of `InvocationLoggingConfigurationArrayInput` via:
   113  //
   114  //	InvocationLoggingConfigurationArray{ InvocationLoggingConfigurationArgs{...} }
   115  type InvocationLoggingConfigurationArrayInput interface {
   116  	pulumi.Input
   117  
   118  	ToInvocationLoggingConfigurationArrayOutput() InvocationLoggingConfigurationArrayOutput
   119  	ToInvocationLoggingConfigurationArrayOutputWithContext(context.Context) InvocationLoggingConfigurationArrayOutput
   120  }
   121  
   122  type InvocationLoggingConfigurationArray []InvocationLoggingConfigurationInput
   123  
   124  func (InvocationLoggingConfigurationArray) ElementType() reflect.Type {
   125  	return reflect.TypeOf((*[]*InvocationLoggingConfiguration)(nil)).Elem()
   126  }
   127  
   128  func (i InvocationLoggingConfigurationArray) ToInvocationLoggingConfigurationArrayOutput() InvocationLoggingConfigurationArrayOutput {
   129  	return i.ToInvocationLoggingConfigurationArrayOutputWithContext(context.Background())
   130  }
   131  
   132  func (i InvocationLoggingConfigurationArray) ToInvocationLoggingConfigurationArrayOutputWithContext(ctx context.Context) InvocationLoggingConfigurationArrayOutput {
   133  	return pulumi.ToOutputWithContext(ctx, i).(InvocationLoggingConfigurationArrayOutput)
   134  }
   135  
   136  // InvocationLoggingConfigurationMapInput is an input type that accepts InvocationLoggingConfigurationMap and InvocationLoggingConfigurationMapOutput values.
   137  // You can construct a concrete instance of `InvocationLoggingConfigurationMapInput` via:
   138  //
   139  //	InvocationLoggingConfigurationMap{ "key": InvocationLoggingConfigurationArgs{...} }
   140  type InvocationLoggingConfigurationMapInput interface {
   141  	pulumi.Input
   142  
   143  	ToInvocationLoggingConfigurationMapOutput() InvocationLoggingConfigurationMapOutput
   144  	ToInvocationLoggingConfigurationMapOutputWithContext(context.Context) InvocationLoggingConfigurationMapOutput
   145  }
   146  
   147  type InvocationLoggingConfigurationMap map[string]InvocationLoggingConfigurationInput
   148  
   149  func (InvocationLoggingConfigurationMap) ElementType() reflect.Type {
   150  	return reflect.TypeOf((*map[string]*InvocationLoggingConfiguration)(nil)).Elem()
   151  }
   152  
   153  func (i InvocationLoggingConfigurationMap) ToInvocationLoggingConfigurationMapOutput() InvocationLoggingConfigurationMapOutput {
   154  	return i.ToInvocationLoggingConfigurationMapOutputWithContext(context.Background())
   155  }
   156  
   157  func (i InvocationLoggingConfigurationMap) ToInvocationLoggingConfigurationMapOutputWithContext(ctx context.Context) InvocationLoggingConfigurationMapOutput {
   158  	return pulumi.ToOutputWithContext(ctx, i).(InvocationLoggingConfigurationMapOutput)
   159  }
   160  
   161  type InvocationLoggingConfigurationOutput struct{ *pulumi.OutputState }
   162  
   163  func (InvocationLoggingConfigurationOutput) ElementType() reflect.Type {
   164  	return reflect.TypeOf((**InvocationLoggingConfiguration)(nil)).Elem()
   165  }
   166  
   167  func (o InvocationLoggingConfigurationOutput) ToInvocationLoggingConfigurationOutput() InvocationLoggingConfigurationOutput {
   168  	return o
   169  }
   170  
   171  func (o InvocationLoggingConfigurationOutput) ToInvocationLoggingConfigurationOutputWithContext(ctx context.Context) InvocationLoggingConfigurationOutput {
   172  	return o
   173  }
   174  
   175  // The logging configuration values to set.
   176  func (o InvocationLoggingConfigurationOutput) LoggingConfig() InvocationLoggingConfigurationLoggingConfigPtrOutput {
   177  	return o.ApplyT(func(v *InvocationLoggingConfiguration) InvocationLoggingConfigurationLoggingConfigPtrOutput {
   178  		return v.LoggingConfig
   179  	}).(InvocationLoggingConfigurationLoggingConfigPtrOutput)
   180  }
   181  
   182  type InvocationLoggingConfigurationArrayOutput struct{ *pulumi.OutputState }
   183  
   184  func (InvocationLoggingConfigurationArrayOutput) ElementType() reflect.Type {
   185  	return reflect.TypeOf((*[]*InvocationLoggingConfiguration)(nil)).Elem()
   186  }
   187  
   188  func (o InvocationLoggingConfigurationArrayOutput) ToInvocationLoggingConfigurationArrayOutput() InvocationLoggingConfigurationArrayOutput {
   189  	return o
   190  }
   191  
   192  func (o InvocationLoggingConfigurationArrayOutput) ToInvocationLoggingConfigurationArrayOutputWithContext(ctx context.Context) InvocationLoggingConfigurationArrayOutput {
   193  	return o
   194  }
   195  
   196  func (o InvocationLoggingConfigurationArrayOutput) Index(i pulumi.IntInput) InvocationLoggingConfigurationOutput {
   197  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InvocationLoggingConfiguration {
   198  		return vs[0].([]*InvocationLoggingConfiguration)[vs[1].(int)]
   199  	}).(InvocationLoggingConfigurationOutput)
   200  }
   201  
   202  type InvocationLoggingConfigurationMapOutput struct{ *pulumi.OutputState }
   203  
   204  func (InvocationLoggingConfigurationMapOutput) ElementType() reflect.Type {
   205  	return reflect.TypeOf((*map[string]*InvocationLoggingConfiguration)(nil)).Elem()
   206  }
   207  
   208  func (o InvocationLoggingConfigurationMapOutput) ToInvocationLoggingConfigurationMapOutput() InvocationLoggingConfigurationMapOutput {
   209  	return o
   210  }
   211  
   212  func (o InvocationLoggingConfigurationMapOutput) ToInvocationLoggingConfigurationMapOutputWithContext(ctx context.Context) InvocationLoggingConfigurationMapOutput {
   213  	return o
   214  }
   215  
   216  func (o InvocationLoggingConfigurationMapOutput) MapIndex(k pulumi.StringInput) InvocationLoggingConfigurationOutput {
   217  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InvocationLoggingConfiguration {
   218  		return vs[0].(map[string]*InvocationLoggingConfiguration)[vs[1].(string)]
   219  	}).(InvocationLoggingConfigurationOutput)
   220  }
   221  
   222  func init() {
   223  	pulumi.RegisterInputType(reflect.TypeOf((*InvocationLoggingConfigurationInput)(nil)).Elem(), &InvocationLoggingConfiguration{})
   224  	pulumi.RegisterInputType(reflect.TypeOf((*InvocationLoggingConfigurationArrayInput)(nil)).Elem(), InvocationLoggingConfigurationArray{})
   225  	pulumi.RegisterInputType(reflect.TypeOf((*InvocationLoggingConfigurationMapInput)(nil)).Elem(), InvocationLoggingConfigurationMap{})
   226  	pulumi.RegisterOutputType(InvocationLoggingConfigurationOutput{})
   227  	pulumi.RegisterOutputType(InvocationLoggingConfigurationArrayOutput{})
   228  	pulumi.RegisterOutputType(InvocationLoggingConfigurationMapOutput{})
   229  }