github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/evidently/feature.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 evidently 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 CloudWatch Evidently Feature resource. 16 // 17 // ## Example Usage 18 // 19 // ### Basic 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 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 := evidently.NewFeature(ctx, "example", &evidently.FeatureArgs{ 35 // Name: pulumi.String("example"), 36 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 37 // Description: pulumi.String("example description"), 38 // Variations: evidently.FeatureVariationArray{ 39 // &evidently.FeatureVariationArgs{ 40 // Name: pulumi.String("Variation1"), 41 // Value: &evidently.FeatureVariationValueArgs{ 42 // StringValue: pulumi.String("example"), 43 // }, 44 // }, 45 // }, 46 // Tags: pulumi.StringMap{ 47 // "Key1": pulumi.String("example Feature"), 48 // }, 49 // }) 50 // if err != nil { 51 // return err 52 // } 53 // return nil 54 // }) 55 // } 56 // 57 // ``` 58 // <!--End PulumiCodeChooser --> 59 // 60 // ### With default variation 61 // 62 // <!--Start PulumiCodeChooser --> 63 // ```go 64 // package main 65 // 66 // import ( 67 // 68 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 69 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 70 // 71 // ) 72 // 73 // func main() { 74 // pulumi.Run(func(ctx *pulumi.Context) error { 75 // _, err := evidently.NewFeature(ctx, "example", &evidently.FeatureArgs{ 76 // Name: pulumi.String("example"), 77 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 78 // DefaultVariation: pulumi.String("Variation2"), 79 // Variations: evidently.FeatureVariationArray{ 80 // &evidently.FeatureVariationArgs{ 81 // Name: pulumi.String("Variation1"), 82 // Value: &evidently.FeatureVariationValueArgs{ 83 // StringValue: pulumi.String("exampleval1"), 84 // }, 85 // }, 86 // &evidently.FeatureVariationArgs{ 87 // Name: pulumi.String("Variation2"), 88 // Value: &evidently.FeatureVariationValueArgs{ 89 // StringValue: pulumi.String("exampleval2"), 90 // }, 91 // }, 92 // }, 93 // }) 94 // if err != nil { 95 // return err 96 // } 97 // return nil 98 // }) 99 // } 100 // 101 // ``` 102 // <!--End PulumiCodeChooser --> 103 // 104 // ### With entity overrides 105 // 106 // <!--Start PulumiCodeChooser --> 107 // ```go 108 // package main 109 // 110 // import ( 111 // 112 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 113 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 114 // 115 // ) 116 // 117 // func main() { 118 // pulumi.Run(func(ctx *pulumi.Context) error { 119 // _, err := evidently.NewFeature(ctx, "example", &evidently.FeatureArgs{ 120 // Name: pulumi.String("example"), 121 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 122 // EntityOverrides: pulumi.StringMap{ 123 // "test1": pulumi.String("Variation1"), 124 // }, 125 // Variations: evidently.FeatureVariationArray{ 126 // &evidently.FeatureVariationArgs{ 127 // Name: pulumi.String("Variation1"), 128 // Value: &evidently.FeatureVariationValueArgs{ 129 // StringValue: pulumi.String("exampleval1"), 130 // }, 131 // }, 132 // &evidently.FeatureVariationArgs{ 133 // Name: pulumi.String("Variation2"), 134 // Value: &evidently.FeatureVariationValueArgs{ 135 // StringValue: pulumi.String("exampleval2"), 136 // }, 137 // }, 138 // }, 139 // }) 140 // if err != nil { 141 // return err 142 // } 143 // return nil 144 // }) 145 // } 146 // 147 // ``` 148 // <!--End PulumiCodeChooser --> 149 // 150 // ### With evaluation strategy 151 // 152 // <!--Start PulumiCodeChooser --> 153 // ```go 154 // package main 155 // 156 // import ( 157 // 158 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 159 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 160 // 161 // ) 162 // 163 // func main() { 164 // pulumi.Run(func(ctx *pulumi.Context) error { 165 // _, err := evidently.NewFeature(ctx, "example", &evidently.FeatureArgs{ 166 // Name: pulumi.String("example"), 167 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 168 // EvaluationStrategy: pulumi.String("ALL_RULES"), 169 // EntityOverrides: pulumi.StringMap{ 170 // "test1": pulumi.String("Variation1"), 171 // }, 172 // Variations: evidently.FeatureVariationArray{ 173 // &evidently.FeatureVariationArgs{ 174 // Name: pulumi.String("Variation1"), 175 // Value: &evidently.FeatureVariationValueArgs{ 176 // StringValue: pulumi.String("exampleval1"), 177 // }, 178 // }, 179 // }, 180 // }) 181 // if err != nil { 182 // return err 183 // } 184 // return nil 185 // }) 186 // } 187 // 188 // ``` 189 // <!--End PulumiCodeChooser --> 190 // 191 // ## Import 192 // 193 // Using `pulumi import`, import CloudWatch Evidently Feature using the feature `name` and `name` or `arn` of the hosting CloudWatch Evidently Project separated by a `:`. For example: 194 // 195 // ```sh 196 // $ pulumi import aws:evidently/feature:Feature example exampleFeatureName:arn:aws:evidently:us-east-1:123456789012:project/example 197 // ``` 198 type Feature struct { 199 pulumi.CustomResourceState 200 201 // The ARN of the feature. 202 Arn pulumi.StringOutput `pulumi:"arn"` 203 // The date and time that the feature is created. 204 CreatedTime pulumi.StringOutput `pulumi:"createdTime"` 205 // The name of the variation to use as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature. This variation must also be listed in the `variations` structure. If you omit `defaultVariation`, the first variation listed in the `variations` structure is used as the default variation. 206 DefaultVariation pulumi.StringOutput `pulumi:"defaultVariation"` 207 // Specifies the description of the feature. 208 Description pulumi.StringPtrOutput `pulumi:"description"` 209 // Specify users that should always be served a specific variation of a feature. Each user is specified by a key-value pair . For each key, specify a user by entering their user ID, account ID, or some other identifier. For the value, specify the name of the variation that they are to be served. 210 EntityOverrides pulumi.StringMapOutput `pulumi:"entityOverrides"` 211 // One or more blocks that define the evaluation rules for the feature. Detailed below 212 EvaluationRules FeatureEvaluationRuleArrayOutput `pulumi:"evaluationRules"` 213 // Specify `ALL_RULES` to activate the traffic allocation specified by any ongoing launches or experiments. Specify `DEFAULT_VARIATION` to serve the default variation to all users instead. 214 EvaluationStrategy pulumi.StringOutput `pulumi:"evaluationStrategy"` 215 // The date and time that the feature was most recently updated. 216 LastUpdatedTime pulumi.StringOutput `pulumi:"lastUpdatedTime"` 217 // The name for the new feature. Minimum length of `1`. Maximum length of `127`. 218 Name pulumi.StringOutput `pulumi:"name"` 219 // The name or ARN of the project that is to contain the new feature. 220 Project pulumi.StringOutput `pulumi:"project"` 221 // The current state of the feature. Valid values are `AVAILABLE` and `UPDATING`. 222 Status pulumi.StringOutput `pulumi:"status"` 223 // Tags to apply to the feature. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 224 Tags pulumi.StringMapOutput `pulumi:"tags"` 225 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 226 // 227 // Deprecated: Please use `tags` instead. 228 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 229 // Defines the type of value used to define the different feature variations. Valid Values: `STRING`, `LONG`, `DOUBLE`, `BOOLEAN`. 230 ValueType pulumi.StringOutput `pulumi:"valueType"` 231 // One or more blocks that contain the configuration of the feature's different variations. Detailed below 232 Variations FeatureVariationArrayOutput `pulumi:"variations"` 233 } 234 235 // NewFeature registers a new resource with the given unique name, arguments, and options. 236 func NewFeature(ctx *pulumi.Context, 237 name string, args *FeatureArgs, opts ...pulumi.ResourceOption) (*Feature, error) { 238 if args == nil { 239 return nil, errors.New("missing one or more required arguments") 240 } 241 242 if args.Project == nil { 243 return nil, errors.New("invalid value for required argument 'Project'") 244 } 245 if args.Variations == nil { 246 return nil, errors.New("invalid value for required argument 'Variations'") 247 } 248 opts = internal.PkgResourceDefaultOpts(opts) 249 var resource Feature 250 err := ctx.RegisterResource("aws:evidently/feature:Feature", name, args, &resource, opts...) 251 if err != nil { 252 return nil, err 253 } 254 return &resource, nil 255 } 256 257 // GetFeature gets an existing Feature resource's state with the given name, ID, and optional 258 // state properties that are used to uniquely qualify the lookup (nil if not required). 259 func GetFeature(ctx *pulumi.Context, 260 name string, id pulumi.IDInput, state *FeatureState, opts ...pulumi.ResourceOption) (*Feature, error) { 261 var resource Feature 262 err := ctx.ReadResource("aws:evidently/feature:Feature", name, id, state, &resource, opts...) 263 if err != nil { 264 return nil, err 265 } 266 return &resource, nil 267 } 268 269 // Input properties used for looking up and filtering Feature resources. 270 type featureState struct { 271 // The ARN of the feature. 272 Arn *string `pulumi:"arn"` 273 // The date and time that the feature is created. 274 CreatedTime *string `pulumi:"createdTime"` 275 // The name of the variation to use as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature. This variation must also be listed in the `variations` structure. If you omit `defaultVariation`, the first variation listed in the `variations` structure is used as the default variation. 276 DefaultVariation *string `pulumi:"defaultVariation"` 277 // Specifies the description of the feature. 278 Description *string `pulumi:"description"` 279 // Specify users that should always be served a specific variation of a feature. Each user is specified by a key-value pair . For each key, specify a user by entering their user ID, account ID, or some other identifier. For the value, specify the name of the variation that they are to be served. 280 EntityOverrides map[string]string `pulumi:"entityOverrides"` 281 // One or more blocks that define the evaluation rules for the feature. Detailed below 282 EvaluationRules []FeatureEvaluationRule `pulumi:"evaluationRules"` 283 // Specify `ALL_RULES` to activate the traffic allocation specified by any ongoing launches or experiments. Specify `DEFAULT_VARIATION` to serve the default variation to all users instead. 284 EvaluationStrategy *string `pulumi:"evaluationStrategy"` 285 // The date and time that the feature was most recently updated. 286 LastUpdatedTime *string `pulumi:"lastUpdatedTime"` 287 // The name for the new feature. Minimum length of `1`. Maximum length of `127`. 288 Name *string `pulumi:"name"` 289 // The name or ARN of the project that is to contain the new feature. 290 Project *string `pulumi:"project"` 291 // The current state of the feature. Valid values are `AVAILABLE` and `UPDATING`. 292 Status *string `pulumi:"status"` 293 // Tags to apply to the feature. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 294 Tags map[string]string `pulumi:"tags"` 295 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 296 // 297 // Deprecated: Please use `tags` instead. 298 TagsAll map[string]string `pulumi:"tagsAll"` 299 // Defines the type of value used to define the different feature variations. Valid Values: `STRING`, `LONG`, `DOUBLE`, `BOOLEAN`. 300 ValueType *string `pulumi:"valueType"` 301 // One or more blocks that contain the configuration of the feature's different variations. Detailed below 302 Variations []FeatureVariation `pulumi:"variations"` 303 } 304 305 type FeatureState struct { 306 // The ARN of the feature. 307 Arn pulumi.StringPtrInput 308 // The date and time that the feature is created. 309 CreatedTime pulumi.StringPtrInput 310 // The name of the variation to use as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature. This variation must also be listed in the `variations` structure. If you omit `defaultVariation`, the first variation listed in the `variations` structure is used as the default variation. 311 DefaultVariation pulumi.StringPtrInput 312 // Specifies the description of the feature. 313 Description pulumi.StringPtrInput 314 // Specify users that should always be served a specific variation of a feature. Each user is specified by a key-value pair . For each key, specify a user by entering their user ID, account ID, or some other identifier. For the value, specify the name of the variation that they are to be served. 315 EntityOverrides pulumi.StringMapInput 316 // One or more blocks that define the evaluation rules for the feature. Detailed below 317 EvaluationRules FeatureEvaluationRuleArrayInput 318 // Specify `ALL_RULES` to activate the traffic allocation specified by any ongoing launches or experiments. Specify `DEFAULT_VARIATION` to serve the default variation to all users instead. 319 EvaluationStrategy pulumi.StringPtrInput 320 // The date and time that the feature was most recently updated. 321 LastUpdatedTime pulumi.StringPtrInput 322 // The name for the new feature. Minimum length of `1`. Maximum length of `127`. 323 Name pulumi.StringPtrInput 324 // The name or ARN of the project that is to contain the new feature. 325 Project pulumi.StringPtrInput 326 // The current state of the feature. Valid values are `AVAILABLE` and `UPDATING`. 327 Status pulumi.StringPtrInput 328 // Tags to apply to the feature. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 329 Tags pulumi.StringMapInput 330 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 331 // 332 // Deprecated: Please use `tags` instead. 333 TagsAll pulumi.StringMapInput 334 // Defines the type of value used to define the different feature variations. Valid Values: `STRING`, `LONG`, `DOUBLE`, `BOOLEAN`. 335 ValueType pulumi.StringPtrInput 336 // One or more blocks that contain the configuration of the feature's different variations. Detailed below 337 Variations FeatureVariationArrayInput 338 } 339 340 func (FeatureState) ElementType() reflect.Type { 341 return reflect.TypeOf((*featureState)(nil)).Elem() 342 } 343 344 type featureArgs struct { 345 // The name of the variation to use as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature. This variation must also be listed in the `variations` structure. If you omit `defaultVariation`, the first variation listed in the `variations` structure is used as the default variation. 346 DefaultVariation *string `pulumi:"defaultVariation"` 347 // Specifies the description of the feature. 348 Description *string `pulumi:"description"` 349 // Specify users that should always be served a specific variation of a feature. Each user is specified by a key-value pair . For each key, specify a user by entering their user ID, account ID, or some other identifier. For the value, specify the name of the variation that they are to be served. 350 EntityOverrides map[string]string `pulumi:"entityOverrides"` 351 // Specify `ALL_RULES` to activate the traffic allocation specified by any ongoing launches or experiments. Specify `DEFAULT_VARIATION` to serve the default variation to all users instead. 352 EvaluationStrategy *string `pulumi:"evaluationStrategy"` 353 // The name for the new feature. Minimum length of `1`. Maximum length of `127`. 354 Name *string `pulumi:"name"` 355 // The name or ARN of the project that is to contain the new feature. 356 Project string `pulumi:"project"` 357 // Tags to apply to the feature. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 358 Tags map[string]string `pulumi:"tags"` 359 // One or more blocks that contain the configuration of the feature's different variations. Detailed below 360 Variations []FeatureVariation `pulumi:"variations"` 361 } 362 363 // The set of arguments for constructing a Feature resource. 364 type FeatureArgs struct { 365 // The name of the variation to use as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature. This variation must also be listed in the `variations` structure. If you omit `defaultVariation`, the first variation listed in the `variations` structure is used as the default variation. 366 DefaultVariation pulumi.StringPtrInput 367 // Specifies the description of the feature. 368 Description pulumi.StringPtrInput 369 // Specify users that should always be served a specific variation of a feature. Each user is specified by a key-value pair . For each key, specify a user by entering their user ID, account ID, or some other identifier. For the value, specify the name of the variation that they are to be served. 370 EntityOverrides pulumi.StringMapInput 371 // Specify `ALL_RULES` to activate the traffic allocation specified by any ongoing launches or experiments. Specify `DEFAULT_VARIATION` to serve the default variation to all users instead. 372 EvaluationStrategy pulumi.StringPtrInput 373 // The name for the new feature. Minimum length of `1`. Maximum length of `127`. 374 Name pulumi.StringPtrInput 375 // The name or ARN of the project that is to contain the new feature. 376 Project pulumi.StringInput 377 // Tags to apply to the feature. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 378 Tags pulumi.StringMapInput 379 // One or more blocks that contain the configuration of the feature's different variations. Detailed below 380 Variations FeatureVariationArrayInput 381 } 382 383 func (FeatureArgs) ElementType() reflect.Type { 384 return reflect.TypeOf((*featureArgs)(nil)).Elem() 385 } 386 387 type FeatureInput interface { 388 pulumi.Input 389 390 ToFeatureOutput() FeatureOutput 391 ToFeatureOutputWithContext(ctx context.Context) FeatureOutput 392 } 393 394 func (*Feature) ElementType() reflect.Type { 395 return reflect.TypeOf((**Feature)(nil)).Elem() 396 } 397 398 func (i *Feature) ToFeatureOutput() FeatureOutput { 399 return i.ToFeatureOutputWithContext(context.Background()) 400 } 401 402 func (i *Feature) ToFeatureOutputWithContext(ctx context.Context) FeatureOutput { 403 return pulumi.ToOutputWithContext(ctx, i).(FeatureOutput) 404 } 405 406 // FeatureArrayInput is an input type that accepts FeatureArray and FeatureArrayOutput values. 407 // You can construct a concrete instance of `FeatureArrayInput` via: 408 // 409 // FeatureArray{ FeatureArgs{...} } 410 type FeatureArrayInput interface { 411 pulumi.Input 412 413 ToFeatureArrayOutput() FeatureArrayOutput 414 ToFeatureArrayOutputWithContext(context.Context) FeatureArrayOutput 415 } 416 417 type FeatureArray []FeatureInput 418 419 func (FeatureArray) ElementType() reflect.Type { 420 return reflect.TypeOf((*[]*Feature)(nil)).Elem() 421 } 422 423 func (i FeatureArray) ToFeatureArrayOutput() FeatureArrayOutput { 424 return i.ToFeatureArrayOutputWithContext(context.Background()) 425 } 426 427 func (i FeatureArray) ToFeatureArrayOutputWithContext(ctx context.Context) FeatureArrayOutput { 428 return pulumi.ToOutputWithContext(ctx, i).(FeatureArrayOutput) 429 } 430 431 // FeatureMapInput is an input type that accepts FeatureMap and FeatureMapOutput values. 432 // You can construct a concrete instance of `FeatureMapInput` via: 433 // 434 // FeatureMap{ "key": FeatureArgs{...} } 435 type FeatureMapInput interface { 436 pulumi.Input 437 438 ToFeatureMapOutput() FeatureMapOutput 439 ToFeatureMapOutputWithContext(context.Context) FeatureMapOutput 440 } 441 442 type FeatureMap map[string]FeatureInput 443 444 func (FeatureMap) ElementType() reflect.Type { 445 return reflect.TypeOf((*map[string]*Feature)(nil)).Elem() 446 } 447 448 func (i FeatureMap) ToFeatureMapOutput() FeatureMapOutput { 449 return i.ToFeatureMapOutputWithContext(context.Background()) 450 } 451 452 func (i FeatureMap) ToFeatureMapOutputWithContext(ctx context.Context) FeatureMapOutput { 453 return pulumi.ToOutputWithContext(ctx, i).(FeatureMapOutput) 454 } 455 456 type FeatureOutput struct{ *pulumi.OutputState } 457 458 func (FeatureOutput) ElementType() reflect.Type { 459 return reflect.TypeOf((**Feature)(nil)).Elem() 460 } 461 462 func (o FeatureOutput) ToFeatureOutput() FeatureOutput { 463 return o 464 } 465 466 func (o FeatureOutput) ToFeatureOutputWithContext(ctx context.Context) FeatureOutput { 467 return o 468 } 469 470 // The ARN of the feature. 471 func (o FeatureOutput) Arn() pulumi.StringOutput { 472 return o.ApplyT(func(v *Feature) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 473 } 474 475 // The date and time that the feature is created. 476 func (o FeatureOutput) CreatedTime() pulumi.StringOutput { 477 return o.ApplyT(func(v *Feature) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput) 478 } 479 480 // The name of the variation to use as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature. This variation must also be listed in the `variations` structure. If you omit `defaultVariation`, the first variation listed in the `variations` structure is used as the default variation. 481 func (o FeatureOutput) DefaultVariation() pulumi.StringOutput { 482 return o.ApplyT(func(v *Feature) pulumi.StringOutput { return v.DefaultVariation }).(pulumi.StringOutput) 483 } 484 485 // Specifies the description of the feature. 486 func (o FeatureOutput) Description() pulumi.StringPtrOutput { 487 return o.ApplyT(func(v *Feature) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 488 } 489 490 // Specify users that should always be served a specific variation of a feature. Each user is specified by a key-value pair . For each key, specify a user by entering their user ID, account ID, or some other identifier. For the value, specify the name of the variation that they are to be served. 491 func (o FeatureOutput) EntityOverrides() pulumi.StringMapOutput { 492 return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.EntityOverrides }).(pulumi.StringMapOutput) 493 } 494 495 // One or more blocks that define the evaluation rules for the feature. Detailed below 496 func (o FeatureOutput) EvaluationRules() FeatureEvaluationRuleArrayOutput { 497 return o.ApplyT(func(v *Feature) FeatureEvaluationRuleArrayOutput { return v.EvaluationRules }).(FeatureEvaluationRuleArrayOutput) 498 } 499 500 // Specify `ALL_RULES` to activate the traffic allocation specified by any ongoing launches or experiments. Specify `DEFAULT_VARIATION` to serve the default variation to all users instead. 501 func (o FeatureOutput) EvaluationStrategy() pulumi.StringOutput { 502 return o.ApplyT(func(v *Feature) pulumi.StringOutput { return v.EvaluationStrategy }).(pulumi.StringOutput) 503 } 504 505 // The date and time that the feature was most recently updated. 506 func (o FeatureOutput) LastUpdatedTime() pulumi.StringOutput { 507 return o.ApplyT(func(v *Feature) pulumi.StringOutput { return v.LastUpdatedTime }).(pulumi.StringOutput) 508 } 509 510 // The name for the new feature. Minimum length of `1`. Maximum length of `127`. 511 func (o FeatureOutput) Name() pulumi.StringOutput { 512 return o.ApplyT(func(v *Feature) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 513 } 514 515 // The name or ARN of the project that is to contain the new feature. 516 func (o FeatureOutput) Project() pulumi.StringOutput { 517 return o.ApplyT(func(v *Feature) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) 518 } 519 520 // The current state of the feature. Valid values are `AVAILABLE` and `UPDATING`. 521 func (o FeatureOutput) Status() pulumi.StringOutput { 522 return o.ApplyT(func(v *Feature) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) 523 } 524 525 // Tags to apply to the feature. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 526 func (o FeatureOutput) Tags() pulumi.StringMapOutput { 527 return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 528 } 529 530 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 531 // 532 // Deprecated: Please use `tags` instead. 533 func (o FeatureOutput) TagsAll() pulumi.StringMapOutput { 534 return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 535 } 536 537 // Defines the type of value used to define the different feature variations. Valid Values: `STRING`, `LONG`, `DOUBLE`, `BOOLEAN`. 538 func (o FeatureOutput) ValueType() pulumi.StringOutput { 539 return o.ApplyT(func(v *Feature) pulumi.StringOutput { return v.ValueType }).(pulumi.StringOutput) 540 } 541 542 // One or more blocks that contain the configuration of the feature's different variations. Detailed below 543 func (o FeatureOutput) Variations() FeatureVariationArrayOutput { 544 return o.ApplyT(func(v *Feature) FeatureVariationArrayOutput { return v.Variations }).(FeatureVariationArrayOutput) 545 } 546 547 type FeatureArrayOutput struct{ *pulumi.OutputState } 548 549 func (FeatureArrayOutput) ElementType() reflect.Type { 550 return reflect.TypeOf((*[]*Feature)(nil)).Elem() 551 } 552 553 func (o FeatureArrayOutput) ToFeatureArrayOutput() FeatureArrayOutput { 554 return o 555 } 556 557 func (o FeatureArrayOutput) ToFeatureArrayOutputWithContext(ctx context.Context) FeatureArrayOutput { 558 return o 559 } 560 561 func (o FeatureArrayOutput) Index(i pulumi.IntInput) FeatureOutput { 562 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Feature { 563 return vs[0].([]*Feature)[vs[1].(int)] 564 }).(FeatureOutput) 565 } 566 567 type FeatureMapOutput struct{ *pulumi.OutputState } 568 569 func (FeatureMapOutput) ElementType() reflect.Type { 570 return reflect.TypeOf((*map[string]*Feature)(nil)).Elem() 571 } 572 573 func (o FeatureMapOutput) ToFeatureMapOutput() FeatureMapOutput { 574 return o 575 } 576 577 func (o FeatureMapOutput) ToFeatureMapOutputWithContext(ctx context.Context) FeatureMapOutput { 578 return o 579 } 580 581 func (o FeatureMapOutput) MapIndex(k pulumi.StringInput) FeatureOutput { 582 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Feature { 583 return vs[0].(map[string]*Feature)[vs[1].(string)] 584 }).(FeatureOutput) 585 } 586 587 func init() { 588 pulumi.RegisterInputType(reflect.TypeOf((*FeatureInput)(nil)).Elem(), &Feature{}) 589 pulumi.RegisterInputType(reflect.TypeOf((*FeatureArrayInput)(nil)).Elem(), FeatureArray{}) 590 pulumi.RegisterInputType(reflect.TypeOf((*FeatureMapInput)(nil)).Elem(), FeatureMap{}) 591 pulumi.RegisterOutputType(FeatureOutput{}) 592 pulumi.RegisterOutputType(FeatureArrayOutput{}) 593 pulumi.RegisterOutputType(FeatureMapOutput{}) 594 }