github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sagemaker/featureGroup.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 sagemaker 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 // Provides a SageMaker Feature Group resource. 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/sagemaker" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := sagemaker.NewFeatureGroup(ctx, "example", &sagemaker.FeatureGroupArgs{ 35 // FeatureGroupName: pulumi.String("example"), 36 // RecordIdentifierFeatureName: pulumi.String("example"), 37 // EventTimeFeatureName: pulumi.String("example"), 38 // RoleArn: pulumi.Any(test.Arn), 39 // FeatureDefinitions: sagemaker.FeatureGroupFeatureDefinitionArray{ 40 // &sagemaker.FeatureGroupFeatureDefinitionArgs{ 41 // FeatureName: pulumi.String("example"), 42 // FeatureType: pulumi.String("String"), 43 // }, 44 // }, 45 // OnlineStoreConfig: &sagemaker.FeatureGroupOnlineStoreConfigArgs{ 46 // EnableOnlineStore: pulumi.Bool(true), 47 // }, 48 // }) 49 // if err != nil { 50 // return err 51 // } 52 // return nil 53 // }) 54 // } 55 // 56 // ``` 57 // <!--End PulumiCodeChooser --> 58 // 59 // ## Import 60 // 61 // Using `pulumi import`, import Feature Groups using the `name`. For example: 62 // 63 // ```sh 64 // $ pulumi import aws:sagemaker/featureGroup:FeatureGroup test_feature_group feature_group-foo 65 // ``` 66 type FeatureGroup struct { 67 pulumi.CustomResourceState 68 69 // The Amazon Resource Name (ARN) assigned by AWS to this feature_group. 70 Arn pulumi.StringOutput `pulumi:"arn"` 71 // A free-form description of a Feature Group. 72 Description pulumi.StringPtrOutput `pulumi:"description"` 73 // The name of the feature that stores the EventTime of a Record in a Feature Group. 74 EventTimeFeatureName pulumi.StringOutput `pulumi:"eventTimeFeatureName"` 75 // A list of Feature names and types. See Feature Definition Below. 76 FeatureDefinitions FeatureGroupFeatureDefinitionArrayOutput `pulumi:"featureDefinitions"` 77 // The name of the Feature Group. The name must be unique within an AWS Region in an AWS account. 78 FeatureGroupName pulumi.StringOutput `pulumi:"featureGroupName"` 79 // The Offline Feature Store Configuration. See Offline Store Config Below. 80 OfflineStoreConfig FeatureGroupOfflineStoreConfigPtrOutput `pulumi:"offlineStoreConfig"` 81 // The Online Feature Store Configuration. See Online Store Config Below. 82 OnlineStoreConfig FeatureGroupOnlineStoreConfigPtrOutput `pulumi:"onlineStoreConfig"` 83 // The name of the Feature whose value uniquely identifies a Record defined in the Feature Store. Only the latest record per identifier value will be stored in the Online Store. 84 RecordIdentifierFeatureName pulumi.StringOutput `pulumi:"recordIdentifierFeatureName"` 85 // The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the Offline Store if an `offlineStoreConfig` is provided. 86 RoleArn pulumi.StringOutput `pulumi:"roleArn"` 87 // Map of resource tags for the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 88 Tags pulumi.StringMapOutput `pulumi:"tags"` 89 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 90 // 91 // Deprecated: Please use `tags` instead. 92 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 93 } 94 95 // NewFeatureGroup registers a new resource with the given unique name, arguments, and options. 96 func NewFeatureGroup(ctx *pulumi.Context, 97 name string, args *FeatureGroupArgs, opts ...pulumi.ResourceOption) (*FeatureGroup, error) { 98 if args == nil { 99 return nil, errors.New("missing one or more required arguments") 100 } 101 102 if args.EventTimeFeatureName == nil { 103 return nil, errors.New("invalid value for required argument 'EventTimeFeatureName'") 104 } 105 if args.FeatureDefinitions == nil { 106 return nil, errors.New("invalid value for required argument 'FeatureDefinitions'") 107 } 108 if args.FeatureGroupName == nil { 109 return nil, errors.New("invalid value for required argument 'FeatureGroupName'") 110 } 111 if args.RecordIdentifierFeatureName == nil { 112 return nil, errors.New("invalid value for required argument 'RecordIdentifierFeatureName'") 113 } 114 if args.RoleArn == nil { 115 return nil, errors.New("invalid value for required argument 'RoleArn'") 116 } 117 opts = internal.PkgResourceDefaultOpts(opts) 118 var resource FeatureGroup 119 err := ctx.RegisterResource("aws:sagemaker/featureGroup:FeatureGroup", name, args, &resource, opts...) 120 if err != nil { 121 return nil, err 122 } 123 return &resource, nil 124 } 125 126 // GetFeatureGroup gets an existing FeatureGroup resource's state with the given name, ID, and optional 127 // state properties that are used to uniquely qualify the lookup (nil if not required). 128 func GetFeatureGroup(ctx *pulumi.Context, 129 name string, id pulumi.IDInput, state *FeatureGroupState, opts ...pulumi.ResourceOption) (*FeatureGroup, error) { 130 var resource FeatureGroup 131 err := ctx.ReadResource("aws:sagemaker/featureGroup:FeatureGroup", name, id, state, &resource, opts...) 132 if err != nil { 133 return nil, err 134 } 135 return &resource, nil 136 } 137 138 // Input properties used for looking up and filtering FeatureGroup resources. 139 type featureGroupState struct { 140 // The Amazon Resource Name (ARN) assigned by AWS to this feature_group. 141 Arn *string `pulumi:"arn"` 142 // A free-form description of a Feature Group. 143 Description *string `pulumi:"description"` 144 // The name of the feature that stores the EventTime of a Record in a Feature Group. 145 EventTimeFeatureName *string `pulumi:"eventTimeFeatureName"` 146 // A list of Feature names and types. See Feature Definition Below. 147 FeatureDefinitions []FeatureGroupFeatureDefinition `pulumi:"featureDefinitions"` 148 // The name of the Feature Group. The name must be unique within an AWS Region in an AWS account. 149 FeatureGroupName *string `pulumi:"featureGroupName"` 150 // The Offline Feature Store Configuration. See Offline Store Config Below. 151 OfflineStoreConfig *FeatureGroupOfflineStoreConfig `pulumi:"offlineStoreConfig"` 152 // The Online Feature Store Configuration. See Online Store Config Below. 153 OnlineStoreConfig *FeatureGroupOnlineStoreConfig `pulumi:"onlineStoreConfig"` 154 // The name of the Feature whose value uniquely identifies a Record defined in the Feature Store. Only the latest record per identifier value will be stored in the Online Store. 155 RecordIdentifierFeatureName *string `pulumi:"recordIdentifierFeatureName"` 156 // The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the Offline Store if an `offlineStoreConfig` is provided. 157 RoleArn *string `pulumi:"roleArn"` 158 // Map of resource tags for the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 159 Tags map[string]string `pulumi:"tags"` 160 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 161 // 162 // Deprecated: Please use `tags` instead. 163 TagsAll map[string]string `pulumi:"tagsAll"` 164 } 165 166 type FeatureGroupState struct { 167 // The Amazon Resource Name (ARN) assigned by AWS to this feature_group. 168 Arn pulumi.StringPtrInput 169 // A free-form description of a Feature Group. 170 Description pulumi.StringPtrInput 171 // The name of the feature that stores the EventTime of a Record in a Feature Group. 172 EventTimeFeatureName pulumi.StringPtrInput 173 // A list of Feature names and types. See Feature Definition Below. 174 FeatureDefinitions FeatureGroupFeatureDefinitionArrayInput 175 // The name of the Feature Group. The name must be unique within an AWS Region in an AWS account. 176 FeatureGroupName pulumi.StringPtrInput 177 // The Offline Feature Store Configuration. See Offline Store Config Below. 178 OfflineStoreConfig FeatureGroupOfflineStoreConfigPtrInput 179 // The Online Feature Store Configuration. See Online Store Config Below. 180 OnlineStoreConfig FeatureGroupOnlineStoreConfigPtrInput 181 // The name of the Feature whose value uniquely identifies a Record defined in the Feature Store. Only the latest record per identifier value will be stored in the Online Store. 182 RecordIdentifierFeatureName pulumi.StringPtrInput 183 // The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the Offline Store if an `offlineStoreConfig` is provided. 184 RoleArn pulumi.StringPtrInput 185 // Map of resource tags for the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 186 Tags pulumi.StringMapInput 187 // A 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 pulumi.StringMapInput 191 } 192 193 func (FeatureGroupState) ElementType() reflect.Type { 194 return reflect.TypeOf((*featureGroupState)(nil)).Elem() 195 } 196 197 type featureGroupArgs struct { 198 // A free-form description of a Feature Group. 199 Description *string `pulumi:"description"` 200 // The name of the feature that stores the EventTime of a Record in a Feature Group. 201 EventTimeFeatureName string `pulumi:"eventTimeFeatureName"` 202 // A list of Feature names and types. See Feature Definition Below. 203 FeatureDefinitions []FeatureGroupFeatureDefinition `pulumi:"featureDefinitions"` 204 // The name of the Feature Group. The name must be unique within an AWS Region in an AWS account. 205 FeatureGroupName string `pulumi:"featureGroupName"` 206 // The Offline Feature Store Configuration. See Offline Store Config Below. 207 OfflineStoreConfig *FeatureGroupOfflineStoreConfig `pulumi:"offlineStoreConfig"` 208 // The Online Feature Store Configuration. See Online Store Config Below. 209 OnlineStoreConfig *FeatureGroupOnlineStoreConfig `pulumi:"onlineStoreConfig"` 210 // The name of the Feature whose value uniquely identifies a Record defined in the Feature Store. Only the latest record per identifier value will be stored in the Online Store. 211 RecordIdentifierFeatureName string `pulumi:"recordIdentifierFeatureName"` 212 // The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the Offline Store if an `offlineStoreConfig` is provided. 213 RoleArn string `pulumi:"roleArn"` 214 // Map of resource tags for the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 215 Tags map[string]string `pulumi:"tags"` 216 } 217 218 // The set of arguments for constructing a FeatureGroup resource. 219 type FeatureGroupArgs struct { 220 // A free-form description of a Feature Group. 221 Description pulumi.StringPtrInput 222 // The name of the feature that stores the EventTime of a Record in a Feature Group. 223 EventTimeFeatureName pulumi.StringInput 224 // A list of Feature names and types. See Feature Definition Below. 225 FeatureDefinitions FeatureGroupFeatureDefinitionArrayInput 226 // The name of the Feature Group. The name must be unique within an AWS Region in an AWS account. 227 FeatureGroupName pulumi.StringInput 228 // The Offline Feature Store Configuration. See Offline Store Config Below. 229 OfflineStoreConfig FeatureGroupOfflineStoreConfigPtrInput 230 // The Online Feature Store Configuration. See Online Store Config Below. 231 OnlineStoreConfig FeatureGroupOnlineStoreConfigPtrInput 232 // The name of the Feature whose value uniquely identifies a Record defined in the Feature Store. Only the latest record per identifier value will be stored in the Online Store. 233 RecordIdentifierFeatureName pulumi.StringInput 234 // The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the Offline Store if an `offlineStoreConfig` is provided. 235 RoleArn pulumi.StringInput 236 // Map of resource tags for the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 237 Tags pulumi.StringMapInput 238 } 239 240 func (FeatureGroupArgs) ElementType() reflect.Type { 241 return reflect.TypeOf((*featureGroupArgs)(nil)).Elem() 242 } 243 244 type FeatureGroupInput interface { 245 pulumi.Input 246 247 ToFeatureGroupOutput() FeatureGroupOutput 248 ToFeatureGroupOutputWithContext(ctx context.Context) FeatureGroupOutput 249 } 250 251 func (*FeatureGroup) ElementType() reflect.Type { 252 return reflect.TypeOf((**FeatureGroup)(nil)).Elem() 253 } 254 255 func (i *FeatureGroup) ToFeatureGroupOutput() FeatureGroupOutput { 256 return i.ToFeatureGroupOutputWithContext(context.Background()) 257 } 258 259 func (i *FeatureGroup) ToFeatureGroupOutputWithContext(ctx context.Context) FeatureGroupOutput { 260 return pulumi.ToOutputWithContext(ctx, i).(FeatureGroupOutput) 261 } 262 263 // FeatureGroupArrayInput is an input type that accepts FeatureGroupArray and FeatureGroupArrayOutput values. 264 // You can construct a concrete instance of `FeatureGroupArrayInput` via: 265 // 266 // FeatureGroupArray{ FeatureGroupArgs{...} } 267 type FeatureGroupArrayInput interface { 268 pulumi.Input 269 270 ToFeatureGroupArrayOutput() FeatureGroupArrayOutput 271 ToFeatureGroupArrayOutputWithContext(context.Context) FeatureGroupArrayOutput 272 } 273 274 type FeatureGroupArray []FeatureGroupInput 275 276 func (FeatureGroupArray) ElementType() reflect.Type { 277 return reflect.TypeOf((*[]*FeatureGroup)(nil)).Elem() 278 } 279 280 func (i FeatureGroupArray) ToFeatureGroupArrayOutput() FeatureGroupArrayOutput { 281 return i.ToFeatureGroupArrayOutputWithContext(context.Background()) 282 } 283 284 func (i FeatureGroupArray) ToFeatureGroupArrayOutputWithContext(ctx context.Context) FeatureGroupArrayOutput { 285 return pulumi.ToOutputWithContext(ctx, i).(FeatureGroupArrayOutput) 286 } 287 288 // FeatureGroupMapInput is an input type that accepts FeatureGroupMap and FeatureGroupMapOutput values. 289 // You can construct a concrete instance of `FeatureGroupMapInput` via: 290 // 291 // FeatureGroupMap{ "key": FeatureGroupArgs{...} } 292 type FeatureGroupMapInput interface { 293 pulumi.Input 294 295 ToFeatureGroupMapOutput() FeatureGroupMapOutput 296 ToFeatureGroupMapOutputWithContext(context.Context) FeatureGroupMapOutput 297 } 298 299 type FeatureGroupMap map[string]FeatureGroupInput 300 301 func (FeatureGroupMap) ElementType() reflect.Type { 302 return reflect.TypeOf((*map[string]*FeatureGroup)(nil)).Elem() 303 } 304 305 func (i FeatureGroupMap) ToFeatureGroupMapOutput() FeatureGroupMapOutput { 306 return i.ToFeatureGroupMapOutputWithContext(context.Background()) 307 } 308 309 func (i FeatureGroupMap) ToFeatureGroupMapOutputWithContext(ctx context.Context) FeatureGroupMapOutput { 310 return pulumi.ToOutputWithContext(ctx, i).(FeatureGroupMapOutput) 311 } 312 313 type FeatureGroupOutput struct{ *pulumi.OutputState } 314 315 func (FeatureGroupOutput) ElementType() reflect.Type { 316 return reflect.TypeOf((**FeatureGroup)(nil)).Elem() 317 } 318 319 func (o FeatureGroupOutput) ToFeatureGroupOutput() FeatureGroupOutput { 320 return o 321 } 322 323 func (o FeatureGroupOutput) ToFeatureGroupOutputWithContext(ctx context.Context) FeatureGroupOutput { 324 return o 325 } 326 327 // The Amazon Resource Name (ARN) assigned by AWS to this feature_group. 328 func (o FeatureGroupOutput) Arn() pulumi.StringOutput { 329 return o.ApplyT(func(v *FeatureGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 330 } 331 332 // A free-form description of a Feature Group. 333 func (o FeatureGroupOutput) Description() pulumi.StringPtrOutput { 334 return o.ApplyT(func(v *FeatureGroup) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 335 } 336 337 // The name of the feature that stores the EventTime of a Record in a Feature Group. 338 func (o FeatureGroupOutput) EventTimeFeatureName() pulumi.StringOutput { 339 return o.ApplyT(func(v *FeatureGroup) pulumi.StringOutput { return v.EventTimeFeatureName }).(pulumi.StringOutput) 340 } 341 342 // A list of Feature names and types. See Feature Definition Below. 343 func (o FeatureGroupOutput) FeatureDefinitions() FeatureGroupFeatureDefinitionArrayOutput { 344 return o.ApplyT(func(v *FeatureGroup) FeatureGroupFeatureDefinitionArrayOutput { return v.FeatureDefinitions }).(FeatureGroupFeatureDefinitionArrayOutput) 345 } 346 347 // The name of the Feature Group. The name must be unique within an AWS Region in an AWS account. 348 func (o FeatureGroupOutput) FeatureGroupName() pulumi.StringOutput { 349 return o.ApplyT(func(v *FeatureGroup) pulumi.StringOutput { return v.FeatureGroupName }).(pulumi.StringOutput) 350 } 351 352 // The Offline Feature Store Configuration. See Offline Store Config Below. 353 func (o FeatureGroupOutput) OfflineStoreConfig() FeatureGroupOfflineStoreConfigPtrOutput { 354 return o.ApplyT(func(v *FeatureGroup) FeatureGroupOfflineStoreConfigPtrOutput { return v.OfflineStoreConfig }).(FeatureGroupOfflineStoreConfigPtrOutput) 355 } 356 357 // The Online Feature Store Configuration. See Online Store Config Below. 358 func (o FeatureGroupOutput) OnlineStoreConfig() FeatureGroupOnlineStoreConfigPtrOutput { 359 return o.ApplyT(func(v *FeatureGroup) FeatureGroupOnlineStoreConfigPtrOutput { return v.OnlineStoreConfig }).(FeatureGroupOnlineStoreConfigPtrOutput) 360 } 361 362 // The name of the Feature whose value uniquely identifies a Record defined in the Feature Store. Only the latest record per identifier value will be stored in the Online Store. 363 func (o FeatureGroupOutput) RecordIdentifierFeatureName() pulumi.StringOutput { 364 return o.ApplyT(func(v *FeatureGroup) pulumi.StringOutput { return v.RecordIdentifierFeatureName }).(pulumi.StringOutput) 365 } 366 367 // The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the Offline Store if an `offlineStoreConfig` is provided. 368 func (o FeatureGroupOutput) RoleArn() pulumi.StringOutput { 369 return o.ApplyT(func(v *FeatureGroup) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) 370 } 371 372 // Map of resource tags for the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 373 func (o FeatureGroupOutput) Tags() pulumi.StringMapOutput { 374 return o.ApplyT(func(v *FeatureGroup) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 375 } 376 377 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 378 // 379 // Deprecated: Please use `tags` instead. 380 func (o FeatureGroupOutput) TagsAll() pulumi.StringMapOutput { 381 return o.ApplyT(func(v *FeatureGroup) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 382 } 383 384 type FeatureGroupArrayOutput struct{ *pulumi.OutputState } 385 386 func (FeatureGroupArrayOutput) ElementType() reflect.Type { 387 return reflect.TypeOf((*[]*FeatureGroup)(nil)).Elem() 388 } 389 390 func (o FeatureGroupArrayOutput) ToFeatureGroupArrayOutput() FeatureGroupArrayOutput { 391 return o 392 } 393 394 func (o FeatureGroupArrayOutput) ToFeatureGroupArrayOutputWithContext(ctx context.Context) FeatureGroupArrayOutput { 395 return o 396 } 397 398 func (o FeatureGroupArrayOutput) Index(i pulumi.IntInput) FeatureGroupOutput { 399 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *FeatureGroup { 400 return vs[0].([]*FeatureGroup)[vs[1].(int)] 401 }).(FeatureGroupOutput) 402 } 403 404 type FeatureGroupMapOutput struct{ *pulumi.OutputState } 405 406 func (FeatureGroupMapOutput) ElementType() reflect.Type { 407 return reflect.TypeOf((*map[string]*FeatureGroup)(nil)).Elem() 408 } 409 410 func (o FeatureGroupMapOutput) ToFeatureGroupMapOutput() FeatureGroupMapOutput { 411 return o 412 } 413 414 func (o FeatureGroupMapOutput) ToFeatureGroupMapOutputWithContext(ctx context.Context) FeatureGroupMapOutput { 415 return o 416 } 417 418 func (o FeatureGroupMapOutput) MapIndex(k pulumi.StringInput) FeatureGroupOutput { 419 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *FeatureGroup { 420 return vs[0].(map[string]*FeatureGroup)[vs[1].(string)] 421 }).(FeatureGroupOutput) 422 } 423 424 func init() { 425 pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupInput)(nil)).Elem(), &FeatureGroup{}) 426 pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupArrayInput)(nil)).Elem(), FeatureGroupArray{}) 427 pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupMapInput)(nil)).Elem(), FeatureGroupMap{}) 428 pulumi.RegisterOutputType(FeatureGroupOutput{}) 429 pulumi.RegisterOutputType(FeatureGroupArrayOutput{}) 430 pulumi.RegisterOutputType(FeatureGroupMapOutput{}) 431 }