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

com.pulumi.azurenative.datafactory.ChangeDataCaptureArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
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.azurenative.datafactory;

import com.pulumi.azurenative.datafactory.inputs.ChangeDataCaptureFolderArgs;
import com.pulumi.azurenative.datafactory.inputs.MapperPolicyArgs;
import com.pulumi.azurenative.datafactory.inputs.MapperSourceConnectionsInfoArgs;
import com.pulumi.azurenative.datafactory.inputs.MapperTargetConnectionsInfoArgs;
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.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ChangeDataCaptureArgs Empty = new ChangeDataCaptureArgs();

    /**
     * A boolean to determine if the vnet configuration needs to be overwritten.
     * 
     */
    @Import(name="allowVNetOverride")
    private @Nullable Output allowVNetOverride;

    /**
     * @return A boolean to determine if the vnet configuration needs to be overwritten.
     * 
     */
    public Optional> allowVNetOverride() {
        return Optional.ofNullable(this.allowVNetOverride);
    }

    /**
     * The change data capture name.
     * 
     */
    @Import(name="changeDataCaptureName")
    private @Nullable Output changeDataCaptureName;

    /**
     * @return The change data capture name.
     * 
     */
    public Optional> changeDataCaptureName() {
        return Optional.ofNullable(this.changeDataCaptureName);
    }

    /**
     * The description of the change data capture.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the change data capture.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The factory name.
     * 
     */
    @Import(name="factoryName", required=true)
    private Output factoryName;

    /**
     * @return The factory name.
     * 
     */
    public Output factoryName() {
        return this.factoryName;
    }

    /**
     * The folder that this CDC is in. If not specified, CDC will appear at the root level.
     * 
     */
    @Import(name="folder")
    private @Nullable Output folder;

    /**
     * @return The folder that this CDC is in. If not specified, CDC will appear at the root level.
     * 
     */
    public Optional> folder() {
        return Optional.ofNullable(this.folder);
    }

    /**
     * CDC policy
     * 
     */
    @Import(name="policy", required=true)
    private Output policy;

    /**
     * @return CDC policy
     * 
     */
    public Output policy() {
        return this.policy;
    }

    /**
     * The resource group name.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The resource group name.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * List of sources connections that can be used as sources in the CDC.
     * 
     */
    @Import(name="sourceConnectionsInfo", required=true)
    private Output> sourceConnectionsInfo;

    /**
     * @return List of sources connections that can be used as sources in the CDC.
     * 
     */
    public Output> sourceConnectionsInfo() {
        return this.sourceConnectionsInfo;
    }

    /**
     * Status of the CDC as to if it is running or stopped.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return Status of the CDC as to if it is running or stopped.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * List of target connections that can be used as sources in the CDC.
     * 
     */
    @Import(name="targetConnectionsInfo", required=true)
    private Output> targetConnectionsInfo;

    /**
     * @return List of target connections that can be used as sources in the CDC.
     * 
     */
    public Output> targetConnectionsInfo() {
        return this.targetConnectionsInfo;
    }

    private ChangeDataCaptureArgs() {}

    private ChangeDataCaptureArgs(ChangeDataCaptureArgs $) {
        this.allowVNetOverride = $.allowVNetOverride;
        this.changeDataCaptureName = $.changeDataCaptureName;
        this.description = $.description;
        this.factoryName = $.factoryName;
        this.folder = $.folder;
        this.policy = $.policy;
        this.resourceGroupName = $.resourceGroupName;
        this.sourceConnectionsInfo = $.sourceConnectionsInfo;
        this.status = $.status;
        this.targetConnectionsInfo = $.targetConnectionsInfo;
    }

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

    public static final class Builder {
        private ChangeDataCaptureArgs $;

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

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

        /**
         * @param allowVNetOverride A boolean to determine if the vnet configuration needs to be overwritten.
         * 
         * @return builder
         * 
         */
        public Builder allowVNetOverride(@Nullable Output allowVNetOverride) {
            $.allowVNetOverride = allowVNetOverride;
            return this;
        }

        /**
         * @param allowVNetOverride A boolean to determine if the vnet configuration needs to be overwritten.
         * 
         * @return builder
         * 
         */
        public Builder allowVNetOverride(Boolean allowVNetOverride) {
            return allowVNetOverride(Output.of(allowVNetOverride));
        }

        /**
         * @param changeDataCaptureName The change data capture name.
         * 
         * @return builder
         * 
         */
        public Builder changeDataCaptureName(@Nullable Output changeDataCaptureName) {
            $.changeDataCaptureName = changeDataCaptureName;
            return this;
        }

        /**
         * @param changeDataCaptureName The change data capture name.
         * 
         * @return builder
         * 
         */
        public Builder changeDataCaptureName(String changeDataCaptureName) {
            return changeDataCaptureName(Output.of(changeDataCaptureName));
        }

        /**
         * @param description The description of the change data capture.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the change data capture.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param factoryName The factory name.
         * 
         * @return builder
         * 
         */
        public Builder factoryName(Output factoryName) {
            $.factoryName = factoryName;
            return this;
        }

        /**
         * @param factoryName The factory name.
         * 
         * @return builder
         * 
         */
        public Builder factoryName(String factoryName) {
            return factoryName(Output.of(factoryName));
        }

        /**
         * @param folder The folder that this CDC is in. If not specified, CDC will appear at the root level.
         * 
         * @return builder
         * 
         */
        public Builder folder(@Nullable Output folder) {
            $.folder = folder;
            return this;
        }

        /**
         * @param folder The folder that this CDC is in. If not specified, CDC will appear at the root level.
         * 
         * @return builder
         * 
         */
        public Builder folder(ChangeDataCaptureFolderArgs folder) {
            return folder(Output.of(folder));
        }

        /**
         * @param policy CDC policy
         * 
         * @return builder
         * 
         */
        public Builder policy(Output policy) {
            $.policy = policy;
            return this;
        }

        /**
         * @param policy CDC policy
         * 
         * @return builder
         * 
         */
        public Builder policy(MapperPolicyArgs policy) {
            return policy(Output.of(policy));
        }

        /**
         * @param resourceGroupName The resource group name.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The resource group name.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param sourceConnectionsInfo List of sources connections that can be used as sources in the CDC.
         * 
         * @return builder
         * 
         */
        public Builder sourceConnectionsInfo(Output> sourceConnectionsInfo) {
            $.sourceConnectionsInfo = sourceConnectionsInfo;
            return this;
        }

        /**
         * @param sourceConnectionsInfo List of sources connections that can be used as sources in the CDC.
         * 
         * @return builder
         * 
         */
        public Builder sourceConnectionsInfo(List sourceConnectionsInfo) {
            return sourceConnectionsInfo(Output.of(sourceConnectionsInfo));
        }

        /**
         * @param sourceConnectionsInfo List of sources connections that can be used as sources in the CDC.
         * 
         * @return builder
         * 
         */
        public Builder sourceConnectionsInfo(MapperSourceConnectionsInfoArgs... sourceConnectionsInfo) {
            return sourceConnectionsInfo(List.of(sourceConnectionsInfo));
        }

        /**
         * @param status Status of the CDC as to if it is running or stopped.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status Status of the CDC as to if it is running or stopped.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param targetConnectionsInfo List of target connections that can be used as sources in the CDC.
         * 
         * @return builder
         * 
         */
        public Builder targetConnectionsInfo(Output> targetConnectionsInfo) {
            $.targetConnectionsInfo = targetConnectionsInfo;
            return this;
        }

        /**
         * @param targetConnectionsInfo List of target connections that can be used as sources in the CDC.
         * 
         * @return builder
         * 
         */
        public Builder targetConnectionsInfo(List targetConnectionsInfo) {
            return targetConnectionsInfo(Output.of(targetConnectionsInfo));
        }

        /**
         * @param targetConnectionsInfo List of target connections that can be used as sources in the CDC.
         * 
         * @return builder
         * 
         */
        public Builder targetConnectionsInfo(MapperTargetConnectionsInfoArgs... targetConnectionsInfo) {
            return targetConnectionsInfo(List.of(targetConnectionsInfo));
        }

        public ChangeDataCaptureArgs build() {
            if ($.factoryName == null) {
                throw new MissingRequiredPropertyException("ChangeDataCaptureArgs", "factoryName");
            }
            if ($.policy == null) {
                throw new MissingRequiredPropertyException("ChangeDataCaptureArgs", "policy");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ChangeDataCaptureArgs", "resourceGroupName");
            }
            if ($.sourceConnectionsInfo == null) {
                throw new MissingRequiredPropertyException("ChangeDataCaptureArgs", "sourceConnectionsInfo");
            }
            if ($.targetConnectionsInfo == null) {
                throw new MissingRequiredPropertyException("ChangeDataCaptureArgs", "targetConnectionsInfo");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy