github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/bedrock/customModel.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 bedrock
     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  // ## Example Usage
    16  //
    17  // <!--Start PulumiCodeChooser -->
    18  // ```go
    19  // package main
    20  //
    21  // import (
    22  //
    23  //	"fmt"
    24  //
    25  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock"
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			example, err := bedrockfoundation.GetModel(ctx, &bedrockfoundation.GetModelArgs{
    34  //				ModelId: "amazon.titan-text-express-v1",
    35  //			}, nil)
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			_, err = bedrock.NewCustomModel(ctx, "example", &bedrock.CustomModelArgs{
    40  //				CustomModelName:     pulumi.String("example-model"),
    41  //				JobName:             pulumi.String("example-job-1"),
    42  //				BaseModelIdentifier: pulumi.String(example.ModelArn),
    43  //				RoleArn:             pulumi.Any(exampleAwsIamRole.Arn),
    44  //				Hyperparameters: pulumi.StringMap{
    45  //					"epochCount":              pulumi.String("1"),
    46  //					"batchSize":               pulumi.String("1"),
    47  //					"learningRate":            pulumi.String("0.005"),
    48  //					"learningRateWarmupSteps": pulumi.String("0"),
    49  //				},
    50  //				OutputDataConfig: &bedrock.CustomModelOutputDataConfigArgs{
    51  //					S3Uri: pulumi.String(fmt.Sprintf("s3://%v/data/", output.Id)),
    52  //				},
    53  //				TrainingDataConfig: &bedrock.CustomModelTrainingDataConfigArgs{
    54  //					S3Uri: pulumi.String(fmt.Sprintf("s3://%v/data/train.jsonl", training.Id)),
    55  //				},
    56  //			})
    57  //			if err != nil {
    58  //				return err
    59  //			}
    60  //			return nil
    61  //		})
    62  //	}
    63  //
    64  // ```
    65  // <!--End PulumiCodeChooser -->
    66  //
    67  // ## Import
    68  //
    69  // Using `pulumi import`, import Bedrock custom model using the `job_arn`. For example:
    70  //
    71  // ```sh
    72  // $ pulumi import aws:bedrock/customModel:CustomModel example arn:aws:bedrock:us-west-2:123456789012:model-customization-job/amazon.titan-text-express-v1:0:8k/1y5n57gh5y2e
    73  // ```
    74  type CustomModel struct {
    75  	pulumi.CustomResourceState
    76  
    77  	// The Amazon Resource Name (ARN) of the base model.
    78  	BaseModelIdentifier pulumi.StringOutput `pulumi:"baseModelIdentifier"`
    79  	// The ARN of the output model.
    80  	CustomModelArn pulumi.StringOutput `pulumi:"customModelArn"`
    81  	// The custom model is encrypted at rest using this key. Specify the key ARN.
    82  	CustomModelKmsKeyId pulumi.StringPtrOutput `pulumi:"customModelKmsKeyId"`
    83  	// Name for the custom model.
    84  	CustomModelName pulumi.StringOutput `pulumi:"customModelName"`
    85  	// The customization type. Valid values: `FINE_TUNING`, `CONTINUED_PRE_TRAINING`.
    86  	CustomizationType pulumi.StringOutput `pulumi:"customizationType"`
    87  	// [Parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html) related to tuning the model.
    88  	Hyperparameters pulumi.StringMapOutput `pulumi:"hyperparameters"`
    89  	// The ARN of the customization job.
    90  	JobArn pulumi.StringOutput `pulumi:"jobArn"`
    91  	// A name for the customization job.
    92  	JobName pulumi.StringOutput `pulumi:"jobName"`
    93  	// The status of the customization job. A successful job transitions from `InProgress` to `Completed` when the output model is ready to use.
    94  	JobStatus pulumi.StringOutput `pulumi:"jobStatus"`
    95  	// S3 location for the output data.
    96  	OutputDataConfig CustomModelOutputDataConfigPtrOutput `pulumi:"outputDataConfig"`
    97  	// The Amazon Resource Name (ARN) of an IAM role that Bedrock can assume to perform tasks on your behalf.
    98  	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
    99  	// A map of tags to assign to the customization job and custom model. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   100  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   101  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   102  	//
   103  	// Deprecated: Please use `tags` instead.
   104  	TagsAll  pulumi.StringMapOutput       `pulumi:"tagsAll"`
   105  	Timeouts CustomModelTimeoutsPtrOutput `pulumi:"timeouts"`
   106  	// Information about the training dataset.
   107  	TrainingDataConfig CustomModelTrainingDataConfigPtrOutput `pulumi:"trainingDataConfig"`
   108  	// Metrics associated with the customization job.
   109  	TrainingMetrics CustomModelTrainingMetricArrayOutput `pulumi:"trainingMetrics"`
   110  	// Information about the validation dataset.
   111  	ValidationDataConfig CustomModelValidationDataConfigPtrOutput `pulumi:"validationDataConfig"`
   112  	// The loss metric for each validator that you provided.
   113  	ValidationMetrics CustomModelValidationMetricArrayOutput `pulumi:"validationMetrics"`
   114  	// Configuration parameters for the private Virtual Private Cloud (VPC) that contains the resources you are using for this job.
   115  	VpcConfig CustomModelVpcConfigPtrOutput `pulumi:"vpcConfig"`
   116  }
   117  
   118  // NewCustomModel registers a new resource with the given unique name, arguments, and options.
   119  func NewCustomModel(ctx *pulumi.Context,
   120  	name string, args *CustomModelArgs, opts ...pulumi.ResourceOption) (*CustomModel, error) {
   121  	if args == nil {
   122  		return nil, errors.New("missing one or more required arguments")
   123  	}
   124  
   125  	if args.BaseModelIdentifier == nil {
   126  		return nil, errors.New("invalid value for required argument 'BaseModelIdentifier'")
   127  	}
   128  	if args.CustomModelName == nil {
   129  		return nil, errors.New("invalid value for required argument 'CustomModelName'")
   130  	}
   131  	if args.Hyperparameters == nil {
   132  		return nil, errors.New("invalid value for required argument 'Hyperparameters'")
   133  	}
   134  	if args.JobName == nil {
   135  		return nil, errors.New("invalid value for required argument 'JobName'")
   136  	}
   137  	if args.RoleArn == nil {
   138  		return nil, errors.New("invalid value for required argument 'RoleArn'")
   139  	}
   140  	opts = internal.PkgResourceDefaultOpts(opts)
   141  	var resource CustomModel
   142  	err := ctx.RegisterResource("aws:bedrock/customModel:CustomModel", name, args, &resource, opts...)
   143  	if err != nil {
   144  		return nil, err
   145  	}
   146  	return &resource, nil
   147  }
   148  
   149  // GetCustomModel gets an existing CustomModel resource's state with the given name, ID, and optional
   150  // state properties that are used to uniquely qualify the lookup (nil if not required).
   151  func GetCustomModel(ctx *pulumi.Context,
   152  	name string, id pulumi.IDInput, state *CustomModelState, opts ...pulumi.ResourceOption) (*CustomModel, error) {
   153  	var resource CustomModel
   154  	err := ctx.ReadResource("aws:bedrock/customModel:CustomModel", name, id, state, &resource, opts...)
   155  	if err != nil {
   156  		return nil, err
   157  	}
   158  	return &resource, nil
   159  }
   160  
   161  // Input properties used for looking up and filtering CustomModel resources.
   162  type customModelState struct {
   163  	// The Amazon Resource Name (ARN) of the base model.
   164  	BaseModelIdentifier *string `pulumi:"baseModelIdentifier"`
   165  	// The ARN of the output model.
   166  	CustomModelArn *string `pulumi:"customModelArn"`
   167  	// The custom model is encrypted at rest using this key. Specify the key ARN.
   168  	CustomModelKmsKeyId *string `pulumi:"customModelKmsKeyId"`
   169  	// Name for the custom model.
   170  	CustomModelName *string `pulumi:"customModelName"`
   171  	// The customization type. Valid values: `FINE_TUNING`, `CONTINUED_PRE_TRAINING`.
   172  	CustomizationType *string `pulumi:"customizationType"`
   173  	// [Parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html) related to tuning the model.
   174  	Hyperparameters map[string]string `pulumi:"hyperparameters"`
   175  	// The ARN of the customization job.
   176  	JobArn *string `pulumi:"jobArn"`
   177  	// A name for the customization job.
   178  	JobName *string `pulumi:"jobName"`
   179  	// The status of the customization job. A successful job transitions from `InProgress` to `Completed` when the output model is ready to use.
   180  	JobStatus *string `pulumi:"jobStatus"`
   181  	// S3 location for the output data.
   182  	OutputDataConfig *CustomModelOutputDataConfig `pulumi:"outputDataConfig"`
   183  	// The Amazon Resource Name (ARN) of an IAM role that Bedrock can assume to perform tasks on your behalf.
   184  	RoleArn *string `pulumi:"roleArn"`
   185  	// A map of tags to assign to the customization job and custom model. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   186  	Tags map[string]string `pulumi:"tags"`
   187  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   188  	//
   189  	// Deprecated: Please use `tags` instead.
   190  	TagsAll  map[string]string    `pulumi:"tagsAll"`
   191  	Timeouts *CustomModelTimeouts `pulumi:"timeouts"`
   192  	// Information about the training dataset.
   193  	TrainingDataConfig *CustomModelTrainingDataConfig `pulumi:"trainingDataConfig"`
   194  	// Metrics associated with the customization job.
   195  	TrainingMetrics []CustomModelTrainingMetric `pulumi:"trainingMetrics"`
   196  	// Information about the validation dataset.
   197  	ValidationDataConfig *CustomModelValidationDataConfig `pulumi:"validationDataConfig"`
   198  	// The loss metric for each validator that you provided.
   199  	ValidationMetrics []CustomModelValidationMetric `pulumi:"validationMetrics"`
   200  	// Configuration parameters for the private Virtual Private Cloud (VPC) that contains the resources you are using for this job.
   201  	VpcConfig *CustomModelVpcConfig `pulumi:"vpcConfig"`
   202  }
   203  
   204  type CustomModelState struct {
   205  	// The Amazon Resource Name (ARN) of the base model.
   206  	BaseModelIdentifier pulumi.StringPtrInput
   207  	// The ARN of the output model.
   208  	CustomModelArn pulumi.StringPtrInput
   209  	// The custom model is encrypted at rest using this key. Specify the key ARN.
   210  	CustomModelKmsKeyId pulumi.StringPtrInput
   211  	// Name for the custom model.
   212  	CustomModelName pulumi.StringPtrInput
   213  	// The customization type. Valid values: `FINE_TUNING`, `CONTINUED_PRE_TRAINING`.
   214  	CustomizationType pulumi.StringPtrInput
   215  	// [Parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html) related to tuning the model.
   216  	Hyperparameters pulumi.StringMapInput
   217  	// The ARN of the customization job.
   218  	JobArn pulumi.StringPtrInput
   219  	// A name for the customization job.
   220  	JobName pulumi.StringPtrInput
   221  	// The status of the customization job. A successful job transitions from `InProgress` to `Completed` when the output model is ready to use.
   222  	JobStatus pulumi.StringPtrInput
   223  	// S3 location for the output data.
   224  	OutputDataConfig CustomModelOutputDataConfigPtrInput
   225  	// The Amazon Resource Name (ARN) of an IAM role that Bedrock can assume to perform tasks on your behalf.
   226  	RoleArn pulumi.StringPtrInput
   227  	// A map of tags to assign to the customization job and custom model. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   228  	Tags pulumi.StringMapInput
   229  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   230  	//
   231  	// Deprecated: Please use `tags` instead.
   232  	TagsAll  pulumi.StringMapInput
   233  	Timeouts CustomModelTimeoutsPtrInput
   234  	// Information about the training dataset.
   235  	TrainingDataConfig CustomModelTrainingDataConfigPtrInput
   236  	// Metrics associated with the customization job.
   237  	TrainingMetrics CustomModelTrainingMetricArrayInput
   238  	// Information about the validation dataset.
   239  	ValidationDataConfig CustomModelValidationDataConfigPtrInput
   240  	// The loss metric for each validator that you provided.
   241  	ValidationMetrics CustomModelValidationMetricArrayInput
   242  	// Configuration parameters for the private Virtual Private Cloud (VPC) that contains the resources you are using for this job.
   243  	VpcConfig CustomModelVpcConfigPtrInput
   244  }
   245  
   246  func (CustomModelState) ElementType() reflect.Type {
   247  	return reflect.TypeOf((*customModelState)(nil)).Elem()
   248  }
   249  
   250  type customModelArgs struct {
   251  	// The Amazon Resource Name (ARN) of the base model.
   252  	BaseModelIdentifier string `pulumi:"baseModelIdentifier"`
   253  	// The custom model is encrypted at rest using this key. Specify the key ARN.
   254  	CustomModelKmsKeyId *string `pulumi:"customModelKmsKeyId"`
   255  	// Name for the custom model.
   256  	CustomModelName string `pulumi:"customModelName"`
   257  	// The customization type. Valid values: `FINE_TUNING`, `CONTINUED_PRE_TRAINING`.
   258  	CustomizationType *string `pulumi:"customizationType"`
   259  	// [Parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html) related to tuning the model.
   260  	Hyperparameters map[string]string `pulumi:"hyperparameters"`
   261  	// A name for the customization job.
   262  	JobName string `pulumi:"jobName"`
   263  	// S3 location for the output data.
   264  	OutputDataConfig *CustomModelOutputDataConfig `pulumi:"outputDataConfig"`
   265  	// The Amazon Resource Name (ARN) of an IAM role that Bedrock can assume to perform tasks on your behalf.
   266  	RoleArn string `pulumi:"roleArn"`
   267  	// A map of tags to assign to the customization job and custom model. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   268  	Tags     map[string]string    `pulumi:"tags"`
   269  	Timeouts *CustomModelTimeouts `pulumi:"timeouts"`
   270  	// Information about the training dataset.
   271  	TrainingDataConfig *CustomModelTrainingDataConfig `pulumi:"trainingDataConfig"`
   272  	// Information about the validation dataset.
   273  	ValidationDataConfig *CustomModelValidationDataConfig `pulumi:"validationDataConfig"`
   274  	// Configuration parameters for the private Virtual Private Cloud (VPC) that contains the resources you are using for this job.
   275  	VpcConfig *CustomModelVpcConfig `pulumi:"vpcConfig"`
   276  }
   277  
   278  // The set of arguments for constructing a CustomModel resource.
   279  type CustomModelArgs struct {
   280  	// The Amazon Resource Name (ARN) of the base model.
   281  	BaseModelIdentifier pulumi.StringInput
   282  	// The custom model is encrypted at rest using this key. Specify the key ARN.
   283  	CustomModelKmsKeyId pulumi.StringPtrInput
   284  	// Name for the custom model.
   285  	CustomModelName pulumi.StringInput
   286  	// The customization type. Valid values: `FINE_TUNING`, `CONTINUED_PRE_TRAINING`.
   287  	CustomizationType pulumi.StringPtrInput
   288  	// [Parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html) related to tuning the model.
   289  	Hyperparameters pulumi.StringMapInput
   290  	// A name for the customization job.
   291  	JobName pulumi.StringInput
   292  	// S3 location for the output data.
   293  	OutputDataConfig CustomModelOutputDataConfigPtrInput
   294  	// The Amazon Resource Name (ARN) of an IAM role that Bedrock can assume to perform tasks on your behalf.
   295  	RoleArn pulumi.StringInput
   296  	// A map of tags to assign to the customization job and custom model. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   297  	Tags     pulumi.StringMapInput
   298  	Timeouts CustomModelTimeoutsPtrInput
   299  	// Information about the training dataset.
   300  	TrainingDataConfig CustomModelTrainingDataConfigPtrInput
   301  	// Information about the validation dataset.
   302  	ValidationDataConfig CustomModelValidationDataConfigPtrInput
   303  	// Configuration parameters for the private Virtual Private Cloud (VPC) that contains the resources you are using for this job.
   304  	VpcConfig CustomModelVpcConfigPtrInput
   305  }
   306  
   307  func (CustomModelArgs) ElementType() reflect.Type {
   308  	return reflect.TypeOf((*customModelArgs)(nil)).Elem()
   309  }
   310  
   311  type CustomModelInput interface {
   312  	pulumi.Input
   313  
   314  	ToCustomModelOutput() CustomModelOutput
   315  	ToCustomModelOutputWithContext(ctx context.Context) CustomModelOutput
   316  }
   317  
   318  func (*CustomModel) ElementType() reflect.Type {
   319  	return reflect.TypeOf((**CustomModel)(nil)).Elem()
   320  }
   321  
   322  func (i *CustomModel) ToCustomModelOutput() CustomModelOutput {
   323  	return i.ToCustomModelOutputWithContext(context.Background())
   324  }
   325  
   326  func (i *CustomModel) ToCustomModelOutputWithContext(ctx context.Context) CustomModelOutput {
   327  	return pulumi.ToOutputWithContext(ctx, i).(CustomModelOutput)
   328  }
   329  
   330  // CustomModelArrayInput is an input type that accepts CustomModelArray and CustomModelArrayOutput values.
   331  // You can construct a concrete instance of `CustomModelArrayInput` via:
   332  //
   333  //	CustomModelArray{ CustomModelArgs{...} }
   334  type CustomModelArrayInput interface {
   335  	pulumi.Input
   336  
   337  	ToCustomModelArrayOutput() CustomModelArrayOutput
   338  	ToCustomModelArrayOutputWithContext(context.Context) CustomModelArrayOutput
   339  }
   340  
   341  type CustomModelArray []CustomModelInput
   342  
   343  func (CustomModelArray) ElementType() reflect.Type {
   344  	return reflect.TypeOf((*[]*CustomModel)(nil)).Elem()
   345  }
   346  
   347  func (i CustomModelArray) ToCustomModelArrayOutput() CustomModelArrayOutput {
   348  	return i.ToCustomModelArrayOutputWithContext(context.Background())
   349  }
   350  
   351  func (i CustomModelArray) ToCustomModelArrayOutputWithContext(ctx context.Context) CustomModelArrayOutput {
   352  	return pulumi.ToOutputWithContext(ctx, i).(CustomModelArrayOutput)
   353  }
   354  
   355  // CustomModelMapInput is an input type that accepts CustomModelMap and CustomModelMapOutput values.
   356  // You can construct a concrete instance of `CustomModelMapInput` via:
   357  //
   358  //	CustomModelMap{ "key": CustomModelArgs{...} }
   359  type CustomModelMapInput interface {
   360  	pulumi.Input
   361  
   362  	ToCustomModelMapOutput() CustomModelMapOutput
   363  	ToCustomModelMapOutputWithContext(context.Context) CustomModelMapOutput
   364  }
   365  
   366  type CustomModelMap map[string]CustomModelInput
   367  
   368  func (CustomModelMap) ElementType() reflect.Type {
   369  	return reflect.TypeOf((*map[string]*CustomModel)(nil)).Elem()
   370  }
   371  
   372  func (i CustomModelMap) ToCustomModelMapOutput() CustomModelMapOutput {
   373  	return i.ToCustomModelMapOutputWithContext(context.Background())
   374  }
   375  
   376  func (i CustomModelMap) ToCustomModelMapOutputWithContext(ctx context.Context) CustomModelMapOutput {
   377  	return pulumi.ToOutputWithContext(ctx, i).(CustomModelMapOutput)
   378  }
   379  
   380  type CustomModelOutput struct{ *pulumi.OutputState }
   381  
   382  func (CustomModelOutput) ElementType() reflect.Type {
   383  	return reflect.TypeOf((**CustomModel)(nil)).Elem()
   384  }
   385  
   386  func (o CustomModelOutput) ToCustomModelOutput() CustomModelOutput {
   387  	return o
   388  }
   389  
   390  func (o CustomModelOutput) ToCustomModelOutputWithContext(ctx context.Context) CustomModelOutput {
   391  	return o
   392  }
   393  
   394  // The Amazon Resource Name (ARN) of the base model.
   395  func (o CustomModelOutput) BaseModelIdentifier() pulumi.StringOutput {
   396  	return o.ApplyT(func(v *CustomModel) pulumi.StringOutput { return v.BaseModelIdentifier }).(pulumi.StringOutput)
   397  }
   398  
   399  // The ARN of the output model.
   400  func (o CustomModelOutput) CustomModelArn() pulumi.StringOutput {
   401  	return o.ApplyT(func(v *CustomModel) pulumi.StringOutput { return v.CustomModelArn }).(pulumi.StringOutput)
   402  }
   403  
   404  // The custom model is encrypted at rest using this key. Specify the key ARN.
   405  func (o CustomModelOutput) CustomModelKmsKeyId() pulumi.StringPtrOutput {
   406  	return o.ApplyT(func(v *CustomModel) pulumi.StringPtrOutput { return v.CustomModelKmsKeyId }).(pulumi.StringPtrOutput)
   407  }
   408  
   409  // Name for the custom model.
   410  func (o CustomModelOutput) CustomModelName() pulumi.StringOutput {
   411  	return o.ApplyT(func(v *CustomModel) pulumi.StringOutput { return v.CustomModelName }).(pulumi.StringOutput)
   412  }
   413  
   414  // The customization type. Valid values: `FINE_TUNING`, `CONTINUED_PRE_TRAINING`.
   415  func (o CustomModelOutput) CustomizationType() pulumi.StringOutput {
   416  	return o.ApplyT(func(v *CustomModel) pulumi.StringOutput { return v.CustomizationType }).(pulumi.StringOutput)
   417  }
   418  
   419  // [Parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html) related to tuning the model.
   420  func (o CustomModelOutput) Hyperparameters() pulumi.StringMapOutput {
   421  	return o.ApplyT(func(v *CustomModel) pulumi.StringMapOutput { return v.Hyperparameters }).(pulumi.StringMapOutput)
   422  }
   423  
   424  // The ARN of the customization job.
   425  func (o CustomModelOutput) JobArn() pulumi.StringOutput {
   426  	return o.ApplyT(func(v *CustomModel) pulumi.StringOutput { return v.JobArn }).(pulumi.StringOutput)
   427  }
   428  
   429  // A name for the customization job.
   430  func (o CustomModelOutput) JobName() pulumi.StringOutput {
   431  	return o.ApplyT(func(v *CustomModel) pulumi.StringOutput { return v.JobName }).(pulumi.StringOutput)
   432  }
   433  
   434  // The status of the customization job. A successful job transitions from `InProgress` to `Completed` when the output model is ready to use.
   435  func (o CustomModelOutput) JobStatus() pulumi.StringOutput {
   436  	return o.ApplyT(func(v *CustomModel) pulumi.StringOutput { return v.JobStatus }).(pulumi.StringOutput)
   437  }
   438  
   439  // S3 location for the output data.
   440  func (o CustomModelOutput) OutputDataConfig() CustomModelOutputDataConfigPtrOutput {
   441  	return o.ApplyT(func(v *CustomModel) CustomModelOutputDataConfigPtrOutput { return v.OutputDataConfig }).(CustomModelOutputDataConfigPtrOutput)
   442  }
   443  
   444  // The Amazon Resource Name (ARN) of an IAM role that Bedrock can assume to perform tasks on your behalf.
   445  func (o CustomModelOutput) RoleArn() pulumi.StringOutput {
   446  	return o.ApplyT(func(v *CustomModel) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput)
   447  }
   448  
   449  // A map of tags to assign to the customization job and custom model. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   450  func (o CustomModelOutput) Tags() pulumi.StringMapOutput {
   451  	return o.ApplyT(func(v *CustomModel) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   452  }
   453  
   454  // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   455  //
   456  // Deprecated: Please use `tags` instead.
   457  func (o CustomModelOutput) TagsAll() pulumi.StringMapOutput {
   458  	return o.ApplyT(func(v *CustomModel) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   459  }
   460  
   461  func (o CustomModelOutput) Timeouts() CustomModelTimeoutsPtrOutput {
   462  	return o.ApplyT(func(v *CustomModel) CustomModelTimeoutsPtrOutput { return v.Timeouts }).(CustomModelTimeoutsPtrOutput)
   463  }
   464  
   465  // Information about the training dataset.
   466  func (o CustomModelOutput) TrainingDataConfig() CustomModelTrainingDataConfigPtrOutput {
   467  	return o.ApplyT(func(v *CustomModel) CustomModelTrainingDataConfigPtrOutput { return v.TrainingDataConfig }).(CustomModelTrainingDataConfigPtrOutput)
   468  }
   469  
   470  // Metrics associated with the customization job.
   471  func (o CustomModelOutput) TrainingMetrics() CustomModelTrainingMetricArrayOutput {
   472  	return o.ApplyT(func(v *CustomModel) CustomModelTrainingMetricArrayOutput { return v.TrainingMetrics }).(CustomModelTrainingMetricArrayOutput)
   473  }
   474  
   475  // Information about the validation dataset.
   476  func (o CustomModelOutput) ValidationDataConfig() CustomModelValidationDataConfigPtrOutput {
   477  	return o.ApplyT(func(v *CustomModel) CustomModelValidationDataConfigPtrOutput { return v.ValidationDataConfig }).(CustomModelValidationDataConfigPtrOutput)
   478  }
   479  
   480  // The loss metric for each validator that you provided.
   481  func (o CustomModelOutput) ValidationMetrics() CustomModelValidationMetricArrayOutput {
   482  	return o.ApplyT(func(v *CustomModel) CustomModelValidationMetricArrayOutput { return v.ValidationMetrics }).(CustomModelValidationMetricArrayOutput)
   483  }
   484  
   485  // Configuration parameters for the private Virtual Private Cloud (VPC) that contains the resources you are using for this job.
   486  func (o CustomModelOutput) VpcConfig() CustomModelVpcConfigPtrOutput {
   487  	return o.ApplyT(func(v *CustomModel) CustomModelVpcConfigPtrOutput { return v.VpcConfig }).(CustomModelVpcConfigPtrOutput)
   488  }
   489  
   490  type CustomModelArrayOutput struct{ *pulumi.OutputState }
   491  
   492  func (CustomModelArrayOutput) ElementType() reflect.Type {
   493  	return reflect.TypeOf((*[]*CustomModel)(nil)).Elem()
   494  }
   495  
   496  func (o CustomModelArrayOutput) ToCustomModelArrayOutput() CustomModelArrayOutput {
   497  	return o
   498  }
   499  
   500  func (o CustomModelArrayOutput) ToCustomModelArrayOutputWithContext(ctx context.Context) CustomModelArrayOutput {
   501  	return o
   502  }
   503  
   504  func (o CustomModelArrayOutput) Index(i pulumi.IntInput) CustomModelOutput {
   505  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CustomModel {
   506  		return vs[0].([]*CustomModel)[vs[1].(int)]
   507  	}).(CustomModelOutput)
   508  }
   509  
   510  type CustomModelMapOutput struct{ *pulumi.OutputState }
   511  
   512  func (CustomModelMapOutput) ElementType() reflect.Type {
   513  	return reflect.TypeOf((*map[string]*CustomModel)(nil)).Elem()
   514  }
   515  
   516  func (o CustomModelMapOutput) ToCustomModelMapOutput() CustomModelMapOutput {
   517  	return o
   518  }
   519  
   520  func (o CustomModelMapOutput) ToCustomModelMapOutputWithContext(ctx context.Context) CustomModelMapOutput {
   521  	return o
   522  }
   523  
   524  func (o CustomModelMapOutput) MapIndex(k pulumi.StringInput) CustomModelOutput {
   525  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CustomModel {
   526  		return vs[0].(map[string]*CustomModel)[vs[1].(string)]
   527  	}).(CustomModelOutput)
   528  }
   529  
   530  func init() {
   531  	pulumi.RegisterInputType(reflect.TypeOf((*CustomModelInput)(nil)).Elem(), &CustomModel{})
   532  	pulumi.RegisterInputType(reflect.TypeOf((*CustomModelArrayInput)(nil)).Elem(), CustomModelArray{})
   533  	pulumi.RegisterInputType(reflect.TypeOf((*CustomModelMapInput)(nil)).Elem(), CustomModelMap{})
   534  	pulumi.RegisterOutputType(CustomModelOutput{})
   535  	pulumi.RegisterOutputType(CustomModelArrayOutput{})
   536  	pulumi.RegisterOutputType(CustomModelMapOutput{})
   537  }