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

com.pulumi.aws.transfer.inputs.WorkflowStepArgs 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.72.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.aws.transfer.inputs;

import com.pulumi.aws.transfer.inputs.WorkflowStepCopyStepDetailsArgs;
import com.pulumi.aws.transfer.inputs.WorkflowStepCustomStepDetailsArgs;
import com.pulumi.aws.transfer.inputs.WorkflowStepDecryptStepDetailsArgs;
import com.pulumi.aws.transfer.inputs.WorkflowStepDeleteStepDetailsArgs;
import com.pulumi.aws.transfer.inputs.WorkflowStepTagStepDetailsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final WorkflowStepArgs Empty = new WorkflowStepArgs();

    /**
     * Details for a step that performs a file copy. See Copy Step Details below.
     * 
     */
    @Import(name="copyStepDetails")
    private @Nullable Output copyStepDetails;

    /**
     * @return Details for a step that performs a file copy. See Copy Step Details below.
     * 
     */
    public Optional> copyStepDetails() {
        return Optional.ofNullable(this.copyStepDetails);
    }

    /**
     * Details for a step that invokes a lambda function.
     * 
     */
    @Import(name="customStepDetails")
    private @Nullable Output customStepDetails;

    /**
     * @return Details for a step that invokes a lambda function.
     * 
     */
    public Optional> customStepDetails() {
        return Optional.ofNullable(this.customStepDetails);
    }

    /**
     * Details for a step that decrypts the file.
     * 
     */
    @Import(name="decryptStepDetails")
    private @Nullable Output decryptStepDetails;

    /**
     * @return Details for a step that decrypts the file.
     * 
     */
    public Optional> decryptStepDetails() {
        return Optional.ofNullable(this.decryptStepDetails);
    }

    /**
     * Details for a step that deletes the file.
     * 
     */
    @Import(name="deleteStepDetails")
    private @Nullable Output deleteStepDetails;

    /**
     * @return Details for a step that deletes the file.
     * 
     */
    public Optional> deleteStepDetails() {
        return Optional.ofNullable(this.deleteStepDetails);
    }

    /**
     * Details for a step that creates one or more tags.
     * 
     */
    @Import(name="tagStepDetails")
    private @Nullable Output tagStepDetails;

    /**
     * @return Details for a step that creates one or more tags.
     * 
     */
    public Optional> tagStepDetails() {
        return Optional.ofNullable(this.tagStepDetails);
    }

    @Import(name="type", required=true)
    private Output type;

    public Output type() {
        return this.type;
    }

    private WorkflowStepArgs() {}

    private WorkflowStepArgs(WorkflowStepArgs $) {
        this.copyStepDetails = $.copyStepDetails;
        this.customStepDetails = $.customStepDetails;
        this.decryptStepDetails = $.decryptStepDetails;
        this.deleteStepDetails = $.deleteStepDetails;
        this.tagStepDetails = $.tagStepDetails;
        this.type = $.type;
    }

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

    public static final class Builder {
        private WorkflowStepArgs $;

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

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

        /**
         * @param copyStepDetails Details for a step that performs a file copy. See Copy Step Details below.
         * 
         * @return builder
         * 
         */
        public Builder copyStepDetails(@Nullable Output copyStepDetails) {
            $.copyStepDetails = copyStepDetails;
            return this;
        }

        /**
         * @param copyStepDetails Details for a step that performs a file copy. See Copy Step Details below.
         * 
         * @return builder
         * 
         */
        public Builder copyStepDetails(WorkflowStepCopyStepDetailsArgs copyStepDetails) {
            return copyStepDetails(Output.of(copyStepDetails));
        }

        /**
         * @param customStepDetails Details for a step that invokes a lambda function.
         * 
         * @return builder
         * 
         */
        public Builder customStepDetails(@Nullable Output customStepDetails) {
            $.customStepDetails = customStepDetails;
            return this;
        }

        /**
         * @param customStepDetails Details for a step that invokes a lambda function.
         * 
         * @return builder
         * 
         */
        public Builder customStepDetails(WorkflowStepCustomStepDetailsArgs customStepDetails) {
            return customStepDetails(Output.of(customStepDetails));
        }

        /**
         * @param decryptStepDetails Details for a step that decrypts the file.
         * 
         * @return builder
         * 
         */
        public Builder decryptStepDetails(@Nullable Output decryptStepDetails) {
            $.decryptStepDetails = decryptStepDetails;
            return this;
        }

        /**
         * @param decryptStepDetails Details for a step that decrypts the file.
         * 
         * @return builder
         * 
         */
        public Builder decryptStepDetails(WorkflowStepDecryptStepDetailsArgs decryptStepDetails) {
            return decryptStepDetails(Output.of(decryptStepDetails));
        }

        /**
         * @param deleteStepDetails Details for a step that deletes the file.
         * 
         * @return builder
         * 
         */
        public Builder deleteStepDetails(@Nullable Output deleteStepDetails) {
            $.deleteStepDetails = deleteStepDetails;
            return this;
        }

        /**
         * @param deleteStepDetails Details for a step that deletes the file.
         * 
         * @return builder
         * 
         */
        public Builder deleteStepDetails(WorkflowStepDeleteStepDetailsArgs deleteStepDetails) {
            return deleteStepDetails(Output.of(deleteStepDetails));
        }

        /**
         * @param tagStepDetails Details for a step that creates one or more tags.
         * 
         * @return builder
         * 
         */
        public Builder tagStepDetails(@Nullable Output tagStepDetails) {
            $.tagStepDetails = tagStepDetails;
            return this;
        }

        /**
         * @param tagStepDetails Details for a step that creates one or more tags.
         * 
         * @return builder
         * 
         */
        public Builder tagStepDetails(WorkflowStepTagStepDetailsArgs tagStepDetails) {
            return tagStepDetails(Output.of(tagStepDetails));
        }

        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        public Builder type(String type) {
            return type(Output.of(type));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy