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

software.amazon.awssdk.services.databasemigration.model.ModifyEventSubscriptionRequest 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.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Consumer;
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 ModifyEventSubscriptionRequest extends DatabaseMigrationRequest implements ToCopyableBuilder { private final String subscriptionName; private final String snsTopicArn; private final String sourceType; private final List eventCategories; private final Boolean enabled; private ModifyEventSubscriptionRequest(BuilderImpl builder) { super(builder); this.subscriptionName = builder.subscriptionName; this.snsTopicArn = builder.snsTopicArn; this.sourceType = builder.sourceType; this.eventCategories = builder.eventCategories; this.enabled = builder.enabled; } /** *

* The name of the AWS DMS event notification subscription to be modified. *

* * @return The name of the AWS DMS event notification subscription to be modified. */ public String subscriptionName() { return subscriptionName; } /** *

* The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by * Amazon SNS when you create a topic and subscribe to it. *

* * @return The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created * by Amazon SNS when you create a topic and subscribe to it. */ public String snsTopicArn() { return snsTopicArn; } /** *

* The type of AWS DMS resource that generates the events you want to subscribe to. *

*

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

* * @return The type of AWS DMS resource that generates the events you want to subscribe to.

*

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

* A list of event categories for a source type that you want to subscribe to. Use the * DescribeEventCategories action to see a list of event categories. *

*

* 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. Use the * DescribeEventCategories action to see a list of event categories. */ public List eventCategories() { return eventCategories; } /** *

* A Boolean value; set to true to activate the subscription. *

* * @return A Boolean value; set to true to activate the subscription. */ public Boolean enabled() { return enabled; } @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(subscriptionName()); hashCode = 31 * hashCode + Objects.hashCode(snsTopicArn()); hashCode = 31 * hashCode + Objects.hashCode(sourceType()); hashCode = 31 * hashCode + Objects.hashCode(eventCategories()); hashCode = 31 * hashCode + Objects.hashCode(enabled()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof ModifyEventSubscriptionRequest)) { return false; } ModifyEventSubscriptionRequest other = (ModifyEventSubscriptionRequest) obj; return Objects.equals(subscriptionName(), other.subscriptionName()) && Objects.equals(snsTopicArn(), other.snsTopicArn()) && Objects.equals(sourceType(), other.sourceType()) && Objects.equals(eventCategories(), other.eventCategories()) && Objects.equals(enabled(), other.enabled()); } @Override public String toString() { return ToString.builder("ModifyEventSubscriptionRequest").add("SubscriptionName", subscriptionName()) .add("SnsTopicArn", snsTopicArn()).add("SourceType", sourceType()).add("EventCategories", eventCategories()) .add("Enabled", enabled()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "SubscriptionName": return Optional.ofNullable(clazz.cast(subscriptionName())); case "SnsTopicArn": return Optional.ofNullable(clazz.cast(snsTopicArn())); case "SourceType": return Optional.ofNullable(clazz.cast(sourceType())); case "EventCategories": return Optional.ofNullable(clazz.cast(eventCategories())); case "Enabled": return Optional.ofNullable(clazz.cast(enabled())); default: return Optional.empty(); } } public interface Builder extends DatabaseMigrationRequest.Builder, CopyableBuilder { /** *

* The name of the AWS DMS event notification subscription to be modified. *

* * @param subscriptionName * The name of the AWS DMS event notification subscription to be modified. * @return Returns a reference to this object so that method calls can be chained together. */ Builder subscriptionName(String subscriptionName); /** *

* The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by * Amazon SNS when you create a topic and subscribe to it. *

* * @param snsTopicArn * The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is * created by Amazon SNS when you create a topic and subscribe to it. * @return Returns a reference to this object so that method calls can be chained together. */ Builder snsTopicArn(String snsTopicArn); /** *

* The type of AWS DMS resource that generates the events you want to subscribe to. *

*

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

* * @param sourceType * The type of AWS DMS resource that generates the events you want to subscribe to.

*

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

* A list of event categories for a source type that you want to subscribe to. Use the * DescribeEventCategories action to see a list of event categories. *

* * @param eventCategories * A list of event categories for a source type that you want to subscribe to. Use the * DescribeEventCategories action to see a list of event categories. * @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. Use the * DescribeEventCategories action to see a list of event categories. *

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

* A Boolean value; set to true to activate the subscription. *

* * @param enabled * A Boolean value; set to true to activate the subscription. * @return Returns a reference to this object so that method calls can be chained together. */ Builder enabled(Boolean enabled); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends DatabaseMigrationRequest.BuilderImpl implements Builder { private String subscriptionName; private String snsTopicArn; private String sourceType; private List eventCategories = DefaultSdkAutoConstructList.getInstance(); private Boolean enabled; private BuilderImpl() { } private BuilderImpl(ModifyEventSubscriptionRequest model) { super(model); subscriptionName(model.subscriptionName); snsTopicArn(model.snsTopicArn); sourceType(model.sourceType); eventCategories(model.eventCategories); enabled(model.enabled); } public final String getSubscriptionName() { return subscriptionName; } @Override public final Builder subscriptionName(String subscriptionName) { this.subscriptionName = subscriptionName; return this; } public final void setSubscriptionName(String subscriptionName) { this.subscriptionName = subscriptionName; } public final String getSnsTopicArn() { return snsTopicArn; } @Override public final Builder snsTopicArn(String snsTopicArn) { this.snsTopicArn = snsTopicArn; return this; } public final void setSnsTopicArn(String snsTopicArn) { this.snsTopicArn = snsTopicArn; } public final String getSourceType() { return sourceType; } @Override public final Builder sourceType(String sourceType) { this.sourceType = sourceType; return this; } public final void setSourceType(String sourceType) { this.sourceType = sourceType; } 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 Boolean getEnabled() { return enabled; } @Override public final Builder enabled(Boolean enabled) { this.enabled = enabled; return this; } public final void setEnabled(Boolean enabled) { this.enabled = enabled; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public ModifyEventSubscriptionRequest build() { return new ModifyEventSubscriptionRequest(this); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy