Class: AWSCDK::Evidently::CfnExperiment

Inherits:
CfnResource
  • Object
show all
Includes:
IInspectable, ITaggable, Interfaces::AWSEvidently::IExperimentRef
Defined in:
evidently/cfn_experiment.rb

Overview

Creates or updates an Evidently experiment .

Before you create an experiment, you must create the feature to use for the experiment.

An experiment helps you make feature design decisions based on evidence and data. An experiment can test as many as five variations at once. Evidently collects experiment data and analyzes it by statistical methods, and provides clear recommendations about which variations perform better.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, id, props) ⇒ CfnExperiment

Create a new AWS::Evidently::Experiment.

Parameters:

  • scope (Constructs::Construct)

    Scope in which this resource is defined.

  • id (String)

    Construct identifier for this resource (unique in its scope).

  • props (AWSCDK::Evidently::CfnExperimentProps)

    Resource properties.



22
23
24
25
26
27
28
# File 'evidently/cfn_experiment.rb', line 22

def initialize(scope, id, props)
  props = props.is_a?(Hash) ? ::AWSCDK::Evidently::CfnExperimentProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZpZGVudGx5LkNmbkV4cGVyaW1lbnRQcm9wcyJ9")), "props")
  Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props)
end

Class Method Details

.arn_for_experiment(resource) ⇒ String

Parameters:

Returns:

  • (String)


87
88
89
90
# File 'evidently/cfn_experiment.rb', line 87

def self.arn_for_experiment(resource)
  Jsii::Type.check_type(resource, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19ldmlkZW50bHkuSUV4cGVyaW1lbnRSZWYifQ==")), "resource")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_evidently.CfnExperiment", "arnForExperiment", [resource])
end

.CFN_RESOURCE_TYPE_NAMEString

The CloudFormation resource type name for this resource class.

Returns:

  • (String)


194
195
196
# File 'evidently/cfn_experiment.rb', line 194

def self.CFN_RESOURCE_TYPE_NAME()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_evidently.CfnExperiment", "CFN_RESOURCE_TYPE_NAME")
end

.is_cfn_experiment(x) ⇒ Boolean

Checks whether the given object is a CfnExperiment.

Parameters:

  • x (Object)

Returns:

  • (Boolean)


96
97
98
99
# File 'evidently/cfn_experiment.rb', line 96

def self.is_cfn_experiment(x)
  Jsii::Type.check_type(x, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "x")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_evidently.CfnExperiment", "isCfnExperiment", [x])
end

.jsii_overridable_methodsObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'evidently/cfn_experiment.rb', line 30

def self.jsii_overridable_methods
  {
    :node => { kind: :property, name: "node", is_optional: false },
    :creation_stack => { kind: :property, name: "creationStack", is_optional: false },
    :logical_id => { kind: :property, name: "logicalId", is_optional: false },
    :stack => { kind: :property, name: "stack", is_optional: false },
    :ref => { kind: :property, name: "ref", is_optional: false },
    :cfn_options => { kind: :property, name: "cfnOptions", is_optional: false },
    :cfn_properties => { kind: :property, name: "cfnProperties", is_optional: false },
    :cfn_property_names => { kind: :property, name: "cfnPropertyNames", is_optional: false },
    :cfn_resource_type => { kind: :property, name: "cfnResourceType", is_optional: false },
    :env => { kind: :property, name: "env", is_optional: false },
    :updated_properites => { kind: :property, name: "updatedProperites", is_optional: false },
    :updated_properties => { kind: :property, name: "updatedProperties", is_optional: false },
    :attr_arn => { kind: :property, name: "attrArn", is_optional: false },
    :experiment_ref => { kind: :property, name: "experimentRef", is_optional: false },
    :tags => { kind: :property, name: "tags", is_optional: false },
    :metric_goals => { kind: :property, name: "metricGoals", is_optional: false },
    :name => { kind: :property, name: "name", is_optional: false },
    :online_ab_config => { kind: :property, name: "onlineAbConfig", is_optional: false },
    :project => { kind: :property, name: "project", is_optional: false },
    :treatments => { kind: :property, name: "treatments", is_optional: false },
    :description => { kind: :property, name: "description", is_optional: true },
    :randomization_salt => { kind: :property, name: "randomizationSalt", is_optional: true },
    :remove_segment => { kind: :property, name: "removeSegment", is_optional: true },
    :running_status => { kind: :property, name: "runningStatus", is_optional: true },
    :sampling_rate => { kind: :property, name: "samplingRate", is_optional: true },
    :segment => { kind: :property, name: "segment", is_optional: true },
    :tags_raw => { kind: :property, name: "tagsRaw", is_optional: true },
    :to_string => { kind: :method, name: "toString", is_optional: false },
    :with => { kind: :method, name: "with", is_optional: false },
    :override_logical_id => { kind: :method, name: "overrideLogicalId", is_optional: false },
    :add_deletion_override => { kind: :method, name: "addDeletionOverride", is_optional: false },
    :add_dependency => { kind: :method, name: "addDependency", is_optional: false },
    :add_depends_on => { kind: :method, name: "addDependsOn", is_optional: false },
    :add_metadata => { kind: :method, name: "addMetadata", is_optional: false },
    :add_override => { kind: :method, name: "addOverride", is_optional: false },
    :add_property_deletion_override => { kind: :method, name: "addPropertyDeletionOverride", is_optional: false },
    :add_property_override => { kind: :method, name: "addPropertyOverride", is_optional: false },
    :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false },
    :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false },
    :cfn_property_name => { kind: :method, name: "cfnPropertyName", is_optional: false },
    :get_att => { kind: :method, name: "getAtt", is_optional: false },
    :get_metadata => { kind: :method, name: "getMetadata", is_optional: false },
    :obtain_dependencies => { kind: :method, name: "obtainDependencies", is_optional: false },
    :obtain_resource_dependencies => { kind: :method, name: "obtainResourceDependencies", is_optional: false },
    :remove_dependency => { kind: :method, name: "removeDependency", is_optional: false },
    :render_properties => { kind: :method, name: "renderProperties", is_optional: false },
    :replace_dependency => { kind: :method, name: "replaceDependency", is_optional: false },
    :should_synthesize => { kind: :method, name: "shouldSynthesize", is_optional: false },
    :validate_properties => { kind: :method, name: "validateProperties", is_optional: false },
    :inspect => { kind: :method, name: "inspect", is_optional: false },
  }
end

Instance Method Details

#add_deletion_override(path) ⇒ void

This method returns an undefined value.

Syntactic sugar for addOverride(path, undefined).

Parameters:

  • path (String)

    The path of the value to delete.



404
405
406
407
# File 'evidently/cfn_experiment.rb', line 404

def add_deletion_override(path)
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  jsii_call_method("addDeletionOverride", [path])
end

#add_dependency(target) ⇒ void

This method returns an undefined value.

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:



416
417
418
419
# File 'evidently/cfn_experiment.rb', line 416

def add_dependency(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("addDependency", [target])
end

#add_depends_on(target) ⇒ void

Deprecated.

use addDependency

This method returns an undefined value.

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

Parameters:



426
427
428
429
# File 'evidently/cfn_experiment.rb', line 426

def add_depends_on(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("addDependsOn", [target])
end

#add_metadata(key, value) ⇒ void

This method returns an undefined value.

Add a value to the CloudFormation Resource Metadata.



437
438
439
440
441
# File 'evidently/cfn_experiment.rb', line 437

def (key, value)
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addMetadata", [key, value])
end

#add_override(path, value) ⇒ void

This method returns an undefined value.

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use add_property_override or prefix path with "Properties." (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example,

# Example automatically generated from non-compiling source. May contain errors.
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to add_override will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:

  • path (String)
    • The path of the property, you can use dot notation to override values in complex types.
  • value (Object)
    • The value.


494
495
496
497
498
# File 'evidently/cfn_experiment.rb', line 494

def add_override(path, value)
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addOverride", [path, value])
end

#add_property_deletion_override(property_path) ⇒ void

This method returns an undefined value.

Adds an override that deletes the value of a property from the resource definition.

Parameters:

  • property_path (String)

    The path to the property.



504
505
506
507
# File 'evidently/cfn_experiment.rb', line 504

def add_property_deletion_override(property_path)
  Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath")
  jsii_call_method("addPropertyDeletionOverride", [property_path])
end

#add_property_override(property_path, value) ⇒ void

This method returns an undefined value.

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:

  • property_path (String)

    The path of the property.

  • value (Object)

    The value.



516
517
518
519
520
# File 'evidently/cfn_experiment.rb', line 516

def add_property_override(property_path, value)
  Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addPropertyOverride", [property_path, value])
end

#apply_cross_stack_reference_strength(strength) ⇒ void

This method returns an undefined value.

Sets the cross-stack reference strength for this resource.

When set, any cross-stack reference to this resource will use the specified strength instead of the global default from the consuming stack's context.

Parameters:



529
530
531
532
# File 'evidently/cfn_experiment.rb', line 529

def apply_cross_stack_reference_strength(strength)
  Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength")
  jsii_call_method("applyCrossStackReferenceStrength", [strength])
end

#apply_removal_policy(policy = nil, options = nil) ⇒ void

This method returns an undefined value.

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:



551
552
553
554
555
556
# File 'evidently/cfn_experiment.rb', line 551

def apply_removal_policy(policy = nil, options = nil)
  Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy") unless policy.nil?
  options = options.is_a?(Hash) ? ::AWSCDK::RemovalPolicyOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5T3B0aW9ucyJ9")), "options") unless options.nil?
  jsii_call_method("applyRemovalPolicy", [policy, options])
end

#attr_arnString

The ARN of the experiment.

For example, arn:aws:evidently:us-west-2:0123455678912:project/myProject/experiment/myExperiment

Returns:

  • (String)


203
204
205
# File 'evidently/cfn_experiment.rb', line 203

def attr_arn()
  jsii_get_property("attrArn")
end

#cfn_optionsAWSCDK::ICfnResourceOptions

Options for this resource, such as condition, update policy etc.



147
148
149
# File 'evidently/cfn_experiment.rb', line 147

def cfn_options()
  jsii_get_property("cfnOptions")
end

#cfn_propertiesHash{String => Object}

Returns:

  • (Hash{String => Object})


152
153
154
# File 'evidently/cfn_experiment.rb', line 152

def cfn_properties()
  jsii_get_property("cfnProperties")
end

#cfn_property_name(cdk_property_name) ⇒ String?

Parameters:

  • cdk_property_name (String)

Returns:

  • (String, nil)


560
561
562
563
# File 'evidently/cfn_experiment.rb', line 560

def cfn_property_name(cdk_property_name)
  Jsii::Type.check_type(cdk_property_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cdkPropertyName")
  jsii_call_method("cfnPropertyName", [cdk_property_name])
end

#cfn_property_namesHash{String => String}

Returns:

  • (Hash{String => String})


157
158
159
# File 'evidently/cfn_experiment.rb', line 157

def cfn_property_names()
  jsii_get_property("cfnPropertyNames")
end

#cfn_resource_typeString

AWS resource type.

Returns:

  • (String)


164
165
166
# File 'evidently/cfn_experiment.rb', line 164

def cfn_resource_type()
  jsii_get_property("cfnResourceType")
end

#creation_stackArray<String>

Returns:

  • (Array<String>)


109
110
111
# File 'evidently/cfn_experiment.rb', line 109

def creation_stack()
  jsii_get_property("creationStack")
end

#descriptionString?

An optional description of the experiment.

Returns:

  • (String, nil)


285
286
287
# File 'evidently/cfn_experiment.rb', line 285

def description()
  jsii_get_property("description")
end

#description=(value) ⇒ Object



289
290
291
292
# File 'evidently/cfn_experiment.rb', line 289

def description=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless value.nil?
  jsii_set_property("description", value)
end

#envAWSCDK::Interfaces::ResourceEnvironment



169
170
171
# File 'evidently/cfn_experiment.rb', line 169

def env()
  jsii_get_property("env")
end

#experiment_refAWSCDK::Interfaces::AWSEvidently::ExperimentReference

A reference to a Experiment resource.



210
211
212
# File 'evidently/cfn_experiment.rb', line 210

def experiment_ref()
  jsii_get_property("experimentRef")
end

#get_att(attribute_name, type_hint = nil) ⇒ AWSCDK::Reference

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:

Returns:



573
574
575
576
577
# File 'evidently/cfn_experiment.rb', line 573

def get_att(attribute_name, type_hint = nil)
  Jsii::Type.check_type(attribute_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "attributeName")
  Jsii::Type.check_type(type_hint, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZXNvbHV0aW9uVHlwZUhpbnQifQ==")), "typeHint") unless type_hint.nil?
  jsii_call_method("getAtt", [attribute_name, type_hint])
end

#get_metadata(key) ⇒ Object

Retrieve a value value from the CloudFormation Resource Metadata.



584
585
586
587
# File 'evidently/cfn_experiment.rb', line 584

def (key)
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  jsii_call_method("getMetadata", [key])
end

#inspect(inspector) ⇒ void

This method returns an undefined value.

Examines the CloudFormation resource and discloses attributes.

Parameters:



654
655
656
657
# File 'evidently/cfn_experiment.rb', line 654

def inspect(inspector)
  Jsii::Type.check_type(inspector, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UcmVlSW5zcGVjdG9yIn0=")), "inspector")
  jsii_call_method("inspect", [inspector])
end

#logical_idString

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use override_logical_id(new_logical_id).

Returns:

  • (String)


121
122
123
# File 'evidently/cfn_experiment.rb', line 121

def logical_id()
  jsii_get_property("logicalId")
end

#metric_goalsAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Evidently::CfnExperiment::MetricGoalObjectProperty>

An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.



224
225
226
# File 'evidently/cfn_experiment.rb', line 224

def metric_goals()
  jsii_get_property("metricGoals")
end

#metric_goals=(value) ⇒ Object



228
229
230
231
# File 'evidently/cfn_experiment.rb', line 228

def metric_goals=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZpZGVudGx5LkNmbkV4cGVyaW1lbnQuTWV0cmljR29hbE9iamVjdFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "metricGoals")
  jsii_set_property("metricGoals", value)
end

#nameString

A name for the new experiment.

Returns:

  • (String)


236
237
238
# File 'evidently/cfn_experiment.rb', line 236

def name()
  jsii_get_property("name")
end

#name=(value) ⇒ Object



240
241
242
243
# File 'evidently/cfn_experiment.rb', line 240

def name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  jsii_set_property("name", value)
end

#nodeConstructs::Node

The tree node.

Returns:

  • (Constructs::Node)


104
105
106
# File 'evidently/cfn_experiment.rb', line 104

def node()
  jsii_get_property("node")
end

#obtain_dependenciesArray<AWSCDK::CfnResource, AWSCDK::Stack>

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

Returns:



595
596
597
# File 'evidently/cfn_experiment.rb', line 595

def obtain_dependencies()
  jsii_call_method("obtainDependencies", [])
end

#obtain_resource_dependenciesArray<AWSCDK::CfnResource>

Get a shallow copy of dependencies between this resource and other resources in the same stack.

Returns:



602
603
604
# File 'evidently/cfn_experiment.rb', line 602

def obtain_resource_dependencies()
  jsii_call_method("obtainResourceDependencies", [])
end

#online_ab_configAWSCDK::IResolvable, AWSCDK::Evidently::CfnExperiment::OnlineAbConfigObjectProperty

A structure that contains the configuration of which variation to use as the "control" version.



248
249
250
# File 'evidently/cfn_experiment.rb', line 248

def online_ab_config()
  jsii_get_property("onlineAbConfig")
end

#online_ab_config=(value) ⇒ Object



252
253
254
255
256
# File 'evidently/cfn_experiment.rb', line 252

def online_ab_config=(value)
  value = value.is_a?(Hash) ? ::AWSCDK::Evidently::CfnExperiment::OnlineAbConfigObjectProperty.new(**value.transform_keys(&:to_sym)) : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldmlkZW50bHkuQ2ZuRXhwZXJpbWVudC5PbmxpbmVBYkNvbmZpZ09iamVjdFByb3BlcnR5In1dfX0=")), "onlineAbConfig")
  jsii_set_property("onlineAbConfig", value)
end

#override_logical_id(new_logical_id) ⇒ void

This method returns an undefined value.

Overrides the auto-generated logical ID with a specific ID.

Parameters:

  • new_logical_id (String)

    The new logical ID to use for this stack element.



395
396
397
398
# File 'evidently/cfn_experiment.rb', line 395

def override_logical_id(new_logical_id)
  Jsii::Type.check_type(new_logical_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "newLogicalId")
  jsii_call_method("overrideLogicalId", [new_logical_id])
end

#projectString

The name or the ARN of the project where this experiment is to be created.

Returns:

  • (String)


261
262
263
# File 'evidently/cfn_experiment.rb', line 261

def project()
  jsii_get_property("project")
end

#project=(value) ⇒ Object



265
266
267
268
# File 'evidently/cfn_experiment.rb', line 265

def project=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "project")
  jsii_set_property("project", value)
end

#randomization_saltString?

When Evidently assigns a particular user session to an experiment, it must use a randomization ID to determine which variation the user session is served.

Returns:

  • (String, nil)


297
298
299
# File 'evidently/cfn_experiment.rb', line 297

def randomization_salt()
  jsii_get_property("randomizationSalt")
end

#randomization_salt=(value) ⇒ Object



301
302
303
304
# File 'evidently/cfn_experiment.rb', line 301

def randomization_salt=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "randomizationSalt") unless value.nil?
  jsii_set_property("randomizationSalt", value)
end

#refString

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

Returns:

  • (String)


140
141
142
# File 'evidently/cfn_experiment.rb', line 140

def ref()
  jsii_get_property("ref")
end

#remove_dependency(target) ⇒ void

This method returns an undefined value.

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

Parameters:



613
614
615
616
# File 'evidently/cfn_experiment.rb', line 613

def remove_dependency(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("removeDependency", [target])
end

#remove_segmentBoolean, ...

Set this to true to remove the segment that is associated with this experiment.

Returns:



309
310
311
# File 'evidently/cfn_experiment.rb', line 309

def remove_segment()
  jsii_get_property("removeSegment")
end

#remove_segment=(value) ⇒ Object



313
314
315
316
# File 'evidently/cfn_experiment.rb', line 313

def remove_segment=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "removeSegment") unless value.nil?
  jsii_set_property("removeSegment", value)
end

#render_properties(props) ⇒ Hash{String => Object}

Parameters:

  • props (Hash{String => Object})

Returns:

  • (Hash{String => Object})


620
621
622
623
# File 'evidently/cfn_experiment.rb', line 620

def render_properties(props)
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "props")
  jsii_call_method("renderProperties", [props])
end

#replace_dependency(target, new_target) ⇒ void

This method returns an undefined value.

Replaces one dependency with another.

Parameters:



630
631
632
633
634
# File 'evidently/cfn_experiment.rb', line 630

def replace_dependency(target, new_target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  Jsii::Type.check_type(new_target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "newTarget")
  jsii_call_method("replaceDependency", [target, new_target])
end

#running_statusAWSCDK::IResolvable, ...

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



321
322
323
# File 'evidently/cfn_experiment.rb', line 321

def running_status()
  jsii_get_property("runningStatus")
end

#running_status=(value) ⇒ Object



325
326
327
328
329
# File 'evidently/cfn_experiment.rb', line 325

def running_status=(value)
  value = value.is_a?(Hash) ? ::AWSCDK::Evidently::CfnExperiment::RunningStatusObjectProperty.new(**value.transform_keys(&:to_sym)) : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldmlkZW50bHkuQ2ZuRXhwZXJpbWVudC5SdW5uaW5nU3RhdHVzT2JqZWN0UHJvcGVydHkifV19fQ==")), "runningStatus") unless value.nil?
  jsii_set_property("runningStatus", value)
end

#sampling_rateNumeric?

The portion of the available audience that you want to allocate to this experiment, in thousandths of a percent.

Returns:

  • (Numeric, nil)


334
335
336
# File 'evidently/cfn_experiment.rb', line 334

def sampling_rate()
  jsii_get_property("samplingRate")
end

#sampling_rate=(value) ⇒ Object



338
339
340
341
# File 'evidently/cfn_experiment.rb', line 338

def sampling_rate=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "samplingRate") unless value.nil?
  jsii_set_property("samplingRate", value)
end

#segmentString?

Specifies an audience segment to use in the experiment.

Returns:

  • (String, nil)


346
347
348
# File 'evidently/cfn_experiment.rb', line 346

def segment()
  jsii_get_property("segment")
end

#segment=(value) ⇒ Object



350
351
352
353
# File 'evidently/cfn_experiment.rb', line 350

def segment=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "segment") unless value.nil?
  jsii_set_property("segment", value)
end

#should_synthesizeBoolean

Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.

Returns:

  • (Boolean)

    true if the resource should be included or false is the resource should be omitted.



639
640
641
# File 'evidently/cfn_experiment.rb', line 639

def should_synthesize()
  jsii_call_method("shouldSynthesize", [])
end

#stackAWSCDK::Stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

Returns:



130
131
132
# File 'evidently/cfn_experiment.rb', line 130

def stack()
  jsii_get_property("stack")
end

#tagsAWSCDK::TagManager

Tag Manager which manages the tags for this resource.

Returns:



217
218
219
# File 'evidently/cfn_experiment.rb', line 217

def tags()
  jsii_get_property("tags")
end

#tags_rawArray<AWSCDK::CfnTag>?

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

Returns:



358
359
360
# File 'evidently/cfn_experiment.rb', line 358

def tags_raw()
  jsii_get_property("tagsRaw")
end

#tags_raw=(value) ⇒ Object



362
363
364
365
366
# File 'evidently/cfn_experiment.rb', line 362

def tags_raw=(value)
  value = value.is_a?(Array) ? value.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tagsRaw") unless value.nil?
  jsii_set_property("tagsRaw", value)
end

#to_stringString

Returns a string representation of this construct.

Returns:

  • (String)

    a string representation of this resource



371
372
373
# File 'evidently/cfn_experiment.rb', line 371

def to_string()
  jsii_call_method("toString", [])
end

#treatmentsAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Evidently::CfnExperiment::TreatmentObjectProperty>

An array of structures that describe the configuration of each feature variation used in the experiment.



273
274
275
# File 'evidently/cfn_experiment.rb', line 273

def treatments()
  jsii_get_property("treatments")
end

#treatments=(value) ⇒ Object



277
278
279
280
# File 'evidently/cfn_experiment.rb', line 277

def treatments=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZpZGVudGx5LkNmbkV4cGVyaW1lbnQuVHJlYXRtZW50T2JqZWN0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "treatments")
  jsii_set_property("treatments", value)
end

#updated_properitesHash{String => Object}

Deprecated.

use updatedProperties Return properties modified after initiation Resources that expose mutable properties should override this function to collect and return the properties object for this resource.

Deprecated.

Returns:

  • (Hash{String => Object})


177
178
179
# File 'evidently/cfn_experiment.rb', line 177

def updated_properites()
  jsii_get_property("updatedProperites")
end

#updated_propertiesHash{String => Object}

Return properties modified after initiation.

Resources that expose mutable properties should override this function to collect and return the properties object for this resource.

Returns:

  • (Hash{String => Object})


187
188
189
# File 'evidently/cfn_experiment.rb', line 187

def updated_properties()
  jsii_get_property("updatedProperties")
end

#validate_properties(_properties) ⇒ void

This method returns an undefined value.

Parameters:

  • _properties (Object)


645
646
647
648
# File 'evidently/cfn_experiment.rb', line 645

def validate_properties(_properties)
  Jsii::Type.check_type(_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "_properties")
  jsii_call_method("validateProperties", [_properties])
end

#with(*mixins) ⇒ Constructs::IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

Parameters:

  • mixins (Array<Constructs::IMixin>)

Returns:

  • (Constructs::IConstruct)


384
385
386
387
388
389
# File 'evidently/cfn_experiment.rb', line 384

def with(*mixins)
  mixins.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]")
  end
  jsii_call_method("with", [*mixins])
end