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

software.amazon.awssdk.services.databasemigration.model.CreateReplicationSubnetGroupRequest 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 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 CreateReplicationSubnetGroupRequest extends DatabaseMigrationRequest implements ToCopyableBuilder { private final String replicationSubnetGroupIdentifier; private final String replicationSubnetGroupDescription; private final List subnetIds; private final List tags; private CreateReplicationSubnetGroupRequest(BuilderImpl builder) { super(builder); this.replicationSubnetGroupIdentifier = builder.replicationSubnetGroupIdentifier; this.replicationSubnetGroupDescription = builder.replicationSubnetGroupDescription; this.subnetIds = builder.subnetIds; this.tags = builder.tags; } /** *

* The name for the replication subnet group. This value is stored as a lowercase string. *

*

* Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens. * Must not be "default". *

*

* Example: mySubnetgroup *

* * @return The name for the replication subnet group. This value is stored as a lowercase string.

*

* Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or * hyphens. Must not be "default". *

*

* Example: mySubnetgroup */ public String replicationSubnetGroupIdentifier() { return replicationSubnetGroupIdentifier; } /** *

* The description for the subnet group. *

* * @return The description for the subnet group. */ public String replicationSubnetGroupDescription() { return replicationSubnetGroupDescription; } /** *

* The EC2 subnet IDs for the subnet group. *

*

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

* * @return The EC2 subnet IDs for the subnet group. */ public List subnetIds() { return subnetIds; } /** *

* The tag to be assigned to the subnet group. *

*

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

* * @return The tag to be assigned to the subnet group. */ public List tags() { return tags; } @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(replicationSubnetGroupIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(replicationSubnetGroupDescription()); hashCode = 31 * hashCode + Objects.hashCode(subnetIds()); hashCode = 31 * hashCode + Objects.hashCode(tags()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof CreateReplicationSubnetGroupRequest)) { return false; } CreateReplicationSubnetGroupRequest other = (CreateReplicationSubnetGroupRequest) obj; return Objects.equals(replicationSubnetGroupIdentifier(), other.replicationSubnetGroupIdentifier()) && Objects.equals(replicationSubnetGroupDescription(), other.replicationSubnetGroupDescription()) && Objects.equals(subnetIds(), other.subnetIds()) && Objects.equals(tags(), other.tags()); } @Override public String toString() { return ToString.builder("CreateReplicationSubnetGroupRequest") .add("ReplicationSubnetGroupIdentifier", replicationSubnetGroupIdentifier()) .add("ReplicationSubnetGroupDescription", replicationSubnetGroupDescription()).add("SubnetIds", subnetIds()) .add("Tags", tags()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "ReplicationSubnetGroupIdentifier": return Optional.ofNullable(clazz.cast(replicationSubnetGroupIdentifier())); case "ReplicationSubnetGroupDescription": return Optional.ofNullable(clazz.cast(replicationSubnetGroupDescription())); case "SubnetIds": return Optional.ofNullable(clazz.cast(subnetIds())); case "Tags": return Optional.ofNullable(clazz.cast(tags())); default: return Optional.empty(); } } public interface Builder extends DatabaseMigrationRequest.Builder, CopyableBuilder { /** *

* The name for the replication subnet group. This value is stored as a lowercase string. *

*

* Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens. * Must not be "default". *

*

* Example: mySubnetgroup *

* * @param replicationSubnetGroupIdentifier * The name for the replication subnet group. This value is stored as a lowercase string.

*

* Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or * hyphens. Must not be "default". *

*

* Example: mySubnetgroup * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicationSubnetGroupIdentifier(String replicationSubnetGroupIdentifier); /** *

* The description for the subnet group. *

* * @param replicationSubnetGroupDescription * The description for the subnet group. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicationSubnetGroupDescription(String replicationSubnetGroupDescription); /** *

* The EC2 subnet IDs for the subnet group. *

* * @param subnetIds * The EC2 subnet IDs for the subnet group. * @return Returns a reference to this object so that method calls can be chained together. */ Builder subnetIds(Collection subnetIds); /** *

* The EC2 subnet IDs for the subnet group. *

* * @param subnetIds * The EC2 subnet IDs for the subnet group. * @return Returns a reference to this object so that method calls can be chained together. */ Builder subnetIds(String... subnetIds); /** *

* The tag to be assigned to the subnet group. *

* * @param tags * The tag to be assigned to the subnet group. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Collection tags); /** *

* The tag to be assigned to the subnet group. *

* * @param tags * The tag to be assigned to the subnet group. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Tag... tags); /** *

* The tag to be assigned to the subnet group. *

* 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 #tags(List)}. * * @param tags * 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 #tags(List) */ Builder tags(Consumer... tags); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends DatabaseMigrationRequest.BuilderImpl implements Builder { private String replicationSubnetGroupIdentifier; private String replicationSubnetGroupDescription; private List subnetIds = DefaultSdkAutoConstructList.getInstance(); private List tags = DefaultSdkAutoConstructList.getInstance(); private BuilderImpl() { } private BuilderImpl(CreateReplicationSubnetGroupRequest model) { super(model); replicationSubnetGroupIdentifier(model.replicationSubnetGroupIdentifier); replicationSubnetGroupDescription(model.replicationSubnetGroupDescription); subnetIds(model.subnetIds); tags(model.tags); } public final String getReplicationSubnetGroupIdentifier() { return replicationSubnetGroupIdentifier; } @Override public final Builder replicationSubnetGroupIdentifier(String replicationSubnetGroupIdentifier) { this.replicationSubnetGroupIdentifier = replicationSubnetGroupIdentifier; return this; } public final void setReplicationSubnetGroupIdentifier(String replicationSubnetGroupIdentifier) { this.replicationSubnetGroupIdentifier = replicationSubnetGroupIdentifier; } public final String getReplicationSubnetGroupDescription() { return replicationSubnetGroupDescription; } @Override public final Builder replicationSubnetGroupDescription(String replicationSubnetGroupDescription) { this.replicationSubnetGroupDescription = replicationSubnetGroupDescription; return this; } public final void setReplicationSubnetGroupDescription(String replicationSubnetGroupDescription) { this.replicationSubnetGroupDescription = replicationSubnetGroupDescription; } public final Collection getSubnetIds() { return subnetIds; } @Override public final Builder subnetIds(Collection subnetIds) { this.subnetIds = SubnetIdentifierListCopier.copy(subnetIds); return this; } @Override @SafeVarargs public final Builder subnetIds(String... subnetIds) { subnetIds(Arrays.asList(subnetIds)); return this; } public final void setSubnetIds(Collection subnetIds) { this.subnetIds = SubnetIdentifierListCopier.copy(subnetIds); } public final Collection getTags() { return tags != null ? tags.stream().map(Tag::toBuilder).collect(Collectors.toList()) : null; } @Override public final Builder tags(Collection tags) { this.tags = TagListCopier.copy(tags); return this; } @Override @SafeVarargs public final Builder tags(Tag... tags) { tags(Arrays.asList(tags)); return this; } @Override @SafeVarargs public final Builder tags(Consumer... tags) { tags(Stream.of(tags).map(c -> Tag.builder().applyMutation(c).build()).collect(Collectors.toList())); return this; } public final void setTags(Collection tags) { this.tags = TagListCopier.copyFromBuilder(tags); } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public CreateReplicationSubnetGroupRequest build() { return new CreateReplicationSubnetGroupRequest(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy