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

software.amazon.awssdk.services.databasemigration.model.CreateReplicationTaskRequest 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.Objects;
import java.util.Optional;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import javax.annotation.Generated;
import software.amazon.awssdk.core.AwsRequestOverrideConfig;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

*/ @Generated("software.amazon.awssdk:codegen") public class CreateReplicationTaskRequest extends DatabaseMigrationRequest implements ToCopyableBuilder { private final String replicationTaskIdentifier; private final String sourceEndpointArn; private final String targetEndpointArn; private final String replicationInstanceArn; private final String migrationType; private final String tableMappings; private final String replicationTaskSettings; private final Instant cdcStartTime; private final List tags; private CreateReplicationTaskRequest(BuilderImpl builder) { super(builder); this.replicationTaskIdentifier = builder.replicationTaskIdentifier; this.sourceEndpointArn = builder.sourceEndpointArn; this.targetEndpointArn = builder.targetEndpointArn; this.replicationInstanceArn = builder.replicationInstanceArn; this.migrationType = builder.migrationType; this.tableMappings = builder.tableMappings; this.replicationTaskSettings = builder.replicationTaskSettings; this.cdcStartTime = builder.cdcStartTime; this.tags = builder.tags; } /** *

* The replication task identifier. *

*

* Constraints: *

*
    *
  • *

    * Must contain from 1 to 255 alphanumeric characters or hyphens. *

    *
  • *
  • *

    * First character must be a letter. *

    *
  • *
  • *

    * Cannot end with a hyphen or contain two consecutive hyphens. *

    *
  • *
* * @return The replication task identifier.

*

* Constraints: *

*
    *
  • *

    * Must contain from 1 to 255 alphanumeric characters or hyphens. *

    *
  • *
  • *

    * First character must be a letter. *

    *
  • *
  • *

    * Cannot end with a hyphen or contain two consecutive hyphens. *

    *
  • */ public String replicationTaskIdentifier() { return replicationTaskIdentifier; } /** *

    * The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. *

    * * @return The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. */ public String sourceEndpointArn() { return sourceEndpointArn; } /** *

    * The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. *

    * * @return The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. */ public String targetEndpointArn() { return targetEndpointArn; } /** *

    * The Amazon Resource Name (ARN) of the replication instance. *

    * * @return The Amazon Resource Name (ARN) of the replication instance. */ public String replicationInstanceArn() { return replicationInstanceArn; } /** *

    * The migration type. *

    *

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

    * * @return The migration type. * @see MigrationTypeValue */ public MigrationTypeValue migrationType() { return MigrationTypeValue.fromValue(migrationType); } /** *

    * The migration type. *

    *

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

    * * @return The migration type. * @see MigrationTypeValue */ public String migrationTypeString() { return migrationType; } /** *

    * When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the * path with "file://". When working with the DMS API, provide the JSON as the parameter value. *

    *

    * For example, --table-mappings file://mappingfile.json *

    * * @return When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. * Precede the path with "file://". When working with the DMS API, provide the JSON as the parameter * value.

    *

    * For example, --table-mappings file://mappingfile.json */ public String tableMappings() { return tableMappings; } /** *

    * Settings for the task, such as target metadata settings. For a complete list of task settings, see Task * Settings for AWS Database Migration Service Tasks. *

    * * @return Settings for the task, such as target metadata settings. For a complete list of task settings, see Task * Settings for AWS Database Migration Service Tasks. */ public String replicationTaskSettings() { return replicationTaskSettings; } /** *

    * The start time for the Change Data Capture (CDC) operation. *

    * * @return The start time for the Change Data Capture (CDC) operation. */ public Instant cdcStartTime() { return cdcStartTime; } /** *

    * Tags to be added to the replication instance. *

    *

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

    * * @return Tags to be added to the replication instance. */ 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(replicationTaskIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(sourceEndpointArn()); hashCode = 31 * hashCode + Objects.hashCode(targetEndpointArn()); hashCode = 31 * hashCode + Objects.hashCode(replicationInstanceArn()); hashCode = 31 * hashCode + Objects.hashCode(migrationTypeString()); hashCode = 31 * hashCode + Objects.hashCode(tableMappings()); hashCode = 31 * hashCode + Objects.hashCode(replicationTaskSettings()); hashCode = 31 * hashCode + Objects.hashCode(cdcStartTime()); 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 CreateReplicationTaskRequest)) { return false; } CreateReplicationTaskRequest other = (CreateReplicationTaskRequest) obj; return Objects.equals(replicationTaskIdentifier(), other.replicationTaskIdentifier()) && Objects.equals(sourceEndpointArn(), other.sourceEndpointArn()) && Objects.equals(targetEndpointArn(), other.targetEndpointArn()) && Objects.equals(replicationInstanceArn(), other.replicationInstanceArn()) && Objects.equals(migrationTypeString(), other.migrationTypeString()) && Objects.equals(tableMappings(), other.tableMappings()) && Objects.equals(replicationTaskSettings(), other.replicationTaskSettings()) && Objects.equals(cdcStartTime(), other.cdcStartTime()) && Objects.equals(tags(), other.tags()); } @Override public String toString() { StringBuilder sb = new StringBuilder("{"); if (replicationTaskIdentifier() != null) { sb.append("ReplicationTaskIdentifier: ").append(replicationTaskIdentifier()).append(","); } if (sourceEndpointArn() != null) { sb.append("SourceEndpointArn: ").append(sourceEndpointArn()).append(","); } if (targetEndpointArn() != null) { sb.append("TargetEndpointArn: ").append(targetEndpointArn()).append(","); } if (replicationInstanceArn() != null) { sb.append("ReplicationInstanceArn: ").append(replicationInstanceArn()).append(","); } if (migrationTypeString() != null) { sb.append("MigrationType: ").append(migrationTypeString()).append(","); } if (tableMappings() != null) { sb.append("TableMappings: ").append(tableMappings()).append(","); } if (replicationTaskSettings() != null) { sb.append("ReplicationTaskSettings: ").append(replicationTaskSettings()).append(","); } if (cdcStartTime() != null) { sb.append("CdcStartTime: ").append(cdcStartTime()).append(","); } if (tags() != null) { sb.append("Tags: ").append(tags()).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 "ReplicationTaskIdentifier": return Optional.of(clazz.cast(replicationTaskIdentifier())); case "SourceEndpointArn": return Optional.of(clazz.cast(sourceEndpointArn())); case "TargetEndpointArn": return Optional.of(clazz.cast(targetEndpointArn())); case "ReplicationInstanceArn": return Optional.of(clazz.cast(replicationInstanceArn())); case "MigrationType": return Optional.of(clazz.cast(migrationTypeString())); case "TableMappings": return Optional.of(clazz.cast(tableMappings())); case "ReplicationTaskSettings": return Optional.of(clazz.cast(replicationTaskSettings())); case "CdcStartTime": return Optional.of(clazz.cast(cdcStartTime())); case "Tags": return Optional.of(clazz.cast(tags())); default: return Optional.empty(); } } public interface Builder extends DatabaseMigrationRequest.Builder, CopyableBuilder { /** *

    * The replication task identifier. *

    *

    * Constraints: *

    *
      *
    • *

      * Must contain from 1 to 255 alphanumeric characters or hyphens. *

      *
    • *
    • *

      * First character must be a letter. *

      *
    • *
    • *

      * Cannot end with a hyphen or contain two consecutive hyphens. *

      *
    • *
    * * @param replicationTaskIdentifier * The replication task identifier.

    *

    * Constraints: *

    *
      *
    • *

      * Must contain from 1 to 255 alphanumeric characters or hyphens. *

      *
    • *
    • *

      * First character must be a letter. *

      *
    • *
    • *

      * 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 replicationTaskIdentifier(String replicationTaskIdentifier); /** *

      * The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. *

      * * @param sourceEndpointArn * The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ Builder sourceEndpointArn(String sourceEndpointArn); /** *

      * The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. *

      * * @param targetEndpointArn * The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ Builder targetEndpointArn(String targetEndpointArn); /** *

      * The Amazon Resource Name (ARN) of the replication instance. *

      * * @param replicationInstanceArn * The Amazon Resource Name (ARN) of the replication instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicationInstanceArn(String replicationInstanceArn); /** *

      * The migration type. *

      * * @param migrationType * The migration type. * @see MigrationTypeValue * @return Returns a reference to this object so that method calls can be chained together. * @see MigrationTypeValue */ Builder migrationType(String migrationType); /** *

      * The migration type. *

      * * @param migrationType * The migration type. * @see MigrationTypeValue * @return Returns a reference to this object so that method calls can be chained together. * @see MigrationTypeValue */ Builder migrationType(MigrationTypeValue migrationType); /** *

      * When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede * the path with "file://". When working with the DMS API, provide the JSON as the parameter value. *

      *

      * For example, --table-mappings file://mappingfile.json *

      * * @param tableMappings * When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. * Precede the path with "file://". When working with the DMS API, provide the JSON as the parameter * value.

      *

      * For example, --table-mappings file://mappingfile.json * @return Returns a reference to this object so that method calls can be chained together. */ Builder tableMappings(String tableMappings); /** *

      * Settings for the task, such as target metadata settings. For a complete list of task settings, see Task * Settings for AWS Database Migration Service Tasks. *

      * * @param replicationTaskSettings * Settings for the task, such as target metadata settings. For a complete list of task settings, see Task * Settings for AWS Database Migration Service Tasks. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicationTaskSettings(String replicationTaskSettings); /** *

      * The start time for the Change Data Capture (CDC) operation. *

      * * @param cdcStartTime * The start time for the Change Data Capture (CDC) operation. * @return Returns a reference to this object so that method calls can be chained together. */ Builder cdcStartTime(Instant cdcStartTime); /** *

      * Tags to be added to the replication instance. *

      * * @param tags * Tags to be added to the replication instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Collection tags); /** *

      * Tags to be added to the replication instance. *

      * * @param tags * Tags to be added to the replication instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Tag... tags); @Override Builder requestOverrideConfig(AwsRequestOverrideConfig awsRequestOverrideConfig); } static final class BuilderImpl extends DatabaseMigrationRequest.BuilderImpl implements Builder { private String replicationTaskIdentifier; private String sourceEndpointArn; private String targetEndpointArn; private String replicationInstanceArn; private String migrationType; private String tableMappings; private String replicationTaskSettings; private Instant cdcStartTime; private List tags; private BuilderImpl() { } private BuilderImpl(CreateReplicationTaskRequest model) { replicationTaskIdentifier(model.replicationTaskIdentifier); sourceEndpointArn(model.sourceEndpointArn); targetEndpointArn(model.targetEndpointArn); replicationInstanceArn(model.replicationInstanceArn); migrationType(model.migrationType); tableMappings(model.tableMappings); replicationTaskSettings(model.replicationTaskSettings); cdcStartTime(model.cdcStartTime); tags(model.tags); } public final String getReplicationTaskIdentifier() { return replicationTaskIdentifier; } @Override public final Builder replicationTaskIdentifier(String replicationTaskIdentifier) { this.replicationTaskIdentifier = replicationTaskIdentifier; return this; } public final void setReplicationTaskIdentifier(String replicationTaskIdentifier) { this.replicationTaskIdentifier = replicationTaskIdentifier; } public final String getSourceEndpointArn() { return sourceEndpointArn; } @Override public final Builder sourceEndpointArn(String sourceEndpointArn) { this.sourceEndpointArn = sourceEndpointArn; return this; } public final void setSourceEndpointArn(String sourceEndpointArn) { this.sourceEndpointArn = sourceEndpointArn; } public final String getTargetEndpointArn() { return targetEndpointArn; } @Override public final Builder targetEndpointArn(String targetEndpointArn) { this.targetEndpointArn = targetEndpointArn; return this; } public final void setTargetEndpointArn(String targetEndpointArn) { this.targetEndpointArn = targetEndpointArn; } public final String getReplicationInstanceArn() { return replicationInstanceArn; } @Override public final Builder replicationInstanceArn(String replicationInstanceArn) { this.replicationInstanceArn = replicationInstanceArn; return this; } public final void setReplicationInstanceArn(String replicationInstanceArn) { this.replicationInstanceArn = replicationInstanceArn; } public final String getMigrationType() { return migrationType; } @Override public final Builder migrationType(String migrationType) { this.migrationType = migrationType; return this; } @Override public final Builder migrationType(MigrationTypeValue migrationType) { this.migrationType(migrationType.toString()); return this; } public final void setMigrationType(String migrationType) { this.migrationType = migrationType; } public final String getTableMappings() { return tableMappings; } @Override public final Builder tableMappings(String tableMappings) { this.tableMappings = tableMappings; return this; } public final void setTableMappings(String tableMappings) { this.tableMappings = tableMappings; } public final String getReplicationTaskSettings() { return replicationTaskSettings; } @Override public final Builder replicationTaskSettings(String replicationTaskSettings) { this.replicationTaskSettings = replicationTaskSettings; return this; } public final void setReplicationTaskSettings(String replicationTaskSettings) { this.replicationTaskSettings = replicationTaskSettings; } public final Instant getCdcStartTime() { return cdcStartTime; } @Override public final Builder cdcStartTime(Instant cdcStartTime) { this.cdcStartTime = cdcStartTime; return this; } public final void setCdcStartTime(Instant cdcStartTime) { this.cdcStartTime = cdcStartTime; } 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; } public final void setTags(Collection tags) { this.tags = TagListCopier.copyFromBuilder(tags); } @Override public Builder requestOverrideConfig(AwsRequestOverrideConfig awsRequestOverrideConfig) { super.requestOverrideConfig(awsRequestOverrideConfig); return this; } @Override public Builder requestOverrideConfig(Consumer builderConsumer) { super.requestOverrideConfig(builderConsumer); return this; } @Override public CreateReplicationTaskRequest build() { return new CreateReplicationTaskRequest(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy