All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.ssm.model.InstanceAssociationStatusInfo Maven / Gradle / Ivy

/*
 * 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.ssm.model;

import java.io.Serializable;
import java.time.Instant;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
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.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Status information about the instance association. *

*/ @Generated("software.amazon.awssdk:codegen") public final class InstanceAssociationStatusInfo implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField ASSOCIATION_ID_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("AssociationId").getter(getter(InstanceAssociationStatusInfo::associationId)) .setter(setter(Builder::associationId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AssociationId").build()).build(); private static final SdkField NAME_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Name") .getter(getter(InstanceAssociationStatusInfo::name)).setter(setter(Builder::name)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Name").build()).build(); private static final SdkField DOCUMENT_VERSION_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DocumentVersion").getter(getter(InstanceAssociationStatusInfo::documentVersion)) .setter(setter(Builder::documentVersion)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DocumentVersion").build()).build(); private static final SdkField ASSOCIATION_VERSION_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("AssociationVersion").getter(getter(InstanceAssociationStatusInfo::associationVersion)) .setter(setter(Builder::associationVersion)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AssociationVersion").build()) .build(); private static final SdkField INSTANCE_ID_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("InstanceId").getter(getter(InstanceAssociationStatusInfo::instanceId)) .setter(setter(Builder::instanceId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("InstanceId").build()).build(); private static final SdkField EXECUTION_DATE_FIELD = SdkField. builder(MarshallingType.INSTANT) .memberName("ExecutionDate").getter(getter(InstanceAssociationStatusInfo::executionDate)) .setter(setter(Builder::executionDate)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ExecutionDate").build()).build(); private static final SdkField STATUS_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Status") .getter(getter(InstanceAssociationStatusInfo::status)).setter(setter(Builder::status)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Status").build()).build(); private static final SdkField DETAILED_STATUS_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DetailedStatus").getter(getter(InstanceAssociationStatusInfo::detailedStatus)) .setter(setter(Builder::detailedStatus)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DetailedStatus").build()).build(); private static final SdkField EXECUTION_SUMMARY_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("ExecutionSummary").getter(getter(InstanceAssociationStatusInfo::executionSummary)) .setter(setter(Builder::executionSummary)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ExecutionSummary").build()).build(); private static final SdkField ERROR_CODE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("ErrorCode").getter(getter(InstanceAssociationStatusInfo::errorCode)).setter(setter(Builder::errorCode)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ErrorCode").build()).build(); private static final SdkField OUTPUT_URL_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("OutputUrl") .getter(getter(InstanceAssociationStatusInfo::outputUrl)).setter(setter(Builder::outputUrl)) .constructor(InstanceAssociationOutputUrl::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OutputUrl").build()).build(); private static final SdkField ASSOCIATION_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("AssociationName").getter(getter(InstanceAssociationStatusInfo::associationName)) .setter(setter(Builder::associationName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AssociationName").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(ASSOCIATION_ID_FIELD, NAME_FIELD, DOCUMENT_VERSION_FIELD, ASSOCIATION_VERSION_FIELD, INSTANCE_ID_FIELD, EXECUTION_DATE_FIELD, STATUS_FIELD, DETAILED_STATUS_FIELD, EXECUTION_SUMMARY_FIELD, ERROR_CODE_FIELD, OUTPUT_URL_FIELD, ASSOCIATION_NAME_FIELD)); private static final long serialVersionUID = 1L; private final String associationId; private final String name; private final String documentVersion; private final String associationVersion; private final String instanceId; private final Instant executionDate; private final String status; private final String detailedStatus; private final String executionSummary; private final String errorCode; private final InstanceAssociationOutputUrl outputUrl; private final String associationName; private InstanceAssociationStatusInfo(BuilderImpl builder) { this.associationId = builder.associationId; this.name = builder.name; this.documentVersion = builder.documentVersion; this.associationVersion = builder.associationVersion; this.instanceId = builder.instanceId; this.executionDate = builder.executionDate; this.status = builder.status; this.detailedStatus = builder.detailedStatus; this.executionSummary = builder.executionSummary; this.errorCode = builder.errorCode; this.outputUrl = builder.outputUrl; this.associationName = builder.associationName; } /** *

* The association ID. *

* * @return The association ID. */ public String associationId() { return associationId; } /** *

* The name of the association. *

* * @return The name of the association. */ public String name() { return name; } /** *

* The association document versions. *

* * @return The association document versions. */ public String documentVersion() { return documentVersion; } /** *

* The version of the association applied to the instance. *

* * @return The version of the association applied to the instance. */ public String associationVersion() { return associationVersion; } /** *

* The instance ID where the association was created. *

* * @return The instance ID where the association was created. */ public String instanceId() { return instanceId; } /** *

* The date the instance association ran. *

* * @return The date the instance association ran. */ public Instant executionDate() { return executionDate; } /** *

* Status information about the instance association. *

* * @return Status information about the instance association. */ public String status() { return status; } /** *

* Detailed status information about the instance association. *

* * @return Detailed status information about the instance association. */ public String detailedStatus() { return detailedStatus; } /** *

* Summary information about association execution. *

* * @return Summary information about association execution. */ public String executionSummary() { return executionSummary; } /** *

* An error code returned by the request to create the association. *

* * @return An error code returned by the request to create the association. */ public String errorCode() { return errorCode; } /** *

* A URL for an S3 bucket where you want to store the results of this request. *

* * @return A URL for an S3 bucket where you want to store the results of this request. */ public InstanceAssociationOutputUrl outputUrl() { return outputUrl; } /** *

* The name of the association applied to the instance. *

* * @return The name of the association applied to the instance. */ public String associationName() { return associationName; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(associationId()); hashCode = 31 * hashCode + Objects.hashCode(name()); hashCode = 31 * hashCode + Objects.hashCode(documentVersion()); hashCode = 31 * hashCode + Objects.hashCode(associationVersion()); hashCode = 31 * hashCode + Objects.hashCode(instanceId()); hashCode = 31 * hashCode + Objects.hashCode(executionDate()); hashCode = 31 * hashCode + Objects.hashCode(status()); hashCode = 31 * hashCode + Objects.hashCode(detailedStatus()); hashCode = 31 * hashCode + Objects.hashCode(executionSummary()); hashCode = 31 * hashCode + Objects.hashCode(errorCode()); hashCode = 31 * hashCode + Objects.hashCode(outputUrl()); hashCode = 31 * hashCode + Objects.hashCode(associationName()); return hashCode; } @Override public boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof InstanceAssociationStatusInfo)) { return false; } InstanceAssociationStatusInfo other = (InstanceAssociationStatusInfo) obj; return Objects.equals(associationId(), other.associationId()) && Objects.equals(name(), other.name()) && Objects.equals(documentVersion(), other.documentVersion()) && Objects.equals(associationVersion(), other.associationVersion()) && Objects.equals(instanceId(), other.instanceId()) && Objects.equals(executionDate(), other.executionDate()) && Objects.equals(status(), other.status()) && Objects.equals(detailedStatus(), other.detailedStatus()) && Objects.equals(executionSummary(), other.executionSummary()) && Objects.equals(errorCode(), other.errorCode()) && Objects.equals(outputUrl(), other.outputUrl()) && Objects.equals(associationName(), other.associationName()); } /** * 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 String toString() { return ToString.builder("InstanceAssociationStatusInfo").add("AssociationId", associationId()).add("Name", name()) .add("DocumentVersion", documentVersion()).add("AssociationVersion", associationVersion()) .add("InstanceId", instanceId()).add("ExecutionDate", executionDate()).add("Status", status()) .add("DetailedStatus", detailedStatus()).add("ExecutionSummary", executionSummary()) .add("ErrorCode", errorCode()).add("OutputUrl", outputUrl()).add("AssociationName", associationName()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "AssociationId": return Optional.ofNullable(clazz.cast(associationId())); case "Name": return Optional.ofNullable(clazz.cast(name())); case "DocumentVersion": return Optional.ofNullable(clazz.cast(documentVersion())); case "AssociationVersion": return Optional.ofNullable(clazz.cast(associationVersion())); case "InstanceId": return Optional.ofNullable(clazz.cast(instanceId())); case "ExecutionDate": return Optional.ofNullable(clazz.cast(executionDate())); case "Status": return Optional.ofNullable(clazz.cast(status())); case "DetailedStatus": return Optional.ofNullable(clazz.cast(detailedStatus())); case "ExecutionSummary": return Optional.ofNullable(clazz.cast(executionSummary())); case "ErrorCode": return Optional.ofNullable(clazz.cast(errorCode())); case "OutputUrl": return Optional.ofNullable(clazz.cast(outputUrl())); case "AssociationName": return Optional.ofNullable(clazz.cast(associationName())); default: return Optional.empty(); } } @Override public List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((InstanceAssociationStatusInfo) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The association ID. *

* * @param associationId * The association ID. * @return Returns a reference to this object so that method calls can be chained together. */ Builder associationId(String associationId); /** *

* The name of the association. *

* * @param name * The name of the association. * @return Returns a reference to this object so that method calls can be chained together. */ Builder name(String name); /** *

* The association document versions. *

* * @param documentVersion * The association document versions. * @return Returns a reference to this object so that method calls can be chained together. */ Builder documentVersion(String documentVersion); /** *

* The version of the association applied to the instance. *

* * @param associationVersion * The version of the association applied to the instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder associationVersion(String associationVersion); /** *

* The instance ID where the association was created. *

* * @param instanceId * The instance ID where the association was created. * @return Returns a reference to this object so that method calls can be chained together. */ Builder instanceId(String instanceId); /** *

* The date the instance association ran. *

* * @param executionDate * The date the instance association ran. * @return Returns a reference to this object so that method calls can be chained together. */ Builder executionDate(Instant executionDate); /** *

* Status information about the instance association. *

* * @param status * Status information about the instance association. * @return Returns a reference to this object so that method calls can be chained together. */ Builder status(String status); /** *

* Detailed status information about the instance association. *

* * @param detailedStatus * Detailed status information about the instance association. * @return Returns a reference to this object so that method calls can be chained together. */ Builder detailedStatus(String detailedStatus); /** *

* Summary information about association execution. *

* * @param executionSummary * Summary information about association execution. * @return Returns a reference to this object so that method calls can be chained together. */ Builder executionSummary(String executionSummary); /** *

* An error code returned by the request to create the association. *

* * @param errorCode * An error code returned by the request to create the association. * @return Returns a reference to this object so that method calls can be chained together. */ Builder errorCode(String errorCode); /** *

* A URL for an S3 bucket where you want to store the results of this request. *

* * @param outputUrl * A URL for an S3 bucket where you want to store the results of this request. * @return Returns a reference to this object so that method calls can be chained together. */ Builder outputUrl(InstanceAssociationOutputUrl outputUrl); /** *

* A URL for an S3 bucket where you want to store the results of this request. *

* This is a convenience that creates an instance of the {@link InstanceAssociationOutputUrl.Builder} avoiding * the need to create one manually via {@link InstanceAssociationOutputUrl#builder()}. * * When the {@link Consumer} completes, {@link InstanceAssociationOutputUrl.Builder#build()} is called * immediately and its result is passed to {@link #outputUrl(InstanceAssociationOutputUrl)}. * * @param outputUrl * a consumer that will call methods on {@link InstanceAssociationOutputUrl.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #outputUrl(InstanceAssociationOutputUrl) */ default Builder outputUrl(Consumer outputUrl) { return outputUrl(InstanceAssociationOutputUrl.builder().applyMutation(outputUrl).build()); } /** *

* The name of the association applied to the instance. *

* * @param associationName * The name of the association applied to the instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder associationName(String associationName); } static final class BuilderImpl implements Builder { private String associationId; private String name; private String documentVersion; private String associationVersion; private String instanceId; private Instant executionDate; private String status; private String detailedStatus; private String executionSummary; private String errorCode; private InstanceAssociationOutputUrl outputUrl; private String associationName; private BuilderImpl() { } private BuilderImpl(InstanceAssociationStatusInfo model) { associationId(model.associationId); name(model.name); documentVersion(model.documentVersion); associationVersion(model.associationVersion); instanceId(model.instanceId); executionDate(model.executionDate); status(model.status); detailedStatus(model.detailedStatus); executionSummary(model.executionSummary); errorCode(model.errorCode); outputUrl(model.outputUrl); associationName(model.associationName); } public final String getAssociationId() { return associationId; } @Override public final Builder associationId(String associationId) { this.associationId = associationId; return this; } public final void setAssociationId(String associationId) { this.associationId = associationId; } public final String getName() { return name; } @Override public final Builder name(String name) { this.name = name; return this; } public final void setName(String name) { this.name = name; } public final String getDocumentVersion() { return documentVersion; } @Override public final Builder documentVersion(String documentVersion) { this.documentVersion = documentVersion; return this; } public final void setDocumentVersion(String documentVersion) { this.documentVersion = documentVersion; } public final String getAssociationVersion() { return associationVersion; } @Override public final Builder associationVersion(String associationVersion) { this.associationVersion = associationVersion; return this; } public final void setAssociationVersion(String associationVersion) { this.associationVersion = associationVersion; } public final String getInstanceId() { return instanceId; } @Override public final Builder instanceId(String instanceId) { this.instanceId = instanceId; return this; } public final void setInstanceId(String instanceId) { this.instanceId = instanceId; } public final Instant getExecutionDate() { return executionDate; } @Override public final Builder executionDate(Instant executionDate) { this.executionDate = executionDate; return this; } public final void setExecutionDate(Instant executionDate) { this.executionDate = executionDate; } public final String getStatus() { return status; } @Override public final Builder status(String status) { this.status = status; return this; } public final void setStatus(String status) { this.status = status; } public final String getDetailedStatus() { return detailedStatus; } @Override public final Builder detailedStatus(String detailedStatus) { this.detailedStatus = detailedStatus; return this; } public final void setDetailedStatus(String detailedStatus) { this.detailedStatus = detailedStatus; } public final String getExecutionSummary() { return executionSummary; } @Override public final Builder executionSummary(String executionSummary) { this.executionSummary = executionSummary; return this; } public final void setExecutionSummary(String executionSummary) { this.executionSummary = executionSummary; } public final String getErrorCode() { return errorCode; } @Override public final Builder errorCode(String errorCode) { this.errorCode = errorCode; return this; } public final void setErrorCode(String errorCode) { this.errorCode = errorCode; } public final InstanceAssociationOutputUrl.Builder getOutputUrl() { return outputUrl != null ? outputUrl.toBuilder() : null; } @Override public final Builder outputUrl(InstanceAssociationOutputUrl outputUrl) { this.outputUrl = outputUrl; return this; } public final void setOutputUrl(InstanceAssociationOutputUrl.BuilderImpl outputUrl) { this.outputUrl = outputUrl != null ? outputUrl.build() : null; } public final String getAssociationName() { return associationName; } @Override public final Builder associationName(String associationName) { this.associationName = associationName; return this; } public final void setAssociationName(String associationName) { this.associationName = associationName; } @Override public InstanceAssociationStatusInfo build() { return new InstanceAssociationStatusInfo(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy