github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/transcribe/languageModel.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 transcribe 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 Transcribe LanguageModel. 16 // 17 // > This resource can take a significant amount of time to provision. See Language Model [FAQ](https://aws.amazon.com/transcribe/faqs/) for more details. 18 // 19 // ## Example Usage 20 // 21 // ### Basic Usage 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "encoding/json" 30 // "fmt" 31 // 32 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 33 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3" 34 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe" 35 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 36 // 37 // ) 38 // 39 // func main() { 40 // pulumi.Run(func(ctx *pulumi.Context) error { 41 // example, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ 42 // Statements: []iam.GetPolicyDocumentStatement{ 43 // { 44 // Actions: []string{ 45 // "sts:AssumeRole", 46 // }, 47 // Principals: []iam.GetPolicyDocumentStatementPrincipal{ 48 // { 49 // Type: "Service", 50 // Identifiers: []string{ 51 // "transcribe.amazonaws.com", 52 // }, 53 // }, 54 // }, 55 // }, 56 // }, 57 // }, nil) 58 // if err != nil { 59 // return err 60 // } 61 // exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ 62 // Name: pulumi.String("example"), 63 // AssumeRolePolicy: pulumi.String(example.Json), 64 // }) 65 // if err != nil { 66 // return err 67 // } 68 // tmpJSON0, err := json.Marshal(map[string]interface{}{ 69 // "Version": "2012-10-17", 70 // "Statement": []map[string]interface{}{ 71 // map[string]interface{}{ 72 // "Action": []string{ 73 // "s3:GetObject", 74 // "s3:ListBucket", 75 // }, 76 // "Effect": "Allow", 77 // "Resource": []string{ 78 // "*", 79 // }, 80 // }, 81 // }, 82 // }) 83 // if err != nil { 84 // return err 85 // } 86 // json0 := string(tmpJSON0) 87 // _, err = iam.NewRolePolicy(ctx, "test_policy", &iam.RolePolicyArgs{ 88 // Name: pulumi.String("example"), 89 // Role: exampleRole.ID(), 90 // Policy: pulumi.String(json0), 91 // }) 92 // if err != nil { 93 // return err 94 // } 95 // exampleBucketV2, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{ 96 // Bucket: pulumi.String("example-transcribe"), 97 // ForceDestroy: pulumi.Bool(true), 98 // }) 99 // if err != nil { 100 // return err 101 // } 102 // _, err = s3.NewBucketObjectv2(ctx, "object", &s3.BucketObjectv2Args{ 103 // Bucket: exampleBucketV2.ID(), 104 // Key: pulumi.String("transcribe/test1.txt"), 105 // Source: pulumi.NewFileAsset("test1.txt"), 106 // }) 107 // if err != nil { 108 // return err 109 // } 110 // _, err = transcribe.NewLanguageModel(ctx, "example", &transcribe.LanguageModelArgs{ 111 // ModelName: pulumi.String("example"), 112 // BaseModelName: pulumi.String("NarrowBand"), 113 // InputDataConfig: &transcribe.LanguageModelInputDataConfigArgs{ 114 // DataAccessRoleArn: exampleRole.Arn, 115 // S3Uri: exampleBucketV2.ID().ApplyT(func(id string) (string, error) { 116 // return fmt.Sprintf("s3://%v/transcribe/", id), nil 117 // }).(pulumi.StringOutput), 118 // }, 119 // LanguageCode: pulumi.String("en-US"), 120 // Tags: pulumi.StringMap{ 121 // "ENVIRONMENT": pulumi.String("development"), 122 // }, 123 // }) 124 // if err != nil { 125 // return err 126 // } 127 // return nil 128 // }) 129 // } 130 // 131 // ``` 132 // <!--End PulumiCodeChooser --> 133 // 134 // ## Import 135 // 136 // Using `pulumi import`, import Transcribe LanguageModel using the `model_name`. For example: 137 // 138 // ```sh 139 // $ pulumi import aws:transcribe/languageModel:LanguageModel example example-name 140 // ``` 141 type LanguageModel struct { 142 pulumi.CustomResourceState 143 144 // ARN of the LanguageModel. 145 Arn pulumi.StringOutput `pulumi:"arn"` 146 // Name of reference base model. 147 BaseModelName pulumi.StringOutput `pulumi:"baseModelName"` 148 // The input data config for the LanguageModel. See Input Data Config for more details. 149 InputDataConfig LanguageModelInputDataConfigOutput `pulumi:"inputDataConfig"` 150 // The language code you selected for your language model. Refer to the [supported languages](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html) page for accepted codes. 151 LanguageCode pulumi.StringOutput `pulumi:"languageCode"` 152 // The model name. 153 ModelName pulumi.StringOutput `pulumi:"modelName"` 154 // A map of tags to assign to the LanguageModel. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 155 Tags pulumi.StringMapOutput `pulumi:"tags"` 156 // Deprecated: Please use `tags` instead. 157 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 158 } 159 160 // NewLanguageModel registers a new resource with the given unique name, arguments, and options. 161 func NewLanguageModel(ctx *pulumi.Context, 162 name string, args *LanguageModelArgs, opts ...pulumi.ResourceOption) (*LanguageModel, error) { 163 if args == nil { 164 return nil, errors.New("missing one or more required arguments") 165 } 166 167 if args.BaseModelName == nil { 168 return nil, errors.New("invalid value for required argument 'BaseModelName'") 169 } 170 if args.InputDataConfig == nil { 171 return nil, errors.New("invalid value for required argument 'InputDataConfig'") 172 } 173 if args.LanguageCode == nil { 174 return nil, errors.New("invalid value for required argument 'LanguageCode'") 175 } 176 if args.ModelName == nil { 177 return nil, errors.New("invalid value for required argument 'ModelName'") 178 } 179 opts = internal.PkgResourceDefaultOpts(opts) 180 var resource LanguageModel 181 err := ctx.RegisterResource("aws:transcribe/languageModel:LanguageModel", name, args, &resource, opts...) 182 if err != nil { 183 return nil, err 184 } 185 return &resource, nil 186 } 187 188 // GetLanguageModel gets an existing LanguageModel resource's state with the given name, ID, and optional 189 // state properties that are used to uniquely qualify the lookup (nil if not required). 190 func GetLanguageModel(ctx *pulumi.Context, 191 name string, id pulumi.IDInput, state *LanguageModelState, opts ...pulumi.ResourceOption) (*LanguageModel, error) { 192 var resource LanguageModel 193 err := ctx.ReadResource("aws:transcribe/languageModel:LanguageModel", name, id, state, &resource, opts...) 194 if err != nil { 195 return nil, err 196 } 197 return &resource, nil 198 } 199 200 // Input properties used for looking up and filtering LanguageModel resources. 201 type languageModelState struct { 202 // ARN of the LanguageModel. 203 Arn *string `pulumi:"arn"` 204 // Name of reference base model. 205 BaseModelName *string `pulumi:"baseModelName"` 206 // The input data config for the LanguageModel. See Input Data Config for more details. 207 InputDataConfig *LanguageModelInputDataConfig `pulumi:"inputDataConfig"` 208 // The language code you selected for your language model. Refer to the [supported languages](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html) page for accepted codes. 209 LanguageCode *string `pulumi:"languageCode"` 210 // The model name. 211 ModelName *string `pulumi:"modelName"` 212 // A map of tags to assign to the LanguageModel. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 213 Tags map[string]string `pulumi:"tags"` 214 // Deprecated: Please use `tags` instead. 215 TagsAll map[string]string `pulumi:"tagsAll"` 216 } 217 218 type LanguageModelState struct { 219 // ARN of the LanguageModel. 220 Arn pulumi.StringPtrInput 221 // Name of reference base model. 222 BaseModelName pulumi.StringPtrInput 223 // The input data config for the LanguageModel. See Input Data Config for more details. 224 InputDataConfig LanguageModelInputDataConfigPtrInput 225 // The language code you selected for your language model. Refer to the [supported languages](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html) page for accepted codes. 226 LanguageCode pulumi.StringPtrInput 227 // The model name. 228 ModelName pulumi.StringPtrInput 229 // A map of tags to assign to the LanguageModel. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 230 Tags pulumi.StringMapInput 231 // Deprecated: Please use `tags` instead. 232 TagsAll pulumi.StringMapInput 233 } 234 235 func (LanguageModelState) ElementType() reflect.Type { 236 return reflect.TypeOf((*languageModelState)(nil)).Elem() 237 } 238 239 type languageModelArgs struct { 240 // Name of reference base model. 241 BaseModelName string `pulumi:"baseModelName"` 242 // The input data config for the LanguageModel. See Input Data Config for more details. 243 InputDataConfig LanguageModelInputDataConfig `pulumi:"inputDataConfig"` 244 // The language code you selected for your language model. Refer to the [supported languages](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html) page for accepted codes. 245 LanguageCode string `pulumi:"languageCode"` 246 // The model name. 247 ModelName string `pulumi:"modelName"` 248 // A map of tags to assign to the LanguageModel. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 249 Tags map[string]string `pulumi:"tags"` 250 } 251 252 // The set of arguments for constructing a LanguageModel resource. 253 type LanguageModelArgs struct { 254 // Name of reference base model. 255 BaseModelName pulumi.StringInput 256 // The input data config for the LanguageModel. See Input Data Config for more details. 257 InputDataConfig LanguageModelInputDataConfigInput 258 // The language code you selected for your language model. Refer to the [supported languages](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html) page for accepted codes. 259 LanguageCode pulumi.StringInput 260 // The model name. 261 ModelName pulumi.StringInput 262 // A map of tags to assign to the LanguageModel. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 263 Tags pulumi.StringMapInput 264 } 265 266 func (LanguageModelArgs) ElementType() reflect.Type { 267 return reflect.TypeOf((*languageModelArgs)(nil)).Elem() 268 } 269 270 type LanguageModelInput interface { 271 pulumi.Input 272 273 ToLanguageModelOutput() LanguageModelOutput 274 ToLanguageModelOutputWithContext(ctx context.Context) LanguageModelOutput 275 } 276 277 func (*LanguageModel) ElementType() reflect.Type { 278 return reflect.TypeOf((**LanguageModel)(nil)).Elem() 279 } 280 281 func (i *LanguageModel) ToLanguageModelOutput() LanguageModelOutput { 282 return i.ToLanguageModelOutputWithContext(context.Background()) 283 } 284 285 func (i *LanguageModel) ToLanguageModelOutputWithContext(ctx context.Context) LanguageModelOutput { 286 return pulumi.ToOutputWithContext(ctx, i).(LanguageModelOutput) 287 } 288 289 // LanguageModelArrayInput is an input type that accepts LanguageModelArray and LanguageModelArrayOutput values. 290 // You can construct a concrete instance of `LanguageModelArrayInput` via: 291 // 292 // LanguageModelArray{ LanguageModelArgs{...} } 293 type LanguageModelArrayInput interface { 294 pulumi.Input 295 296 ToLanguageModelArrayOutput() LanguageModelArrayOutput 297 ToLanguageModelArrayOutputWithContext(context.Context) LanguageModelArrayOutput 298 } 299 300 type LanguageModelArray []LanguageModelInput 301 302 func (LanguageModelArray) ElementType() reflect.Type { 303 return reflect.TypeOf((*[]*LanguageModel)(nil)).Elem() 304 } 305 306 func (i LanguageModelArray) ToLanguageModelArrayOutput() LanguageModelArrayOutput { 307 return i.ToLanguageModelArrayOutputWithContext(context.Background()) 308 } 309 310 func (i LanguageModelArray) ToLanguageModelArrayOutputWithContext(ctx context.Context) LanguageModelArrayOutput { 311 return pulumi.ToOutputWithContext(ctx, i).(LanguageModelArrayOutput) 312 } 313 314 // LanguageModelMapInput is an input type that accepts LanguageModelMap and LanguageModelMapOutput values. 315 // You can construct a concrete instance of `LanguageModelMapInput` via: 316 // 317 // LanguageModelMap{ "key": LanguageModelArgs{...} } 318 type LanguageModelMapInput interface { 319 pulumi.Input 320 321 ToLanguageModelMapOutput() LanguageModelMapOutput 322 ToLanguageModelMapOutputWithContext(context.Context) LanguageModelMapOutput 323 } 324 325 type LanguageModelMap map[string]LanguageModelInput 326 327 func (LanguageModelMap) ElementType() reflect.Type { 328 return reflect.TypeOf((*map[string]*LanguageModel)(nil)).Elem() 329 } 330 331 func (i LanguageModelMap) ToLanguageModelMapOutput() LanguageModelMapOutput { 332 return i.ToLanguageModelMapOutputWithContext(context.Background()) 333 } 334 335 func (i LanguageModelMap) ToLanguageModelMapOutputWithContext(ctx context.Context) LanguageModelMapOutput { 336 return pulumi.ToOutputWithContext(ctx, i).(LanguageModelMapOutput) 337 } 338 339 type LanguageModelOutput struct{ *pulumi.OutputState } 340 341 func (LanguageModelOutput) ElementType() reflect.Type { 342 return reflect.TypeOf((**LanguageModel)(nil)).Elem() 343 } 344 345 func (o LanguageModelOutput) ToLanguageModelOutput() LanguageModelOutput { 346 return o 347 } 348 349 func (o LanguageModelOutput) ToLanguageModelOutputWithContext(ctx context.Context) LanguageModelOutput { 350 return o 351 } 352 353 // ARN of the LanguageModel. 354 func (o LanguageModelOutput) Arn() pulumi.StringOutput { 355 return o.ApplyT(func(v *LanguageModel) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 356 } 357 358 // Name of reference base model. 359 func (o LanguageModelOutput) BaseModelName() pulumi.StringOutput { 360 return o.ApplyT(func(v *LanguageModel) pulumi.StringOutput { return v.BaseModelName }).(pulumi.StringOutput) 361 } 362 363 // The input data config for the LanguageModel. See Input Data Config for more details. 364 func (o LanguageModelOutput) InputDataConfig() LanguageModelInputDataConfigOutput { 365 return o.ApplyT(func(v *LanguageModel) LanguageModelInputDataConfigOutput { return v.InputDataConfig }).(LanguageModelInputDataConfigOutput) 366 } 367 368 // The language code you selected for your language model. Refer to the [supported languages](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html) page for accepted codes. 369 func (o LanguageModelOutput) LanguageCode() pulumi.StringOutput { 370 return o.ApplyT(func(v *LanguageModel) pulumi.StringOutput { return v.LanguageCode }).(pulumi.StringOutput) 371 } 372 373 // The model name. 374 func (o LanguageModelOutput) ModelName() pulumi.StringOutput { 375 return o.ApplyT(func(v *LanguageModel) pulumi.StringOutput { return v.ModelName }).(pulumi.StringOutput) 376 } 377 378 // A map of tags to assign to the LanguageModel. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 379 func (o LanguageModelOutput) Tags() pulumi.StringMapOutput { 380 return o.ApplyT(func(v *LanguageModel) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 381 } 382 383 // Deprecated: Please use `tags` instead. 384 func (o LanguageModelOutput) TagsAll() pulumi.StringMapOutput { 385 return o.ApplyT(func(v *LanguageModel) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 386 } 387 388 type LanguageModelArrayOutput struct{ *pulumi.OutputState } 389 390 func (LanguageModelArrayOutput) ElementType() reflect.Type { 391 return reflect.TypeOf((*[]*LanguageModel)(nil)).Elem() 392 } 393 394 func (o LanguageModelArrayOutput) ToLanguageModelArrayOutput() LanguageModelArrayOutput { 395 return o 396 } 397 398 func (o LanguageModelArrayOutput) ToLanguageModelArrayOutputWithContext(ctx context.Context) LanguageModelArrayOutput { 399 return o 400 } 401 402 func (o LanguageModelArrayOutput) Index(i pulumi.IntInput) LanguageModelOutput { 403 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LanguageModel { 404 return vs[0].([]*LanguageModel)[vs[1].(int)] 405 }).(LanguageModelOutput) 406 } 407 408 type LanguageModelMapOutput struct{ *pulumi.OutputState } 409 410 func (LanguageModelMapOutput) ElementType() reflect.Type { 411 return reflect.TypeOf((*map[string]*LanguageModel)(nil)).Elem() 412 } 413 414 func (o LanguageModelMapOutput) ToLanguageModelMapOutput() LanguageModelMapOutput { 415 return o 416 } 417 418 func (o LanguageModelMapOutput) ToLanguageModelMapOutputWithContext(ctx context.Context) LanguageModelMapOutput { 419 return o 420 } 421 422 func (o LanguageModelMapOutput) MapIndex(k pulumi.StringInput) LanguageModelOutput { 423 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LanguageModel { 424 return vs[0].(map[string]*LanguageModel)[vs[1].(string)] 425 }).(LanguageModelOutput) 426 } 427 428 func init() { 429 pulumi.RegisterInputType(reflect.TypeOf((*LanguageModelInput)(nil)).Elem(), &LanguageModel{}) 430 pulumi.RegisterInputType(reflect.TypeOf((*LanguageModelArrayInput)(nil)).Elem(), LanguageModelArray{}) 431 pulumi.RegisterInputType(reflect.TypeOf((*LanguageModelMapInput)(nil)).Elem(), LanguageModelMap{}) 432 pulumi.RegisterOutputType(LanguageModelOutput{}) 433 pulumi.RegisterOutputType(LanguageModelArrayOutput{}) 434 pulumi.RegisterOutputType(LanguageModelMapOutput{}) 435 }