/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.emrserverless.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Information about an application. Amazon EMR Serverless uses applications to run jobs. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Application implements Serializable, Cloneable, StructuredPojo { /** ** The ID of the application. *
*/ private String applicationId; /** ** The name of the application. *
*/ private String name; /** ** The ARN of the application. *
*/ private String arn; /** ** The Amazon EMR release associated with the application. *
*/ private String releaseLabel; /** ** The type of application, such as Spark or Hive. *
*/ private String type; /** ** The state of the application. *
*/ private String state; /** ** The state details of the application. *
*/ private String stateDetails; /** ** The initial capacity of the application. *
*/ private java.util.Map* 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. *
*/ private MaximumAllowedResources maximumCapacity; /** ** The date and time when the application run was created. *
*/ private java.util.Date createdAt; /** ** The date and time when the application run was last updated. *
*/ private java.util.Date updatedAt; /** ** The tags assigned to the application. *
*/ private java.util.Map* The configuration for an application to automatically start on job submission. *
*/ private AutoStartConfig autoStartConfiguration; /** ** The configuration for an application to automatically stop after a certain amount of time being idle. *
*/ private AutoStopConfig autoStopConfiguration; /** ** The network configuration for customer VPC connectivity for the application. *
*/ private NetworkConfiguration networkConfiguration; /** ** The CPU architecture of an application. *
*/ private String architecture; /** ** The image configuration applied to all worker types. *
*/ private ImageConfiguration imageConfiguration; /** ** The specification applied to each worker type. *
*/ private java.util.Map* The ID of the application. *
* * @param applicationId * The ID of the application. */ public void setApplicationId(String applicationId) { this.applicationId = applicationId; } /** ** The ID of the application. *
* * @return The ID of the application. */ public String getApplicationId() { return this.applicationId; } /** ** The ID of the application. *
* * @param applicationId * The ID of the application. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withApplicationId(String applicationId) { setApplicationId(applicationId); return this; } /** ** The name of the application. *
* * @param name * The name of the application. */ public void setName(String name) { this.name = name; } /** ** The name of the application. *
* * @return The name of the application. */ public String getName() { return this.name; } /** ** The name of the application. *
* * @param name * The name of the application. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withName(String name) { setName(name); return this; } /** ** The ARN of the application. *
* * @param arn * The ARN of the application. */ public void setArn(String arn) { this.arn = arn; } /** ** The ARN of the application. *
* * @return The ARN of the application. */ public String getArn() { return this.arn; } /** ** The ARN of the application. *
* * @param arn * The ARN of the application. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withArn(String arn) { setArn(arn); return this; } /** ** The Amazon EMR release associated with the application. *
* * @param releaseLabel * The Amazon EMR release associated with the application. */ public void setReleaseLabel(String releaseLabel) { this.releaseLabel = releaseLabel; } /** ** The Amazon EMR release associated with the application. *
* * @return The Amazon EMR release associated with the application. */ public String getReleaseLabel() { return this.releaseLabel; } /** ** The Amazon EMR release associated with the application. *
* * @param releaseLabel * The Amazon EMR release associated with the application. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withReleaseLabel(String releaseLabel) { setReleaseLabel(releaseLabel); return this; } /** ** The type of application, such as Spark or Hive. *
* * @param type * The type of application, such as Spark or Hive. */ public void setType(String type) { this.type = type; } /** ** The type of application, such as Spark or Hive. *
* * @return The type of application, such as Spark or Hive. */ public String getType() { return this.type; } /** ** The type of application, such as Spark or Hive. *
* * @param type * The type of application, such as Spark or Hive. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withType(String type) { setType(type); return this; } /** ** The state of the application. *
* * @param state * The state of the application. * @see ApplicationState */ public void setState(String state) { this.state = state; } /** ** The state of the application. *
* * @return The state of the application. * @see ApplicationState */ public String getState() { return this.state; } /** ** The state of the application. *
* * @param state * The state of the application. * @return Returns a reference to this object so that method calls can be chained together. * @see ApplicationState */ public Application withState(String state) { setState(state); return this; } /** ** The state of the application. *
* * @param state * The state of the application. * @return Returns a reference to this object so that method calls can be chained together. * @see ApplicationState */ public Application withState(ApplicationState state) { this.state = state.toString(); return this; } /** ** The state details of the application. *
* * @param stateDetails * The state details of the application. */ public void setStateDetails(String stateDetails) { this.stateDetails = stateDetails; } /** ** The state details of the application. *
* * @return The state details of the application. */ public String getStateDetails() { return this.stateDetails; } /** ** The state details of the application. *
* * @param stateDetails * The state details of the application. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withStateDetails(String stateDetails) { setStateDetails(stateDetails); return this; } /** ** The initial capacity of the application. *
* * @return The initial capacity of the application. */ public java.util.Map* The initial capacity of the application. *
* * @param initialCapacity * The initial capacity of the application. */ public void setInitialCapacity(java.util.Map* The initial capacity of the application. *
* * @param initialCapacity * The initial capacity of the application. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withInitialCapacity(java.util.Map* 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. *
* * @param maximumCapacity * 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. */ public void setMaximumCapacity(MaximumAllowedResources maximumCapacity) { this.maximumCapacity = maximumCapacity; } /** ** 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. *
* * @return 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. */ public MaximumAllowedResources getMaximumCapacity() { return this.maximumCapacity; } /** ** 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. *
* * @param maximumCapacity * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withMaximumCapacity(MaximumAllowedResources maximumCapacity) { setMaximumCapacity(maximumCapacity); return this; } /** ** The date and time when the application run was created. *
* * @param createdAt * The date and time when the application run was created. */ public void setCreatedAt(java.util.Date createdAt) { this.createdAt = createdAt; } /** ** The date and time when the application run was created. *
* * @return The date and time when the application run was created. */ public java.util.Date getCreatedAt() { return this.createdAt; } /** ** The date and time when the application run was created. *
* * @param createdAt * The date and time when the application run was created. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withCreatedAt(java.util.Date createdAt) { setCreatedAt(createdAt); return this; } /** ** The date and time when the application run was last updated. *
* * @param updatedAt * The date and time when the application run was last updated. */ public void setUpdatedAt(java.util.Date updatedAt) { this.updatedAt = updatedAt; } /** ** The date and time when the application run was last updated. *
* * @return The date and time when the application run was last updated. */ public java.util.Date getUpdatedAt() { return this.updatedAt; } /** ** The date and time when the application run was last updated. *
* * @param updatedAt * The date and time when the application run was last updated. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withUpdatedAt(java.util.Date updatedAt) { setUpdatedAt(updatedAt); return this; } /** ** The tags assigned to the application. *
* * @return The tags assigned to the application. */ public java.util.Map* The tags assigned to the application. *
* * @param tags * The tags assigned to the application. */ public void setTags(java.util.Map* The tags assigned to the application. *
* * @param tags * The tags assigned to the application. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withTags(java.util.Map* The configuration for an application to automatically start on job submission. *
* * @param autoStartConfiguration * The configuration for an application to automatically start on job submission. */ public void setAutoStartConfiguration(AutoStartConfig autoStartConfiguration) { this.autoStartConfiguration = autoStartConfiguration; } /** ** The configuration for an application to automatically start on job submission. *
* * @return The configuration for an application to automatically start on job submission. */ public AutoStartConfig getAutoStartConfiguration() { return this.autoStartConfiguration; } /** ** The configuration for an application to automatically start on job submission. *
* * @param autoStartConfiguration * The configuration for an application to automatically start on job submission. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withAutoStartConfiguration(AutoStartConfig autoStartConfiguration) { setAutoStartConfiguration(autoStartConfiguration); return this; } /** ** The configuration for an application to automatically stop after a certain amount of time being idle. *
* * @param autoStopConfiguration * The configuration for an application to automatically stop after a certain amount of time being idle. */ public void setAutoStopConfiguration(AutoStopConfig autoStopConfiguration) { this.autoStopConfiguration = autoStopConfiguration; } /** ** The configuration for an application to automatically stop after a certain amount of time being idle. *
* * @return The configuration for an application to automatically stop after a certain amount of time being idle. */ public AutoStopConfig getAutoStopConfiguration() { return this.autoStopConfiguration; } /** ** The configuration for an application to automatically stop after a certain amount of time being idle. *
* * @param autoStopConfiguration * The configuration for an application to automatically stop after a certain amount of time being idle. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withAutoStopConfiguration(AutoStopConfig autoStopConfiguration) { setAutoStopConfiguration(autoStopConfiguration); return this; } /** ** The network configuration for customer VPC connectivity for the application. *
* * @param networkConfiguration * The network configuration for customer VPC connectivity for the application. */ public void setNetworkConfiguration(NetworkConfiguration networkConfiguration) { this.networkConfiguration = networkConfiguration; } /** ** The network configuration for customer VPC connectivity for the application. *
* * @return The network configuration for customer VPC connectivity for the application. */ public NetworkConfiguration getNetworkConfiguration() { return this.networkConfiguration; } /** ** The network configuration for customer VPC connectivity for the application. *
* * @param networkConfiguration * The network configuration for customer VPC connectivity for the application. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withNetworkConfiguration(NetworkConfiguration networkConfiguration) { setNetworkConfiguration(networkConfiguration); return this; } /** ** The CPU architecture of an application. *
* * @param architecture * The CPU architecture of an application. * @see Architecture */ public void setArchitecture(String architecture) { this.architecture = architecture; } /** ** The CPU architecture of an application. *
* * @return The CPU architecture of an application. * @see Architecture */ public String getArchitecture() { return this.architecture; } /** ** The CPU architecture of an application. *
* * @param architecture * The CPU architecture of an application. * @return Returns a reference to this object so that method calls can be chained together. * @see Architecture */ public Application withArchitecture(String architecture) { setArchitecture(architecture); return this; } /** ** The CPU architecture of an application. *
* * @param architecture * The CPU architecture of an application. * @return Returns a reference to this object so that method calls can be chained together. * @see Architecture */ public Application withArchitecture(Architecture architecture) { this.architecture = architecture.toString(); return this; } /** ** The image configuration applied to all worker types. *
* * @param imageConfiguration * The image configuration applied to all worker types. */ public void setImageConfiguration(ImageConfiguration imageConfiguration) { this.imageConfiguration = imageConfiguration; } /** ** The image configuration applied to all worker types. *
* * @return The image configuration applied to all worker types. */ public ImageConfiguration getImageConfiguration() { return this.imageConfiguration; } /** ** The image configuration applied to all worker types. *
* * @param imageConfiguration * The image configuration applied to all worker types. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withImageConfiguration(ImageConfiguration imageConfiguration) { setImageConfiguration(imageConfiguration); return this; } /** ** The specification applied to each worker type. *
* * @return The specification applied to each worker type. */ public java.util.Map* The specification applied to each worker type. *
* * @param workerTypeSpecifications * The specification applied to each worker type. */ public void setWorkerTypeSpecifications(java.util.Map* The specification applied to each worker type. *
* * @param workerTypeSpecifications * The specification applied to each worker type. * @return Returns a reference to this object so that method calls can be chained together. */ public Application withWorkerTypeSpecifications(java.util.Map