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.

The newest version!
/*
 * Copyright 2013-2018 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.Objects;
import java.util.Optional;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
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 DescribeEventsRequest extends DatabaseMigrationRequest 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) { super(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 #sourceTypeAsString}. *

* * @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 #sourceTypeAsString}. *

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

*

* Valid values: replication-instance | migration-task * @see SourceType */ public String sourceTypeAsString() { 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 + Objects.hashCode(sourceIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(sourceTypeAsString()); hashCode = 31 * hashCode + Objects.hashCode(startTime()); hashCode = 31 * hashCode + Objects.hashCode(endTime()); hashCode = 31 * hashCode + Objects.hashCode(duration()); hashCode = 31 * hashCode + Objects.hashCode(eventCategories()); hashCode = 31 * hashCode + Objects.hashCode(filters()); hashCode = 31 * hashCode + Objects.hashCode(maxRecords()); hashCode = 31 * hashCode + Objects.hashCode(marker()); 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; return Objects.equals(sourceIdentifier(), other.sourceIdentifier()) && Objects.equals(sourceTypeAsString(), other.sourceTypeAsString()) && Objects.equals(startTime(), other.startTime()) && Objects.equals(endTime(), other.endTime()) && Objects.equals(duration(), other.duration()) && Objects.equals(eventCategories(), other.eventCategories()) && Objects.equals(filters(), other.filters()) && Objects.equals(maxRecords(), other.maxRecords()) && Objects.equals(marker(), other.marker()); } @Override public String toString() { return ToString.builder("DescribeEventsRequest").add("SourceIdentifier", sourceIdentifier()) .add("SourceType", sourceTypeAsString()).add("StartTime", startTime()).add("EndTime", endTime()) .add("Duration", duration()).add("EventCategories", eventCategories()).add("Filters", filters()) .add("MaxRecords", maxRecords()).add("Marker", marker()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "SourceIdentifier": return Optional.ofNullable(clazz.cast(sourceIdentifier())); case "SourceType": return Optional.ofNullable(clazz.cast(sourceTypeAsString())); case "StartTime": return Optional.ofNullable(clazz.cast(startTime())); case "EndTime": return Optional.ofNullable(clazz.cast(endTime())); case "Duration": return Optional.ofNullable(clazz.cast(duration())); case "EventCategories": return Optional.ofNullable(clazz.cast(eventCategories())); case "Filters": return Optional.ofNullable(clazz.cast(filters())); case "MaxRecords": return Optional.ofNullable(clazz.cast(maxRecords())); case "Marker": return Optional.ofNullable(clazz.cast(marker())); default: return Optional.empty(); } } public interface Builder extends DatabaseMigrationRequest.Builder, 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); /** *

* Filters applied to the action. *

* This is a convenience that creates an instance of the {@link List.Builder} avoiding the need to * create one manually via {@link List#builder()}. * * When the {@link Consumer} completes, {@link List.Builder#build()} is called immediately and its * result is passed to {@link #filters(List)}. * * @param filters * a consumer that will call methods on {@link List.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #filters(List) */ Builder filters(Consumer... 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); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends DatabaseMigrationRequest.BuilderImpl implements Builder { private String sourceIdentifier; private String sourceType; private Instant startTime; private Instant endTime; private Integer duration; private List eventCategories = DefaultSdkAutoConstructList.getInstance(); private List filters = DefaultSdkAutoConstructList.getInstance(); private Integer maxRecords; private String marker; private BuilderImpl() { } private BuilderImpl(DescribeEventsRequest model) { super(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; } @Override @SafeVarargs public final Builder filters(Consumer... filters) { filters(Stream.of(filters).map(c -> Filter.builder().applyMutation(c).build()).collect(Collectors.toList())); 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 Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public DescribeEventsRequest build() { return new DescribeEventsRequest(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy