/* * 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.AmazonWebServiceRequest; /** * * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateApplicationRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The ID of the application to update. *
*/ private String applicationId; /** ** The client idempotency token of the application to update. Its value must be unique for each request. *
*/ private String clientToken; /** ** The capacity to initialize when the application is updated. *
*/ private java.util.Map* The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any * given point in time during the lifespan of the application. No new resources will be created once any one of the * defined limits is hit. *
*/ private MaximumAllowedResources maximumCapacity; /** ** 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; private NetworkConfiguration networkConfiguration; /** ** The CPU architecture of an application. *
*/ private String architecture; /** *
* The image configuration to be used for all worker types. You can either set this parameter or
* imageConfiguration
for each worker type in WorkerTypeSpecificationInput
.
*
* The key-value pairs that specify worker type to WorkerTypeSpecificationInput
. This parameter must
* contain all valid worker types for a Spark or Hive application. Valid worker types include Driver
* and Executor
for Spark applications and HiveDriver
and TezTask
for Hive
* applications. You can either set image details in this parameter for each worker type, or in
* imageConfiguration
for all worker types.
*
* The Amazon EMR release label for the application. You can change the release label to use a different release of * Amazon EMR. *
*/ private String releaseLabel; /** ** The ID of the application to update. *
* * @param applicationId * The ID of the application to update. */ public void setApplicationId(String applicationId) { this.applicationId = applicationId; } /** ** The ID of the application to update. *
* * @return The ID of the application to update. */ public String getApplicationId() { return this.applicationId; } /** ** The ID of the application to update. *
* * @param applicationId * The ID of the application to update. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateApplicationRequest withApplicationId(String applicationId) { setApplicationId(applicationId); return this; } /** ** The client idempotency token of the application to update. Its value must be unique for each request. *
* * @param clientToken * The client idempotency token of the application to update. Its value must be unique for each request. */ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** ** The client idempotency token of the application to update. Its value must be unique for each request. *
* * @return The client idempotency token of the application to update. Its value must be unique for each request. */ public String getClientToken() { return this.clientToken; } /** ** The client idempotency token of the application to update. Its value must be unique for each request. *
* * @param clientToken * The client idempotency token of the application to update. Its value must be unique for each request. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateApplicationRequest withClientToken(String clientToken) { setClientToken(clientToken); return this; } /** ** The capacity to initialize when the application is updated. *
* * @return The capacity to initialize when the application is updated. */ public java.util.Map* The capacity to initialize when the application is updated. *
* * @param initialCapacity * The capacity to initialize when the application is updated. */ public void setInitialCapacity(java.util.Map* The capacity to initialize when the application is updated. *
* * @param initialCapacity * The capacity to initialize when the application is updated. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateApplicationRequest withInitialCapacity(java.util.Map* The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any * given point in time during the lifespan of the application. No new resources will be created once any one of the * defined limits is hit. *
* * @param maximumCapacity * The maximum capacity to allocate when the application is updated. This is cumulative across all workers at * any given point in time during the lifespan of the application. 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 to allocate when the application is updated. This is cumulative across all workers at any * given point in time during the lifespan of the application. No new resources will be created once any one of the * defined limits is hit. *
* * @return The maximum capacity to allocate when the application is updated. This is cumulative across all workers * at any given point in time during the lifespan of the application. No new resources will be created once * any one of the defined limits is hit. */ public MaximumAllowedResources getMaximumCapacity() { return this.maximumCapacity; } /** ** The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any * given point in time during the lifespan of the application. No new resources will be created once any one of the * defined limits is hit. *
* * @param maximumCapacity * The maximum capacity to allocate when the application is updated. This is cumulative across all workers at * any given point in time during the lifespan of the application. 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 UpdateApplicationRequest withMaximumCapacity(MaximumAllowedResources maximumCapacity) { setMaximumCapacity(maximumCapacity); return this; } /** ** 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 UpdateApplicationRequest 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 UpdateApplicationRequest withAutoStopConfiguration(AutoStopConfig autoStopConfiguration) { setAutoStopConfiguration(autoStopConfiguration); return this; } /** * @param networkConfiguration */ public void setNetworkConfiguration(NetworkConfiguration networkConfiguration) { this.networkConfiguration = networkConfiguration; } /** * @return */ public NetworkConfiguration getNetworkConfiguration() { return this.networkConfiguration; } /** * @param networkConfiguration * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateApplicationRequest 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 UpdateApplicationRequest 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 UpdateApplicationRequest withArchitecture(Architecture architecture) { this.architecture = architecture.toString(); return this; } /** *
* The image configuration to be used for all worker types. You can either set this parameter or
* imageConfiguration
for each worker type in WorkerTypeSpecificationInput
.
*
imageConfiguration
for each worker type in WorkerTypeSpecificationInput
.
*/
public void setImageConfiguration(ImageConfigurationInput imageConfiguration) {
this.imageConfiguration = imageConfiguration;
}
/**
*
* The image configuration to be used for all worker types. You can either set this parameter or
* imageConfiguration
for each worker type in WorkerTypeSpecificationInput
.
*
imageConfiguration
for each worker type in WorkerTypeSpecificationInput
.
*/
public ImageConfigurationInput getImageConfiguration() {
return this.imageConfiguration;
}
/**
*
* The image configuration to be used for all worker types. You can either set this parameter or
* imageConfiguration
for each worker type in WorkerTypeSpecificationInput
.
*
imageConfiguration
for each worker type in WorkerTypeSpecificationInput
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateApplicationRequest withImageConfiguration(ImageConfigurationInput imageConfiguration) {
setImageConfiguration(imageConfiguration);
return this;
}
/**
*
* The key-value pairs that specify worker type to WorkerTypeSpecificationInput
. This parameter must
* contain all valid worker types for a Spark or Hive application. Valid worker types include Driver
* and Executor
for Spark applications and HiveDriver
and TezTask
for Hive
* applications. You can either set image details in this parameter for each worker type, or in
* imageConfiguration
for all worker types.
*
WorkerTypeSpecificationInput
. This parameter
* must contain all valid worker types for a Spark or Hive application. Valid worker types include
* Driver
and Executor
for Spark applications and HiveDriver
and
* TezTask
for Hive applications. You can either set image details in this parameter for each
* worker type, or in imageConfiguration
for all worker types.
*/
public java.util.Map
* The key-value pairs that specify worker type to WorkerTypeSpecificationInput
. This parameter must
* contain all valid worker types for a Spark or Hive application. Valid worker types include Driver
* and Executor
for Spark applications and HiveDriver
and TezTask
for Hive
* applications. You can either set image details in this parameter for each worker type, or in
* imageConfiguration
for all worker types.
*
WorkerTypeSpecificationInput
. This parameter
* must contain all valid worker types for a Spark or Hive application. Valid worker types include
* Driver
and Executor
for Spark applications and HiveDriver
and
* TezTask
for Hive applications. You can either set image details in this parameter for each
* worker type, or in imageConfiguration
for all worker types.
*/
public void setWorkerTypeSpecifications(java.util.Map
* The key-value pairs that specify worker type to WorkerTypeSpecificationInput
. This parameter must
* contain all valid worker types for a Spark or Hive application. Valid worker types include Driver
* and Executor
for Spark applications and HiveDriver
and TezTask
for Hive
* applications. You can either set image details in this parameter for each worker type, or in
* imageConfiguration
for all worker types.
*
WorkerTypeSpecificationInput
. This parameter
* must contain all valid worker types for a Spark or Hive application. Valid worker types include
* Driver
and Executor
for Spark applications and HiveDriver
and
* TezTask
for Hive applications. You can either set image details in this parameter for each
* worker type, or in imageConfiguration
for all worker types.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateApplicationRequest withWorkerTypeSpecifications(java.util.Map* The Amazon EMR release label for the application. You can change the release label to use a different release of * Amazon EMR. *
* * @param releaseLabel * The Amazon EMR release label for the application. You can change the release label to use a different * release of Amazon EMR. */ public void setReleaseLabel(String releaseLabel) { this.releaseLabel = releaseLabel; } /** ** The Amazon EMR release label for the application. You can change the release label to use a different release of * Amazon EMR. *
* * @return The Amazon EMR release label for the application. You can change the release label to use a different * release of Amazon EMR. */ public String getReleaseLabel() { return this.releaseLabel; } /** ** The Amazon EMR release label for the application. You can change the release label to use a different release of * Amazon EMR. *
* * @param releaseLabel * The Amazon EMR release label for the application. You can change the release label to use a different * release of Amazon EMR. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateApplicationRequest withReleaseLabel(String releaseLabel) { setReleaseLabel(releaseLabel); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getApplicationId() != null) sb.append("ApplicationId: ").append(getApplicationId()).append(","); if (getClientToken() != null) sb.append("ClientToken: ").append(getClientToken()).append(","); if (getInitialCapacity() != null) sb.append("InitialCapacity: ").append(getInitialCapacity()).append(","); if (getMaximumCapacity() != null) sb.append("MaximumCapacity: ").append(getMaximumCapacity()).append(","); if (getAutoStartConfiguration() != null) sb.append("AutoStartConfiguration: ").append(getAutoStartConfiguration()).append(","); if (getAutoStopConfiguration() != null) sb.append("AutoStopConfiguration: ").append(getAutoStopConfiguration()).append(","); if (getNetworkConfiguration() != null) sb.append("NetworkConfiguration: ").append(getNetworkConfiguration()).append(","); if (getArchitecture() != null) sb.append("Architecture: ").append(getArchitecture()).append(","); if (getImageConfiguration() != null) sb.append("ImageConfiguration: ").append(getImageConfiguration()).append(","); if (getWorkerTypeSpecifications() != null) sb.append("WorkerTypeSpecifications: ").append(getWorkerTypeSpecifications()).append(","); if (getReleaseLabel() != null) sb.append("ReleaseLabel: ").append(getReleaseLabel()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateApplicationRequest == false) return false; UpdateApplicationRequest other = (UpdateApplicationRequest) obj; if (other.getApplicationId() == null ^ this.getApplicationId() == null) return false; if (other.getApplicationId() != null && other.getApplicationId().equals(this.getApplicationId()) == false) return false; if (other.getClientToken() == null ^ this.getClientToken() == null) return false; if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false) return false; if (other.getInitialCapacity() == null ^ this.getInitialCapacity() == null) return false; if (other.getInitialCapacity() != null && other.getInitialCapacity().equals(this.getInitialCapacity()) == false) return false; if (other.getMaximumCapacity() == null ^ this.getMaximumCapacity() == null) return false; if (other.getMaximumCapacity() != null && other.getMaximumCapacity().equals(this.getMaximumCapacity()) == false) return false; if (other.getAutoStartConfiguration() == null ^ this.getAutoStartConfiguration() == null) return false; if (other.getAutoStartConfiguration() != null && other.getAutoStartConfiguration().equals(this.getAutoStartConfiguration()) == false) return false; if (other.getAutoStopConfiguration() == null ^ this.getAutoStopConfiguration() == null) return false; if (other.getAutoStopConfiguration() != null && other.getAutoStopConfiguration().equals(this.getAutoStopConfiguration()) == false) return false; if (other.getNetworkConfiguration() == null ^ this.getNetworkConfiguration() == null) return false; if (other.getNetworkConfiguration() != null && other.getNetworkConfiguration().equals(this.getNetworkConfiguration()) == false) return false; if (other.getArchitecture() == null ^ this.getArchitecture() == null) return false; if (other.getArchitecture() != null && other.getArchitecture().equals(this.getArchitecture()) == false) return false; if (other.getImageConfiguration() == null ^ this.getImageConfiguration() == null) return false; if (other.getImageConfiguration() != null && other.getImageConfiguration().equals(this.getImageConfiguration()) == false) return false; if (other.getWorkerTypeSpecifications() == null ^ this.getWorkerTypeSpecifications() == null) return false; if (other.getWorkerTypeSpecifications() != null && other.getWorkerTypeSpecifications().equals(this.getWorkerTypeSpecifications()) == false) return false; if (other.getReleaseLabel() == null ^ this.getReleaseLabel() == null) return false; if (other.getReleaseLabel() != null && other.getReleaseLabel().equals(this.getReleaseLabel()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getApplicationId() == null) ? 0 : getApplicationId().hashCode()); hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode()); hashCode = prime * hashCode + ((getInitialCapacity() == null) ? 0 : getInitialCapacity().hashCode()); hashCode = prime * hashCode + ((getMaximumCapacity() == null) ? 0 : getMaximumCapacity().hashCode()); hashCode = prime * hashCode + ((getAutoStartConfiguration() == null) ? 0 : getAutoStartConfiguration().hashCode()); hashCode = prime * hashCode + ((getAutoStopConfiguration() == null) ? 0 : getAutoStopConfiguration().hashCode()); hashCode = prime * hashCode + ((getNetworkConfiguration() == null) ? 0 : getNetworkConfiguration().hashCode()); hashCode = prime * hashCode + ((getArchitecture() == null) ? 0 : getArchitecture().hashCode()); hashCode = prime * hashCode + ((getImageConfiguration() == null) ? 0 : getImageConfiguration().hashCode()); hashCode = prime * hashCode + ((getWorkerTypeSpecifications() == null) ? 0 : getWorkerTypeSpecifications().hashCode()); hashCode = prime * hashCode + ((getReleaseLabel() == null) ? 0 : getReleaseLabel().hashCode()); return hashCode; } @Override public UpdateApplicationRequest clone() { return (UpdateApplicationRequest) super.clone(); } }