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

com.pulumi.aws.dms.ReplicationTaskArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.dms;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ReplicationTaskArgs extends com.pulumi.resources.ResourceArgs {

    public static final ReplicationTaskArgs Empty = new ReplicationTaskArgs();

    /**
     * Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
     * 
     */
    @Import(name="cdcStartPosition")
    private @Nullable Output cdcStartPosition;

    /**
     * @return Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
     * 
     */
    public Optional> cdcStartPosition() {
        return Optional.ofNullable(this.cdcStartPosition);
    }

    /**
     * RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
     * 
     */
    @Import(name="cdcStartTime")
    private @Nullable Output cdcStartTime;

    /**
     * @return RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
     * 
     */
    public Optional> cdcStartTime() {
        return Optional.ofNullable(this.cdcStartTime);
    }

    /**
     * Migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
     * 
     */
    @Import(name="migrationType", required=true)
    private Output migrationType;

    /**
     * @return Migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
     * 
     */
    public Output migrationType() {
        return this.migrationType;
    }

    /**
     * ARN of the replication instance.
     * 
     */
    @Import(name="replicationInstanceArn", required=true)
    private Output replicationInstanceArn;

    /**
     * @return ARN of the replication instance.
     * 
     */
    public Output replicationInstanceArn() {
        return this.replicationInstanceArn;
    }

    /**
     * Replication task identifier which must contain from 1 to 255 alphanumeric characters or hyphens, first character must be a letter, cannot end with a hyphen, and cannot contain two consecutive hyphens.
     * 
     */
    @Import(name="replicationTaskId", required=true)
    private Output replicationTaskId;

    /**
     * @return Replication task identifier which must contain from 1 to 255 alphanumeric characters or hyphens, first character must be a letter, cannot end with a hyphen, and cannot contain two consecutive hyphens.
     * 
     */
    public Output replicationTaskId() {
        return this.replicationTaskId;
    }

    /**
     * Escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html). Note that `Logging.CloudWatchLogGroup` and `Logging.CloudWatchLogStream` are read only and should not be defined, even as `null`, in the configuration since AWS provides a value for these settings.
     * 
     */
    @Import(name="replicationTaskSettings")
    private @Nullable Output replicationTaskSettings;

    /**
     * @return Escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html). Note that `Logging.CloudWatchLogGroup` and `Logging.CloudWatchLogStream` are read only and should not be defined, even as `null`, in the configuration since AWS provides a value for these settings.
     * 
     */
    public Optional> replicationTaskSettings() {
        return Optional.ofNullable(this.replicationTaskSettings);
    }

    /**
     * A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
     * 
     */
    @Import(name="resourceIdentifier")
    private @Nullable Output resourceIdentifier;

    /**
     * @return A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
     * 
     */
    public Optional> resourceIdentifier() {
        return Optional.ofNullable(this.resourceIdentifier);
    }

    /**
     * ARN that uniquely identifies the source endpoint.
     * 
     */
    @Import(name="sourceEndpointArn", required=true)
    private Output sourceEndpointArn;

    /**
     * @return ARN that uniquely identifies the source endpoint.
     * 
     */
    public Output sourceEndpointArn() {
        return this.sourceEndpointArn;
    }

    /**
     * Whether to run or stop the replication task.
     * 
     */
    @Import(name="startReplicationTask")
    private @Nullable Output startReplicationTask;

    /**
     * @return Whether to run or stop the replication task.
     * 
     */
    public Optional> startReplicationTask() {
        return Optional.ofNullable(this.startReplicationTask);
    }

    /**
     * Escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
     * 
     */
    @Import(name="tableMappings", required=true)
    private Output tableMappings;

    /**
     * @return Escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
     * 
     */
    public Output tableMappings() {
        return this.tableMappings;
    }

    /**
     * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * ARN that uniquely identifies the target endpoint.
     * 
     */
    @Import(name="targetEndpointArn", required=true)
    private Output targetEndpointArn;

    /**
     * @return ARN that uniquely identifies the target endpoint.
     * 
     */
    public Output targetEndpointArn() {
        return this.targetEndpointArn;
    }

    private ReplicationTaskArgs() {}

    private ReplicationTaskArgs(ReplicationTaskArgs $) {
        this.cdcStartPosition = $.cdcStartPosition;
        this.cdcStartTime = $.cdcStartTime;
        this.migrationType = $.migrationType;
        this.replicationInstanceArn = $.replicationInstanceArn;
        this.replicationTaskId = $.replicationTaskId;
        this.replicationTaskSettings = $.replicationTaskSettings;
        this.resourceIdentifier = $.resourceIdentifier;
        this.sourceEndpointArn = $.sourceEndpointArn;
        this.startReplicationTask = $.startReplicationTask;
        this.tableMappings = $.tableMappings;
        this.tags = $.tags;
        this.targetEndpointArn = $.targetEndpointArn;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ReplicationTaskArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ReplicationTaskArgs $;

        public Builder() {
            $ = new ReplicationTaskArgs();
        }

        public Builder(ReplicationTaskArgs defaults) {
            $ = new ReplicationTaskArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param cdcStartPosition Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
         * 
         * @return builder
         * 
         */
        public Builder cdcStartPosition(@Nullable Output cdcStartPosition) {
            $.cdcStartPosition = cdcStartPosition;
            return this;
        }

        /**
         * @param cdcStartPosition Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
         * 
         * @return builder
         * 
         */
        public Builder cdcStartPosition(String cdcStartPosition) {
            return cdcStartPosition(Output.of(cdcStartPosition));
        }

        /**
         * @param cdcStartTime RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
         * 
         * @return builder
         * 
         */
        public Builder cdcStartTime(@Nullable Output cdcStartTime) {
            $.cdcStartTime = cdcStartTime;
            return this;
        }

        /**
         * @param cdcStartTime RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
         * 
         * @return builder
         * 
         */
        public Builder cdcStartTime(String cdcStartTime) {
            return cdcStartTime(Output.of(cdcStartTime));
        }

        /**
         * @param migrationType Migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
         * 
         * @return builder
         * 
         */
        public Builder migrationType(Output migrationType) {
            $.migrationType = migrationType;
            return this;
        }

        /**
         * @param migrationType Migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
         * 
         * @return builder
         * 
         */
        public Builder migrationType(String migrationType) {
            return migrationType(Output.of(migrationType));
        }

        /**
         * @param replicationInstanceArn ARN of the replication instance.
         * 
         * @return builder
         * 
         */
        public Builder replicationInstanceArn(Output replicationInstanceArn) {
            $.replicationInstanceArn = replicationInstanceArn;
            return this;
        }

        /**
         * @param replicationInstanceArn ARN of the replication instance.
         * 
         * @return builder
         * 
         */
        public Builder replicationInstanceArn(String replicationInstanceArn) {
            return replicationInstanceArn(Output.of(replicationInstanceArn));
        }

        /**
         * @param replicationTaskId Replication task identifier which must contain from 1 to 255 alphanumeric characters or hyphens, first character must be a letter, cannot end with a hyphen, and cannot contain two consecutive hyphens.
         * 
         * @return builder
         * 
         */
        public Builder replicationTaskId(Output replicationTaskId) {
            $.replicationTaskId = replicationTaskId;
            return this;
        }

        /**
         * @param replicationTaskId Replication task identifier which must contain from 1 to 255 alphanumeric characters or hyphens, first character must be a letter, cannot end with a hyphen, and cannot contain two consecutive hyphens.
         * 
         * @return builder
         * 
         */
        public Builder replicationTaskId(String replicationTaskId) {
            return replicationTaskId(Output.of(replicationTaskId));
        }

        /**
         * @param replicationTaskSettings Escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html). Note that `Logging.CloudWatchLogGroup` and `Logging.CloudWatchLogStream` are read only and should not be defined, even as `null`, in the configuration since AWS provides a value for these settings.
         * 
         * @return builder
         * 
         */
        public Builder replicationTaskSettings(@Nullable Output replicationTaskSettings) {
            $.replicationTaskSettings = replicationTaskSettings;
            return this;
        }

        /**
         * @param replicationTaskSettings Escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html). Note that `Logging.CloudWatchLogGroup` and `Logging.CloudWatchLogStream` are read only and should not be defined, even as `null`, in the configuration since AWS provides a value for these settings.
         * 
         * @return builder
         * 
         */
        public Builder replicationTaskSettings(String replicationTaskSettings) {
            return replicationTaskSettings(Output.of(replicationTaskSettings));
        }

        /**
         * @param resourceIdentifier A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
         * 
         * @return builder
         * 
         */
        public Builder resourceIdentifier(@Nullable Output resourceIdentifier) {
            $.resourceIdentifier = resourceIdentifier;
            return this;
        }

        /**
         * @param resourceIdentifier A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
         * 
         * @return builder
         * 
         */
        public Builder resourceIdentifier(String resourceIdentifier) {
            return resourceIdentifier(Output.of(resourceIdentifier));
        }

        /**
         * @param sourceEndpointArn ARN that uniquely identifies the source endpoint.
         * 
         * @return builder
         * 
         */
        public Builder sourceEndpointArn(Output sourceEndpointArn) {
            $.sourceEndpointArn = sourceEndpointArn;
            return this;
        }

        /**
         * @param sourceEndpointArn ARN that uniquely identifies the source endpoint.
         * 
         * @return builder
         * 
         */
        public Builder sourceEndpointArn(String sourceEndpointArn) {
            return sourceEndpointArn(Output.of(sourceEndpointArn));
        }

        /**
         * @param startReplicationTask Whether to run or stop the replication task.
         * 
         * @return builder
         * 
         */
        public Builder startReplicationTask(@Nullable Output startReplicationTask) {
            $.startReplicationTask = startReplicationTask;
            return this;
        }

        /**
         * @param startReplicationTask Whether to run or stop the replication task.
         * 
         * @return builder
         * 
         */
        public Builder startReplicationTask(Boolean startReplicationTask) {
            return startReplicationTask(Output.of(startReplicationTask));
        }

        /**
         * @param tableMappings Escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
         * 
         * @return builder
         * 
         */
        public Builder tableMappings(Output tableMappings) {
            $.tableMappings = tableMappings;
            return this;
        }

        /**
         * @param tableMappings Escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
         * 
         * @return builder
         * 
         */
        public Builder tableMappings(String tableMappings) {
            return tableMappings(Output.of(tableMappings));
        }

        /**
         * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param targetEndpointArn ARN that uniquely identifies the target endpoint.
         * 
         * @return builder
         * 
         */
        public Builder targetEndpointArn(Output targetEndpointArn) {
            $.targetEndpointArn = targetEndpointArn;
            return this;
        }

        /**
         * @param targetEndpointArn ARN that uniquely identifies the target endpoint.
         * 
         * @return builder
         * 
         */
        public Builder targetEndpointArn(String targetEndpointArn) {
            return targetEndpointArn(Output.of(targetEndpointArn));
        }

        public ReplicationTaskArgs build() {
            if ($.migrationType == null) {
                throw new MissingRequiredPropertyException("ReplicationTaskArgs", "migrationType");
            }
            if ($.replicationInstanceArn == null) {
                throw new MissingRequiredPropertyException("ReplicationTaskArgs", "replicationInstanceArn");
            }
            if ($.replicationTaskId == null) {
                throw new MissingRequiredPropertyException("ReplicationTaskArgs", "replicationTaskId");
            }
            if ($.sourceEndpointArn == null) {
                throw new MissingRequiredPropertyException("ReplicationTaskArgs", "sourceEndpointArn");
            }
            if ($.tableMappings == null) {
                throw new MissingRequiredPropertyException("ReplicationTaskArgs", "tableMappings");
            }
            if ($.targetEndpointArn == null) {
                throw new MissingRequiredPropertyException("ReplicationTaskArgs", "targetEndpointArn");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy