github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/evidently/launch.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 Launch 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.NewLaunch(ctx, "example", &evidently.LaunchArgs{ 35 // Name: pulumi.String("example"), 36 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 37 // Groups: evidently.LaunchGroupArray{ 38 // &evidently.LaunchGroupArgs{ 39 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 40 // Name: pulumi.String("Variation1"), 41 // Variation: pulumi.String("Variation1"), 42 // }, 43 // }, 44 // ScheduledSplitsConfig: &evidently.LaunchScheduledSplitsConfigArgs{ 45 // Steps: evidently.LaunchScheduledSplitsConfigStepArray{ 46 // &evidently.LaunchScheduledSplitsConfigStepArgs{ 47 // GroupWeights: pulumi.IntMap{ 48 // "Variation1": pulumi.Int(0), 49 // }, 50 // StartTime: pulumi.String("2024-01-07 01:43:59+00:00"), 51 // }, 52 // }, 53 // }, 54 // }) 55 // if err != nil { 56 // return err 57 // } 58 // return nil 59 // }) 60 // } 61 // 62 // ``` 63 // <!--End PulumiCodeChooser --> 64 // 65 // ### With description 66 // 67 // <!--Start PulumiCodeChooser --> 68 // ```go 69 // package main 70 // 71 // import ( 72 // 73 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 74 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 75 // 76 // ) 77 // 78 // func main() { 79 // pulumi.Run(func(ctx *pulumi.Context) error { 80 // _, err := evidently.NewLaunch(ctx, "example", &evidently.LaunchArgs{ 81 // Name: pulumi.String("example"), 82 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 83 // Description: pulumi.String("example description"), 84 // Groups: evidently.LaunchGroupArray{ 85 // &evidently.LaunchGroupArgs{ 86 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 87 // Name: pulumi.String("Variation1"), 88 // Variation: pulumi.String("Variation1"), 89 // }, 90 // }, 91 // ScheduledSplitsConfig: &evidently.LaunchScheduledSplitsConfigArgs{ 92 // Steps: evidently.LaunchScheduledSplitsConfigStepArray{ 93 // &evidently.LaunchScheduledSplitsConfigStepArgs{ 94 // GroupWeights: pulumi.IntMap{ 95 // "Variation1": pulumi.Int(0), 96 // }, 97 // StartTime: pulumi.String("2024-01-07 01:43:59+00:00"), 98 // }, 99 // }, 100 // }, 101 // }) 102 // if err != nil { 103 // return err 104 // } 105 // return nil 106 // }) 107 // } 108 // 109 // ``` 110 // <!--End PulumiCodeChooser --> 111 // 112 // ### With multiple groups 113 // 114 // <!--Start PulumiCodeChooser --> 115 // ```go 116 // package main 117 // 118 // import ( 119 // 120 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 121 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 122 // 123 // ) 124 // 125 // func main() { 126 // pulumi.Run(func(ctx *pulumi.Context) error { 127 // _, err := evidently.NewLaunch(ctx, "example", &evidently.LaunchArgs{ 128 // Name: pulumi.String("example"), 129 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 130 // Groups: evidently.LaunchGroupArray{ 131 // &evidently.LaunchGroupArgs{ 132 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 133 // Name: pulumi.String("Variation1"), 134 // Variation: pulumi.String("Variation1"), 135 // Description: pulumi.String("first-group"), 136 // }, 137 // &evidently.LaunchGroupArgs{ 138 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 139 // Name: pulumi.String("Variation2"), 140 // Variation: pulumi.String("Variation2"), 141 // Description: pulumi.String("second-group"), 142 // }, 143 // }, 144 // ScheduledSplitsConfig: &evidently.LaunchScheduledSplitsConfigArgs{ 145 // Steps: evidently.LaunchScheduledSplitsConfigStepArray{ 146 // &evidently.LaunchScheduledSplitsConfigStepArgs{ 147 // GroupWeights: pulumi.IntMap{ 148 // "Variation1": pulumi.Int(0), 149 // "Variation2": pulumi.Int(0), 150 // }, 151 // StartTime: pulumi.String("2024-01-07 01:43:59+00:00"), 152 // }, 153 // }, 154 // }, 155 // }) 156 // if err != nil { 157 // return err 158 // } 159 // return nil 160 // }) 161 // } 162 // 163 // ``` 164 // <!--End PulumiCodeChooser --> 165 // 166 // ### With metricMonitors 167 // 168 // <!--Start PulumiCodeChooser --> 169 // ```go 170 // package main 171 // 172 // import ( 173 // 174 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 175 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 176 // 177 // ) 178 // 179 // func main() { 180 // pulumi.Run(func(ctx *pulumi.Context) error { 181 // _, err := evidently.NewLaunch(ctx, "example", &evidently.LaunchArgs{ 182 // Name: pulumi.String("example"), 183 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 184 // Groups: evidently.LaunchGroupArray{ 185 // &evidently.LaunchGroupArgs{ 186 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 187 // Name: pulumi.String("Variation1"), 188 // Variation: pulumi.String("Variation1"), 189 // }, 190 // }, 191 // MetricMonitors: evidently.LaunchMetricMonitorArray{ 192 // &evidently.LaunchMetricMonitorArgs{ 193 // MetricDefinition: &evidently.LaunchMetricMonitorMetricDefinitionArgs{ 194 // EntityIdKey: pulumi.String("entity_id_key1"), 195 // EventPattern: pulumi.String("{\"Price\":[{\"numeric\":[\">\",11,\"<=\",22]}]}"), 196 // Name: pulumi.String("name1"), 197 // UnitLabel: pulumi.String("unit_label1"), 198 // ValueKey: pulumi.String("value_key1"), 199 // }, 200 // }, 201 // &evidently.LaunchMetricMonitorArgs{ 202 // MetricDefinition: &evidently.LaunchMetricMonitorMetricDefinitionArgs{ 203 // EntityIdKey: pulumi.String("entity_id_key2"), 204 // EventPattern: pulumi.String("{\"Price\":[{\"numeric\":[\">\",9,\"<=\",19]}]}"), 205 // Name: pulumi.String("name2"), 206 // UnitLabel: pulumi.String("unit_label2"), 207 // ValueKey: pulumi.String("value_key2"), 208 // }, 209 // }, 210 // }, 211 // ScheduledSplitsConfig: &evidently.LaunchScheduledSplitsConfigArgs{ 212 // Steps: evidently.LaunchScheduledSplitsConfigStepArray{ 213 // &evidently.LaunchScheduledSplitsConfigStepArgs{ 214 // GroupWeights: pulumi.IntMap{ 215 // "Variation1": pulumi.Int(0), 216 // }, 217 // StartTime: pulumi.String("2024-01-07 01:43:59+00:00"), 218 // }, 219 // }, 220 // }, 221 // }) 222 // if err != nil { 223 // return err 224 // } 225 // return nil 226 // }) 227 // } 228 // 229 // ``` 230 // <!--End PulumiCodeChooser --> 231 // 232 // ### With randomizationSalt 233 // 234 // <!--Start PulumiCodeChooser --> 235 // ```go 236 // package main 237 // 238 // import ( 239 // 240 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 241 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 242 // 243 // ) 244 // 245 // func main() { 246 // pulumi.Run(func(ctx *pulumi.Context) error { 247 // _, err := evidently.NewLaunch(ctx, "example", &evidently.LaunchArgs{ 248 // Name: pulumi.String("example"), 249 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 250 // RandomizationSalt: pulumi.String("example randomization salt"), 251 // Groups: evidently.LaunchGroupArray{ 252 // &evidently.LaunchGroupArgs{ 253 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 254 // Name: pulumi.String("Variation1"), 255 // Variation: pulumi.String("Variation1"), 256 // }, 257 // }, 258 // ScheduledSplitsConfig: &evidently.LaunchScheduledSplitsConfigArgs{ 259 // Steps: evidently.LaunchScheduledSplitsConfigStepArray{ 260 // &evidently.LaunchScheduledSplitsConfigStepArgs{ 261 // GroupWeights: pulumi.IntMap{ 262 // "Variation1": pulumi.Int(0), 263 // }, 264 // StartTime: pulumi.String("2024-01-07 01:43:59+00:00"), 265 // }, 266 // }, 267 // }, 268 // }) 269 // if err != nil { 270 // return err 271 // } 272 // return nil 273 // }) 274 // } 275 // 276 // ``` 277 // <!--End PulumiCodeChooser --> 278 // 279 // ### With multiple steps 280 // 281 // <!--Start PulumiCodeChooser --> 282 // ```go 283 // package main 284 // 285 // import ( 286 // 287 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 288 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 289 // 290 // ) 291 // 292 // func main() { 293 // pulumi.Run(func(ctx *pulumi.Context) error { 294 // _, err := evidently.NewLaunch(ctx, "example", &evidently.LaunchArgs{ 295 // Name: pulumi.String("example"), 296 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 297 // Groups: evidently.LaunchGroupArray{ 298 // &evidently.LaunchGroupArgs{ 299 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 300 // Name: pulumi.String("Variation1"), 301 // Variation: pulumi.String("Variation1"), 302 // }, 303 // &evidently.LaunchGroupArgs{ 304 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 305 // Name: pulumi.String("Variation2"), 306 // Variation: pulumi.String("Variation2"), 307 // }, 308 // }, 309 // ScheduledSplitsConfig: &evidently.LaunchScheduledSplitsConfigArgs{ 310 // Steps: evidently.LaunchScheduledSplitsConfigStepArray{ 311 // &evidently.LaunchScheduledSplitsConfigStepArgs{ 312 // GroupWeights: pulumi.IntMap{ 313 // "Variation1": pulumi.Int(15), 314 // "Variation2": pulumi.Int(10), 315 // }, 316 // StartTime: pulumi.String("2024-01-07 01:43:59+00:00"), 317 // }, 318 // &evidently.LaunchScheduledSplitsConfigStepArgs{ 319 // GroupWeights: pulumi.IntMap{ 320 // "Variation1": pulumi.Int(20), 321 // "Variation2": pulumi.Int(25), 322 // }, 323 // StartTime: pulumi.String("2024-01-08 01:43:59+00:00"), 324 // }, 325 // }, 326 // }, 327 // }) 328 // if err != nil { 329 // return err 330 // } 331 // return nil 332 // }) 333 // } 334 // 335 // ``` 336 // <!--End PulumiCodeChooser --> 337 // 338 // ### With segment overrides 339 // 340 // <!--Start PulumiCodeChooser --> 341 // ```go 342 // package main 343 // 344 // import ( 345 // 346 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently" 347 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 348 // 349 // ) 350 // 351 // func main() { 352 // pulumi.Run(func(ctx *pulumi.Context) error { 353 // _, err := evidently.NewLaunch(ctx, "example", &evidently.LaunchArgs{ 354 // Name: pulumi.String("example"), 355 // Project: pulumi.Any(exampleAwsEvidentlyProject.Name), 356 // Groups: evidently.LaunchGroupArray{ 357 // &evidently.LaunchGroupArgs{ 358 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 359 // Name: pulumi.String("Variation1"), 360 // Variation: pulumi.String("Variation1"), 361 // }, 362 // &evidently.LaunchGroupArgs{ 363 // Feature: pulumi.Any(exampleAwsEvidentlyFeature.Name), 364 // Name: pulumi.String("Variation2"), 365 // Variation: pulumi.String("Variation2"), 366 // }, 367 // }, 368 // ScheduledSplitsConfig: &evidently.LaunchScheduledSplitsConfigArgs{ 369 // Steps: evidently.LaunchScheduledSplitsConfigStepArray{ 370 // &evidently.LaunchScheduledSplitsConfigStepArgs{ 371 // GroupWeights: pulumi.IntMap{ 372 // "Variation1": pulumi.Int(0), 373 // "Variation2": pulumi.Int(0), 374 // }, 375 // SegmentOverrides: evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArray{ 376 // &evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs{ 377 // EvaluationOrder: pulumi.Int(1), 378 // Segment: pulumi.Any(exampleAwsEvidentlySegment.Name), 379 // Weights: pulumi.IntMap{ 380 // "Variation2": pulumi.Int(10000), 381 // }, 382 // }, 383 // &evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs{ 384 // EvaluationOrder: pulumi.Int(2), 385 // Segment: pulumi.Any(exampleAwsEvidentlySegment.Name), 386 // Weights: pulumi.IntMap{ 387 // "Variation1": pulumi.Int(40000), 388 // "Variation2": pulumi.Int(30000), 389 // }, 390 // }, 391 // }, 392 // StartTime: pulumi.String("2024-01-08 01:43:59+00:00"), 393 // }, 394 // }, 395 // }, 396 // }) 397 // if err != nil { 398 // return err 399 // } 400 // return nil 401 // }) 402 // } 403 // 404 // ``` 405 // <!--End PulumiCodeChooser --> 406 // 407 // ## Import 408 // 409 // Import using the `name` of the launch and `arn` of the project separated by a `:`: 410 // 411 // __Using `pulumi import` to import__ CloudWatch Evidently Launch using the `name` of the launch and `name` of the project or `arn` of the hosting CloudWatch Evidently Project separated by a `:`. For example: 412 // 413 // Import using the `name` of the launch and `name` of the project separated by a `:`: 414 // 415 // ```sh 416 // $ pulumi import aws:evidently/launch:Launch example exampleLaunchName:exampleProjectName 417 // ``` 418 // Import using the `name` of the launch and `arn` of the project separated by a `:`: 419 // 420 // ```sh 421 // $ pulumi import aws:evidently/launch:Launch example exampleLaunchName:arn:aws:evidently:us-east-1:123456789012:project/exampleProjectName 422 // ``` 423 type Launch struct { 424 pulumi.CustomResourceState 425 426 // The ARN of the launch. 427 Arn pulumi.StringOutput `pulumi:"arn"` 428 // The date and time that the launch is created. 429 CreatedTime pulumi.StringOutput `pulumi:"createdTime"` 430 // Specifies the description of the launch. 431 Description pulumi.StringPtrOutput `pulumi:"description"` 432 // A block that contains information about the start and end times of the launch. Detailed below 433 Executions LaunchExecutionArrayOutput `pulumi:"executions"` 434 // One or up to five blocks that contain the feature and variations that are to be used for the launch. Detailed below. 435 Groups LaunchGroupArrayOutput `pulumi:"groups"` 436 // The date and time that the launch was most recently updated. 437 LastUpdatedTime pulumi.StringOutput `pulumi:"lastUpdatedTime"` 438 // One or up to three blocks that define the metrics that will be used to monitor the launch performance. Detailed below. 439 MetricMonitors LaunchMetricMonitorArrayOutput `pulumi:"metricMonitors"` 440 // The name for the new launch. Minimum length of `1`. Maximum length of `127`. 441 Name pulumi.StringOutput `pulumi:"name"` 442 // The name or ARN of the project that is to contain the new launch. 443 Project pulumi.StringOutput `pulumi:"project"` 444 // When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the launch name as the randomizationSalt. 445 RandomizationSalt pulumi.StringPtrOutput `pulumi:"randomizationSalt"` 446 // A block that defines the traffic allocation percentages among the feature variations during each step of the launch. Detailed below. 447 ScheduledSplitsConfig LaunchScheduledSplitsConfigPtrOutput `pulumi:"scheduledSplitsConfig"` 448 // The current state of the launch. Valid values are `CREATED`, `UPDATING`, `RUNNING`, `COMPLETED`, and `CANCELLED`. 449 Status pulumi.StringOutput `pulumi:"status"` 450 // If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped. 451 StatusReason pulumi.StringOutput `pulumi:"statusReason"` 452 // Tags to apply to the launch. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 453 Tags pulumi.StringMapOutput `pulumi:"tags"` 454 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 455 // 456 // Deprecated: Please use `tags` instead. 457 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 458 // The type of launch. 459 Type pulumi.StringOutput `pulumi:"type"` 460 } 461 462 // NewLaunch registers a new resource with the given unique name, arguments, and options. 463 func NewLaunch(ctx *pulumi.Context, 464 name string, args *LaunchArgs, opts ...pulumi.ResourceOption) (*Launch, error) { 465 if args == nil { 466 return nil, errors.New("missing one or more required arguments") 467 } 468 469 if args.Groups == nil { 470 return nil, errors.New("invalid value for required argument 'Groups'") 471 } 472 if args.Project == nil { 473 return nil, errors.New("invalid value for required argument 'Project'") 474 } 475 opts = internal.PkgResourceDefaultOpts(opts) 476 var resource Launch 477 err := ctx.RegisterResource("aws:evidently/launch:Launch", name, args, &resource, opts...) 478 if err != nil { 479 return nil, err 480 } 481 return &resource, nil 482 } 483 484 // GetLaunch gets an existing Launch resource's state with the given name, ID, and optional 485 // state properties that are used to uniquely qualify the lookup (nil if not required). 486 func GetLaunch(ctx *pulumi.Context, 487 name string, id pulumi.IDInput, state *LaunchState, opts ...pulumi.ResourceOption) (*Launch, error) { 488 var resource Launch 489 err := ctx.ReadResource("aws:evidently/launch:Launch", name, id, state, &resource, opts...) 490 if err != nil { 491 return nil, err 492 } 493 return &resource, nil 494 } 495 496 // Input properties used for looking up and filtering Launch resources. 497 type launchState struct { 498 // The ARN of the launch. 499 Arn *string `pulumi:"arn"` 500 // The date and time that the launch is created. 501 CreatedTime *string `pulumi:"createdTime"` 502 // Specifies the description of the launch. 503 Description *string `pulumi:"description"` 504 // A block that contains information about the start and end times of the launch. Detailed below 505 Executions []LaunchExecution `pulumi:"executions"` 506 // One or up to five blocks that contain the feature and variations that are to be used for the launch. Detailed below. 507 Groups []LaunchGroup `pulumi:"groups"` 508 // The date and time that the launch was most recently updated. 509 LastUpdatedTime *string `pulumi:"lastUpdatedTime"` 510 // One or up to three blocks that define the metrics that will be used to monitor the launch performance. Detailed below. 511 MetricMonitors []LaunchMetricMonitor `pulumi:"metricMonitors"` 512 // The name for the new launch. Minimum length of `1`. Maximum length of `127`. 513 Name *string `pulumi:"name"` 514 // The name or ARN of the project that is to contain the new launch. 515 Project *string `pulumi:"project"` 516 // When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the launch name as the randomizationSalt. 517 RandomizationSalt *string `pulumi:"randomizationSalt"` 518 // A block that defines the traffic allocation percentages among the feature variations during each step of the launch. Detailed below. 519 ScheduledSplitsConfig *LaunchScheduledSplitsConfig `pulumi:"scheduledSplitsConfig"` 520 // The current state of the launch. Valid values are `CREATED`, `UPDATING`, `RUNNING`, `COMPLETED`, and `CANCELLED`. 521 Status *string `pulumi:"status"` 522 // If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped. 523 StatusReason *string `pulumi:"statusReason"` 524 // Tags to apply to the launch. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 525 Tags map[string]string `pulumi:"tags"` 526 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 527 // 528 // Deprecated: Please use `tags` instead. 529 TagsAll map[string]string `pulumi:"tagsAll"` 530 // The type of launch. 531 Type *string `pulumi:"type"` 532 } 533 534 type LaunchState struct { 535 // The ARN of the launch. 536 Arn pulumi.StringPtrInput 537 // The date and time that the launch is created. 538 CreatedTime pulumi.StringPtrInput 539 // Specifies the description of the launch. 540 Description pulumi.StringPtrInput 541 // A block that contains information about the start and end times of the launch. Detailed below 542 Executions LaunchExecutionArrayInput 543 // One or up to five blocks that contain the feature and variations that are to be used for the launch. Detailed below. 544 Groups LaunchGroupArrayInput 545 // The date and time that the launch was most recently updated. 546 LastUpdatedTime pulumi.StringPtrInput 547 // One or up to three blocks that define the metrics that will be used to monitor the launch performance. Detailed below. 548 MetricMonitors LaunchMetricMonitorArrayInput 549 // The name for the new launch. Minimum length of `1`. Maximum length of `127`. 550 Name pulumi.StringPtrInput 551 // The name or ARN of the project that is to contain the new launch. 552 Project pulumi.StringPtrInput 553 // When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the launch name as the randomizationSalt. 554 RandomizationSalt pulumi.StringPtrInput 555 // A block that defines the traffic allocation percentages among the feature variations during each step of the launch. Detailed below. 556 ScheduledSplitsConfig LaunchScheduledSplitsConfigPtrInput 557 // The current state of the launch. Valid values are `CREATED`, `UPDATING`, `RUNNING`, `COMPLETED`, and `CANCELLED`. 558 Status pulumi.StringPtrInput 559 // If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped. 560 StatusReason pulumi.StringPtrInput 561 // Tags to apply to the launch. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 562 Tags pulumi.StringMapInput 563 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 564 // 565 // Deprecated: Please use `tags` instead. 566 TagsAll pulumi.StringMapInput 567 // The type of launch. 568 Type pulumi.StringPtrInput 569 } 570 571 func (LaunchState) ElementType() reflect.Type { 572 return reflect.TypeOf((*launchState)(nil)).Elem() 573 } 574 575 type launchArgs struct { 576 // Specifies the description of the launch. 577 Description *string `pulumi:"description"` 578 // One or up to five blocks that contain the feature and variations that are to be used for the launch. Detailed below. 579 Groups []LaunchGroup `pulumi:"groups"` 580 // One or up to three blocks that define the metrics that will be used to monitor the launch performance. Detailed below. 581 MetricMonitors []LaunchMetricMonitor `pulumi:"metricMonitors"` 582 // The name for the new launch. Minimum length of `1`. Maximum length of `127`. 583 Name *string `pulumi:"name"` 584 // The name or ARN of the project that is to contain the new launch. 585 Project string `pulumi:"project"` 586 // When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the launch name as the randomizationSalt. 587 RandomizationSalt *string `pulumi:"randomizationSalt"` 588 // A block that defines the traffic allocation percentages among the feature variations during each step of the launch. Detailed below. 589 ScheduledSplitsConfig *LaunchScheduledSplitsConfig `pulumi:"scheduledSplitsConfig"` 590 // Tags to apply to the launch. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 591 Tags map[string]string `pulumi:"tags"` 592 } 593 594 // The set of arguments for constructing a Launch resource. 595 type LaunchArgs struct { 596 // Specifies the description of the launch. 597 Description pulumi.StringPtrInput 598 // One or up to five blocks that contain the feature and variations that are to be used for the launch. Detailed below. 599 Groups LaunchGroupArrayInput 600 // One or up to three blocks that define the metrics that will be used to monitor the launch performance. Detailed below. 601 MetricMonitors LaunchMetricMonitorArrayInput 602 // The name for the new launch. Minimum length of `1`. Maximum length of `127`. 603 Name pulumi.StringPtrInput 604 // The name or ARN of the project that is to contain the new launch. 605 Project pulumi.StringInput 606 // When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the launch name as the randomizationSalt. 607 RandomizationSalt pulumi.StringPtrInput 608 // A block that defines the traffic allocation percentages among the feature variations during each step of the launch. Detailed below. 609 ScheduledSplitsConfig LaunchScheduledSplitsConfigPtrInput 610 // Tags to apply to the launch. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 611 Tags pulumi.StringMapInput 612 } 613 614 func (LaunchArgs) ElementType() reflect.Type { 615 return reflect.TypeOf((*launchArgs)(nil)).Elem() 616 } 617 618 type LaunchInput interface { 619 pulumi.Input 620 621 ToLaunchOutput() LaunchOutput 622 ToLaunchOutputWithContext(ctx context.Context) LaunchOutput 623 } 624 625 func (*Launch) ElementType() reflect.Type { 626 return reflect.TypeOf((**Launch)(nil)).Elem() 627 } 628 629 func (i *Launch) ToLaunchOutput() LaunchOutput { 630 return i.ToLaunchOutputWithContext(context.Background()) 631 } 632 633 func (i *Launch) ToLaunchOutputWithContext(ctx context.Context) LaunchOutput { 634 return pulumi.ToOutputWithContext(ctx, i).(LaunchOutput) 635 } 636 637 // LaunchArrayInput is an input type that accepts LaunchArray and LaunchArrayOutput values. 638 // You can construct a concrete instance of `LaunchArrayInput` via: 639 // 640 // LaunchArray{ LaunchArgs{...} } 641 type LaunchArrayInput interface { 642 pulumi.Input 643 644 ToLaunchArrayOutput() LaunchArrayOutput 645 ToLaunchArrayOutputWithContext(context.Context) LaunchArrayOutput 646 } 647 648 type LaunchArray []LaunchInput 649 650 func (LaunchArray) ElementType() reflect.Type { 651 return reflect.TypeOf((*[]*Launch)(nil)).Elem() 652 } 653 654 func (i LaunchArray) ToLaunchArrayOutput() LaunchArrayOutput { 655 return i.ToLaunchArrayOutputWithContext(context.Background()) 656 } 657 658 func (i LaunchArray) ToLaunchArrayOutputWithContext(ctx context.Context) LaunchArrayOutput { 659 return pulumi.ToOutputWithContext(ctx, i).(LaunchArrayOutput) 660 } 661 662 // LaunchMapInput is an input type that accepts LaunchMap and LaunchMapOutput values. 663 // You can construct a concrete instance of `LaunchMapInput` via: 664 // 665 // LaunchMap{ "key": LaunchArgs{...} } 666 type LaunchMapInput interface { 667 pulumi.Input 668 669 ToLaunchMapOutput() LaunchMapOutput 670 ToLaunchMapOutputWithContext(context.Context) LaunchMapOutput 671 } 672 673 type LaunchMap map[string]LaunchInput 674 675 func (LaunchMap) ElementType() reflect.Type { 676 return reflect.TypeOf((*map[string]*Launch)(nil)).Elem() 677 } 678 679 func (i LaunchMap) ToLaunchMapOutput() LaunchMapOutput { 680 return i.ToLaunchMapOutputWithContext(context.Background()) 681 } 682 683 func (i LaunchMap) ToLaunchMapOutputWithContext(ctx context.Context) LaunchMapOutput { 684 return pulumi.ToOutputWithContext(ctx, i).(LaunchMapOutput) 685 } 686 687 type LaunchOutput struct{ *pulumi.OutputState } 688 689 func (LaunchOutput) ElementType() reflect.Type { 690 return reflect.TypeOf((**Launch)(nil)).Elem() 691 } 692 693 func (o LaunchOutput) ToLaunchOutput() LaunchOutput { 694 return o 695 } 696 697 func (o LaunchOutput) ToLaunchOutputWithContext(ctx context.Context) LaunchOutput { 698 return o 699 } 700 701 // The ARN of the launch. 702 func (o LaunchOutput) Arn() pulumi.StringOutput { 703 return o.ApplyT(func(v *Launch) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 704 } 705 706 // The date and time that the launch is created. 707 func (o LaunchOutput) CreatedTime() pulumi.StringOutput { 708 return o.ApplyT(func(v *Launch) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput) 709 } 710 711 // Specifies the description of the launch. 712 func (o LaunchOutput) Description() pulumi.StringPtrOutput { 713 return o.ApplyT(func(v *Launch) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 714 } 715 716 // A block that contains information about the start and end times of the launch. Detailed below 717 func (o LaunchOutput) Executions() LaunchExecutionArrayOutput { 718 return o.ApplyT(func(v *Launch) LaunchExecutionArrayOutput { return v.Executions }).(LaunchExecutionArrayOutput) 719 } 720 721 // One or up to five blocks that contain the feature and variations that are to be used for the launch. Detailed below. 722 func (o LaunchOutput) Groups() LaunchGroupArrayOutput { 723 return o.ApplyT(func(v *Launch) LaunchGroupArrayOutput { return v.Groups }).(LaunchGroupArrayOutput) 724 } 725 726 // The date and time that the launch was most recently updated. 727 func (o LaunchOutput) LastUpdatedTime() pulumi.StringOutput { 728 return o.ApplyT(func(v *Launch) pulumi.StringOutput { return v.LastUpdatedTime }).(pulumi.StringOutput) 729 } 730 731 // One or up to three blocks that define the metrics that will be used to monitor the launch performance. Detailed below. 732 func (o LaunchOutput) MetricMonitors() LaunchMetricMonitorArrayOutput { 733 return o.ApplyT(func(v *Launch) LaunchMetricMonitorArrayOutput { return v.MetricMonitors }).(LaunchMetricMonitorArrayOutput) 734 } 735 736 // The name for the new launch. Minimum length of `1`. Maximum length of `127`. 737 func (o LaunchOutput) Name() pulumi.StringOutput { 738 return o.ApplyT(func(v *Launch) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 739 } 740 741 // The name or ARN of the project that is to contain the new launch. 742 func (o LaunchOutput) Project() pulumi.StringOutput { 743 return o.ApplyT(func(v *Launch) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) 744 } 745 746 // When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the launch name as the randomizationSalt. 747 func (o LaunchOutput) RandomizationSalt() pulumi.StringPtrOutput { 748 return o.ApplyT(func(v *Launch) pulumi.StringPtrOutput { return v.RandomizationSalt }).(pulumi.StringPtrOutput) 749 } 750 751 // A block that defines the traffic allocation percentages among the feature variations during each step of the launch. Detailed below. 752 func (o LaunchOutput) ScheduledSplitsConfig() LaunchScheduledSplitsConfigPtrOutput { 753 return o.ApplyT(func(v *Launch) LaunchScheduledSplitsConfigPtrOutput { return v.ScheduledSplitsConfig }).(LaunchScheduledSplitsConfigPtrOutput) 754 } 755 756 // The current state of the launch. Valid values are `CREATED`, `UPDATING`, `RUNNING`, `COMPLETED`, and `CANCELLED`. 757 func (o LaunchOutput) Status() pulumi.StringOutput { 758 return o.ApplyT(func(v *Launch) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) 759 } 760 761 // If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped. 762 func (o LaunchOutput) StatusReason() pulumi.StringOutput { 763 return o.ApplyT(func(v *Launch) pulumi.StringOutput { return v.StatusReason }).(pulumi.StringOutput) 764 } 765 766 // Tags to apply to the launch. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 767 func (o LaunchOutput) Tags() pulumi.StringMapOutput { 768 return o.ApplyT(func(v *Launch) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 769 } 770 771 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 772 // 773 // Deprecated: Please use `tags` instead. 774 func (o LaunchOutput) TagsAll() pulumi.StringMapOutput { 775 return o.ApplyT(func(v *Launch) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 776 } 777 778 // The type of launch. 779 func (o LaunchOutput) Type() pulumi.StringOutput { 780 return o.ApplyT(func(v *Launch) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) 781 } 782 783 type LaunchArrayOutput struct{ *pulumi.OutputState } 784 785 func (LaunchArrayOutput) ElementType() reflect.Type { 786 return reflect.TypeOf((*[]*Launch)(nil)).Elem() 787 } 788 789 func (o LaunchArrayOutput) ToLaunchArrayOutput() LaunchArrayOutput { 790 return o 791 } 792 793 func (o LaunchArrayOutput) ToLaunchArrayOutputWithContext(ctx context.Context) LaunchArrayOutput { 794 return o 795 } 796 797 func (o LaunchArrayOutput) Index(i pulumi.IntInput) LaunchOutput { 798 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Launch { 799 return vs[0].([]*Launch)[vs[1].(int)] 800 }).(LaunchOutput) 801 } 802 803 type LaunchMapOutput struct{ *pulumi.OutputState } 804 805 func (LaunchMapOutput) ElementType() reflect.Type { 806 return reflect.TypeOf((*map[string]*Launch)(nil)).Elem() 807 } 808 809 func (o LaunchMapOutput) ToLaunchMapOutput() LaunchMapOutput { 810 return o 811 } 812 813 func (o LaunchMapOutput) ToLaunchMapOutputWithContext(ctx context.Context) LaunchMapOutput { 814 return o 815 } 816 817 func (o LaunchMapOutput) MapIndex(k pulumi.StringInput) LaunchOutput { 818 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Launch { 819 return vs[0].(map[string]*Launch)[vs[1].(string)] 820 }).(LaunchOutput) 821 } 822 823 func init() { 824 pulumi.RegisterInputType(reflect.TypeOf((*LaunchInput)(nil)).Elem(), &Launch{}) 825 pulumi.RegisterInputType(reflect.TypeOf((*LaunchArrayInput)(nil)).Elem(), LaunchArray{}) 826 pulumi.RegisterInputType(reflect.TypeOf((*LaunchMapInput)(nil)).Elem(), LaunchMap{}) 827 pulumi.RegisterOutputType(LaunchOutput{}) 828 pulumi.RegisterOutputType(LaunchArrayOutput{}) 829 pulumi.RegisterOutputType(LaunchMapOutput{}) 830 }