Class: AWSCDK::Evidently::CfnLaunchProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
evidently/cfn_launch_props.rb

Overview

Properties for defining a CfnLaunch.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(groups:, name:, project:, scheduled_splits_config:, description: nil, execution_status: nil, metric_monitors: nil, randomization_salt: nil, tags: nil) ⇒ CfnLaunchProps

Returns a new instance of CfnLaunchProps.

Parameters:



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'evidently/cfn_launch_props.rb', line 18

def initialize(groups:, name:, project:, scheduled_splits_config:, description: nil, execution_status: nil, metric_monitors: nil, randomization_salt: nil, tags: nil)
  @groups = groups
  Jsii::Type.check_type(@groups, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZpZGVudGx5LkNmbkxhdW5jaC5MYXVuY2hHcm91cE9iamVjdFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "groups")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @project = project
  Jsii::Type.check_type(@project, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19ldmlkZW50bHkuSVByb2plY3RSZWYifV19fQ==")), "project")
  @scheduled_splits_config = scheduled_splits_config
  Jsii::Type.check_type(@scheduled_splits_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZpZGVudGx5LkNmbkxhdW5jaC5TdGVwQ29uZmlnUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "scheduledSplitsConfig")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @execution_status = execution_status.is_a?(Hash) ? ::AWSCDK::Evidently::CfnLaunch::ExecutionStatusObjectProperty.new(**execution_status.transform_keys(&:to_sym)) : execution_status
  Jsii::Type.check_type(@execution_status, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldmlkZW50bHkuQ2ZuTGF1bmNoLkV4ZWN1dGlvblN0YXR1c09iamVjdFByb3BlcnR5In1dfX0=")), "executionStatus") unless @execution_status.nil?
  @metric_monitors = metric_monitors
  Jsii::Type.check_type(@metric_monitors, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZpZGVudGx5LkNmbkxhdW5jaC5NZXRyaWNEZWZpbml0aW9uT2JqZWN0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "metricMonitors") unless @metric_monitors.nil?
  @randomization_salt = randomization_salt
  Jsii::Type.check_type(@randomization_salt, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "randomizationSalt") unless @randomization_salt.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#descriptionString? (readonly)

An optional description for the launch.



67
68
69
# File 'evidently/cfn_launch_props.rb', line 67

def description
  @description
end

#execution_statusAWSCDK::IResolvable, ... (readonly)

A structure that you can use to start and stop the launch.



72
73
74
# File 'evidently/cfn_launch_props.rb', line 72

def execution_status
  @execution_status
end

#groupsAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Evidently::CfnLaunch::LaunchGroupObjectProperty> (readonly)

An array of structures that contains the feature and variations that are to be used for the launch.

You can up to five launch groups in a launch.



45
46
47
# File 'evidently/cfn_launch_props.rb', line 45

def groups
  @groups
end

#metric_monitorsAWSCDK::IResolvable, ... (readonly)

An array of structures that define the metrics that will be used to monitor the launch performance.

You can have up to three metric monitors in the array.



79
80
81
# File 'evidently/cfn_launch_props.rb', line 79

def metric_monitors
  @metric_monitors
end

#nameString (readonly)

The name for the launch.

It can include up to 127 characters.



52
53
54
# File 'evidently/cfn_launch_props.rb', line 52

def name
  @name
end

#projectString, AWSCDK::Interfaces::AWSEvidently::IProjectRef (readonly)

The name or ARN of the project that you want to create the launch in.



57
58
59
# File 'evidently/cfn_launch_props.rb', line 57

def project
  @project
end

#randomization_saltString? (readonly)

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 randomization_salt . If you omit randomization_salt , Evidently uses the launch name as the randomizations_salt .



86
87
88
# File 'evidently/cfn_launch_props.rb', line 86

def randomization_salt
  @randomization_salt
end

#scheduled_splits_configAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Evidently::CfnLaunch::StepConfigProperty> (readonly)

An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.



62
63
64
# File 'evidently/cfn_launch_props.rb', line 62

def scheduled_splits_config
  @scheduled_splits_config
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Assigns one or more tags (key-value pairs) to the launch.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can associate as many as 50 tags with a launch.

For more information, see Tagging AWS resources .



99
100
101
# File 'evidently/cfn_launch_props.rb', line 99

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'evidently/cfn_launch_props.rb', line 101

def self.jsii_properties
  {
    :groups => "groups",
    :name => "name",
    :project => "project",
    :scheduled_splits_config => "scheduledSplitsConfig",
    :description => "description",
    :execution_status => "executionStatus",
    :metric_monitors => "metricMonitors",
    :randomization_salt => "randomizationSalt",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'evidently/cfn_launch_props.rb', line 115

def to_jsii
  result = {}
  result.merge!({
    "groups" => @groups,
    "name" => @name,
    "project" => @project,
    "scheduledSplitsConfig" => @scheduled_splits_config,
    "description" => @description,
    "executionStatus" => @execution_status,
    "metricMonitors" => @metric_monitors,
    "randomizationSalt" => @randomization_salt,
    "tags" => @tags,
  })
  result.compact
end