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

com.pulumi.googlenative.genomics.v1alpha2.PipelineArgs Maven / Gradle / Ivy

// *** 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.googlenative.genomics.v1alpha2;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.genomics.v1alpha2.inputs.DockerExecutorArgs;
import com.pulumi.googlenative.genomics.v1alpha2.inputs.PipelineParameterArgs;
import com.pulumi.googlenative.genomics.v1alpha2.inputs.PipelineResourcesArgs;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PipelineArgs Empty = new PipelineArgs();

    /**
     * User-specified description.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return User-specified description.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Specifies the docker run information.
     * 
     */
    @Import(name="docker")
    private @Nullable Output docker;

    /**
     * @return Specifies the docker run information.
     * 
     */
    public Optional> docker() {
        return Optional.ofNullable(this.docker);
    }

    /**
     * Input parameters of the pipeline.
     * 
     */
    @Import(name="inputParameters")
    private @Nullable Output> inputParameters;

    /**
     * @return Input parameters of the pipeline.
     * 
     */
    public Optional>> inputParameters() {
        return Optional.ofNullable(this.inputParameters);
    }

    /**
     * A user specified pipeline name that does not have to be unique. This name can be used for filtering Pipelines in ListPipelines.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return A user specified pipeline name that does not have to be unique. This name can be used for filtering Pipelines in ListPipelines.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Output parameters of the pipeline.
     * 
     */
    @Import(name="outputParameters")
    private @Nullable Output> outputParameters;

    /**
     * @return Output parameters of the pipeline.
     * 
     */
    public Optional>> outputParameters() {
        return Optional.ofNullable(this.outputParameters);
    }

    /**
     * Unique pipeline id that is generated by the service when CreatePipeline is called. Cannot be specified in the Pipeline used in the CreatePipelineRequest, and will be populated in the response to CreatePipeline and all subsequent Get and List calls. Indicates that the service has registered this pipeline.
     * 
     */
    @Import(name="pipelineId")
    private @Nullable Output pipelineId;

    /**
     * @return Unique pipeline id that is generated by the service when CreatePipeline is called. Cannot be specified in the Pipeline used in the CreatePipelineRequest, and will be populated in the response to CreatePipeline and all subsequent Get and List calls. Indicates that the service has registered this pipeline.
     * 
     */
    public Optional> pipelineId() {
        return Optional.ofNullable(this.pipelineId);
    }

    /**
     * The project in which to create the pipeline. The caller must have WRITE access.
     * 
     */
    @Import(name="project")
    private @Nullable Output project;

    /**
     * @return The project in which to create the pipeline. The caller must have WRITE access.
     * 
     */
    public Optional> project() {
        return Optional.ofNullable(this.project);
    }

    /**
     * Specifies resource requirements for the pipeline run. Required fields: * minimumCpuCores * minimumRamGb
     * 
     */
    @Import(name="resources", required=true)
    private Output resources;

    /**
     * @return Specifies resource requirements for the pipeline run. Required fields: * minimumCpuCores * minimumRamGb
     * 
     */
    public Output resources() {
        return this.resources;
    }

    private PipelineArgs() {}

    private PipelineArgs(PipelineArgs $) {
        this.description = $.description;
        this.docker = $.docker;
        this.inputParameters = $.inputParameters;
        this.name = $.name;
        this.outputParameters = $.outputParameters;
        this.pipelineId = $.pipelineId;
        this.project = $.project;
        this.resources = $.resources;
    }

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

    public static final class Builder {
        private PipelineArgs $;

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

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

        /**
         * @param description User-specified description.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description User-specified description.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param docker Specifies the docker run information.
         * 
         * @return builder
         * 
         */
        public Builder docker(@Nullable Output docker) {
            $.docker = docker;
            return this;
        }

        /**
         * @param docker Specifies the docker run information.
         * 
         * @return builder
         * 
         */
        public Builder docker(DockerExecutorArgs docker) {
            return docker(Output.of(docker));
        }

        /**
         * @param inputParameters Input parameters of the pipeline.
         * 
         * @return builder
         * 
         */
        public Builder inputParameters(@Nullable Output> inputParameters) {
            $.inputParameters = inputParameters;
            return this;
        }

        /**
         * @param inputParameters Input parameters of the pipeline.
         * 
         * @return builder
         * 
         */
        public Builder inputParameters(List inputParameters) {
            return inputParameters(Output.of(inputParameters));
        }

        /**
         * @param inputParameters Input parameters of the pipeline.
         * 
         * @return builder
         * 
         */
        public Builder inputParameters(PipelineParameterArgs... inputParameters) {
            return inputParameters(List.of(inputParameters));
        }

        /**
         * @param name A user specified pipeline name that does not have to be unique. This name can be used for filtering Pipelines in ListPipelines.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name A user specified pipeline name that does not have to be unique. This name can be used for filtering Pipelines in ListPipelines.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param outputParameters Output parameters of the pipeline.
         * 
         * @return builder
         * 
         */
        public Builder outputParameters(@Nullable Output> outputParameters) {
            $.outputParameters = outputParameters;
            return this;
        }

        /**
         * @param outputParameters Output parameters of the pipeline.
         * 
         * @return builder
         * 
         */
        public Builder outputParameters(List outputParameters) {
            return outputParameters(Output.of(outputParameters));
        }

        /**
         * @param outputParameters Output parameters of the pipeline.
         * 
         * @return builder
         * 
         */
        public Builder outputParameters(PipelineParameterArgs... outputParameters) {
            return outputParameters(List.of(outputParameters));
        }

        /**
         * @param pipelineId Unique pipeline id that is generated by the service when CreatePipeline is called. Cannot be specified in the Pipeline used in the CreatePipelineRequest, and will be populated in the response to CreatePipeline and all subsequent Get and List calls. Indicates that the service has registered this pipeline.
         * 
         * @return builder
         * 
         */
        public Builder pipelineId(@Nullable Output pipelineId) {
            $.pipelineId = pipelineId;
            return this;
        }

        /**
         * @param pipelineId Unique pipeline id that is generated by the service when CreatePipeline is called. Cannot be specified in the Pipeline used in the CreatePipelineRequest, and will be populated in the response to CreatePipeline and all subsequent Get and List calls. Indicates that the service has registered this pipeline.
         * 
         * @return builder
         * 
         */
        public Builder pipelineId(String pipelineId) {
            return pipelineId(Output.of(pipelineId));
        }

        /**
         * @param project The project in which to create the pipeline. The caller must have WRITE access.
         * 
         * @return builder
         * 
         */
        public Builder project(@Nullable Output project) {
            $.project = project;
            return this;
        }

        /**
         * @param project The project in which to create the pipeline. The caller must have WRITE access.
         * 
         * @return builder
         * 
         */
        public Builder project(String project) {
            return project(Output.of(project));
        }

        /**
         * @param resources Specifies resource requirements for the pipeline run. Required fields: * minimumCpuCores * minimumRamGb
         * 
         * @return builder
         * 
         */
        public Builder resources(Output resources) {
            $.resources = resources;
            return this;
        }

        /**
         * @param resources Specifies resource requirements for the pipeline run. Required fields: * minimumCpuCores * minimumRamGb
         * 
         * @return builder
         * 
         */
        public Builder resources(PipelineResourcesArgs resources) {
            return resources(Output.of(resources));
        }

        public PipelineArgs build() {
            $.resources = Objects.requireNonNull($.resources, "expected parameter 'resources' to be non-null");
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy