CfnApplication
- class aws_cdk.aws_emrserverless.CfnApplication(scope, id, *, release_label, type, architecture=None, auto_start_configuration=None, auto_stop_configuration=None, image_configuration=None, initial_capacity=None, maximum_capacity=None, name=None, network_configuration=None, tags=None, worker_type_specifications=None)
Bases:
CfnResource
A CloudFormation
AWS::EMRServerless::Application
.The
AWS::EMRServerless::Application
resource specifies an EMR Serverless application. An application uses open source analytics frameworks to run jobs that process data. To create an application, you must specify the release version for the open source framework version you want to use and the type of application you want, such as Apache Spark or Apache Hive. After you create an application, you can submit data processing jobs or interactive requests to it.- CloudformationResource
AWS::EMRServerless::Application
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless cfn_application = emrserverless.CfnApplication(self, "MyCfnApplication", release_label="releaseLabel", type="type", # the properties below are optional architecture="architecture", auto_start_configuration=emrserverless.CfnApplication.AutoStartConfigurationProperty( enabled=False ), auto_stop_configuration=emrserverless.CfnApplication.AutoStopConfigurationProperty( enabled=False, idle_timeout_minutes=123 ), image_configuration=emrserverless.CfnApplication.ImageConfigurationInputProperty( image_uri="imageUri" ), initial_capacity=[emrserverless.CfnApplication.InitialCapacityConfigKeyValuePairProperty( key="key", value=emrserverless.CfnApplication.InitialCapacityConfigProperty( worker_configuration=emrserverless.CfnApplication.WorkerConfigurationProperty( cpu="cpu", memory="memory", # the properties below are optional disk="disk" ), worker_count=123 ) )], maximum_capacity=emrserverless.CfnApplication.MaximumAllowedResourcesProperty( cpu="cpu", memory="memory", # the properties below are optional disk="disk" ), name="name", network_configuration=emrserverless.CfnApplication.NetworkConfigurationProperty( security_group_ids=["securityGroupIds"], subnet_ids=["subnetIds"] ), tags=[CfnTag( key="key", value="value" )], worker_type_specifications={ "worker_type_specifications_key": emrserverless.CfnApplication.WorkerTypeSpecificationInputProperty( image_configuration=emrserverless.CfnApplication.ImageConfigurationInputProperty( image_uri="imageUri" ) ) } )
Create a new
AWS::EMRServerless::Application
.- Parameters
scope (
Construct
) –scope in which this resource is defined.
id (
str
) –scoped id of the resource.
release_label (
str
) – The EMR release version associated with the application. Minimum : 1 Maximum : 64 Pattern :^[A-Za-z0-9._/-]+$
type (
str
) – The type of application, such as Spark or Hive.architecture (
Optional
[str
]) – The CPU architecture type of the application. Allowed values:X86_64
orARM64
auto_start_configuration (
Union
[AutoStartConfigurationProperty
,Dict
[str
,Any
],IResolvable
,None
]) – The configuration for an application to automatically start on job submission.auto_stop_configuration (
Union
[AutoStopConfigurationProperty
,Dict
[str
,Any
],IResolvable
,None
]) – The configuration for an application to automatically stop after a certain amount of time being idle.image_configuration (
Union
[ImageConfigurationInputProperty
,Dict
[str
,Any
],IResolvable
,None
]) – The image configuration applied to all worker types.initial_capacity (
Union
[IResolvable
,Sequence
[Union
[InitialCapacityConfigKeyValuePairProperty
,Dict
[str
,Any
],IResolvable
]],None
]) – The initial capacity of the application.maximum_capacity (
Union
[MaximumAllowedResourcesProperty
,Dict
[str
,Any
],IResolvable
,None
]) – 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.name (
Optional
[str
]) – The name of the application. Minimum : 1 Maximum : 64 Pattern :^[A-Za-z0-9._\\/#-]+$
network_configuration (
Union
[NetworkConfigurationProperty
,Dict
[str
,Any
],IResolvable
,None
]) – The network configuration for customer VPC connectivity for the application.tags (
Optional
[Sequence
[Union
[CfnTag
,Dict
[str
,Any
]]]]) – The tags assigned to the application.worker_type_specifications (
Union
[IResolvable
,Mapping
[str
,Union
[WorkerTypeSpecificationInputProperty
,Dict
[str
,Any
],IResolvable
]],None
]) – The specification applied to each worker type.
Methods
- add_deletion_override(path)
Syntactic sugar for
addOverride(path, undefined)
.- Parameters
path (
str
) – The path of the value to delete.- Return type
None
- add_dependency(target)
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
target (
CfnResource
) –- Return type
None
- add_depends_on(target)
(deprecated) Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
- Parameters
target (
CfnResource
) –- Deprecated
use addDependency
- Stability
deprecated
- Return type
None
- add_metadata(key, value)
Add a value to the CloudFormation Resource Metadata.
- Parameters
key (
str
) –value (
Any
) –
- See
- Return type
None
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- add_override(path, value)
Adds an override to the synthesized CloudFormation resource.
To add a property override, either use
addPropertyOverride
or prefixpath
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 Example:
"Properties": { "GlobalSecondaryIndexes": [ { "Projection": { "NonKeyAttributes": [ "myattribute" ] ... } ... }, { "ProjectionType": "INCLUDE" ... }, ] ... }
The
value
argument toaddOverride
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 (
str
) –The path of the property, you can use dot notation to override values in complex types. Any intermdediate keys will be created as needed.
value (
Any
) –The value. Could be primitive or complex.
- Return type
None
- add_property_deletion_override(property_path)
Adds an override that deletes the value of a property from the resource definition.
- Parameters
property_path (
str
) – The path to the property.- Return type
None
- add_property_override(property_path, value)
Adds an override to a resource property.
Syntactic sugar for
addOverride("Properties.<...>", value)
.- Parameters
property_path (
str
) – The path of the property.value (
Any
) – The value.
- Return type
None
- apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)
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:- Parameters
policy (
Optional
[RemovalPolicy
]) –apply_to_update_replace_policy (
Optional
[bool
]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: truedefault (
Optional
[RemovalPolicy
]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resoure, please consult that specific resource’s documentation.
- See
- Return type
None
- get_att(attribute_name, type_hint=None)
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
attribute_name (
str
) – The name of the attribute.type_hint (
Optional
[ResolutionTypeHint
]) –
- Return type
- get_metadata(key)
Retrieve a value value from the CloudFormation Resource Metadata.
- Parameters
key (
str
) –- See
- Return type
Any
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- inspect(inspector)
Examines the CloudFormation resource and discloses attributes.
- Parameters
inspector (
TreeInspector
) –tree inspector to collect and process attributes.
- Return type
None
- obtain_dependencies()
Retrieves an array of resources this resource depends on.
This assembles dependencies on resources across stacks (including nested stacks) automatically.
- Return type
List
[Union
[CfnResource
,Stack
]]
- obtain_resource_dependencies()
Get a shallow copy of dependencies between this resource and other resources in the same stack.
- Return type
List
[CfnResource
]
- override_logical_id(new_logical_id)
Overrides the auto-generated logical ID with a specific ID.
- Parameters
new_logical_id (
str
) – The new logical ID to use for this stack element.- Return type
None
- remove_dependency(target)
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
target (
CfnResource
) –- Return type
None
- replace_dependency(target, new_target)
Replaces one dependency with another.
- Parameters
target (
CfnResource
) – The dependency to replace.new_target (
CfnResource
) – The new dependency to add.
- Return type
None
- to_string()
Returns a string representation of this construct.
- Return type
str
- Returns
a string representation of this resource
Attributes
- CFN_RESOURCE_TYPE_NAME = 'AWS::EMRServerless::Application'
- architecture
The CPU architecture type of the application.
Allowed values:
X86_64
orARM64
- attr_application_id
The ID of the application, such as
ab4rp1abcs8xz47n3x0example
.- CloudformationAttribute
ApplicationId
- attr_arn
The Amazon Resource Name (ARN) of the project.
- CloudformationAttribute
Arn
- auto_start_configuration
The configuration for an application to automatically start on job submission.
- auto_stop_configuration
The configuration for an application to automatically stop after a certain amount of time being idle.
- cfn_options
Options for this resource, such as condition, update policy etc.
- cfn_resource_type
AWS resource type.
- creation_stack
return:
the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.
- image_configuration
The image configuration applied to all worker types.
- initial_capacity
The initial capacity of the application.
- logical_id
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
overrideLogicalId(newLogicalId)
.- Returns
the logical ID as a stringified token. This value will only get resolved during synthesis.
- maximum_capacity
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.
- name
The name of the application.
Minimum : 1
Maximum : 64
Pattern :
^[A-Za-z0-9._\\/#-]+$
- network_configuration
The network configuration for customer VPC connectivity for the application.
- node
The tree node.
- ref
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 })
.
- release_label
The EMR release version associated with the application.
Minimum : 1
Maximum : 64
Pattern :
^[A-Za-z0-9._/-]+$
- stack
The stack in which this element is defined.
CfnElements must be defined within a stack scope (directly or indirectly).
- tags
The tags assigned to the application.
- type
The type of application, such as Spark or Hive.
- worker_type_specifications
The specification applied to each worker type.
Static Methods
- classmethod is_cfn_element(x)
Returns
true
if a construct is a stack element (i.e. part of the synthesized cloudformation template).Uses duck-typing instead of
instanceof
to allow stack elements from different versions of this library to be included in the same stack.- Parameters
x (
Any
) –- Return type
bool
- Returns
The construct as a stack element or undefined if it is not a stack element.
- classmethod is_cfn_resource(construct)
Check whether the given construct is a CfnResource.
- Parameters
construct (
IConstruct
) –- Return type
bool
- classmethod is_construct(x)
Checks if
x
is a construct.Use this method instead of
instanceof
to properly detectConstruct
instances, even when the construct library is symlinked.Explanation: in JavaScript, multiple copies of the
constructs
library on disk are seen as independent, completely different libraries. As a consequence, the classConstruct
in each copy of theconstructs
library is seen as a different class, and an instance of one class will not test asinstanceof
the other class.npm install
will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of theconstructs
library can be accidentally installed, andinstanceof
will behave unpredictably. It is safest to avoid usinginstanceof
, and using this type-testing method instead.- Parameters
x (
Any
) – Any object.- Return type
bool
- Returns
true if
x
is an object created from a class which extendsConstruct
.
AutoStartConfigurationProperty
- class CfnApplication.AutoStartConfigurationProperty(*, enabled=None)
Bases:
object
The configuration for an application to automatically start on job submission.
- Parameters
enabled (
Union
[bool
,IResolvable
,None
]) – Enables the application to automatically start on job submission. Defaults to true.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless auto_start_configuration_property = emrserverless.CfnApplication.AutoStartConfigurationProperty( enabled=False )
Attributes
- enabled
Enables the application to automatically start on job submission.
Defaults to true.
AutoStopConfigurationProperty
- class CfnApplication.AutoStopConfigurationProperty(*, enabled=None, idle_timeout_minutes=None)
Bases:
object
The configuration for an application to automatically stop after a certain amount of time being idle.
- Parameters
enabled (
Union
[bool
,IResolvable
,None
]) – Enables the application to automatically stop after a certain amount of time being idle. Defaults to true.idle_timeout_minutes (
Union
[int
,float
,None
]) – The amount of idle time in minutes after which your application will automatically stop. Defaults to 15 minutes. Minimum : 1 Maximum : 10080
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless auto_stop_configuration_property = emrserverless.CfnApplication.AutoStopConfigurationProperty( enabled=False, idle_timeout_minutes=123 )
Attributes
- enabled
Enables the application to automatically stop after a certain amount of time being idle.
Defaults to true.
- idle_timeout_minutes
The amount of idle time in minutes after which your application will automatically stop. Defaults to 15 minutes.
Minimum : 1
Maximum : 10080
ImageConfigurationInputProperty
- class CfnApplication.ImageConfigurationInputProperty(*, image_uri=None)
Bases:
object
The image configuration.
- Parameters
image_uri (
Optional
[str
]) – The URI of an image in the Amazon ECR registry. This field is required when you create a new application. If you leave this field blank in an update, Amazon EMR will remove the image configuration.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless image_configuration_input_property = emrserverless.CfnApplication.ImageConfigurationInputProperty( image_uri="imageUri" )
Attributes
- image_uri
The URI of an image in the Amazon ECR registry.
This field is required when you create a new application. If you leave this field blank in an update, Amazon EMR will remove the image configuration.
InitialCapacityConfigKeyValuePairProperty
- class CfnApplication.InitialCapacityConfigKeyValuePairProperty(*, key, value)
Bases:
object
The initial capacity configuration per worker.
- Parameters
key (
str
) – The worker type for an analytics framework. For Spark applications, the key can either be set toDriver
orExecutor
. For Hive applications, it can be set toHiveDriver
orTezTask
. Minimum : 1 Maximum : 50 Pattern :^[a-zA-Z]+[-_]*[a-zA-Z]+$
value (
Union
[InitialCapacityConfigProperty
,Dict
[str
,Any
],IResolvable
]) – The value for the initial capacity configuration per worker.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless initial_capacity_config_key_value_pair_property = emrserverless.CfnApplication.InitialCapacityConfigKeyValuePairProperty( key="key", value=emrserverless.CfnApplication.InitialCapacityConfigProperty( worker_configuration=emrserverless.CfnApplication.WorkerConfigurationProperty( cpu="cpu", memory="memory", # the properties below are optional disk="disk" ), worker_count=123 ) )
Attributes
- key
The worker type for an analytics framework.
For Spark applications, the key can either be set to
Driver
orExecutor
. For Hive applications, it can be set toHiveDriver
orTezTask
.Minimum : 1
Maximum : 50
Pattern :
^[a-zA-Z]+[-_]*[a-zA-Z]+$
- value
The value for the initial capacity configuration per worker.
InitialCapacityConfigProperty
- class CfnApplication.InitialCapacityConfigProperty(*, worker_configuration, worker_count)
Bases:
object
The initial capacity configuration per worker.
- Parameters
worker_configuration (
Union
[WorkerConfigurationProperty
,Dict
[str
,Any
],IResolvable
]) – The resource configuration of the initial capacity configuration.worker_count (
Union
[int
,float
]) – The number of workers in the initial capacity configuration. Minimum : 1 Maximum : 1000000
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless initial_capacity_config_property = emrserverless.CfnApplication.InitialCapacityConfigProperty( worker_configuration=emrserverless.CfnApplication.WorkerConfigurationProperty( cpu="cpu", memory="memory", # the properties below are optional disk="disk" ), worker_count=123 )
Attributes
- worker_configuration
The resource configuration of the initial capacity configuration.
- worker_count
The number of workers in the initial capacity configuration.
Minimum : 1
Maximum : 1000000
MaximumAllowedResourcesProperty
- class CfnApplication.MaximumAllowedResourcesProperty(*, cpu, memory, disk=None)
Bases:
object
The maximum allowed cumulative resources for an application.
No new resources will be created once the limit is hit.
- Parameters
cpu (
str
) – The maximum allowed CPU for an application. Minimum : 1 Maximum : 15 Pattern :^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$
memory (
str
) – The maximum allowed resources for an application. Minimum : 1 Maximum : 15 Pattern :^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$
disk (
Optional
[str
]) – The maximum allowed disk for an application. Minimum : 1 Maximum : 15 Pattern :^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$"
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless maximum_allowed_resources_property = emrserverless.CfnApplication.MaximumAllowedResourcesProperty( cpu="cpu", memory="memory", # the properties below are optional disk="disk" )
Attributes
- cpu
The maximum allowed CPU for an application.
Minimum : 1
Maximum : 15
Pattern :
^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$
- disk
The maximum allowed disk for an application.
Minimum : 1
Maximum : 15
Pattern :
^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$"
- memory
The maximum allowed resources for an application.
Minimum : 1
Maximum : 15
Pattern :
^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$
NetworkConfigurationProperty
- class CfnApplication.NetworkConfigurationProperty(*, security_group_ids=None, subnet_ids=None)
Bases:
object
The network configuration for customer VPC connectivity.
- Parameters
security_group_ids (
Optional
[Sequence
[str
]]) – The array of security group Ids for customer VPC connectivity. Minimum : 1 Maximum : 32 Pattern :^[-0-9a-zA-Z]+
subnet_ids (
Optional
[Sequence
[str
]]) – The array of subnet Ids for customer VPC connectivity. Minimum : 1 Maximum : 32 Pattern :^[-0-9a-zA-Z]+
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless network_configuration_property = emrserverless.CfnApplication.NetworkConfigurationProperty( security_group_ids=["securityGroupIds"], subnet_ids=["subnetIds"] )
Attributes
- security_group_ids
The array of security group Ids for customer VPC connectivity.
Minimum : 1
Maximum : 32
Pattern :
^[-0-9a-zA-Z]+
- subnet_ids
The array of subnet Ids for customer VPC connectivity.
Minimum : 1
Maximum : 32
Pattern :
^[-0-9a-zA-Z]+
WorkerConfigurationProperty
- class CfnApplication.WorkerConfigurationProperty(*, cpu, memory, disk=None)
Bases:
object
The resource configuration of the initial capacity configuration.
- Parameters
cpu (
str
) – Minimum : 1. Maximum : 15 Pattern :^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$
memory (
str
) – Minimum : 1. Maximum : 15 Pattern :^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$
disk (
Optional
[str
]) – Minimum : 1. Maximum : 15 Pattern :^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$"
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless worker_configuration_property = emrserverless.CfnApplication.WorkerConfigurationProperty( cpu="cpu", memory="memory", # the properties below are optional disk="disk" )
Attributes
- cpu
Maximum : 15
Pattern :
^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$
- disk
Maximum : 15
Pattern :
^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$"
- memory
Maximum : 15
Pattern :
^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$
WorkerTypeSpecificationInputProperty
- class CfnApplication.WorkerTypeSpecificationInputProperty(*, image_configuration=None)
Bases:
object
The specifications for a worker type.
- Parameters
image_configuration (
Union
[ImageConfigurationInputProperty
,Dict
[str
,Any
],IResolvable
,None
]) – The image configuration for a worker type.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_emrserverless as emrserverless worker_type_specification_input_property = emrserverless.CfnApplication.WorkerTypeSpecificationInputProperty( image_configuration=emrserverless.CfnApplication.ImageConfigurationInputProperty( image_uri="imageUri" ) )
Attributes
- image_configuration
The image configuration for a worker type.