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

com.pulumi.aws.appflow.inputs.FlowTaskArgs 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.appflow.inputs;

import com.pulumi.aws.appflow.inputs.FlowTaskConnectorOperatorArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final FlowTaskArgs Empty = new FlowTaskArgs();

    /**
     * Operation to be performed on the provided source fields. See Connector Operator for details.
     * 
     */
    @Import(name="connectorOperators")
    private @Nullable Output> connectorOperators;

    /**
     * @return Operation to be performed on the provided source fields. See Connector Operator for details.
     * 
     */
    public Optional>> connectorOperators() {
        return Optional.ofNullable(this.connectorOperators);
    }

    /**
     * Field in a destination connector, or a field value against which Amazon AppFlow validates a source field.
     * 
     */
    @Import(name="destinationField")
    private @Nullable Output destinationField;

    /**
     * @return Field in a destination connector, or a field value against which Amazon AppFlow validates a source field.
     * 
     */
    public Optional> destinationField() {
        return Optional.ofNullable(this.destinationField);
    }

    /**
     * Source fields to which a particular task is applied.
     * 
     */
    @Import(name="sourceFields")
    private @Nullable Output> sourceFields;

    /**
     * @return Source fields to which a particular task is applied.
     * 
     */
    public Optional>> sourceFields() {
        return Optional.ofNullable(this.sourceFields);
    }

    /**
     * Map used to store task-related information. The execution service looks for particular information based on the `TaskType`. Valid keys are `VALUE`, `VALUES`, `DATA_TYPE`, `UPPER_BOUND`, `LOWER_BOUND`, `SOURCE_DATA_TYPE`, `DESTINATION_DATA_TYPE`, `VALIDATION_ACTION`, `MASK_VALUE`, `MASK_LENGTH`, `TRUNCATE_LENGTH`, `MATH_OPERATION_FIELDS_ORDER`, `CONCAT_FORMAT`, `SUBFIELD_CATEGORY_MAP`, and `EXCLUDE_SOURCE_FIELDS_LIST`.
     * 
     */
    @Import(name="taskProperties")
    private @Nullable Output> taskProperties;

    /**
     * @return Map used to store task-related information. The execution service looks for particular information based on the `TaskType`. Valid keys are `VALUE`, `VALUES`, `DATA_TYPE`, `UPPER_BOUND`, `LOWER_BOUND`, `SOURCE_DATA_TYPE`, `DESTINATION_DATA_TYPE`, `VALIDATION_ACTION`, `MASK_VALUE`, `MASK_LENGTH`, `TRUNCATE_LENGTH`, `MATH_OPERATION_FIELDS_ORDER`, `CONCAT_FORMAT`, `SUBFIELD_CATEGORY_MAP`, and `EXCLUDE_SOURCE_FIELDS_LIST`.
     * 
     */
    public Optional>> taskProperties() {
        return Optional.ofNullable(this.taskProperties);
    }

    /**
     * Particular task implementation that Amazon AppFlow performs. Valid values are `Arithmetic`, `Filter`, `Map`, `Map_all`, `Mask`, `Merge`, `Passthrough`, `Truncate`, and `Validate`.
     * 
     */
    @Import(name="taskType", required=true)
    private Output taskType;

    /**
     * @return Particular task implementation that Amazon AppFlow performs. Valid values are `Arithmetic`, `Filter`, `Map`, `Map_all`, `Mask`, `Merge`, `Passthrough`, `Truncate`, and `Validate`.
     * 
     */
    public Output taskType() {
        return this.taskType;
    }

    private FlowTaskArgs() {}

    private FlowTaskArgs(FlowTaskArgs $) {
        this.connectorOperators = $.connectorOperators;
        this.destinationField = $.destinationField;
        this.sourceFields = $.sourceFields;
        this.taskProperties = $.taskProperties;
        this.taskType = $.taskType;
    }

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

    public static final class Builder {
        private FlowTaskArgs $;

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

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

        /**
         * @param connectorOperators Operation to be performed on the provided source fields. See Connector Operator for details.
         * 
         * @return builder
         * 
         */
        public Builder connectorOperators(@Nullable Output> connectorOperators) {
            $.connectorOperators = connectorOperators;
            return this;
        }

        /**
         * @param connectorOperators Operation to be performed on the provided source fields. See Connector Operator for details.
         * 
         * @return builder
         * 
         */
        public Builder connectorOperators(List connectorOperators) {
            return connectorOperators(Output.of(connectorOperators));
        }

        /**
         * @param connectorOperators Operation to be performed on the provided source fields. See Connector Operator for details.
         * 
         * @return builder
         * 
         */
        public Builder connectorOperators(FlowTaskConnectorOperatorArgs... connectorOperators) {
            return connectorOperators(List.of(connectorOperators));
        }

        /**
         * @param destinationField Field in a destination connector, or a field value against which Amazon AppFlow validates a source field.
         * 
         * @return builder
         * 
         */
        public Builder destinationField(@Nullable Output destinationField) {
            $.destinationField = destinationField;
            return this;
        }

        /**
         * @param destinationField Field in a destination connector, or a field value against which Amazon AppFlow validates a source field.
         * 
         * @return builder
         * 
         */
        public Builder destinationField(String destinationField) {
            return destinationField(Output.of(destinationField));
        }

        /**
         * @param sourceFields Source fields to which a particular task is applied.
         * 
         * @return builder
         * 
         */
        public Builder sourceFields(@Nullable Output> sourceFields) {
            $.sourceFields = sourceFields;
            return this;
        }

        /**
         * @param sourceFields Source fields to which a particular task is applied.
         * 
         * @return builder
         * 
         */
        public Builder sourceFields(List sourceFields) {
            return sourceFields(Output.of(sourceFields));
        }

        /**
         * @param sourceFields Source fields to which a particular task is applied.
         * 
         * @return builder
         * 
         */
        public Builder sourceFields(String... sourceFields) {
            return sourceFields(List.of(sourceFields));
        }

        /**
         * @param taskProperties Map used to store task-related information. The execution service looks for particular information based on the `TaskType`. Valid keys are `VALUE`, `VALUES`, `DATA_TYPE`, `UPPER_BOUND`, `LOWER_BOUND`, `SOURCE_DATA_TYPE`, `DESTINATION_DATA_TYPE`, `VALIDATION_ACTION`, `MASK_VALUE`, `MASK_LENGTH`, `TRUNCATE_LENGTH`, `MATH_OPERATION_FIELDS_ORDER`, `CONCAT_FORMAT`, `SUBFIELD_CATEGORY_MAP`, and `EXCLUDE_SOURCE_FIELDS_LIST`.
         * 
         * @return builder
         * 
         */
        public Builder taskProperties(@Nullable Output> taskProperties) {
            $.taskProperties = taskProperties;
            return this;
        }

        /**
         * @param taskProperties Map used to store task-related information. The execution service looks for particular information based on the `TaskType`. Valid keys are `VALUE`, `VALUES`, `DATA_TYPE`, `UPPER_BOUND`, `LOWER_BOUND`, `SOURCE_DATA_TYPE`, `DESTINATION_DATA_TYPE`, `VALIDATION_ACTION`, `MASK_VALUE`, `MASK_LENGTH`, `TRUNCATE_LENGTH`, `MATH_OPERATION_FIELDS_ORDER`, `CONCAT_FORMAT`, `SUBFIELD_CATEGORY_MAP`, and `EXCLUDE_SOURCE_FIELDS_LIST`.
         * 
         * @return builder
         * 
         */
        public Builder taskProperties(Map taskProperties) {
            return taskProperties(Output.of(taskProperties));
        }

        /**
         * @param taskType Particular task implementation that Amazon AppFlow performs. Valid values are `Arithmetic`, `Filter`, `Map`, `Map_all`, `Mask`, `Merge`, `Passthrough`, `Truncate`, and `Validate`.
         * 
         * @return builder
         * 
         */
        public Builder taskType(Output taskType) {
            $.taskType = taskType;
            return this;
        }

        /**
         * @param taskType Particular task implementation that Amazon AppFlow performs. Valid values are `Arithmetic`, `Filter`, `Map`, `Map_all`, `Mask`, `Merge`, `Passthrough`, `Truncate`, and `Validate`.
         * 
         * @return builder
         * 
         */
        public Builder taskType(String taskType) {
            return taskType(Output.of(taskType));
        }

        public FlowTaskArgs build() {
            if ($.taskType == null) {
                throw new MissingRequiredPropertyException("FlowTaskArgs", "taskType");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy