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

software.amazon.awssdk.services.databasemigration.model.DescribeEventsRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Database Migration Service module holds the client classes that are used for communicating with AWS Database Migration Service.

There is a newer version: 2.0.0-preview-11
Show newest version
/*
 * Copyright 2012-2017 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.time.Instant;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.annotation.Generated;
import software.amazon.awssdk.core.AmazonWebServiceRequest;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

*/ @Generated("software.amazon.awssdk:codegen") public class DescribeEventsRequest extends AmazonWebServiceRequest implements ToCopyableBuilder { private final String sourceIdentifier; private final String sourceType; private final Instant startTime; private final Instant endTime; private final Integer duration; private final List eventCategories; private final List filters; private final Integer maxRecords; private final String marker; private DescribeEventsRequest(BuilderImpl builder) { this.sourceIdentifier = builder.sourceIdentifier; this.sourceType = builder.sourceType; this.startTime = builder.startTime; this.endTime = builder.endTime; this.duration = builder.duration; this.eventCategories = builder.eventCategories; this.filters = builder.filters; this.maxRecords = builder.maxRecords; this.marker = builder.marker; } /** *

* The identifier of the event source. An identifier must begin with a letter and must contain only ASCII letters, * digits, and hyphens. It cannot end with a hyphen or contain two consecutive hyphens. *

* * @return The identifier of the event source. An identifier must begin with a letter and must contain only ASCII * letters, digits, and hyphens. It cannot end with a hyphen or contain two consecutive hyphens. */ public String sourceIdentifier() { return sourceIdentifier; } /** *

* The type of AWS DMS resource that generates events. *

*

* Valid values: replication-instance | migration-task *

*

* If the service returns an enum value that is not available in the current SDK version, {@link #sourceType} will * return {@link SourceType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #sourceTypeString}. *

* * @return The type of AWS DMS resource that generates events.

*

* Valid values: replication-instance | migration-task * @see SourceType */ public SourceType sourceType() { return SourceType.fromValue(sourceType); } /** *

* The type of AWS DMS resource that generates events. *

*

* Valid values: replication-instance | migration-task *

*

* If the service returns an enum value that is not available in the current SDK version, {@link #sourceType} will * return {@link SourceType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #sourceTypeString}. *

* * @return The type of AWS DMS resource that generates events.

*

* Valid values: replication-instance | migration-task * @see SourceType */ public String sourceTypeString() { return sourceType; } /** *

* The start time for the events to be listed. *

* * @return The start time for the events to be listed. */ public Instant startTime() { return startTime; } /** *

* The end time for the events to be listed. *

* * @return The end time for the events to be listed. */ public Instant endTime() { return endTime; } /** *

* The duration of the events to be listed. *

* * @return The duration of the events to be listed. */ public Integer duration() { return duration; } /** *

* A list of event categories for a source type that you want to subscribe to. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

* * @return A list of event categories for a source type that you want to subscribe to. */ public List eventCategories() { return eventCategories; } /** *

* Filters applied to the action. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

* * @return Filters applied to the action. */ public List filters() { return filters; } /** *

* The maximum number of records to include in the response. If more records exist than the specified * MaxRecords value, a pagination token called a marker is included in the response so that the * remaining results can be retrieved. *

*

* Default: 100 *

*

* Constraints: Minimum 20, maximum 100. *

* * @return The maximum number of records to include in the response. If more records exist than the specified * MaxRecords value, a pagination token called a marker is included in the response so that the * remaining results can be retrieved.

*

* Default: 100 *

*

* Constraints: Minimum 20, maximum 100. */ public Integer maxRecords() { return maxRecords; } /** *

* An optional pagination token provided by a previous request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by MaxRecords. *

* * @return An optional pagination token provided by a previous request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by MaxRecords. */ public String marker() { return marker; } @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 + ((sourceIdentifier() == null) ? 0 : sourceIdentifier().hashCode()); hashCode = 31 * hashCode + ((sourceTypeString() == null) ? 0 : sourceTypeString().hashCode()); hashCode = 31 * hashCode + ((startTime() == null) ? 0 : startTime().hashCode()); hashCode = 31 * hashCode + ((endTime() == null) ? 0 : endTime().hashCode()); hashCode = 31 * hashCode + ((duration() == null) ? 0 : duration().hashCode()); hashCode = 31 * hashCode + ((eventCategories() == null) ? 0 : eventCategories().hashCode()); hashCode = 31 * hashCode + ((filters() == null) ? 0 : filters().hashCode()); hashCode = 31 * hashCode + ((maxRecords() == null) ? 0 : maxRecords().hashCode()); hashCode = 31 * hashCode + ((marker() == null) ? 0 : marker().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof DescribeEventsRequest)) { return false; } DescribeEventsRequest other = (DescribeEventsRequest) obj; if (other.sourceIdentifier() == null ^ this.sourceIdentifier() == null) { return false; } if (other.sourceIdentifier() != null && !other.sourceIdentifier().equals(this.sourceIdentifier())) { return false; } if (other.sourceTypeString() == null ^ this.sourceTypeString() == null) { return false; } if (other.sourceTypeString() != null && !other.sourceTypeString().equals(this.sourceTypeString())) { return false; } if (other.startTime() == null ^ this.startTime() == null) { return false; } if (other.startTime() != null && !other.startTime().equals(this.startTime())) { return false; } if (other.endTime() == null ^ this.endTime() == null) { return false; } if (other.endTime() != null && !other.endTime().equals(this.endTime())) { return false; } if (other.duration() == null ^ this.duration() == null) { return false; } if (other.duration() != null && !other.duration().equals(this.duration())) { return false; } if (other.eventCategories() == null ^ this.eventCategories() == null) { return false; } if (other.eventCategories() != null && !other.eventCategories().equals(this.eventCategories())) { return false; } if (other.filters() == null ^ this.filters() == null) { return false; } if (other.filters() != null && !other.filters().equals(this.filters())) { return false; } if (other.maxRecords() == null ^ this.maxRecords() == null) { return false; } if (other.maxRecords() != null && !other.maxRecords().equals(this.maxRecords())) { return false; } if (other.marker() == null ^ this.marker() == null) { return false; } if (other.marker() != null && !other.marker().equals(this.marker())) { return false; } return true; } @Override public String toString() { StringBuilder sb = new StringBuilder("{"); if (sourceIdentifier() != null) { sb.append("SourceIdentifier: ").append(sourceIdentifier()).append(","); } if (sourceTypeString() != null) { sb.append("SourceType: ").append(sourceTypeString()).append(","); } if (startTime() != null) { sb.append("StartTime: ").append(startTime()).append(","); } if (endTime() != null) { sb.append("EndTime: ").append(endTime()).append(","); } if (duration() != null) { sb.append("Duration: ").append(duration()).append(","); } if (eventCategories() != null) { sb.append("EventCategories: ").append(eventCategories()).append(","); } if (filters() != null) { sb.append("Filters: ").append(filters()).append(","); } if (maxRecords() != null) { sb.append("MaxRecords: ").append(maxRecords()).append(","); } if (marker() != null) { sb.append("Marker: ").append(marker()).append(","); } if (sb.length() > 1) { sb.setLength(sb.length() - 1); } sb.append("}"); return sb.toString(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "SourceIdentifier": return Optional.of(clazz.cast(sourceIdentifier())); case "SourceType": return Optional.of(clazz.cast(sourceTypeString())); case "StartTime": return Optional.of(clazz.cast(startTime())); case "EndTime": return Optional.of(clazz.cast(endTime())); case "Duration": return Optional.of(clazz.cast(duration())); case "EventCategories": return Optional.of(clazz.cast(eventCategories())); case "Filters": return Optional.of(clazz.cast(filters())); case "MaxRecords": return Optional.of(clazz.cast(maxRecords())); case "Marker": return Optional.of(clazz.cast(marker())); default: return Optional.empty(); } } public interface Builder extends CopyableBuilder { /** *

* The identifier of the event source. An identifier must begin with a letter and must contain only ASCII * letters, digits, and hyphens. It cannot end with a hyphen or contain two consecutive hyphens. *

* * @param sourceIdentifier * The identifier of the event source. An identifier must begin with a letter and must contain only ASCII * letters, digits, and hyphens. It cannot end with a hyphen or contain two consecutive hyphens. * @return Returns a reference to this object so that method calls can be chained together. */ Builder sourceIdentifier(String sourceIdentifier); /** *

* The type of AWS DMS resource that generates events. *

*

* Valid values: replication-instance | migration-task *

* * @param sourceType * The type of AWS DMS resource that generates events.

*

* Valid values: replication-instance | migration-task * @see SourceType * @return Returns a reference to this object so that method calls can be chained together. * @see SourceType */ Builder sourceType(String sourceType); /** *

* The type of AWS DMS resource that generates events. *

*

* Valid values: replication-instance | migration-task *

* * @param sourceType * The type of AWS DMS resource that generates events.

*

* Valid values: replication-instance | migration-task * @see SourceType * @return Returns a reference to this object so that method calls can be chained together. * @see SourceType */ Builder sourceType(SourceType sourceType); /** *

* The start time for the events to be listed. *

* * @param startTime * The start time for the events to be listed. * @return Returns a reference to this object so that method calls can be chained together. */ Builder startTime(Instant startTime); /** *

* The end time for the events to be listed. *

* * @param endTime * The end time for the events to be listed. * @return Returns a reference to this object so that method calls can be chained together. */ Builder endTime(Instant endTime); /** *

* The duration of the events to be listed. *

* * @param duration * The duration of the events to be listed. * @return Returns a reference to this object so that method calls can be chained together. */ Builder duration(Integer duration); /** *

* A list of event categories for a source type that you want to subscribe to. *

* * @param eventCategories * A list of event categories for a source type that you want to subscribe to. * @return Returns a reference to this object so that method calls can be chained together. */ Builder eventCategories(Collection eventCategories); /** *

* A list of event categories for a source type that you want to subscribe to. *

* * @param eventCategories * A list of event categories for a source type that you want to subscribe to. * @return Returns a reference to this object so that method calls can be chained together. */ Builder eventCategories(String... eventCategories); /** *

* Filters applied to the action. *

* * @param filters * Filters applied to the action. * @return Returns a reference to this object so that method calls can be chained together. */ Builder filters(Collection filters); /** *

* Filters applied to the action. *

* * @param filters * Filters applied to the action. * @return Returns a reference to this object so that method calls can be chained together. */ Builder filters(Filter... filters); /** *

* The maximum number of records to include in the response. If more records exist than the specified * MaxRecords value, a pagination token called a marker is included in the response so that the * remaining results can be retrieved. *

*

* Default: 100 *

*

* Constraints: Minimum 20, maximum 100. *

* * @param maxRecords * The maximum number of records to include in the response. If more records exist than the specified * MaxRecords value, a pagination token called a marker is included in the response so that * the remaining results can be retrieved.

*

* Default: 100 *

*

* Constraints: Minimum 20, maximum 100. * @return Returns a reference to this object so that method calls can be chained together. */ Builder maxRecords(Integer maxRecords); /** *

* An optional pagination token provided by a previous request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by MaxRecords. *

* * @param marker * An optional pagination token provided by a previous request. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by MaxRecords * . * @return Returns a reference to this object so that method calls can be chained together. */ Builder marker(String marker); } static final class BuilderImpl implements Builder { private String sourceIdentifier; private String sourceType; private Instant startTime; private Instant endTime; private Integer duration; private List eventCategories; private List filters; private Integer maxRecords; private String marker; private BuilderImpl() { } private BuilderImpl(DescribeEventsRequest model) { sourceIdentifier(model.sourceIdentifier); sourceType(model.sourceType); startTime(model.startTime); endTime(model.endTime); duration(model.duration); eventCategories(model.eventCategories); filters(model.filters); maxRecords(model.maxRecords); marker(model.marker); } public final String getSourceIdentifier() { return sourceIdentifier; } @Override public final Builder sourceIdentifier(String sourceIdentifier) { this.sourceIdentifier = sourceIdentifier; return this; } public final void setSourceIdentifier(String sourceIdentifier) { this.sourceIdentifier = sourceIdentifier; } public final String getSourceType() { return sourceType; } @Override public final Builder sourceType(String sourceType) { this.sourceType = sourceType; return this; } @Override public final Builder sourceType(SourceType sourceType) { this.sourceType(sourceType.toString()); return this; } public final void setSourceType(String sourceType) { this.sourceType = sourceType; } public final Instant getStartTime() { return startTime; } @Override public final Builder startTime(Instant startTime) { this.startTime = startTime; return this; } public final void setStartTime(Instant startTime) { this.startTime = startTime; } public final Instant getEndTime() { return endTime; } @Override public final Builder endTime(Instant endTime) { this.endTime = endTime; return this; } public final void setEndTime(Instant endTime) { this.endTime = endTime; } public final Integer getDuration() { return duration; } @Override public final Builder duration(Integer duration) { this.duration = duration; return this; } public final void setDuration(Integer duration) { this.duration = duration; } public final Collection getEventCategories() { return eventCategories; } @Override public final Builder eventCategories(Collection eventCategories) { this.eventCategories = EventCategoriesListCopier.copy(eventCategories); return this; } @Override @SafeVarargs public final Builder eventCategories(String... eventCategories) { eventCategories(Arrays.asList(eventCategories)); return this; } public final void setEventCategories(Collection eventCategories) { this.eventCategories = EventCategoriesListCopier.copy(eventCategories); } public final Collection getFilters() { return filters != null ? filters.stream().map(Filter::toBuilder).collect(Collectors.toList()) : null; } @Override public final Builder filters(Collection filters) { this.filters = FilterListCopier.copy(filters); return this; } @Override @SafeVarargs public final Builder filters(Filter... filters) { filters(Arrays.asList(filters)); return this; } public final void setFilters(Collection filters) { this.filters = FilterListCopier.copyFromBuilder(filters); } public final Integer getMaxRecords() { return maxRecords; } @Override public final Builder maxRecords(Integer maxRecords) { this.maxRecords = maxRecords; return this; } public final void setMaxRecords(Integer maxRecords) { this.maxRecords = maxRecords; } public final String getMarker() { return marker; } @Override public final Builder marker(String marker) { this.marker = marker; return this; } public final void setMarker(String marker) { this.marker = marker; } @Override public DescribeEventsRequest build() { return new DescribeEventsRequest(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy