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

com.pulumi.googlenative.dataform.v1beta1.CompilationResultArgs 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.dataform.v1beta1;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.dataform.v1beta1.inputs.CodeCompilationConfigArgs;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CompilationResultArgs Empty = new CompilationResultArgs();

    /**
     * Immutable. If set, fields of `code_compilation_config` override the default compilation settings that are specified in dataform.json.
     * 
     */
    @Import(name="codeCompilationConfig")
    private @Nullable Output codeCompilationConfig;

    /**
     * @return Immutable. If set, fields of `code_compilation_config` override the default compilation settings that are specified in dataform.json.
     * 
     */
    public Optional> codeCompilationConfig() {
        return Optional.ofNullable(this.codeCompilationConfig);
    }

    /**
     * Immutable. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
     * 
     */
    @Import(name="gitCommitish")
    private @Nullable Output gitCommitish;

    /**
     * @return Immutable. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
     * 
     */
    public Optional> gitCommitish() {
        return Optional.ofNullable(this.gitCommitish);
    }

    @Import(name="location")
    private @Nullable Output location;

    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    @Import(name="project")
    private @Nullable Output project;

    public Optional> project() {
        return Optional.ofNullable(this.project);
    }

    /**
     * Immutable. The name of the release config to compile. The release config's 'current_compilation_result' field will be updated to this compilation result. Must be in the format `projects/*{@literal /}locations/*{@literal /}repositories/*{@literal /}releaseConfigs/*`.
     * 
     */
    @Import(name="releaseConfig")
    private @Nullable Output releaseConfig;

    /**
     * @return Immutable. The name of the release config to compile. The release config's 'current_compilation_result' field will be updated to this compilation result. Must be in the format `projects/*{@literal /}locations/*{@literal /}repositories/*{@literal /}releaseConfigs/*`.
     * 
     */
    public Optional> releaseConfig() {
        return Optional.ofNullable(this.releaseConfig);
    }

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

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

    /**
     * Immutable. The name of the workspace to compile. Must be in the format `projects/*{@literal /}locations/*{@literal /}repositories/*{@literal /}workspaces/*`.
     * 
     */
    @Import(name="workspace")
    private @Nullable Output workspace;

    /**
     * @return Immutable. The name of the workspace to compile. Must be in the format `projects/*{@literal /}locations/*{@literal /}repositories/*{@literal /}workspaces/*`.
     * 
     */
    public Optional> workspace() {
        return Optional.ofNullable(this.workspace);
    }

    private CompilationResultArgs() {}

    private CompilationResultArgs(CompilationResultArgs $) {
        this.codeCompilationConfig = $.codeCompilationConfig;
        this.gitCommitish = $.gitCommitish;
        this.location = $.location;
        this.project = $.project;
        this.releaseConfig = $.releaseConfig;
        this.repositoryId = $.repositoryId;
        this.workspace = $.workspace;
    }

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

    public static final class Builder {
        private CompilationResultArgs $;

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

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

        /**
         * @param codeCompilationConfig Immutable. If set, fields of `code_compilation_config` override the default compilation settings that are specified in dataform.json.
         * 
         * @return builder
         * 
         */
        public Builder codeCompilationConfig(@Nullable Output codeCompilationConfig) {
            $.codeCompilationConfig = codeCompilationConfig;
            return this;
        }

        /**
         * @param codeCompilationConfig Immutable. If set, fields of `code_compilation_config` override the default compilation settings that are specified in dataform.json.
         * 
         * @return builder
         * 
         */
        public Builder codeCompilationConfig(CodeCompilationConfigArgs codeCompilationConfig) {
            return codeCompilationConfig(Output.of(codeCompilationConfig));
        }

        /**
         * @param gitCommitish Immutable. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
         * 
         * @return builder
         * 
         */
        public Builder gitCommitish(@Nullable Output gitCommitish) {
            $.gitCommitish = gitCommitish;
            return this;
        }

        /**
         * @param gitCommitish Immutable. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
         * 
         * @return builder
         * 
         */
        public Builder gitCommitish(String gitCommitish) {
            return gitCommitish(Output.of(gitCommitish));
        }

        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

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

        public Builder project(@Nullable Output project) {
            $.project = project;
            return this;
        }

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

        /**
         * @param releaseConfig Immutable. The name of the release config to compile. The release config's 'current_compilation_result' field will be updated to this compilation result. Must be in the format `projects/*{@literal /}locations/*{@literal /}repositories/*{@literal /}releaseConfigs/*`.
         * 
         * @return builder
         * 
         */
        public Builder releaseConfig(@Nullable Output releaseConfig) {
            $.releaseConfig = releaseConfig;
            return this;
        }

        /**
         * @param releaseConfig Immutable. The name of the release config to compile. The release config's 'current_compilation_result' field will be updated to this compilation result. Must be in the format `projects/*{@literal /}locations/*{@literal /}repositories/*{@literal /}releaseConfigs/*`.
         * 
         * @return builder
         * 
         */
        public Builder releaseConfig(String releaseConfig) {
            return releaseConfig(Output.of(releaseConfig));
        }

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

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

        /**
         * @param workspace Immutable. The name of the workspace to compile. Must be in the format `projects/*{@literal /}locations/*{@literal /}repositories/*{@literal /}workspaces/*`.
         * 
         * @return builder
         * 
         */
        public Builder workspace(@Nullable Output workspace) {
            $.workspace = workspace;
            return this;
        }

        /**
         * @param workspace Immutable. The name of the workspace to compile. Must be in the format `projects/*{@literal /}locations/*{@literal /}repositories/*{@literal /}workspaces/*`.
         * 
         * @return builder
         * 
         */
        public Builder workspace(String workspace) {
            return workspace(Output.of(workspace));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy