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

com.pulumi.aws.codebuild.inputs.ProjectBuildBatchConfigArgs 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.codebuild.inputs;

import com.pulumi.aws.codebuild.inputs.ProjectBuildBatchConfigRestrictionsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ProjectBuildBatchConfigArgs Empty = new ProjectBuildBatchConfigArgs();

    /**
     * Specifies if the build artifacts for the batch build should be combined into a single artifact location.
     * 
     */
    @Import(name="combineArtifacts")
    private @Nullable Output combineArtifacts;

    /**
     * @return Specifies if the build artifacts for the batch build should be combined into a single artifact location.
     * 
     */
    public Optional> combineArtifacts() {
        return Optional.ofNullable(this.combineArtifacts);
    }

    /**
     * Configuration block specifying the restrictions for the batch build. Detailed below.
     * 
     */
    @Import(name="restrictions")
    private @Nullable Output restrictions;

    /**
     * @return Configuration block specifying the restrictions for the batch build. Detailed below.
     * 
     */
    public Optional> restrictions() {
        return Optional.ofNullable(this.restrictions);
    }

    /**
     * Specifies the service role ARN for the batch build project.
     * 
     */
    @Import(name="serviceRole", required=true)
    private Output serviceRole;

    /**
     * @return Specifies the service role ARN for the batch build project.
     * 
     */
    public Output serviceRole() {
        return this.serviceRole;
    }

    /**
     * Specifies the maximum amount of time, in minutes, that the batch build must be completed in.
     * 
     */
    @Import(name="timeoutInMins")
    private @Nullable Output timeoutInMins;

    /**
     * @return Specifies the maximum amount of time, in minutes, that the batch build must be completed in.
     * 
     */
    public Optional> timeoutInMins() {
        return Optional.ofNullable(this.timeoutInMins);
    }

    private ProjectBuildBatchConfigArgs() {}

    private ProjectBuildBatchConfigArgs(ProjectBuildBatchConfigArgs $) {
        this.combineArtifacts = $.combineArtifacts;
        this.restrictions = $.restrictions;
        this.serviceRole = $.serviceRole;
        this.timeoutInMins = $.timeoutInMins;
    }

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

    public static final class Builder {
        private ProjectBuildBatchConfigArgs $;

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

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

        /**
         * @param combineArtifacts Specifies if the build artifacts for the batch build should be combined into a single artifact location.
         * 
         * @return builder
         * 
         */
        public Builder combineArtifacts(@Nullable Output combineArtifacts) {
            $.combineArtifacts = combineArtifacts;
            return this;
        }

        /**
         * @param combineArtifacts Specifies if the build artifacts for the batch build should be combined into a single artifact location.
         * 
         * @return builder
         * 
         */
        public Builder combineArtifacts(Boolean combineArtifacts) {
            return combineArtifacts(Output.of(combineArtifacts));
        }

        /**
         * @param restrictions Configuration block specifying the restrictions for the batch build. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder restrictions(@Nullable Output restrictions) {
            $.restrictions = restrictions;
            return this;
        }

        /**
         * @param restrictions Configuration block specifying the restrictions for the batch build. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder restrictions(ProjectBuildBatchConfigRestrictionsArgs restrictions) {
            return restrictions(Output.of(restrictions));
        }

        /**
         * @param serviceRole Specifies the service role ARN for the batch build project.
         * 
         * @return builder
         * 
         */
        public Builder serviceRole(Output serviceRole) {
            $.serviceRole = serviceRole;
            return this;
        }

        /**
         * @param serviceRole Specifies the service role ARN for the batch build project.
         * 
         * @return builder
         * 
         */
        public Builder serviceRole(String serviceRole) {
            return serviceRole(Output.of(serviceRole));
        }

        /**
         * @param timeoutInMins Specifies the maximum amount of time, in minutes, that the batch build must be completed in.
         * 
         * @return builder
         * 
         */
        public Builder timeoutInMins(@Nullable Output timeoutInMins) {
            $.timeoutInMins = timeoutInMins;
            return this;
        }

        /**
         * @param timeoutInMins Specifies the maximum amount of time, in minutes, that the batch build must be completed in.
         * 
         * @return builder
         * 
         */
        public Builder timeoutInMins(Integer timeoutInMins) {
            return timeoutInMins(Output.of(timeoutInMins));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy