Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
software.amazon.awssdk.services.emrserverless.model.UpdateApplicationRequest Maven / Gradle / Ivy
Go to download
The AWS Java SDK for EMR Serverless module holds the client classes that are used for
communicating with EMR Serverless.
/*
* Copyright 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 software.amazon.awssdk.services.emrserverless.model;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.DefaultValueTrait;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*/
@Generated("software.amazon.awssdk:codegen")
public final class UpdateApplicationRequest extends EmrServerlessRequest implements
ToCopyableBuilder {
private static final SdkField APPLICATION_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("applicationId").getter(getter(UpdateApplicationRequest::applicationId))
.setter(setter(Builder::applicationId))
.traits(LocationTrait.builder().location(MarshallLocation.PATH).locationName("applicationId").build()).build();
private static final SdkField CLIENT_TOKEN_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("clientToken")
.getter(getter(UpdateApplicationRequest::clientToken))
.setter(setter(Builder::clientToken))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("clientToken").build(),
DefaultValueTrait.idempotencyToken()).build();
private static final SdkField> INITIAL_CAPACITY_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("initialCapacity")
.getter(getter(UpdateApplicationRequest::initialCapacity))
.setter(setter(Builder::initialCapacity))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("initialCapacity").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(InitialCapacityConfig::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final SdkField MAXIMUM_CAPACITY_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("maximumCapacity")
.getter(getter(UpdateApplicationRequest::maximumCapacity)).setter(setter(Builder::maximumCapacity))
.constructor(MaximumAllowedResources::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("maximumCapacity").build()).build();
private static final SdkField AUTO_START_CONFIGURATION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("autoStartConfiguration")
.getter(getter(UpdateApplicationRequest::autoStartConfiguration)).setter(setter(Builder::autoStartConfiguration))
.constructor(AutoStartConfig::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("autoStartConfiguration").build())
.build();
private static final SdkField AUTO_STOP_CONFIGURATION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("autoStopConfiguration")
.getter(getter(UpdateApplicationRequest::autoStopConfiguration)).setter(setter(Builder::autoStopConfiguration))
.constructor(AutoStopConfig::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("autoStopConfiguration").build())
.build();
private static final SdkField NETWORK_CONFIGURATION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("networkConfiguration")
.getter(getter(UpdateApplicationRequest::networkConfiguration)).setter(setter(Builder::networkConfiguration))
.constructor(NetworkConfiguration::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("networkConfiguration").build())
.build();
private static final SdkField ARCHITECTURE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("architecture").getter(getter(UpdateApplicationRequest::architectureAsString))
.setter(setter(Builder::architecture))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("architecture").build()).build();
private static final SdkField IMAGE_CONFIGURATION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("imageConfiguration")
.getter(getter(UpdateApplicationRequest::imageConfiguration)).setter(setter(Builder::imageConfiguration))
.constructor(ImageConfigurationInput::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("imageConfiguration").build())
.build();
private static final SdkField> WORKER_TYPE_SPECIFICATIONS_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("workerTypeSpecifications")
.getter(getter(UpdateApplicationRequest::workerTypeSpecifications))
.setter(setter(Builder::workerTypeSpecifications))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("workerTypeSpecifications").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(WorkerTypeSpecificationInput::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final SdkField INTERACTIVE_CONFIGURATION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("interactiveConfiguration")
.getter(getter(UpdateApplicationRequest::interactiveConfiguration)).setter(setter(Builder::interactiveConfiguration))
.constructor(InteractiveConfiguration::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("interactiveConfiguration").build())
.build();
private static final SdkField RELEASE_LABEL_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("releaseLabel").getter(getter(UpdateApplicationRequest::releaseLabel))
.setter(setter(Builder::releaseLabel))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("releaseLabel").build()).build();
private static final SdkField> RUNTIME_CONFIGURATION_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("runtimeConfiguration")
.getter(getter(UpdateApplicationRequest::runtimeConfiguration))
.setter(setter(Builder::runtimeConfiguration))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("runtimeConfiguration").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(Configuration::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField MONITORING_CONFIGURATION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("monitoringConfiguration")
.getter(getter(UpdateApplicationRequest::monitoringConfiguration)).setter(setter(Builder::monitoringConfiguration))
.constructor(MonitoringConfiguration::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("monitoringConfiguration").build())
.build();
private static final SdkField SCHEDULER_CONFIGURATION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("schedulerConfiguration")
.getter(getter(UpdateApplicationRequest::schedulerConfiguration)).setter(setter(Builder::schedulerConfiguration))
.constructor(SchedulerConfiguration::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("schedulerConfiguration").build())
.build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(APPLICATION_ID_FIELD,
CLIENT_TOKEN_FIELD, INITIAL_CAPACITY_FIELD, MAXIMUM_CAPACITY_FIELD, AUTO_START_CONFIGURATION_FIELD,
AUTO_STOP_CONFIGURATION_FIELD, NETWORK_CONFIGURATION_FIELD, ARCHITECTURE_FIELD, IMAGE_CONFIGURATION_FIELD,
WORKER_TYPE_SPECIFICATIONS_FIELD, INTERACTIVE_CONFIGURATION_FIELD, RELEASE_LABEL_FIELD, RUNTIME_CONFIGURATION_FIELD,
MONITORING_CONFIGURATION_FIELD, SCHEDULER_CONFIGURATION_FIELD));
private static final Map> SDK_NAME_TO_FIELD = Collections
.unmodifiableMap(new HashMap>() {
{
put("applicationId", APPLICATION_ID_FIELD);
put("clientToken", CLIENT_TOKEN_FIELD);
put("initialCapacity", INITIAL_CAPACITY_FIELD);
put("maximumCapacity", MAXIMUM_CAPACITY_FIELD);
put("autoStartConfiguration", AUTO_START_CONFIGURATION_FIELD);
put("autoStopConfiguration", AUTO_STOP_CONFIGURATION_FIELD);
put("networkConfiguration", NETWORK_CONFIGURATION_FIELD);
put("architecture", ARCHITECTURE_FIELD);
put("imageConfiguration", IMAGE_CONFIGURATION_FIELD);
put("workerTypeSpecifications", WORKER_TYPE_SPECIFICATIONS_FIELD);
put("interactiveConfiguration", INTERACTIVE_CONFIGURATION_FIELD);
put("releaseLabel", RELEASE_LABEL_FIELD);
put("runtimeConfiguration", RUNTIME_CONFIGURATION_FIELD);
put("monitoringConfiguration", MONITORING_CONFIGURATION_FIELD);
put("schedulerConfiguration", SCHEDULER_CONFIGURATION_FIELD);
}
});
private final String applicationId;
private final String clientToken;
private final Map initialCapacity;
private final MaximumAllowedResources maximumCapacity;
private final AutoStartConfig autoStartConfiguration;
private final AutoStopConfig autoStopConfiguration;
private final NetworkConfiguration networkConfiguration;
private final String architecture;
private final ImageConfigurationInput imageConfiguration;
private final Map workerTypeSpecifications;
private final InteractiveConfiguration interactiveConfiguration;
private final String releaseLabel;
private final List runtimeConfiguration;
private final MonitoringConfiguration monitoringConfiguration;
private final SchedulerConfiguration schedulerConfiguration;
private UpdateApplicationRequest(BuilderImpl builder) {
super(builder);
this.applicationId = builder.applicationId;
this.clientToken = builder.clientToken;
this.initialCapacity = builder.initialCapacity;
this.maximumCapacity = builder.maximumCapacity;
this.autoStartConfiguration = builder.autoStartConfiguration;
this.autoStopConfiguration = builder.autoStopConfiguration;
this.networkConfiguration = builder.networkConfiguration;
this.architecture = builder.architecture;
this.imageConfiguration = builder.imageConfiguration;
this.workerTypeSpecifications = builder.workerTypeSpecifications;
this.interactiveConfiguration = builder.interactiveConfiguration;
this.releaseLabel = builder.releaseLabel;
this.runtimeConfiguration = builder.runtimeConfiguration;
this.monitoringConfiguration = builder.monitoringConfiguration;
this.schedulerConfiguration = builder.schedulerConfiguration;
}
/**
*
* The ID of the application to update.
*
*
* @return The ID of the application to update.
*/
public final String applicationId() {
return applicationId;
}
/**
*
* 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 final String clientToken() {
return clientToken;
}
/**
* For responses, this returns true if the service returned a value for the InitialCapacity property. This DOES NOT
* check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property).
* This is useful because the SDK will never return a null collection or map, but you may need to differentiate
* between the service returning nothing (or null) and the service returning an empty collection or map. For
* requests, this returns true if a value for the property was specified in the request builder, and false if a
* value was not specified.
*/
public final boolean hasInitialCapacity() {
return initialCapacity != null && !(initialCapacity instanceof SdkAutoConstructMap);
}
/**
*
* The capacity to initialize when the application is updated.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasInitialCapacity} method.
*
*
* @return The capacity to initialize when the application is updated.
*/
public final Map initialCapacity() {
return initialCapacity;
}
/**
*
* 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 final MaximumAllowedResources maximumCapacity() {
return maximumCapacity;
}
/**
*
* The configuration for an application to automatically start on job submission.
*
*
* @return The configuration for an application to automatically start on job submission.
*/
public final AutoStartConfig autoStartConfiguration() {
return autoStartConfiguration;
}
/**
*
* 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 final AutoStopConfig autoStopConfiguration() {
return autoStopConfiguration;
}
/**
* Returns the value of the NetworkConfiguration property for this object.
*
* @return The value of the NetworkConfiguration property for this object.
*/
public final NetworkConfiguration networkConfiguration() {
return networkConfiguration;
}
/**
*
* The CPU architecture of an application.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #architecture} will
* return {@link Architecture#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #architectureAsString}.
*
*
* @return The CPU architecture of an application.
* @see Architecture
*/
public final Architecture architecture() {
return Architecture.fromValue(architecture);
}
/**
*
* The CPU architecture of an application.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #architecture} will
* return {@link Architecture#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #architectureAsString}.
*
*
* @return The CPU architecture of an application.
* @see Architecture
*/
public final String architectureAsString() {
return 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
.
*
*
* @return The image configuration to be used for all worker types. You can either set this parameter or
* imageConfiguration
for each worker type in WorkerTypeSpecificationInput
.
*/
public final ImageConfigurationInput imageConfiguration() {
return imageConfiguration;
}
/**
* For responses, this returns true if the service returned a value for the WorkerTypeSpecifications property. This
* DOES NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the
* property). This is useful because the SDK will never return a null collection or map, but you may need to
* differentiate between the service returning nothing (or null) and the service returning an empty collection or
* map. For requests, this returns true if a value for the property was specified in the request builder, and false
* if a value was not specified.
*/
public final boolean hasWorkerTypeSpecifications() {
return workerTypeSpecifications != null && !(workerTypeSpecifications instanceof SdkAutoConstructMap);
}
/**
*
* 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.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasWorkerTypeSpecifications} method.
*
*
* @return 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.
*/
public final Map workerTypeSpecifications() {
return workerTypeSpecifications;
}
/**
*
* The interactive configuration object that contains new interactive use cases when the application is updated.
*
*
* @return The interactive configuration object that contains new interactive use cases when the application is
* updated.
*/
public final InteractiveConfiguration interactiveConfiguration() {
return interactiveConfiguration;
}
/**
*
* 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 final String releaseLabel() {
return releaseLabel;
}
/**
* For responses, this returns true if the service returned a value for the RuntimeConfiguration property. This DOES
* NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property).
* This is useful because the SDK will never return a null collection or map, but you may need to differentiate
* between the service returning nothing (or null) and the service returning an empty collection or map. For
* requests, this returns true if a value for the property was specified in the request builder, and false if a
* value was not specified.
*/
public final boolean hasRuntimeConfiguration() {
return runtimeConfiguration != null && !(runtimeConfiguration instanceof SdkAutoConstructList);
}
/**
*
* The Configuration
* specifications to use when updating an application. Each configuration consists of a classification and
* properties. This configuration is applied across all the job runs submitted under the application.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasRuntimeConfiguration} method.
*
*
* @return The Configuration
* specifications to use when updating an application. Each configuration consists of a classification
* and properties. This configuration is applied across all the job runs submitted under the application.
*/
public final List runtimeConfiguration() {
return runtimeConfiguration;
}
/**
*
* The configuration setting for monitoring.
*
*
* @return The configuration setting for monitoring.
*/
public final MonitoringConfiguration monitoringConfiguration() {
return monitoringConfiguration;
}
/**
*
* The scheduler configuration for batch and streaming jobs running on this application. Supported with release
* labels emr-7.0.0 and above.
*
*
* @return The scheduler configuration for batch and streaming jobs running on this application. Supported with
* release labels emr-7.0.0 and above.
*/
public final SchedulerConfiguration schedulerConfiguration() {
return schedulerConfiguration;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + super.hashCode();
hashCode = 31 * hashCode + Objects.hashCode(applicationId());
hashCode = 31 * hashCode + Objects.hashCode(clientToken());
hashCode = 31 * hashCode + Objects.hashCode(hasInitialCapacity() ? initialCapacity() : null);
hashCode = 31 * hashCode + Objects.hashCode(maximumCapacity());
hashCode = 31 * hashCode + Objects.hashCode(autoStartConfiguration());
hashCode = 31 * hashCode + Objects.hashCode(autoStopConfiguration());
hashCode = 31 * hashCode + Objects.hashCode(networkConfiguration());
hashCode = 31 * hashCode + Objects.hashCode(architectureAsString());
hashCode = 31 * hashCode + Objects.hashCode(imageConfiguration());
hashCode = 31 * hashCode + Objects.hashCode(hasWorkerTypeSpecifications() ? workerTypeSpecifications() : null);
hashCode = 31 * hashCode + Objects.hashCode(interactiveConfiguration());
hashCode = 31 * hashCode + Objects.hashCode(releaseLabel());
hashCode = 31 * hashCode + Objects.hashCode(hasRuntimeConfiguration() ? runtimeConfiguration() : null);
hashCode = 31 * hashCode + Objects.hashCode(monitoringConfiguration());
hashCode = 31 * hashCode + Objects.hashCode(schedulerConfiguration());
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return super.equals(obj) && equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof UpdateApplicationRequest)) {
return false;
}
UpdateApplicationRequest other = (UpdateApplicationRequest) obj;
return Objects.equals(applicationId(), other.applicationId()) && Objects.equals(clientToken(), other.clientToken())
&& hasInitialCapacity() == other.hasInitialCapacity()
&& Objects.equals(initialCapacity(), other.initialCapacity())
&& Objects.equals(maximumCapacity(), other.maximumCapacity())
&& Objects.equals(autoStartConfiguration(), other.autoStartConfiguration())
&& Objects.equals(autoStopConfiguration(), other.autoStopConfiguration())
&& Objects.equals(networkConfiguration(), other.networkConfiguration())
&& Objects.equals(architectureAsString(), other.architectureAsString())
&& Objects.equals(imageConfiguration(), other.imageConfiguration())
&& hasWorkerTypeSpecifications() == other.hasWorkerTypeSpecifications()
&& Objects.equals(workerTypeSpecifications(), other.workerTypeSpecifications())
&& Objects.equals(interactiveConfiguration(), other.interactiveConfiguration())
&& Objects.equals(releaseLabel(), other.releaseLabel())
&& hasRuntimeConfiguration() == other.hasRuntimeConfiguration()
&& Objects.equals(runtimeConfiguration(), other.runtimeConfiguration())
&& Objects.equals(monitoringConfiguration(), other.monitoringConfiguration())
&& Objects.equals(schedulerConfiguration(), other.schedulerConfiguration());
}
/**
* 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.
*/
@Override
public final String toString() {
return ToString.builder("UpdateApplicationRequest").add("ApplicationId", applicationId())
.add("ClientToken", clientToken()).add("InitialCapacity", hasInitialCapacity() ? initialCapacity() : null)
.add("MaximumCapacity", maximumCapacity()).add("AutoStartConfiguration", autoStartConfiguration())
.add("AutoStopConfiguration", autoStopConfiguration()).add("NetworkConfiguration", networkConfiguration())
.add("Architecture", architectureAsString()).add("ImageConfiguration", imageConfiguration())
.add("WorkerTypeSpecifications", hasWorkerTypeSpecifications() ? workerTypeSpecifications() : null)
.add("InteractiveConfiguration", interactiveConfiguration()).add("ReleaseLabel", releaseLabel())
.add("RuntimeConfiguration", hasRuntimeConfiguration() ? runtimeConfiguration() : null)
.add("MonitoringConfiguration", monitoringConfiguration())
.add("SchedulerConfiguration", schedulerConfiguration()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "applicationId":
return Optional.ofNullable(clazz.cast(applicationId()));
case "clientToken":
return Optional.ofNullable(clazz.cast(clientToken()));
case "initialCapacity":
return Optional.ofNullable(clazz.cast(initialCapacity()));
case "maximumCapacity":
return Optional.ofNullable(clazz.cast(maximumCapacity()));
case "autoStartConfiguration":
return Optional.ofNullable(clazz.cast(autoStartConfiguration()));
case "autoStopConfiguration":
return Optional.ofNullable(clazz.cast(autoStopConfiguration()));
case "networkConfiguration":
return Optional.ofNullable(clazz.cast(networkConfiguration()));
case "architecture":
return Optional.ofNullable(clazz.cast(architectureAsString()));
case "imageConfiguration":
return Optional.ofNullable(clazz.cast(imageConfiguration()));
case "workerTypeSpecifications":
return Optional.ofNullable(clazz.cast(workerTypeSpecifications()));
case "interactiveConfiguration":
return Optional.ofNullable(clazz.cast(interactiveConfiguration()));
case "releaseLabel":
return Optional.ofNullable(clazz.cast(releaseLabel()));
case "runtimeConfiguration":
return Optional.ofNullable(clazz.cast(runtimeConfiguration()));
case "monitoringConfiguration":
return Optional.ofNullable(clazz.cast(monitoringConfiguration()));
case "schedulerConfiguration":
return Optional.ofNullable(clazz.cast(schedulerConfiguration()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
@Override
public final Map> sdkFieldNameToField() {
return SDK_NAME_TO_FIELD;
}
private static Function getter(Function g) {
return obj -> g.apply((UpdateApplicationRequest) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends EmrServerlessRequest.Builder, SdkPojo, CopyableBuilder {
/**
*
* 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.
*/
Builder applicationId(String applicationId);
/**
*
* 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.
*/
Builder clientToken(String clientToken);
/**
*
* 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.
*/
Builder initialCapacity(Map initialCapacity);
/**
*
* 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.
*/
Builder maximumCapacity(MaximumAllowedResources 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.
*
* This is a convenience method that creates an instance of the {@link MaximumAllowedResources.Builder} avoiding
* the need to create one manually via {@link MaximumAllowedResources#builder()}.
*
*
* When the {@link Consumer} completes, {@link MaximumAllowedResources.Builder#build()} is called immediately
* and its result is passed to {@link #maximumCapacity(MaximumAllowedResources)}.
*
* @param maximumCapacity
* a consumer that will call methods on {@link MaximumAllowedResources.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #maximumCapacity(MaximumAllowedResources)
*/
default Builder maximumCapacity(Consumer maximumCapacity) {
return maximumCapacity(MaximumAllowedResources.builder().applyMutation(maximumCapacity).build());
}
/**
*
* 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.
*/
Builder autoStartConfiguration(AutoStartConfig autoStartConfiguration);
/**
*
* The configuration for an application to automatically start on job submission.
*
* This is a convenience method that creates an instance of the {@link AutoStartConfig.Builder} avoiding the
* need to create one manually via {@link AutoStartConfig#builder()}.
*
*
* When the {@link Consumer} completes, {@link AutoStartConfig.Builder#build()} is called immediately and its
* result is passed to {@link #autoStartConfiguration(AutoStartConfig)}.
*
* @param autoStartConfiguration
* a consumer that will call methods on {@link AutoStartConfig.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #autoStartConfiguration(AutoStartConfig)
*/
default Builder autoStartConfiguration(Consumer autoStartConfiguration) {
return autoStartConfiguration(AutoStartConfig.builder().applyMutation(autoStartConfiguration).build());
}
/**
*
* 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.
*/
Builder autoStopConfiguration(AutoStopConfig autoStopConfiguration);
/**
*
* The configuration for an application to automatically stop after a certain amount of time being idle.
*
* This is a convenience method that creates an instance of the {@link AutoStopConfig.Builder} avoiding the need
* to create one manually via {@link AutoStopConfig#builder()}.
*
*
* When the {@link Consumer} completes, {@link AutoStopConfig.Builder#build()} is called immediately and its
* result is passed to {@link #autoStopConfiguration(AutoStopConfig)}.
*
* @param autoStopConfiguration
* a consumer that will call methods on {@link AutoStopConfig.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #autoStopConfiguration(AutoStopConfig)
*/
default Builder autoStopConfiguration(Consumer autoStopConfiguration) {
return autoStopConfiguration(AutoStopConfig.builder().applyMutation(autoStopConfiguration).build());
}
/**
* Sets the value of the NetworkConfiguration property for this object.
*
* @param networkConfiguration
* The new value for the NetworkConfiguration property for this object.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder networkConfiguration(NetworkConfiguration networkConfiguration);
/**
* Sets the value of the NetworkConfiguration property for this object.
*
* This is a convenience method that creates an instance of the {@link NetworkConfiguration.Builder} avoiding
* the need to create one manually via {@link NetworkConfiguration#builder()}.
*
*
* When the {@link Consumer} completes, {@link NetworkConfiguration.Builder#build()} is called immediately and
* its result is passed to {@link #networkConfiguration(NetworkConfiguration)}.
*
* @param networkConfiguration
* a consumer that will call methods on {@link NetworkConfiguration.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #networkConfiguration(NetworkConfiguration)
*/
default Builder networkConfiguration(Consumer networkConfiguration) {
return networkConfiguration(NetworkConfiguration.builder().applyMutation(networkConfiguration).build());
}
/**
*
* The CPU architecture of an application.
*
*
* @param architecture
* The CPU architecture of an application.
* @see Architecture
* @return Returns a reference to this object so that method calls can be chained together.
* @see Architecture
*/
Builder architecture(String architecture);
/**
*
* The CPU architecture of an application.
*
*
* @param architecture
* The CPU architecture of an application.
* @see Architecture
* @return Returns a reference to this object so that method calls can be chained together.
* @see Architecture
*/
Builder architecture(Architecture 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
.
*
*
* @param 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
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder imageConfiguration(ImageConfigurationInput 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
.
*
* This is a convenience method that creates an instance of the {@link ImageConfigurationInput.Builder} avoiding
* the need to create one manually via {@link ImageConfigurationInput#builder()}.
*
*
* When the {@link Consumer} completes, {@link ImageConfigurationInput.Builder#build()} is called immediately
* and its result is passed to {@link #imageConfiguration(ImageConfigurationInput)}.
*
* @param imageConfiguration
* a consumer that will call methods on {@link ImageConfigurationInput.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #imageConfiguration(ImageConfigurationInput)
*/
default Builder imageConfiguration(Consumer imageConfiguration) {
return imageConfiguration(ImageConfigurationInput.builder().applyMutation(imageConfiguration).build());
}
/**
*
* 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.
*
*
* @param workerTypeSpecifications
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder workerTypeSpecifications(Map workerTypeSpecifications);
/**
*
* The interactive configuration object that contains new interactive use cases when the application is updated.
*
*
* @param interactiveConfiguration
* The interactive configuration object that contains new interactive use cases when the application is
* updated.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder interactiveConfiguration(InteractiveConfiguration interactiveConfiguration);
/**
*
* The interactive configuration object that contains new interactive use cases when the application is updated.
*
* This is a convenience method that creates an instance of the {@link InteractiveConfiguration.Builder}
* avoiding the need to create one manually via {@link InteractiveConfiguration#builder()}.
*
*
* When the {@link Consumer} completes, {@link InteractiveConfiguration.Builder#build()} is called immediately
* and its result is passed to {@link #interactiveConfiguration(InteractiveConfiguration)}.
*
* @param interactiveConfiguration
* a consumer that will call methods on {@link InteractiveConfiguration.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #interactiveConfiguration(InteractiveConfiguration)
*/
default Builder interactiveConfiguration(Consumer interactiveConfiguration) {
return interactiveConfiguration(InteractiveConfiguration.builder().applyMutation(interactiveConfiguration).build());
}
/**
*
* 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.
*/
Builder releaseLabel(String releaseLabel);
/**
*
* The Configuration
* specifications to use when updating an application. Each configuration consists of a classification and
* properties. This configuration is applied across all the job runs submitted under the application.
*
*
* @param runtimeConfiguration
* The
* Configuration specifications to use when updating an application. Each configuration consists of a
* classification and properties. This configuration is applied across all the job runs submitted under
* the application.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder runtimeConfiguration(Collection runtimeConfiguration);
/**
*
* The Configuration
* specifications to use when updating an application. Each configuration consists of a classification and
* properties. This configuration is applied across all the job runs submitted under the application.
*
*
* @param runtimeConfiguration
* The
* Configuration specifications to use when updating an application. Each configuration consists of a
* classification and properties. This configuration is applied across all the job runs submitted under
* the application.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder runtimeConfiguration(Configuration... runtimeConfiguration);
/**
*
* The Configuration
* specifications to use when updating an application. Each configuration consists of a classification and
* properties. This configuration is applied across all the job runs submitted under the application.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.emrserverless.model.Configuration.Builder} avoiding the need to create
* one manually via {@link software.amazon.awssdk.services.emrserverless.model.Configuration#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.emrserverless.model.Configuration.Builder#build()} is called
* immediately and its result is passed to {@link #runtimeConfiguration(List)}.
*
* @param runtimeConfiguration
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.emrserverless.model.Configuration.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #runtimeConfiguration(java.util.Collection)
*/
Builder runtimeConfiguration(Consumer... runtimeConfiguration);
/**
*
* The configuration setting for monitoring.
*
*
* @param monitoringConfiguration
* The configuration setting for monitoring.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder monitoringConfiguration(MonitoringConfiguration monitoringConfiguration);
/**
*
* The configuration setting for monitoring.
*
* This is a convenience method that creates an instance of the {@link MonitoringConfiguration.Builder} avoiding
* the need to create one manually via {@link MonitoringConfiguration#builder()}.
*
*
* When the {@link Consumer} completes, {@link MonitoringConfiguration.Builder#build()} is called immediately
* and its result is passed to {@link #monitoringConfiguration(MonitoringConfiguration)}.
*
* @param monitoringConfiguration
* a consumer that will call methods on {@link MonitoringConfiguration.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #monitoringConfiguration(MonitoringConfiguration)
*/
default Builder monitoringConfiguration(Consumer monitoringConfiguration) {
return monitoringConfiguration(MonitoringConfiguration.builder().applyMutation(monitoringConfiguration).build());
}
/**
*
* The scheduler configuration for batch and streaming jobs running on this application. Supported with release
* labels emr-7.0.0 and above.
*
*
* @param schedulerConfiguration
* The scheduler configuration for batch and streaming jobs running on this application. Supported with
* release labels emr-7.0.0 and above.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder schedulerConfiguration(SchedulerConfiguration schedulerConfiguration);
/**
*
* The scheduler configuration for batch and streaming jobs running on this application. Supported with release
* labels emr-7.0.0 and above.
*
* This is a convenience method that creates an instance of the {@link SchedulerConfiguration.Builder} avoiding
* the need to create one manually via {@link SchedulerConfiguration#builder()}.
*
*
* When the {@link Consumer} completes, {@link SchedulerConfiguration.Builder#build()} is called immediately and
* its result is passed to {@link #schedulerConfiguration(SchedulerConfiguration)}.
*
* @param schedulerConfiguration
* a consumer that will call methods on {@link SchedulerConfiguration.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #schedulerConfiguration(SchedulerConfiguration)
*/
default Builder schedulerConfiguration(Consumer schedulerConfiguration) {
return schedulerConfiguration(SchedulerConfiguration.builder().applyMutation(schedulerConfiguration).build());
}
@Override
Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration);
@Override
Builder overrideConfiguration(Consumer builderConsumer);
}
static final class BuilderImpl extends EmrServerlessRequest.BuilderImpl implements Builder {
private String applicationId;
private String clientToken;
private Map initialCapacity = DefaultSdkAutoConstructMap.getInstance();
private MaximumAllowedResources maximumCapacity;
private AutoStartConfig autoStartConfiguration;
private AutoStopConfig autoStopConfiguration;
private NetworkConfiguration networkConfiguration;
private String architecture;
private ImageConfigurationInput imageConfiguration;
private Map workerTypeSpecifications = DefaultSdkAutoConstructMap.getInstance();
private InteractiveConfiguration interactiveConfiguration;
private String releaseLabel;
private List runtimeConfiguration = DefaultSdkAutoConstructList.getInstance();
private MonitoringConfiguration monitoringConfiguration;
private SchedulerConfiguration schedulerConfiguration;
private BuilderImpl() {
}
private BuilderImpl(UpdateApplicationRequest model) {
super(model);
applicationId(model.applicationId);
clientToken(model.clientToken);
initialCapacity(model.initialCapacity);
maximumCapacity(model.maximumCapacity);
autoStartConfiguration(model.autoStartConfiguration);
autoStopConfiguration(model.autoStopConfiguration);
networkConfiguration(model.networkConfiguration);
architecture(model.architecture);
imageConfiguration(model.imageConfiguration);
workerTypeSpecifications(model.workerTypeSpecifications);
interactiveConfiguration(model.interactiveConfiguration);
releaseLabel(model.releaseLabel);
runtimeConfiguration(model.runtimeConfiguration);
monitoringConfiguration(model.monitoringConfiguration);
schedulerConfiguration(model.schedulerConfiguration);
}
public final String getApplicationId() {
return applicationId;
}
public final void setApplicationId(String applicationId) {
this.applicationId = applicationId;
}
@Override
public final Builder applicationId(String applicationId) {
this.applicationId = applicationId;
return this;
}
public final String getClientToken() {
return clientToken;
}
public final void setClientToken(String clientToken) {
this.clientToken = clientToken;
}
@Override
public final Builder clientToken(String clientToken) {
this.clientToken = clientToken;
return this;
}
public final Map getInitialCapacity() {
Map result = InitialCapacityConfigMapCopier
.copyToBuilder(this.initialCapacity);
if (result instanceof SdkAutoConstructMap) {
return null;
}
return result;
}
public final void setInitialCapacity(Map initialCapacity) {
this.initialCapacity = InitialCapacityConfigMapCopier.copyFromBuilder(initialCapacity);
}
@Override
public final Builder initialCapacity(Map initialCapacity) {
this.initialCapacity = InitialCapacityConfigMapCopier.copy(initialCapacity);
return this;
}
public final MaximumAllowedResources.Builder getMaximumCapacity() {
return maximumCapacity != null ? maximumCapacity.toBuilder() : null;
}
public final void setMaximumCapacity(MaximumAllowedResources.BuilderImpl maximumCapacity) {
this.maximumCapacity = maximumCapacity != null ? maximumCapacity.build() : null;
}
@Override
public final Builder maximumCapacity(MaximumAllowedResources maximumCapacity) {
this.maximumCapacity = maximumCapacity;
return this;
}
public final AutoStartConfig.Builder getAutoStartConfiguration() {
return autoStartConfiguration != null ? autoStartConfiguration.toBuilder() : null;
}
public final void setAutoStartConfiguration(AutoStartConfig.BuilderImpl autoStartConfiguration) {
this.autoStartConfiguration = autoStartConfiguration != null ? autoStartConfiguration.build() : null;
}
@Override
public final Builder autoStartConfiguration(AutoStartConfig autoStartConfiguration) {
this.autoStartConfiguration = autoStartConfiguration;
return this;
}
public final AutoStopConfig.Builder getAutoStopConfiguration() {
return autoStopConfiguration != null ? autoStopConfiguration.toBuilder() : null;
}
public final void setAutoStopConfiguration(AutoStopConfig.BuilderImpl autoStopConfiguration) {
this.autoStopConfiguration = autoStopConfiguration != null ? autoStopConfiguration.build() : null;
}
@Override
public final Builder autoStopConfiguration(AutoStopConfig autoStopConfiguration) {
this.autoStopConfiguration = autoStopConfiguration;
return this;
}
public final NetworkConfiguration.Builder getNetworkConfiguration() {
return networkConfiguration != null ? networkConfiguration.toBuilder() : null;
}
public final void setNetworkConfiguration(NetworkConfiguration.BuilderImpl networkConfiguration) {
this.networkConfiguration = networkConfiguration != null ? networkConfiguration.build() : null;
}
@Override
public final Builder networkConfiguration(NetworkConfiguration networkConfiguration) {
this.networkConfiguration = networkConfiguration;
return this;
}
public final String getArchitecture() {
return architecture;
}
public final void setArchitecture(String architecture) {
this.architecture = architecture;
}
@Override
public final Builder architecture(String architecture) {
this.architecture = architecture;
return this;
}
@Override
public final Builder architecture(Architecture architecture) {
this.architecture(architecture == null ? null : architecture.toString());
return this;
}
public final ImageConfigurationInput.Builder getImageConfiguration() {
return imageConfiguration != null ? imageConfiguration.toBuilder() : null;
}
public final void setImageConfiguration(ImageConfigurationInput.BuilderImpl imageConfiguration) {
this.imageConfiguration = imageConfiguration != null ? imageConfiguration.build() : null;
}
@Override
public final Builder imageConfiguration(ImageConfigurationInput imageConfiguration) {
this.imageConfiguration = imageConfiguration;
return this;
}
public final Map getWorkerTypeSpecifications() {
Map result = WorkerTypeSpecificationInputMapCopier
.copyToBuilder(this.workerTypeSpecifications);
if (result instanceof SdkAutoConstructMap) {
return null;
}
return result;
}
public final void setWorkerTypeSpecifications(
Map workerTypeSpecifications) {
this.workerTypeSpecifications = WorkerTypeSpecificationInputMapCopier.copyFromBuilder(workerTypeSpecifications);
}
@Override
public final Builder workerTypeSpecifications(Map workerTypeSpecifications) {
this.workerTypeSpecifications = WorkerTypeSpecificationInputMapCopier.copy(workerTypeSpecifications);
return this;
}
public final InteractiveConfiguration.Builder getInteractiveConfiguration() {
return interactiveConfiguration != null ? interactiveConfiguration.toBuilder() : null;
}
public final void setInteractiveConfiguration(InteractiveConfiguration.BuilderImpl interactiveConfiguration) {
this.interactiveConfiguration = interactiveConfiguration != null ? interactiveConfiguration.build() : null;
}
@Override
public final Builder interactiveConfiguration(InteractiveConfiguration interactiveConfiguration) {
this.interactiveConfiguration = interactiveConfiguration;
return this;
}
public final String getReleaseLabel() {
return releaseLabel;
}
public final void setReleaseLabel(String releaseLabel) {
this.releaseLabel = releaseLabel;
}
@Override
public final Builder releaseLabel(String releaseLabel) {
this.releaseLabel = releaseLabel;
return this;
}
public final List getRuntimeConfiguration() {
List result = ConfigurationListCopier.copyToBuilder(this.runtimeConfiguration);
if (result instanceof SdkAutoConstructList) {
return null;
}
return result;
}
public final void setRuntimeConfiguration(Collection runtimeConfiguration) {
this.runtimeConfiguration = ConfigurationListCopier.copyFromBuilder(runtimeConfiguration);
}
@Override
public final Builder runtimeConfiguration(Collection runtimeConfiguration) {
this.runtimeConfiguration = ConfigurationListCopier.copy(runtimeConfiguration);
return this;
}
@Override
@SafeVarargs
public final Builder runtimeConfiguration(Configuration... runtimeConfiguration) {
runtimeConfiguration(Arrays.asList(runtimeConfiguration));
return this;
}
@Override
@SafeVarargs
public final Builder runtimeConfiguration(Consumer... runtimeConfiguration) {
runtimeConfiguration(Stream.of(runtimeConfiguration).map(c -> Configuration.builder().applyMutation(c).build())
.collect(Collectors.toList()));
return this;
}
public final MonitoringConfiguration.Builder getMonitoringConfiguration() {
return monitoringConfiguration != null ? monitoringConfiguration.toBuilder() : null;
}
public final void setMonitoringConfiguration(MonitoringConfiguration.BuilderImpl monitoringConfiguration) {
this.monitoringConfiguration = monitoringConfiguration != null ? monitoringConfiguration.build() : null;
}
@Override
public final Builder monitoringConfiguration(MonitoringConfiguration monitoringConfiguration) {
this.monitoringConfiguration = monitoringConfiguration;
return this;
}
public final SchedulerConfiguration.Builder getSchedulerConfiguration() {
return schedulerConfiguration != null ? schedulerConfiguration.toBuilder() : null;
}
public final void setSchedulerConfiguration(SchedulerConfiguration.BuilderImpl schedulerConfiguration) {
this.schedulerConfiguration = schedulerConfiguration != null ? schedulerConfiguration.build() : null;
}
@Override
public final Builder schedulerConfiguration(SchedulerConfiguration schedulerConfiguration) {
this.schedulerConfiguration = schedulerConfiguration;
return this;
}
@Override
public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) {
super.overrideConfiguration(overrideConfiguration);
return this;
}
@Override
public Builder overrideConfiguration(Consumer builderConsumer) {
super.overrideConfiguration(builderConsumer);
return this;
}
@Override
public UpdateApplicationRequest build() {
return new UpdateApplicationRequest(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
@Override
public Map> sdkFieldNameToField() {
return SDK_NAME_TO_FIELD;
}
}
}