Class: AWSCDK::StepFunctions::CfnStateMachineProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
step_functions/cfn_state_machine_props.rb

Overview

Properties for defining a CfnStateMachine.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(role_arn:, definition: nil, definition_s3_location: nil, definition_string: nil, definition_substitutions: nil, encryption_configuration: nil, logging_configuration: nil, state_machine_name: nil, state_machine_type: nil, tags: nil, tracing_configuration: nil) ⇒ CfnStateMachineProps

Returns a new instance of CfnStateMachineProps.

Parameters:



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'step_functions/cfn_state_machine_props.rb', line 20

def initialize(role_arn:, definition: nil, definition_s3_location: nil, definition_string: nil, definition_substitutions: nil, encryption_configuration: nil, logging_configuration: nil, state_machine_name: nil, state_machine_type: nil, tags: nil, tracing_configuration: nil)
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "roleArn")
  @definition = definition
  Jsii::Type.check_type(@definition, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "definition") unless @definition.nil?
  @definition_s3_location = definition_s3_location.is_a?(Hash) ? ::AWSCDK::StepFunctions::CfnStateMachine::S3LocationProperty.new(**definition_s3_location.transform_keys(&:to_sym)) : definition_s3_location
  Jsii::Type.check_type(@definition_s3_location, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zdGVwZnVuY3Rpb25zLkNmblN0YXRlTWFjaGluZS5TM0xvY2F0aW9uUHJvcGVydHkifV19fQ==")), "definitionS3Location") unless @definition_s3_location.nil?
  @definition_string = definition_string
  Jsii::Type.check_type(@definition_string, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19keW5hbW9kYi5JVGFibGVSZWYifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2Vjcy5JVGFza0RlZmluaXRpb25SZWYifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2xhbWJkYS5JRnVuY3Rpb25SZWYifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2xhbWJkYS5JVmVyc2lvblJlZiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuaW50ZXJmYWNlcy5hd3Nfc25zLklUb3BpY1JlZiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuaW50ZXJmYWNlcy5hd3Nfc3FzLklRdWV1ZVJlZiJ9XX19")), "definitionString") unless @definition_string.nil?
  @definition_substitutions = definition_substitutions
  Jsii::Type.check_type(@definition_substitutions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "definitionSubstitutions") unless @definition_substitutions.nil?
  @encryption_configuration = encryption_configuration.is_a?(Hash) ? ::AWSCDK::StepFunctions::CfnStateMachine::EncryptionConfigurationProperty.new(**encryption_configuration.transform_keys(&:to_sym)) : encryption_configuration
  Jsii::Type.check_type(@encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zdGVwZnVuY3Rpb25zLkNmblN0YXRlTWFjaGluZS5FbmNyeXB0aW9uQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "encryptionConfiguration") unless @encryption_configuration.nil?
  @logging_configuration = logging_configuration.is_a?(Hash) ? ::AWSCDK::StepFunctions::CfnStateMachine::LoggingConfigurationProperty.new(**logging_configuration.transform_keys(&:to_sym)) : logging_configuration
  Jsii::Type.check_type(@logging_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zdGVwZnVuY3Rpb25zLkNmblN0YXRlTWFjaGluZS5Mb2dnaW5nQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "loggingConfiguration") unless @logging_configuration.nil?
  @state_machine_name = state_machine_name
  Jsii::Type.check_type(@state_machine_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "stateMachineName") unless @state_machine_name.nil?
  @state_machine_type = state_machine_type
  Jsii::Type.check_type(@state_machine_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "stateMachineType") unless @state_machine_type.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::StepFunctions::CfnStateMachine::TagsEntryProperty.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zdGVwZnVuY3Rpb25zLkNmblN0YXRlTWFjaGluZS5UYWdzRW50cnlQcm9wZXJ0eSJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @tracing_configuration = tracing_configuration.is_a?(Hash) ? ::AWSCDK::StepFunctions::CfnStateMachine::TracingConfigurationProperty.new(**tracing_configuration.transform_keys(&:to_sym)) : tracing_configuration
  Jsii::Type.check_type(@tracing_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zdGVwZnVuY3Rpb25zLkNmblN0YXRlTWFjaGluZS5UcmFjaW5nQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "tracingConfiguration") unless @tracing_configuration.nil?
end

Instance Attribute Details

#definitionObject? (readonly)

The Amazon States Language definition of the state machine.

The state machine definition must be in JSON or YAML, and the format of the object must match the format of your CloudFormation template file. See Amazon States Language .



56
57
58
# File 'step_functions/cfn_state_machine_props.rb', line 56

def definition
  @definition
end

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

The name of the S3 bucket where the state machine definition is stored.

The state machine definition must be a JSON or YAML file.



63
64
65
# File 'step_functions/cfn_state_machine_props.rb', line 63

def definition_s3_location
  @definition_s3_location
end

#definition_stringString, ... (readonly)

The Amazon States Language definition of the state machine.

The state machine definition must be in JSON. See Amazon States Language .



70
71
72
# File 'step_functions/cfn_state_machine_props.rb', line 70

def definition_string
  @definition_string
end

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

A map (string to string) that specifies the mappings for placeholder variables in the state machine definition.

This enables the customer to inject values obtained at runtime, for example from intrinsic functions, in the state machine definition. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map.

Substitutions must follow the syntax: ${key_name} or ${variable_1,variable_2,...} .



79
80
81
# File 'step_functions/cfn_state_machine_props.rb', line 79

def definition_substitutions
  @definition_substitutions
end

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

Encryption configuration for the state machine.



84
85
86
# File 'step_functions/cfn_state_machine_props.rb', line 84

def encryption_configuration
  @encryption_configuration
end

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

Defines what execution history events are logged and where they are logged.

By default, the level is set to OFF . For more information see Log Levels in the AWS Step Functions User Guide.



91
92
93
# File 'step_functions/cfn_state_machine_props.rb', line 91

def logging_configuration
  @logging_configuration
end

#role_arnString, AWSCDK::Interfaces::AWSIAM::IRoleRef (readonly)

The Amazon Resource Name (ARN) of the IAM role to use for this state machine.



49
50
51
# File 'step_functions/cfn_state_machine_props.rb', line 49

def role_arn
  @role_arn
end

#state_machine_nameString? (readonly)

The name of the state machine.

A name must not contain:

  • white space
  • brackets < > { } [ ]
  • wildcard characters ? *
  • special characters " # % \ ^ | ~ $ & , ; : /`
  • control characters ( U+0000-001F , U+007F-009F )

If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.



106
107
108
# File 'step_functions/cfn_state_machine_props.rb', line 106

def state_machine_name
  @state_machine_name
end

#state_machine_typeString? (readonly)

Determines whether a STANDARD or EXPRESS state machine is created.

The default is STANDARD . You cannot update the type of a state machine once it has been created. For more information on STANDARD and EXPRESS workflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide.



113
114
115
# File 'step_functions/cfn_state_machine_props.rb', line 113

def state_machine_type
  @state_machine_type
end

#tagsArray<AWSCDK::StepFunctions::CfnStateMachine::TagsEntryProperty>? (readonly)

The list of tags to add to a resource.

Tags may only contain Unicode letters, digits, white space, or these symbols: `_ . : / = + -



120
121
122
# File 'step_functions/cfn_state_machine_props.rb', line 120

def tags
  @tags
end

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

Selects whether or not the state machine's AWS X-Ray tracing is enabled.



125
126
127
# File 'step_functions/cfn_state_machine_props.rb', line 125

def tracing_configuration
  @tracing_configuration
end

Class Method Details

.jsii_propertiesObject



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'step_functions/cfn_state_machine_props.rb', line 127

def self.jsii_properties
  {
    :role_arn => "roleArn",
    :definition => "definition",
    :definition_s3_location => "definitionS3Location",
    :definition_string => "definitionString",
    :definition_substitutions => "definitionSubstitutions",
    :encryption_configuration => "encryptionConfiguration",
    :logging_configuration => "loggingConfiguration",
    :state_machine_name => "stateMachineName",
    :state_machine_type => "stateMachineType",
    :tags => "tags",
    :tracing_configuration => "tracingConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'step_functions/cfn_state_machine_props.rb', line 143

def to_jsii
  result = {}
  result.merge!({
    "roleArn" => @role_arn,
    "definition" => @definition,
    "definitionS3Location" => @definition_s3_location,
    "definitionString" => @definition_string,
    "definitionSubstitutions" => @definition_substitutions,
    "encryptionConfiguration" => @encryption_configuration,
    "loggingConfiguration" => @logging_configuration,
    "stateMachineName" => @state_machine_name,
    "stateMachineType" => @state_machine_type,
    "tags" => @tags,
    "tracingConfiguration" => @tracing_configuration,
  })
  result.compact
end