Class: AWSCDK::EMRServerless::CfnApplicationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
emr_serverless/cfn_application_props.rb

Overview

Properties for defining a CfnApplication.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(release_label:, type:, architecture: nil, auto_start_configuration: nil, auto_stop_configuration: nil, identity_center_configuration: nil, image_configuration: nil, initial_capacity: nil, interactive_configuration: nil, maximum_capacity: nil, monitoring_configuration: nil, name: nil, network_configuration: nil, runtime_configuration: nil, scheduler_configuration: nil, tags: nil, worker_type_specifications: nil) ⇒ CfnApplicationProps

Returns a new instance of CfnApplicationProps.

Parameters:



26
27
28
29
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
# File 'emr_serverless/cfn_application_props.rb', line 26

def initialize(release_label:, type:, architecture: nil, auto_start_configuration: nil, auto_stop_configuration: nil, identity_center_configuration: nil, image_configuration: nil, initial_capacity: nil, interactive_configuration: nil, maximum_capacity: nil, monitoring_configuration: nil, name: nil, network_configuration: nil, runtime_configuration: nil, scheduler_configuration: nil, tags: nil, worker_type_specifications: nil)
  @release_label = release_label
  Jsii::Type.check_type(@release_label, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "releaseLabel")
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @architecture = architecture
  Jsii::Type.check_type(@architecture, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "architecture") unless @architecture.nil?
  @auto_start_configuration = auto_start_configuration.is_a?(Hash) ? ::AWSCDK::EMRServerless::CfnApplication::AutoStartConfigurationProperty.new(**auto_start_configuration.transform_keys(&:to_sym)) : auto_start_configuration
  Jsii::Type.check_type(@auto_start_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXJzZXJ2ZXJsZXNzLkNmbkFwcGxpY2F0aW9uLkF1dG9TdGFydENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "autoStartConfiguration") unless @auto_start_configuration.nil?
  @auto_stop_configuration = auto_stop_configuration.is_a?(Hash) ? ::AWSCDK::EMRServerless::CfnApplication::AutoStopConfigurationProperty.new(**auto_stop_configuration.transform_keys(&:to_sym)) : auto_stop_configuration
  Jsii::Type.check_type(@auto_stop_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXJzZXJ2ZXJsZXNzLkNmbkFwcGxpY2F0aW9uLkF1dG9TdG9wQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "autoStopConfiguration") unless @auto_stop_configuration.nil?
  @identity_center_configuration = identity_center_configuration.is_a?(Hash) ? ::AWSCDK::EMRServerless::CfnApplication::IdentityCenterConfigurationProperty.new(**identity_center_configuration.transform_keys(&:to_sym)) : identity_center_configuration
  Jsii::Type.check_type(@identity_center_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXJzZXJ2ZXJsZXNzLkNmbkFwcGxpY2F0aW9uLklkZW50aXR5Q2VudGVyQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "identityCenterConfiguration") unless @identity_center_configuration.nil?
  @image_configuration = image_configuration.is_a?(Hash) ? ::AWSCDK::EMRServerless::CfnApplication::ImageConfigurationInputProperty.new(**image_configuration.transform_keys(&:to_sym)) : image_configuration
  Jsii::Type.check_type(@image_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXJzZXJ2ZXJsZXNzLkNmbkFwcGxpY2F0aW9uLkltYWdlQ29uZmlndXJhdGlvbklucHV0UHJvcGVydHkifV19fQ==")), "imageConfiguration") unless @image_configuration.nil?
  @initial_capacity = initial_capacity
  Jsii::Type.check_type(@initial_capacity, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW1yc2VydmVybGVzcy5DZm5BcHBsaWNhdGlvbi5Jbml0aWFsQ2FwYWNpdHlDb25maWdLZXlWYWx1ZVBhaXJQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "initialCapacity") unless @initial_capacity.nil?
  @interactive_configuration = interactive_configuration.is_a?(Hash) ? ::AWSCDK::EMRServerless::CfnApplication::InteractiveConfigurationProperty.new(**interactive_configuration.transform_keys(&:to_sym)) : interactive_configuration
  Jsii::Type.check_type(@interactive_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXJzZXJ2ZXJsZXNzLkNmbkFwcGxpY2F0aW9uLkludGVyYWN0aXZlQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "interactiveConfiguration") unless @interactive_configuration.nil?
  @maximum_capacity = maximum_capacity.is_a?(Hash) ? ::AWSCDK::EMRServerless::CfnApplication::MaximumAllowedResourcesProperty.new(**maximum_capacity.transform_keys(&:to_sym)) : maximum_capacity
  Jsii::Type.check_type(@maximum_capacity, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXJzZXJ2ZXJsZXNzLkNmbkFwcGxpY2F0aW9uLk1heGltdW1BbGxvd2VkUmVzb3VyY2VzUHJvcGVydHkifV19fQ==")), "maximumCapacity") unless @maximum_capacity.nil?
  @monitoring_configuration = monitoring_configuration.is_a?(Hash) ? ::AWSCDK::EMRServerless::CfnApplication::MonitoringConfigurationProperty.new(**monitoring_configuration.transform_keys(&:to_sym)) : monitoring_configuration
  Jsii::Type.check_type(@monitoring_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXJzZXJ2ZXJsZXNzLkNmbkFwcGxpY2F0aW9uLk1vbml0b3JpbmdDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "monitoringConfiguration") unless @monitoring_configuration.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @network_configuration = network_configuration.is_a?(Hash) ? ::AWSCDK::EMRServerless::CfnApplication::NetworkConfigurationProperty.new(**network_configuration.transform_keys(&:to_sym)) : network_configuration
  Jsii::Type.check_type(@network_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXJzZXJ2ZXJsZXNzLkNmbkFwcGxpY2F0aW9uLk5ldHdvcmtDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "networkConfiguration") unless @network_configuration.nil?
  @runtime_configuration = runtime_configuration
  Jsii::Type.check_type(@runtime_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW1yc2VydmVybGVzcy5DZm5BcHBsaWNhdGlvbi5Db25maWd1cmF0aW9uT2JqZWN0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "runtimeConfiguration") unless @runtime_configuration.nil?
  @scheduler_configuration = scheduler_configuration.is_a?(Hash) ? ::AWSCDK::EMRServerless::CfnApplication::SchedulerConfigurationProperty.new(**scheduler_configuration.transform_keys(&:to_sym)) : scheduler_configuration
  Jsii::Type.check_type(@scheduler_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXJzZXJ2ZXJsZXNzLkNmbkFwcGxpY2F0aW9uLlNjaGVkdWxlckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "schedulerConfiguration") unless @scheduler_configuration.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?
  @worker_type_specifications = worker_type_specifications
  Jsii::Type.check_type(@worker_type_specifications, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW1yc2VydmVybGVzcy5DZm5BcHBsaWNhdGlvbi5Xb3JrZXJUeXBlU3BlY2lmaWNhdGlvbklucHV0UHJvcGVydHkifV19fSwia2luZCI6Im1hcCJ9fV19fQ==")), "workerTypeSpecifications") unless @worker_type_specifications.nil?
end

Instance Attribute Details

#architectureString? (readonly)

The CPU architecture of an application.



77
78
79
# File 'emr_serverless/cfn_application_props.rb', line 77

def architecture
  @architecture
end

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

The configuration for an application to automatically start on job submission.



82
83
84
# File 'emr_serverless/cfn_application_props.rb', line 82

def auto_start_configuration
  @auto_start_configuration
end

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

The configuration for an application to automatically stop after a certain amount of time being idle.



87
88
89
# File 'emr_serverless/cfn_application_props.rb', line 87

def auto_stop_configuration
  @auto_stop_configuration
end

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

The IAM Identity Center configuration applied to enable trusted identity propagation.



92
93
94
# File 'emr_serverless/cfn_application_props.rb', line 92

def identity_center_configuration
  @identity_center_configuration
end

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

The image configuration applied to all worker types.



97
98
99
# File 'emr_serverless/cfn_application_props.rb', line 97

def image_configuration
  @image_configuration
end

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

The initial capacity of the application.



102
103
104
# File 'emr_serverless/cfn_application_props.rb', line 102

def initial_capacity
  @initial_capacity
end

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

The interactive configuration object that enables the interactive use cases for an application.



107
108
109
# File 'emr_serverless/cfn_application_props.rb', line 107

def interactive_configuration
  @interactive_configuration
end

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

The maximum capacity of the application.

This is cumulative across all workers at any given point in time during the lifespan of the application is created. No new resources will be created once any one of the defined limits is hit.



114
115
116
# File 'emr_serverless/cfn_application_props.rb', line 114

def maximum_capacity
  @maximum_capacity
end

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

A configuration specification to be used when provisioning an application.

A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file.



121
122
123
# File 'emr_serverless/cfn_application_props.rb', line 121

def monitoring_configuration
  @monitoring_configuration
end

#nameString? (readonly)

The name of the application.



126
127
128
# File 'emr_serverless/cfn_application_props.rb', line 126

def name
  @name
end

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

The network configuration for customer VPC connectivity for the application.



131
132
133
# File 'emr_serverless/cfn_application_props.rb', line 131

def network_configuration
  @network_configuration
end

#release_labelString (readonly)

The EMR release associated with the application.



67
68
69
# File 'emr_serverless/cfn_application_props.rb', line 67

def release_label
  @release_label
end

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

The Configuration specifications of an application. Each configuration consists of a classification and properties. You use this parameter when creating or updating an application. To see the runtimeConfiguration object of an application, run the GetApplication API operation.



136
137
138
# File 'emr_serverless/cfn_application_props.rb', line 136

def runtime_configuration
  @runtime_configuration
end

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

The scheduler configuration for batch and streaming jobs running on this application.

Supported with release labels emr-7.0.0 and above.



143
144
145
# File 'emr_serverless/cfn_application_props.rb', line 143

def scheduler_configuration
  @scheduler_configuration
end

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

The tags assigned to the application.



148
149
150
# File 'emr_serverless/cfn_application_props.rb', line 148

def tags
  @tags
end

#typeString (readonly)

The type of application, such as Spark or Hive.



72
73
74
# File 'emr_serverless/cfn_application_props.rb', line 72

def type
  @type
end

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

The specification applied to each worker type.



153
154
155
# File 'emr_serverless/cfn_application_props.rb', line 153

def worker_type_specifications
  @worker_type_specifications
end

Class Method Details

.jsii_propertiesObject



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'emr_serverless/cfn_application_props.rb', line 155

def self.jsii_properties
  {
    :release_label => "releaseLabel",
    :type => "type",
    :architecture => "architecture",
    :auto_start_configuration => "autoStartConfiguration",
    :auto_stop_configuration => "autoStopConfiguration",
    :identity_center_configuration => "identityCenterConfiguration",
    :image_configuration => "imageConfiguration",
    :initial_capacity => "initialCapacity",
    :interactive_configuration => "interactiveConfiguration",
    :maximum_capacity => "maximumCapacity",
    :monitoring_configuration => "monitoringConfiguration",
    :name => "name",
    :network_configuration => "networkConfiguration",
    :runtime_configuration => "runtimeConfiguration",
    :scheduler_configuration => "schedulerConfiguration",
    :tags => "tags",
    :worker_type_specifications => "workerTypeSpecifications",
  }
end

Instance Method Details

#to_jsiiObject



177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'emr_serverless/cfn_application_props.rb', line 177

def to_jsii
  result = {}
  result.merge!({
    "releaseLabel" => @release_label,
    "type" => @type,
    "architecture" => @architecture,
    "autoStartConfiguration" => @auto_start_configuration,
    "autoStopConfiguration" => @auto_stop_configuration,
    "identityCenterConfiguration" => @identity_center_configuration,
    "imageConfiguration" => @image_configuration,
    "initialCapacity" => @initial_capacity,
    "interactiveConfiguration" => @interactive_configuration,
    "maximumCapacity" => @maximum_capacity,
    "monitoringConfiguration" => @monitoring_configuration,
    "name" => @name,
    "networkConfiguration" => @network_configuration,
    "runtimeConfiguration" => @runtime_configuration,
    "schedulerConfiguration" => @scheduler_configuration,
    "tags" => @tags,
    "workerTypeSpecifications" => @worker_type_specifications,
  })
  result.compact
end