Class CfnApplication

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:56.692Z") @Stability(Stable) public class CfnApplication extends CfnResource implements IInspectable
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.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.emrserverless.*;
 CfnApplication cfnApplication = CfnApplication.Builder.create(this, "MyCfnApplication")
         .releaseLabel("releaseLabel")
         .type("type")
         // the properties below are optional
         .architecture("architecture")
         .autoStartConfiguration(AutoStartConfigurationProperty.builder()
                 .enabled(false)
                 .build())
         .autoStopConfiguration(AutoStopConfigurationProperty.builder()
                 .enabled(false)
                 .idleTimeoutMinutes(123)
                 .build())
         .imageConfiguration(ImageConfigurationInputProperty.builder()
                 .imageUri("imageUri")
                 .build())
         .initialCapacity(List.of(InitialCapacityConfigKeyValuePairProperty.builder()
                 .key("key")
                 .value(InitialCapacityConfigProperty.builder()
                         .workerConfiguration(WorkerConfigurationProperty.builder()
                                 .cpu("cpu")
                                 .memory("memory")
                                 // the properties below are optional
                                 .disk("disk")
                                 .build())
                         .workerCount(123)
                         .build())
                 .build()))
         .maximumCapacity(MaximumAllowedResourcesProperty.builder()
                 .cpu("cpu")
                 .memory("memory")
                 // the properties below are optional
                 .disk("disk")
                 .build())
         .name("name")
         .networkConfiguration(NetworkConfigurationProperty.builder()
                 .securityGroupIds(List.of("securityGroupIds"))
                 .subnetIds(List.of("subnetIds"))
                 .build())
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .workerTypeSpecifications(Map.of(
                 "workerTypeSpecificationsKey", WorkerTypeSpecificationInputProperty.builder()
                         .imageConfiguration(ImageConfigurationInputProperty.builder()
                                 .imageUri("imageUri")
                                 .build())
                         .build()))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnApplication

      protected CfnApplication(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnApplication

      protected CfnApplication(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnApplication

      @Stability(Stable) public CfnApplication(@NotNull Construct scope, @NotNull String id, @NotNull CfnApplicationProps props)
      Create a new AWS::EMRServerless::Application.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrApplicationId

      @Stability(Stable) @NotNull public String getAttrApplicationId()
      The ID of the application, such as ab4rp1abcs8xz47n3x0example .
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The Amazon Resource Name (ARN) of the project.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      The tags assigned to the application.
    • getReleaseLabel

      @Stability(Stable) @NotNull public String getReleaseLabel()
      The EMR release version associated with the application.

      Minimum : 1

      Maximum : 64

      Pattern : ^[A-Za-z0-9._/-]+$

    • setReleaseLabel

      @Stability(Stable) public void setReleaseLabel(@NotNull String value)
      The EMR release version associated with the application.

      Minimum : 1

      Maximum : 64

      Pattern : ^[A-Za-z0-9._/-]+$

    • getType

      @Stability(Stable) @NotNull public String getType()
      The type of application, such as Spark or Hive.
    • setType

      @Stability(Stable) public void setType(@NotNull String value)
      The type of application, such as Spark or Hive.
    • getArchitecture

      @Stability(Stable) @Nullable public String getArchitecture()
      The CPU architecture type of the application.

      Allowed values: X86_64 or ARM64

    • setArchitecture

      @Stability(Stable) public void setArchitecture(@Nullable String value)
      The CPU architecture type of the application.

      Allowed values: X86_64 or ARM64

    • getAutoStartConfiguration

      @Stability(Stable) @Nullable public Object getAutoStartConfiguration()
      The configuration for an application to automatically start on job submission.
    • setAutoStartConfiguration

      @Stability(Stable) public void setAutoStartConfiguration(@Nullable CfnApplication.AutoStartConfigurationProperty value)
      The configuration for an application to automatically start on job submission.
    • setAutoStartConfiguration

      @Stability(Stable) public void setAutoStartConfiguration(@Nullable IResolvable value)
      The configuration for an application to automatically start on job submission.
    • getAutoStopConfiguration

      @Stability(Stable) @Nullable public Object getAutoStopConfiguration()
      The configuration for an application to automatically stop after a certain amount of time being idle.
    • setAutoStopConfiguration

      @Stability(Stable) public void setAutoStopConfiguration(@Nullable IResolvable value)
      The configuration for an application to automatically stop after a certain amount of time being idle.
    • setAutoStopConfiguration

      @Stability(Stable) public void setAutoStopConfiguration(@Nullable CfnApplication.AutoStopConfigurationProperty value)
      The configuration for an application to automatically stop after a certain amount of time being idle.
    • getImageConfiguration

      @Stability(Stable) @Nullable public Object getImageConfiguration()
      AWS::EMRServerless::Application.ImageConfiguration.
    • setImageConfiguration

      @Stability(Stable) public void setImageConfiguration(@Nullable IResolvable value)
      AWS::EMRServerless::Application.ImageConfiguration.
    • setImageConfiguration

      @Stability(Stable) public void setImageConfiguration(@Nullable CfnApplication.ImageConfigurationInputProperty value)
      AWS::EMRServerless::Application.ImageConfiguration.
    • getInitialCapacity

      @Stability(Stable) @Nullable public Object getInitialCapacity()
      The initial capacity of the application.
    • setInitialCapacity

      @Stability(Stable) public void setInitialCapacity(@Nullable IResolvable value)
      The initial capacity of the application.
    • setInitialCapacity

      @Stability(Stable) public void setInitialCapacity(@Nullable List<Object> value)
      The initial capacity of the application.
    • getMaximumCapacity

      @Stability(Stable) @Nullable public Object getMaximumCapacity()
      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.

    • setMaximumCapacity

      @Stability(Stable) public void setMaximumCapacity(@Nullable IResolvable value)
      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.

    • setMaximumCapacity

      @Stability(Stable) public void setMaximumCapacity(@Nullable CfnApplication.MaximumAllowedResourcesProperty value)
      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.

    • getName

      @Stability(Stable) @Nullable public String getName()
      The name of the application.

      Minimum : 1

      Maximum : 64

      Pattern : ^[A-Za-z0-9._\\/#-]+$

    • setName

      @Stability(Stable) public void setName(@Nullable String value)
      The name of the application.

      Minimum : 1

      Maximum : 64

      Pattern : ^[A-Za-z0-9._\\/#-]+$

    • getNetworkConfiguration

      @Stability(Stable) @Nullable public Object getNetworkConfiguration()
      The network configuration for customer VPC connectivity for the application.
    • setNetworkConfiguration

      @Stability(Stable) public void setNetworkConfiguration(@Nullable IResolvable value)
      The network configuration for customer VPC connectivity for the application.
    • setNetworkConfiguration

      @Stability(Stable) public void setNetworkConfiguration(@Nullable CfnApplication.NetworkConfigurationProperty value)
      The network configuration for customer VPC connectivity for the application.
    • getWorkerTypeSpecifications

      @Stability(Stable) @Nullable public Object getWorkerTypeSpecifications()
      AWS::EMRServerless::Application.WorkerTypeSpecifications.
    • setWorkerTypeSpecifications

      @Stability(Stable) public void setWorkerTypeSpecifications(@Nullable IResolvable value)
      AWS::EMRServerless::Application.WorkerTypeSpecifications.
    • setWorkerTypeSpecifications

      @Stability(Stable) public void setWorkerTypeSpecifications(@Nullable Map<String,Object> value)
      AWS::EMRServerless::Application.WorkerTypeSpecifications.