
software.amazon.awssdk.services.databasemigration.model.CollectorResponse 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.databasemigration.model;
import java.io.Serializable;
import java.util.Arrays;
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 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;
/**
*
* Describes a Fleet Advisor collector.
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class CollectorResponse implements SdkPojo, Serializable,
ToCopyableBuilder {
private static final SdkField COLLECTOR_REFERENCED_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CollectorReferencedId").getter(getter(CollectorResponse::collectorReferencedId))
.setter(setter(Builder::collectorReferencedId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CollectorReferencedId").build())
.build();
private static final SdkField COLLECTOR_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CollectorName").getter(getter(CollectorResponse::collectorName)).setter(setter(Builder::collectorName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CollectorName").build()).build();
private static final SdkField COLLECTOR_VERSION_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CollectorVersion").getter(getter(CollectorResponse::collectorVersion))
.setter(setter(Builder::collectorVersion))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CollectorVersion").build()).build();
private static final SdkField VERSION_STATUS_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("VersionStatus").getter(getter(CollectorResponse::versionStatusAsString))
.setter(setter(Builder::versionStatus))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("VersionStatus").build()).build();
private static final SdkField DESCRIPTION_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("Description").getter(getter(CollectorResponse::description)).setter(setter(Builder::description))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Description").build()).build();
private static final SdkField S3_BUCKET_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("S3BucketName").getter(getter(CollectorResponse::s3BucketName)).setter(setter(Builder::s3BucketName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("S3BucketName").build()).build();
private static final SdkField SERVICE_ACCESS_ROLE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ServiceAccessRoleArn").getter(getter(CollectorResponse::serviceAccessRoleArn))
.setter(setter(Builder::serviceAccessRoleArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServiceAccessRoleArn").build())
.build();
private static final SdkField COLLECTOR_HEALTH_CHECK_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("CollectorHealthCheck")
.getter(getter(CollectorResponse::collectorHealthCheck)).setter(setter(Builder::collectorHealthCheck))
.constructor(CollectorHealthCheck::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CollectorHealthCheck").build())
.build();
private static final SdkField LAST_DATA_RECEIVED_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("LastDataReceived").getter(getter(CollectorResponse::lastDataReceived))
.setter(setter(Builder::lastDataReceived))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LastDataReceived").build()).build();
private static final SdkField REGISTERED_DATE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("RegisteredDate").getter(getter(CollectorResponse::registeredDate))
.setter(setter(Builder::registeredDate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("RegisteredDate").build()).build();
private static final SdkField CREATED_DATE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CreatedDate").getter(getter(CollectorResponse::createdDate)).setter(setter(Builder::createdDate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CreatedDate").build()).build();
private static final SdkField MODIFIED_DATE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ModifiedDate").getter(getter(CollectorResponse::modifiedDate)).setter(setter(Builder::modifiedDate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ModifiedDate").build()).build();
private static final SdkField INVENTORY_DATA_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("InventoryData")
.getter(getter(CollectorResponse::inventoryData)).setter(setter(Builder::inventoryData))
.constructor(InventoryData::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("InventoryData").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(COLLECTOR_REFERENCED_ID_FIELD,
COLLECTOR_NAME_FIELD, COLLECTOR_VERSION_FIELD, VERSION_STATUS_FIELD, DESCRIPTION_FIELD, S3_BUCKET_NAME_FIELD,
SERVICE_ACCESS_ROLE_ARN_FIELD, COLLECTOR_HEALTH_CHECK_FIELD, LAST_DATA_RECEIVED_FIELD, REGISTERED_DATE_FIELD,
CREATED_DATE_FIELD, MODIFIED_DATE_FIELD, INVENTORY_DATA_FIELD));
private static final Map> SDK_NAME_TO_FIELD = Collections
.unmodifiableMap(new HashMap>() {
{
put("CollectorReferencedId", COLLECTOR_REFERENCED_ID_FIELD);
put("CollectorName", COLLECTOR_NAME_FIELD);
put("CollectorVersion", COLLECTOR_VERSION_FIELD);
put("VersionStatus", VERSION_STATUS_FIELD);
put("Description", DESCRIPTION_FIELD);
put("S3BucketName", S3_BUCKET_NAME_FIELD);
put("ServiceAccessRoleArn", SERVICE_ACCESS_ROLE_ARN_FIELD);
put("CollectorHealthCheck", COLLECTOR_HEALTH_CHECK_FIELD);
put("LastDataReceived", LAST_DATA_RECEIVED_FIELD);
put("RegisteredDate", REGISTERED_DATE_FIELD);
put("CreatedDate", CREATED_DATE_FIELD);
put("ModifiedDate", MODIFIED_DATE_FIELD);
put("InventoryData", INVENTORY_DATA_FIELD);
}
});
private static final long serialVersionUID = 1L;
private final String collectorReferencedId;
private final String collectorName;
private final String collectorVersion;
private final String versionStatus;
private final String description;
private final String s3BucketName;
private final String serviceAccessRoleArn;
private final CollectorHealthCheck collectorHealthCheck;
private final String lastDataReceived;
private final String registeredDate;
private final String createdDate;
private final String modifiedDate;
private final InventoryData inventoryData;
private CollectorResponse(BuilderImpl builder) {
this.collectorReferencedId = builder.collectorReferencedId;
this.collectorName = builder.collectorName;
this.collectorVersion = builder.collectorVersion;
this.versionStatus = builder.versionStatus;
this.description = builder.description;
this.s3BucketName = builder.s3BucketName;
this.serviceAccessRoleArn = builder.serviceAccessRoleArn;
this.collectorHealthCheck = builder.collectorHealthCheck;
this.lastDataReceived = builder.lastDataReceived;
this.registeredDate = builder.registeredDate;
this.createdDate = builder.createdDate;
this.modifiedDate = builder.modifiedDate;
this.inventoryData = builder.inventoryData;
}
/**
*
* The reference ID of the Fleet Advisor collector.
*
*
* @return The reference ID of the Fleet Advisor collector.
*/
public final String collectorReferencedId() {
return collectorReferencedId;
}
/**
*
* The name of the Fleet Advisor collector .
*
*
* @return The name of the Fleet Advisor collector .
*/
public final String collectorName() {
return collectorName;
}
/**
*
* The version of your Fleet Advisor collector, in semantic versioning format, for example 1.0.2
*
*
* @return The version of your Fleet Advisor collector, in semantic versioning format, for example
* 1.0.2
*/
public final String collectorVersion() {
return collectorVersion;
}
/**
*
* Whether the collector version is up to date.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #versionStatus}
* will return {@link VersionStatus#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #versionStatusAsString}.
*
*
* @return Whether the collector version is up to date.
* @see VersionStatus
*/
public final VersionStatus versionStatus() {
return VersionStatus.fromValue(versionStatus);
}
/**
*
* Whether the collector version is up to date.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #versionStatus}
* will return {@link VersionStatus#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #versionStatusAsString}.
*
*
* @return Whether the collector version is up to date.
* @see VersionStatus
*/
public final String versionStatusAsString() {
return versionStatus;
}
/**
*
* A summary description of the Fleet Advisor collector.
*
*
* @return A summary description of the Fleet Advisor collector.
*/
public final String description() {
return description;
}
/**
*
* The Amazon S3 bucket that the Fleet Advisor collector uses to store inventory metadata.
*
*
* @return The Amazon S3 bucket that the Fleet Advisor collector uses to store inventory metadata.
*/
public final String s3BucketName() {
return s3BucketName;
}
/**
*
* The IAM role that grants permissions to access the specified Amazon S3 bucket.
*
*
* @return The IAM role that grants permissions to access the specified Amazon S3 bucket.
*/
public final String serviceAccessRoleArn() {
return serviceAccessRoleArn;
}
/**
* Returns the value of the CollectorHealthCheck property for this object.
*
* @return The value of the CollectorHealthCheck property for this object.
*/
public final CollectorHealthCheck collectorHealthCheck() {
return collectorHealthCheck;
}
/**
*
* The timestamp of the last time the collector received data, in the following format:
* 2022-01-24T19:04:02.596113Z
*
*
* @return The timestamp of the last time the collector received data, in the following format:
* 2022-01-24T19:04:02.596113Z
*/
public final String lastDataReceived() {
return lastDataReceived;
}
/**
*
* The timestamp when DMS registered the collector, in the following format:
* 2022-01-24T19:04:02.596113Z
*
*
* @return The timestamp when DMS registered the collector, in the following format:
* 2022-01-24T19:04:02.596113Z
*/
public final String registeredDate() {
return registeredDate;
}
/**
*
* The timestamp when you created the collector, in the following format: 2022-01-24T19:04:02.596113Z
*
*
* @return The timestamp when you created the collector, in the following format:
* 2022-01-24T19:04:02.596113Z
*/
public final String createdDate() {
return createdDate;
}
/**
*
* The timestamp when DMS last modified the collector, in the following format:
* 2022-01-24T19:04:02.596113Z
*
*
* @return The timestamp when DMS last modified the collector, in the following format:
* 2022-01-24T19:04:02.596113Z
*/
public final String modifiedDate() {
return modifiedDate;
}
/**
* Returns the value of the InventoryData property for this object.
*
* @return The value of the InventoryData property for this object.
*/
public final InventoryData inventoryData() {
return inventoryData;
}
@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 + Objects.hashCode(collectorReferencedId());
hashCode = 31 * hashCode + Objects.hashCode(collectorName());
hashCode = 31 * hashCode + Objects.hashCode(collectorVersion());
hashCode = 31 * hashCode + Objects.hashCode(versionStatusAsString());
hashCode = 31 * hashCode + Objects.hashCode(description());
hashCode = 31 * hashCode + Objects.hashCode(s3BucketName());
hashCode = 31 * hashCode + Objects.hashCode(serviceAccessRoleArn());
hashCode = 31 * hashCode + Objects.hashCode(collectorHealthCheck());
hashCode = 31 * hashCode + Objects.hashCode(lastDataReceived());
hashCode = 31 * hashCode + Objects.hashCode(registeredDate());
hashCode = 31 * hashCode + Objects.hashCode(createdDate());
hashCode = 31 * hashCode + Objects.hashCode(modifiedDate());
hashCode = 31 * hashCode + Objects.hashCode(inventoryData());
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof CollectorResponse)) {
return false;
}
CollectorResponse other = (CollectorResponse) obj;
return Objects.equals(collectorReferencedId(), other.collectorReferencedId())
&& Objects.equals(collectorName(), other.collectorName())
&& Objects.equals(collectorVersion(), other.collectorVersion())
&& Objects.equals(versionStatusAsString(), other.versionStatusAsString())
&& Objects.equals(description(), other.description()) && Objects.equals(s3BucketName(), other.s3BucketName())
&& Objects.equals(serviceAccessRoleArn(), other.serviceAccessRoleArn())
&& Objects.equals(collectorHealthCheck(), other.collectorHealthCheck())
&& Objects.equals(lastDataReceived(), other.lastDataReceived())
&& Objects.equals(registeredDate(), other.registeredDate()) && Objects.equals(createdDate(), other.createdDate())
&& Objects.equals(modifiedDate(), other.modifiedDate()) && Objects.equals(inventoryData(), other.inventoryData());
}
/**
* 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("CollectorResponse").add("CollectorReferencedId", collectorReferencedId())
.add("CollectorName", collectorName()).add("CollectorVersion", collectorVersion())
.add("VersionStatus", versionStatusAsString()).add("Description", description())
.add("S3BucketName", s3BucketName()).add("ServiceAccessRoleArn", serviceAccessRoleArn())
.add("CollectorHealthCheck", collectorHealthCheck()).add("LastDataReceived", lastDataReceived())
.add("RegisteredDate", registeredDate()).add("CreatedDate", createdDate()).add("ModifiedDate", modifiedDate())
.add("InventoryData", inventoryData()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "CollectorReferencedId":
return Optional.ofNullable(clazz.cast(collectorReferencedId()));
case "CollectorName":
return Optional.ofNullable(clazz.cast(collectorName()));
case "CollectorVersion":
return Optional.ofNullable(clazz.cast(collectorVersion()));
case "VersionStatus":
return Optional.ofNullable(clazz.cast(versionStatusAsString()));
case "Description":
return Optional.ofNullable(clazz.cast(description()));
case "S3BucketName":
return Optional.ofNullable(clazz.cast(s3BucketName()));
case "ServiceAccessRoleArn":
return Optional.ofNullable(clazz.cast(serviceAccessRoleArn()));
case "CollectorHealthCheck":
return Optional.ofNullable(clazz.cast(collectorHealthCheck()));
case "LastDataReceived":
return Optional.ofNullable(clazz.cast(lastDataReceived()));
case "RegisteredDate":
return Optional.ofNullable(clazz.cast(registeredDate()));
case "CreatedDate":
return Optional.ofNullable(clazz.cast(createdDate()));
case "ModifiedDate":
return Optional.ofNullable(clazz.cast(modifiedDate()));
case "InventoryData":
return Optional.ofNullable(clazz.cast(inventoryData()));
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