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.sagemaker.model.DescribeOptimizationJobResponse Maven / Gradle / Ivy
Go to download
The AWS Java SDK for Amazon SageMaker module holds the client classes that are used for communicating
with Amazon SageMaker Service
/*
* 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.sagemaker.model;
import java.time.Instant;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
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.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.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 DescribeOptimizationJobResponse extends SageMakerResponse implements
ToCopyableBuilder {
private static final SdkField OPTIMIZATION_JOB_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("OptimizationJobArn").getter(getter(DescribeOptimizationJobResponse::optimizationJobArn))
.setter(setter(Builder::optimizationJobArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptimizationJobArn").build())
.build();
private static final SdkField OPTIMIZATION_JOB_STATUS_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("OptimizationJobStatus").getter(getter(DescribeOptimizationJobResponse::optimizationJobStatusAsString))
.setter(setter(Builder::optimizationJobStatus))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptimizationJobStatus").build())
.build();
private static final SdkField OPTIMIZATION_START_TIME_FIELD = SdkField. builder(MarshallingType.INSTANT)
.memberName("OptimizationStartTime").getter(getter(DescribeOptimizationJobResponse::optimizationStartTime))
.setter(setter(Builder::optimizationStartTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptimizationStartTime").build())
.build();
private static final SdkField OPTIMIZATION_END_TIME_FIELD = SdkField. builder(MarshallingType.INSTANT)
.memberName("OptimizationEndTime").getter(getter(DescribeOptimizationJobResponse::optimizationEndTime))
.setter(setter(Builder::optimizationEndTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptimizationEndTime").build())
.build();
private static final SdkField CREATION_TIME_FIELD = SdkField. builder(MarshallingType.INSTANT)
.memberName("CreationTime").getter(getter(DescribeOptimizationJobResponse::creationTime))
.setter(setter(Builder::creationTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CreationTime").build()).build();
private static final SdkField LAST_MODIFIED_TIME_FIELD = SdkField. builder(MarshallingType.INSTANT)
.memberName("LastModifiedTime").getter(getter(DescribeOptimizationJobResponse::lastModifiedTime))
.setter(setter(Builder::lastModifiedTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LastModifiedTime").build()).build();
private static final SdkField FAILURE_REASON_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("FailureReason").getter(getter(DescribeOptimizationJobResponse::failureReason))
.setter(setter(Builder::failureReason))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("FailureReason").build()).build();
private static final SdkField OPTIMIZATION_JOB_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("OptimizationJobName").getter(getter(DescribeOptimizationJobResponse::optimizationJobName))
.setter(setter(Builder::optimizationJobName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptimizationJobName").build())
.build();
private static final SdkField MODEL_SOURCE_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("ModelSource")
.getter(getter(DescribeOptimizationJobResponse::modelSource)).setter(setter(Builder::modelSource))
.constructor(OptimizationJobModelSource::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ModelSource").build()).build();
private static final SdkField> OPTIMIZATION_ENVIRONMENT_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("OptimizationEnvironment")
.getter(getter(DescribeOptimizationJobResponse::optimizationEnvironment))
.setter(setter(Builder::optimizationEnvironment))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptimizationEnvironment").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final SdkField DEPLOYMENT_INSTANCE_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DeploymentInstanceType").getter(getter(DescribeOptimizationJobResponse::deploymentInstanceTypeAsString))
.setter(setter(Builder::deploymentInstanceType))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DeploymentInstanceType").build())
.build();
private static final SdkField> OPTIMIZATION_CONFIGS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("OptimizationConfigs")
.getter(getter(DescribeOptimizationJobResponse::optimizationConfigs))
.setter(setter(Builder::optimizationConfigs))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptimizationConfigs").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(OptimizationConfig::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField OUTPUT_CONFIG_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("OutputConfig")
.getter(getter(DescribeOptimizationJobResponse::outputConfig)).setter(setter(Builder::outputConfig))
.constructor(OptimizationJobOutputConfig::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OutputConfig").build()).build();
private static final SdkField OPTIMIZATION_OUTPUT_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("OptimizationOutput")
.getter(getter(DescribeOptimizationJobResponse::optimizationOutput)).setter(setter(Builder::optimizationOutput))
.constructor(OptimizationOutput::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptimizationOutput").build())
.build();
private static final SdkField ROLE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("RoleArn").getter(getter(DescribeOptimizationJobResponse::roleArn)).setter(setter(Builder::roleArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("RoleArn").build()).build();
private static final SdkField STOPPING_CONDITION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("StoppingCondition")
.getter(getter(DescribeOptimizationJobResponse::stoppingCondition)).setter(setter(Builder::stoppingCondition))
.constructor(StoppingCondition::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StoppingCondition").build()).build();
private static final SdkField VPC_CONFIG_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("VpcConfig")
.getter(getter(DescribeOptimizationJobResponse::vpcConfig)).setter(setter(Builder::vpcConfig))
.constructor(OptimizationVpcConfig::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("VpcConfig").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(OPTIMIZATION_JOB_ARN_FIELD,
OPTIMIZATION_JOB_STATUS_FIELD, OPTIMIZATION_START_TIME_FIELD, OPTIMIZATION_END_TIME_FIELD, CREATION_TIME_FIELD,
LAST_MODIFIED_TIME_FIELD, FAILURE_REASON_FIELD, OPTIMIZATION_JOB_NAME_FIELD, MODEL_SOURCE_FIELD,
OPTIMIZATION_ENVIRONMENT_FIELD, DEPLOYMENT_INSTANCE_TYPE_FIELD, OPTIMIZATION_CONFIGS_FIELD, OUTPUT_CONFIG_FIELD,
OPTIMIZATION_OUTPUT_FIELD, ROLE_ARN_FIELD, STOPPING_CONDITION_FIELD, VPC_CONFIG_FIELD));
private final String optimizationJobArn;
private final String optimizationJobStatus;
private final Instant optimizationStartTime;
private final Instant optimizationEndTime;
private final Instant creationTime;
private final Instant lastModifiedTime;
private final String failureReason;
private final String optimizationJobName;
private final OptimizationJobModelSource modelSource;
private final Map optimizationEnvironment;
private final String deploymentInstanceType;
private final List optimizationConfigs;
private final OptimizationJobOutputConfig outputConfig;
private final OptimizationOutput optimizationOutput;
private final String roleArn;
private final StoppingCondition stoppingCondition;
private final OptimizationVpcConfig vpcConfig;
private DescribeOptimizationJobResponse(BuilderImpl builder) {
super(builder);
this.optimizationJobArn = builder.optimizationJobArn;
this.optimizationJobStatus = builder.optimizationJobStatus;
this.optimizationStartTime = builder.optimizationStartTime;
this.optimizationEndTime = builder.optimizationEndTime;
this.creationTime = builder.creationTime;
this.lastModifiedTime = builder.lastModifiedTime;
this.failureReason = builder.failureReason;
this.optimizationJobName = builder.optimizationJobName;
this.modelSource = builder.modelSource;
this.optimizationEnvironment = builder.optimizationEnvironment;
this.deploymentInstanceType = builder.deploymentInstanceType;
this.optimizationConfigs = builder.optimizationConfigs;
this.outputConfig = builder.outputConfig;
this.optimizationOutput = builder.optimizationOutput;
this.roleArn = builder.roleArn;
this.stoppingCondition = builder.stoppingCondition;
this.vpcConfig = builder.vpcConfig;
}
/**
*
* The Amazon Resource Name (ARN) of the optimization job.
*
*
* @return The Amazon Resource Name (ARN) of the optimization job.
*/
public final String optimizationJobArn() {
return optimizationJobArn;
}
/**
*
* The current status of the optimization job.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #optimizationJobStatus} will return {@link OptimizationJobStatus#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #optimizationJobStatusAsString}.
*
*
* @return The current status of the optimization job.
* @see OptimizationJobStatus
*/
public final OptimizationJobStatus optimizationJobStatus() {
return OptimizationJobStatus.fromValue(optimizationJobStatus);
}
/**
*
* The current status of the optimization job.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #optimizationJobStatus} will return {@link OptimizationJobStatus#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #optimizationJobStatusAsString}.
*
*
* @return The current status of the optimization job.
* @see OptimizationJobStatus
*/
public final String optimizationJobStatusAsString() {
return optimizationJobStatus;
}
/**
*
* The time when the optimization job started.
*
*
* @return The time when the optimization job started.
*/
public final Instant optimizationStartTime() {
return optimizationStartTime;
}
/**
*
* The time when the optimization job finished processing.
*
*
* @return The time when the optimization job finished processing.
*/
public final Instant optimizationEndTime() {
return optimizationEndTime;
}
/**
*
* The time when you created the optimization job.
*
*
* @return The time when you created the optimization job.
*/
public final Instant creationTime() {
return creationTime;
}
/**
*
* The time when the optimization job was last updated.
*
*
* @return The time when the optimization job was last updated.
*/
public final Instant lastModifiedTime() {
return lastModifiedTime;
}
/**
*
* If the optimization job status is FAILED
, the reason for the failure.
*
*
* @return If the optimization job status is FAILED
, the reason for the failure.
*/
public final String failureReason() {
return failureReason;
}
/**
*
* The name that you assigned to the optimization job.
*
*
* @return The name that you assigned to the optimization job.
*/
public final String optimizationJobName() {
return optimizationJobName;
}
/**
*
* The location of the source model to optimize with an optimization job.
*
*
* @return The location of the source model to optimize with an optimization job.
*/
public final OptimizationJobModelSource modelSource() {
return modelSource;
}
/**
* For responses, this returns true if the service returned a value for the OptimizationEnvironment 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 hasOptimizationEnvironment() {
return optimizationEnvironment != null && !(optimizationEnvironment instanceof SdkAutoConstructMap);
}
/**
*
* The environment variables to set in the model container.
*
*
* 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 #hasOptimizationEnvironment} method.
*
*
* @return The environment variables to set in the model container.
*/
public final Map optimizationEnvironment() {
return optimizationEnvironment;
}
/**
*
* The type of instance that hosts the optimized model that you create with the optimization job.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #deploymentInstanceType} will return {@link OptimizationJobDeploymentInstanceType#UNKNOWN_TO_SDK_VERSION}.
* The raw value returned by the service is available from {@link #deploymentInstanceTypeAsString}.
*
*
* @return The type of instance that hosts the optimized model that you create with the optimization job.
* @see OptimizationJobDeploymentInstanceType
*/
public final OptimizationJobDeploymentInstanceType deploymentInstanceType() {
return OptimizationJobDeploymentInstanceType.fromValue(deploymentInstanceType);
}
/**
*
* The type of instance that hosts the optimized model that you create with the optimization job.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #deploymentInstanceType} will return {@link OptimizationJobDeploymentInstanceType#UNKNOWN_TO_SDK_VERSION}.
* The raw value returned by the service is available from {@link #deploymentInstanceTypeAsString}.
*
*
* @return The type of instance that hosts the optimized model that you create with the optimization job.
* @see OptimizationJobDeploymentInstanceType
*/
public final String deploymentInstanceTypeAsString() {
return deploymentInstanceType;
}
/**
* For responses, this returns true if the service returned a value for the OptimizationConfigs 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 hasOptimizationConfigs() {
return optimizationConfigs != null && !(optimizationConfigs instanceof SdkAutoConstructList);
}
/**
*
* Settings for each of the optimization techniques that the job applies.
*
*
* 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 #hasOptimizationConfigs} method.
*
*
* @return Settings for each of the optimization techniques that the job applies.
*/
public final List optimizationConfigs() {
return optimizationConfigs;
}
/**
*
* Details for where to store the optimized model that you create with the optimization job.
*
*
* @return Details for where to store the optimized model that you create with the optimization job.
*/
public final OptimizationJobOutputConfig outputConfig() {
return outputConfig;
}
/**
*
* Output values produced by an optimization job.
*
*
* @return Output values produced by an optimization job.
*/
public final OptimizationOutput optimizationOutput() {
return optimizationOutput;
}
/**
*
* The ARN of the IAM role that you assigned to the optimization job.
*
*
* @return The ARN of the IAM role that you assigned to the optimization job.
*/
public final String roleArn() {
return roleArn;
}
/**
* Returns the value of the StoppingCondition property for this object.
*
* @return The value of the StoppingCondition property for this object.
*/
public final StoppingCondition stoppingCondition() {
return stoppingCondition;
}
/**
*
* A VPC in Amazon VPC that your optimized model has access to.
*
*
* @return A VPC in Amazon VPC that your optimized model has access to.
*/
public final OptimizationVpcConfig vpcConfig() {
return vpcConfig;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + super.hashCode();
hashCode = 31 * hashCode + Objects.hashCode(optimizationJobArn());
hashCode = 31 * hashCode + Objects.hashCode(optimizationJobStatusAsString());
hashCode = 31 * hashCode + Objects.hashCode(optimizationStartTime());
hashCode = 31 * hashCode + Objects.hashCode(optimizationEndTime());
hashCode = 31 * hashCode + Objects.hashCode(creationTime());
hashCode = 31 * hashCode + Objects.hashCode(lastModifiedTime());
hashCode = 31 * hashCode + Objects.hashCode(failureReason());
hashCode = 31 * hashCode + Objects.hashCode(optimizationJobName());
hashCode = 31 * hashCode + Objects.hashCode(modelSource());
hashCode = 31 * hashCode + Objects.hashCode(hasOptimizationEnvironment() ? optimizationEnvironment() : null);
hashCode = 31 * hashCode + Objects.hashCode(deploymentInstanceTypeAsString());
hashCode = 31 * hashCode + Objects.hashCode(hasOptimizationConfigs() ? optimizationConfigs() : null);
hashCode = 31 * hashCode + Objects.hashCode(outputConfig());
hashCode = 31 * hashCode + Objects.hashCode(optimizationOutput());
hashCode = 31 * hashCode + Objects.hashCode(roleArn());
hashCode = 31 * hashCode + Objects.hashCode(stoppingCondition());
hashCode = 31 * hashCode + Objects.hashCode(vpcConfig());
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 DescribeOptimizationJobResponse)) {
return false;
}
DescribeOptimizationJobResponse other = (DescribeOptimizationJobResponse) obj;
return Objects.equals(optimizationJobArn(), other.optimizationJobArn())
&& Objects.equals(optimizationJobStatusAsString(), other.optimizationJobStatusAsString())
&& Objects.equals(optimizationStartTime(), other.optimizationStartTime())
&& Objects.equals(optimizationEndTime(), other.optimizationEndTime())
&& Objects.equals(creationTime(), other.creationTime())
&& Objects.equals(lastModifiedTime(), other.lastModifiedTime())
&& Objects.equals(failureReason(), other.failureReason())
&& Objects.equals(optimizationJobName(), other.optimizationJobName())
&& Objects.equals(modelSource(), other.modelSource())
&& hasOptimizationEnvironment() == other.hasOptimizationEnvironment()
&& Objects.equals(optimizationEnvironment(), other.optimizationEnvironment())
&& Objects.equals(deploymentInstanceTypeAsString(), other.deploymentInstanceTypeAsString())
&& hasOptimizationConfigs() == other.hasOptimizationConfigs()
&& Objects.equals(optimizationConfigs(), other.optimizationConfigs())
&& Objects.equals(outputConfig(), other.outputConfig())
&& Objects.equals(optimizationOutput(), other.optimizationOutput()) && Objects.equals(roleArn(), other.roleArn())
&& Objects.equals(stoppingCondition(), other.stoppingCondition())
&& Objects.equals(vpcConfig(), other.vpcConfig());
}
/**
* 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("DescribeOptimizationJobResponse").add("OptimizationJobArn", optimizationJobArn())
.add("OptimizationJobStatus", optimizationJobStatusAsString())
.add("OptimizationStartTime", optimizationStartTime()).add("OptimizationEndTime", optimizationEndTime())
.add("CreationTime", creationTime()).add("LastModifiedTime", lastModifiedTime())
.add("FailureReason", failureReason()).add("OptimizationJobName", optimizationJobName())
.add("ModelSource", modelSource())
.add("OptimizationEnvironment", hasOptimizationEnvironment() ? optimizationEnvironment() : null)
.add("DeploymentInstanceType", deploymentInstanceTypeAsString())
.add("OptimizationConfigs", hasOptimizationConfigs() ? optimizationConfigs() : null)
.add("OutputConfig", outputConfig()).add("OptimizationOutput", optimizationOutput()).add("RoleArn", roleArn())
.add("StoppingCondition", stoppingCondition()).add("VpcConfig", vpcConfig()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "OptimizationJobArn":
return Optional.ofNullable(clazz.cast(optimizationJobArn()));
case "OptimizationJobStatus":
return Optional.ofNullable(clazz.cast(optimizationJobStatusAsString()));
case "OptimizationStartTime":
return Optional.ofNullable(clazz.cast(optimizationStartTime()));
case "OptimizationEndTime":
return Optional.ofNullable(clazz.cast(optimizationEndTime()));
case "CreationTime":
return Optional.ofNullable(clazz.cast(creationTime()));
case "LastModifiedTime":
return Optional.ofNullable(clazz.cast(lastModifiedTime()));
case "FailureReason":
return Optional.ofNullable(clazz.cast(failureReason()));
case "OptimizationJobName":
return Optional.ofNullable(clazz.cast(optimizationJobName()));
case "ModelSource":
return Optional.ofNullable(clazz.cast(modelSource()));
case "OptimizationEnvironment":
return Optional.ofNullable(clazz.cast(optimizationEnvironment()));
case "DeploymentInstanceType":
return Optional.ofNullable(clazz.cast(deploymentInstanceTypeAsString()));
case "OptimizationConfigs":
return Optional.ofNullable(clazz.cast(optimizationConfigs()));
case "OutputConfig":
return Optional.ofNullable(clazz.cast(outputConfig()));
case "OptimizationOutput":
return Optional.ofNullable(clazz.cast(optimizationOutput()));
case "RoleArn":
return Optional.ofNullable(clazz.cast(roleArn()));
case "StoppingCondition":
return Optional.ofNullable(clazz.cast(stoppingCondition()));
case "VpcConfig":
return Optional.ofNullable(clazz.cast(vpcConfig()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((DescribeOptimizationJobResponse) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends SageMakerResponse.Builder, SdkPojo,
CopyableBuilder {
/**
*
* The Amazon Resource Name (ARN) of the optimization job.
*
*
* @param optimizationJobArn
* The Amazon Resource Name (ARN) of the optimization job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optimizationJobArn(String optimizationJobArn);
/**
*
* The current status of the optimization job.
*
*
* @param optimizationJobStatus
* The current status of the optimization job.
* @see OptimizationJobStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see OptimizationJobStatus
*/
Builder optimizationJobStatus(String optimizationJobStatus);
/**
*
* The current status of the optimization job.
*
*
* @param optimizationJobStatus
* The current status of the optimization job.
* @see OptimizationJobStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see OptimizationJobStatus
*/
Builder optimizationJobStatus(OptimizationJobStatus optimizationJobStatus);
/**
*
* The time when the optimization job started.
*
*
* @param optimizationStartTime
* The time when the optimization job started.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optimizationStartTime(Instant optimizationStartTime);
/**
*
* The time when the optimization job finished processing.
*
*
* @param optimizationEndTime
* The time when the optimization job finished processing.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optimizationEndTime(Instant optimizationEndTime);
/**
*
* The time when you created the optimization job.
*
*
* @param creationTime
* The time when you created the optimization job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder creationTime(Instant creationTime);
/**
*
* The time when the optimization job was last updated.
*
*
* @param lastModifiedTime
* The time when the optimization job was last updated.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder lastModifiedTime(Instant lastModifiedTime);
/**
*
* If the optimization job status is FAILED
, the reason for the failure.
*
*
* @param failureReason
* If the optimization job status is FAILED
, the reason for the failure.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder failureReason(String failureReason);
/**
*
* The name that you assigned to the optimization job.
*
*
* @param optimizationJobName
* The name that you assigned to the optimization job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optimizationJobName(String optimizationJobName);
/**
*
* The location of the source model to optimize with an optimization job.
*
*
* @param modelSource
* The location of the source model to optimize with an optimization job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder modelSource(OptimizationJobModelSource modelSource);
/**
*
* The location of the source model to optimize with an optimization job.
*
* This is a convenience method that creates an instance of the {@link OptimizationJobModelSource.Builder}
* avoiding the need to create one manually via {@link OptimizationJobModelSource#builder()}.
*
*
* When the {@link Consumer} completes, {@link OptimizationJobModelSource.Builder#build()} is called immediately
* and its result is passed to {@link #modelSource(OptimizationJobModelSource)}.
*
* @param modelSource
* a consumer that will call methods on {@link OptimizationJobModelSource.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #modelSource(OptimizationJobModelSource)
*/
default Builder modelSource(Consumer modelSource) {
return modelSource(OptimizationJobModelSource.builder().applyMutation(modelSource).build());
}
/**
*
* The environment variables to set in the model container.
*
*
* @param optimizationEnvironment
* The environment variables to set in the model container.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optimizationEnvironment(Map optimizationEnvironment);
/**
*
* The type of instance that hosts the optimized model that you create with the optimization job.
*
*
* @param deploymentInstanceType
* The type of instance that hosts the optimized model that you create with the optimization job.
* @see OptimizationJobDeploymentInstanceType
* @return Returns a reference to this object so that method calls can be chained together.
* @see OptimizationJobDeploymentInstanceType
*/
Builder deploymentInstanceType(String deploymentInstanceType);
/**
*
* The type of instance that hosts the optimized model that you create with the optimization job.
*
*
* @param deploymentInstanceType
* The type of instance that hosts the optimized model that you create with the optimization job.
* @see OptimizationJobDeploymentInstanceType
* @return Returns a reference to this object so that method calls can be chained together.
* @see OptimizationJobDeploymentInstanceType
*/
Builder deploymentInstanceType(OptimizationJobDeploymentInstanceType deploymentInstanceType);
/**
*
* Settings for each of the optimization techniques that the job applies.
*
*
* @param optimizationConfigs
* Settings for each of the optimization techniques that the job applies.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optimizationConfigs(Collection optimizationConfigs);
/**
*
* Settings for each of the optimization techniques that the job applies.
*
*
* @param optimizationConfigs
* Settings for each of the optimization techniques that the job applies.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optimizationConfigs(OptimizationConfig... optimizationConfigs);
/**
*
* Settings for each of the optimization techniques that the job applies.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.sagemaker.model.OptimizationConfig.Builder} avoiding the need to
* create one manually via {@link software.amazon.awssdk.services.sagemaker.model.OptimizationConfig#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.sagemaker.model.OptimizationConfig.Builder#build()} is called
* immediately and its result is passed to {@link #optimizationConfigs(List)}.
*
* @param optimizationConfigs
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.sagemaker.model.OptimizationConfig.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #optimizationConfigs(java.util.Collection)
*/
Builder optimizationConfigs(Consumer... optimizationConfigs);
/**
*
* Details for where to store the optimized model that you create with the optimization job.
*
*
* @param outputConfig
* Details for where to store the optimized model that you create with the optimization job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder outputConfig(OptimizationJobOutputConfig outputConfig);
/**
*
* Details for where to store the optimized model that you create with the optimization job.
*
* This is a convenience method that creates an instance of the {@link OptimizationJobOutputConfig.Builder}
* avoiding the need to create one manually via {@link OptimizationJobOutputConfig#builder()}.
*
*
* When the {@link Consumer} completes, {@link OptimizationJobOutputConfig.Builder#build()} is called
* immediately and its result is passed to {@link #outputConfig(OptimizationJobOutputConfig)}.
*
* @param outputConfig
* a consumer that will call methods on {@link OptimizationJobOutputConfig.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #outputConfig(OptimizationJobOutputConfig)
*/
default Builder outputConfig(Consumer outputConfig) {
return outputConfig(OptimizationJobOutputConfig.builder().applyMutation(outputConfig).build());
}
/**
*
* Output values produced by an optimization job.
*
*
* @param optimizationOutput
* Output values produced by an optimization job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optimizationOutput(OptimizationOutput optimizationOutput);
/**
*
* Output values produced by an optimization job.
*
* This is a convenience method that creates an instance of the {@link OptimizationOutput.Builder} avoiding the
* need to create one manually via {@link OptimizationOutput#builder()}.
*
*
* When the {@link Consumer} completes, {@link OptimizationOutput.Builder#build()} is called immediately and its
* result is passed to {@link #optimizationOutput(OptimizationOutput)}.
*
* @param optimizationOutput
* a consumer that will call methods on {@link OptimizationOutput.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #optimizationOutput(OptimizationOutput)
*/
default Builder optimizationOutput(Consumer optimizationOutput) {
return optimizationOutput(OptimizationOutput.builder().applyMutation(optimizationOutput).build());
}
/**
*
* The ARN of the IAM role that you assigned to the optimization job.
*
*
* @param roleArn
* The ARN of the IAM role that you assigned to the optimization job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder roleArn(String roleArn);
/**
* Sets the value of the StoppingCondition property for this object.
*
* @param stoppingCondition
* The new value for the StoppingCondition property for this object.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder stoppingCondition(StoppingCondition stoppingCondition);
/**
* Sets the value of the StoppingCondition property for this object.
*
* This is a convenience method that creates an instance of the {@link StoppingCondition.Builder} avoiding the
* need to create one manually via {@link StoppingCondition#builder()}.
*
*
* When the {@link Consumer} completes, {@link StoppingCondition.Builder#build()} is called immediately and its
* result is passed to {@link #stoppingCondition(StoppingCondition)}.
*
* @param stoppingCondition
* a consumer that will call methods on {@link StoppingCondition.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #stoppingCondition(StoppingCondition)
*/
default Builder stoppingCondition(Consumer stoppingCondition) {
return stoppingCondition(StoppingCondition.builder().applyMutation(stoppingCondition).build());
}
/**
*
* A VPC in Amazon VPC that your optimized model has access to.
*
*
* @param vpcConfig
* A VPC in Amazon VPC that your optimized model has access to.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder vpcConfig(OptimizationVpcConfig vpcConfig);
/**
*
* A VPC in Amazon VPC that your optimized model has access to.
*
* This is a convenience method that creates an instance of the {@link OptimizationVpcConfig.Builder} avoiding
* the need to create one manually via {@link OptimizationVpcConfig#builder()}.
*
*
* When the {@link Consumer} completes, {@link OptimizationVpcConfig.Builder#build()} is called immediately and
* its result is passed to {@link #vpcConfig(OptimizationVpcConfig)}.
*
* @param vpcConfig
* a consumer that will call methods on {@link OptimizationVpcConfig.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #vpcConfig(OptimizationVpcConfig)
*/
default Builder vpcConfig(Consumer vpcConfig) {
return vpcConfig(OptimizationVpcConfig.builder().applyMutation(vpcConfig).build());
}
}
static final class BuilderImpl extends SageMakerResponse.BuilderImpl implements Builder {
private String optimizationJobArn;
private String optimizationJobStatus;
private Instant optimizationStartTime;
private Instant optimizationEndTime;
private Instant creationTime;
private Instant lastModifiedTime;
private String failureReason;
private String optimizationJobName;
private OptimizationJobModelSource modelSource;
private Map optimizationEnvironment = DefaultSdkAutoConstructMap.getInstance();
private String deploymentInstanceType;
private List optimizationConfigs = DefaultSdkAutoConstructList.getInstance();
private OptimizationJobOutputConfig outputConfig;
private OptimizationOutput optimizationOutput;
private String roleArn;
private StoppingCondition stoppingCondition;
private OptimizationVpcConfig vpcConfig;
private BuilderImpl() {
}
private BuilderImpl(DescribeOptimizationJobResponse model) {
super(model);
optimizationJobArn(model.optimizationJobArn);
optimizationJobStatus(model.optimizationJobStatus);
optimizationStartTime(model.optimizationStartTime);
optimizationEndTime(model.optimizationEndTime);
creationTime(model.creationTime);
lastModifiedTime(model.lastModifiedTime);
failureReason(model.failureReason);
optimizationJobName(model.optimizationJobName);
modelSource(model.modelSource);
optimizationEnvironment(model.optimizationEnvironment);
deploymentInstanceType(model.deploymentInstanceType);
optimizationConfigs(model.optimizationConfigs);
outputConfig(model.outputConfig);
optimizationOutput(model.optimizationOutput);
roleArn(model.roleArn);
stoppingCondition(model.stoppingCondition);
vpcConfig(model.vpcConfig);
}
public final String getOptimizationJobArn() {
return optimizationJobArn;
}
public final void setOptimizationJobArn(String optimizationJobArn) {
this.optimizationJobArn = optimizationJobArn;
}
@Override
public final Builder optimizationJobArn(String optimizationJobArn) {
this.optimizationJobArn = optimizationJobArn;
return this;
}
public final String getOptimizationJobStatus() {
return optimizationJobStatus;
}
public final void setOptimizationJobStatus(String optimizationJobStatus) {
this.optimizationJobStatus = optimizationJobStatus;
}
@Override
public final Builder optimizationJobStatus(String optimizationJobStatus) {
this.optimizationJobStatus = optimizationJobStatus;
return this;
}
@Override
public final Builder optimizationJobStatus(OptimizationJobStatus optimizationJobStatus) {
this.optimizationJobStatus(optimizationJobStatus == null ? null : optimizationJobStatus.toString());
return this;
}
public final Instant getOptimizationStartTime() {
return optimizationStartTime;
}
public final void setOptimizationStartTime(Instant optimizationStartTime) {
this.optimizationStartTime = optimizationStartTime;
}
@Override
public final Builder optimizationStartTime(Instant optimizationStartTime) {
this.optimizationStartTime = optimizationStartTime;
return this;
}
public final Instant getOptimizationEndTime() {
return optimizationEndTime;
}
public final void setOptimizationEndTime(Instant optimizationEndTime) {
this.optimizationEndTime = optimizationEndTime;
}
@Override
public final Builder optimizationEndTime(Instant optimizationEndTime) {
this.optimizationEndTime = optimizationEndTime;
return this;
}
public final Instant getCreationTime() {
return creationTime;
}
public final void setCreationTime(Instant creationTime) {
this.creationTime = creationTime;
}
@Override
public final Builder creationTime(Instant creationTime) {
this.creationTime = creationTime;
return this;
}
public final Instant getLastModifiedTime() {
return lastModifiedTime;
}
public final void setLastModifiedTime(Instant lastModifiedTime) {
this.lastModifiedTime = lastModifiedTime;
}
@Override
public final Builder lastModifiedTime(Instant lastModifiedTime) {
this.lastModifiedTime = lastModifiedTime;
return this;
}
public final String getFailureReason() {
return failureReason;
}
public final void setFailureReason(String failureReason) {
this.failureReason = failureReason;
}
@Override
public final Builder failureReason(String failureReason) {
this.failureReason = failureReason;
return this;
}
public final String getOptimizationJobName() {
return optimizationJobName;
}
public final void setOptimizationJobName(String optimizationJobName) {
this.optimizationJobName = optimizationJobName;
}
@Override
public final Builder optimizationJobName(String optimizationJobName) {
this.optimizationJobName = optimizationJobName;
return this;
}
public final OptimizationJobModelSource.Builder getModelSource() {
return modelSource != null ? modelSource.toBuilder() : null;
}
public final void setModelSource(OptimizationJobModelSource.BuilderImpl modelSource) {
this.modelSource = modelSource != null ? modelSource.build() : null;
}
@Override
public final Builder modelSource(OptimizationJobModelSource modelSource) {
this.modelSource = modelSource;
return this;
}
public final Map getOptimizationEnvironment() {
if (optimizationEnvironment instanceof SdkAutoConstructMap) {
return null;
}
return optimizationEnvironment;
}
public final void setOptimizationEnvironment(Map optimizationEnvironment) {
this.optimizationEnvironment = OptimizationJobEnvironmentVariablesCopier.copy(optimizationEnvironment);
}
@Override
public final Builder optimizationEnvironment(Map optimizationEnvironment) {
this.optimizationEnvironment = OptimizationJobEnvironmentVariablesCopier.copy(optimizationEnvironment);
return this;
}
public final String getDeploymentInstanceType() {
return deploymentInstanceType;
}
public final void setDeploymentInstanceType(String deploymentInstanceType) {
this.deploymentInstanceType = deploymentInstanceType;
}
@Override
public final Builder deploymentInstanceType(String deploymentInstanceType) {
this.deploymentInstanceType = deploymentInstanceType;
return this;
}
@Override
public final Builder deploymentInstanceType(OptimizationJobDeploymentInstanceType deploymentInstanceType) {
this.deploymentInstanceType(deploymentInstanceType == null ? null : deploymentInstanceType.toString());
return this;
}
public final List getOptimizationConfigs() {
List result = OptimizationConfigsCopier.copyToBuilder(this.optimizationConfigs);
if (result instanceof SdkAutoConstructList) {
return null;
}
return result;
}
public final void setOptimizationConfigs(Collection optimizationConfigs) {
this.optimizationConfigs = OptimizationConfigsCopier.copyFromBuilder(optimizationConfigs);
}
@Override
public final Builder optimizationConfigs(Collection optimizationConfigs) {
this.optimizationConfigs = OptimizationConfigsCopier.copy(optimizationConfigs);
return this;
}
@Override
@SafeVarargs
public final Builder optimizationConfigs(OptimizationConfig... optimizationConfigs) {
optimizationConfigs(Arrays.asList(optimizationConfigs));
return this;
}
@Override
@SafeVarargs
public final Builder optimizationConfigs(Consumer... optimizationConfigs) {
optimizationConfigs(Stream.of(optimizationConfigs).map(c -> OptimizationConfig.builder().applyMutation(c).build())
.collect(Collectors.toList()));
return this;
}
public final OptimizationJobOutputConfig.Builder getOutputConfig() {
return outputConfig != null ? outputConfig.toBuilder() : null;
}
public final void setOutputConfig(OptimizationJobOutputConfig.BuilderImpl outputConfig) {
this.outputConfig = outputConfig != null ? outputConfig.build() : null;
}
@Override
public final Builder outputConfig(OptimizationJobOutputConfig outputConfig) {
this.outputConfig = outputConfig;
return this;
}
public final OptimizationOutput.Builder getOptimizationOutput() {
return optimizationOutput != null ? optimizationOutput.toBuilder() : null;
}
public final void setOptimizationOutput(OptimizationOutput.BuilderImpl optimizationOutput) {
this.optimizationOutput = optimizationOutput != null ? optimizationOutput.build() : null;
}
@Override
public final Builder optimizationOutput(OptimizationOutput optimizationOutput) {
this.optimizationOutput = optimizationOutput;
return this;
}
public final String getRoleArn() {
return roleArn;
}
public final void setRoleArn(String roleArn) {
this.roleArn = roleArn;
}
@Override
public final Builder roleArn(String roleArn) {
this.roleArn = roleArn;
return this;
}
public final StoppingCondition.Builder getStoppingCondition() {
return stoppingCondition != null ? stoppingCondition.toBuilder() : null;
}
public final void setStoppingCondition(StoppingCondition.BuilderImpl stoppingCondition) {
this.stoppingCondition = stoppingCondition != null ? stoppingCondition.build() : null;
}
@Override
public final Builder stoppingCondition(StoppingCondition stoppingCondition) {
this.stoppingCondition = stoppingCondition;
return this;
}
public final OptimizationVpcConfig.Builder getVpcConfig() {
return vpcConfig != null ? vpcConfig.toBuilder() : null;
}
public final void setVpcConfig(OptimizationVpcConfig.BuilderImpl vpcConfig) {
this.vpcConfig = vpcConfig != null ? vpcConfig.build() : null;
}
@Override
public final Builder vpcConfig(OptimizationVpcConfig vpcConfig) {
this.vpcConfig = vpcConfig;
return this;
}
@Override
public DescribeOptimizationJobResponse build() {
return new DescribeOptimizationJobResponse(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}