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

com.pulumi.aws.batch.JobQueueArgs 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.batch;

import com.pulumi.aws.batch.inputs.JobQueueComputeEnvironmentOrderArgs;
import com.pulumi.aws.batch.inputs.JobQueueJobStateTimeLimitActionArgs;
import com.pulumi.aws.batch.inputs.JobQueueTimeoutsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
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 JobQueueArgs extends com.pulumi.resources.ResourceArgs {

    public static final JobQueueArgs Empty = new JobQueueArgs();

    /**
     * The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the VALID state before you can associate them with a job queue. You can associate up to three compute environments with a job queue.
     * 
     */
    @Import(name="computeEnvironmentOrders")
    private @Nullable Output> computeEnvironmentOrders;

    /**
     * @return The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the VALID state before you can associate them with a job queue. You can associate up to three compute environments with a job queue.
     * 
     */
    public Optional>> computeEnvironmentOrders() {
        return Optional.ofNullable(this.computeEnvironmentOrders);
    }

    /**
     * (Optional) This parameter is deprecated, please use `compute_environment_order` instead. List of compute environment ARNs mapped to a job queue. The position of the compute environments in the list will dictate the order. When importing a AWS Batch Job Queue, the parameter `compute_environments` will always be used over `compute_environment_order`. Please adjust your HCL accordingly.
     * 
     * @deprecated
     * This parameter will be replaced by `compute_environment_order`.
     * 
     */
    @Deprecated /* This parameter will be replaced by `compute_environment_order`. */
    @Import(name="computeEnvironments")
    private @Nullable Output> computeEnvironments;

    /**
     * @return (Optional) This parameter is deprecated, please use `compute_environment_order` instead. List of compute environment ARNs mapped to a job queue. The position of the compute environments in the list will dictate the order. When importing a AWS Batch Job Queue, the parameter `compute_environments` will always be used over `compute_environment_order`. Please adjust your HCL accordingly.
     * 
     * @deprecated
     * This parameter will be replaced by `compute_environment_order`.
     * 
     */
    @Deprecated /* This parameter will be replaced by `compute_environment_order`. */
    public Optional>> computeEnvironments() {
        return Optional.ofNullable(this.computeEnvironments);
    }

    /**
     * The set of job state time limit actions mapped to a job queue. Specifies an action that AWS Batch will take after the job has remained at the head of the queue in the specified state for longer than the specified time.
     * 
     */
    @Import(name="jobStateTimeLimitActions")
    private @Nullable Output> jobStateTimeLimitActions;

    /**
     * @return The set of job state time limit actions mapped to a job queue. Specifies an action that AWS Batch will take after the job has remained at the head of the queue in the specified state for longer than the specified time.
     * 
     */
    public Optional>> jobStateTimeLimitActions() {
        return Optional.ofNullable(this.jobStateTimeLimitActions);
    }

    /**
     * Specifies the name of the job queue.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Specifies the name of the job queue.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The priority of the job queue. Job queues with a higher priority
     * are evaluated first when associated with the same compute environment.
     * 
     */
    @Import(name="priority", required=true)
    private Output priority;

    /**
     * @return The priority of the job queue. Job queues with a higher priority
     * are evaluated first when associated with the same compute environment.
     * 
     */
    public Output priority() {
        return this.priority;
    }

    /**
     * The ARN of the fair share scheduling policy. If this parameter is specified, the job queue uses a fair share scheduling policy. If this parameter isn't specified, the job queue uses a first in, first out (FIFO) scheduling policy. After a job queue is created, you can replace but can't remove the fair share scheduling policy.
     * 
     */
    @Import(name="schedulingPolicyArn")
    private @Nullable Output schedulingPolicyArn;

    /**
     * @return The ARN of the fair share scheduling policy. If this parameter is specified, the job queue uses a fair share scheduling policy. If this parameter isn't specified, the job queue uses a first in, first out (FIFO) scheduling policy. After a job queue is created, you can replace but can't remove the fair share scheduling policy.
     * 
     */
    public Optional> schedulingPolicyArn() {
        return Optional.ofNullable(this.schedulingPolicyArn);
    }

    /**
     * The state of the job queue. Must be one of: `ENABLED` or `DISABLED`
     * 
     */
    @Import(name="state", required=true)
    private Output state;

    /**
     * @return The state of the job queue. Must be one of: `ENABLED` or `DISABLED`
     * 
     */
    public Output state() {
        return this.state;
    }

    /**
     * Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

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

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

    private JobQueueArgs() {}

    private JobQueueArgs(JobQueueArgs $) {
        this.computeEnvironmentOrders = $.computeEnvironmentOrders;
        this.computeEnvironments = $.computeEnvironments;
        this.jobStateTimeLimitActions = $.jobStateTimeLimitActions;
        this.name = $.name;
        this.priority = $.priority;
        this.schedulingPolicyArn = $.schedulingPolicyArn;
        this.state = $.state;
        this.tags = $.tags;
        this.timeouts = $.timeouts;
    }

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

    public static final class Builder {
        private JobQueueArgs $;

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

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

        /**
         * @param computeEnvironmentOrders The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the VALID state before you can associate them with a job queue. You can associate up to three compute environments with a job queue.
         * 
         * @return builder
         * 
         */
        public Builder computeEnvironmentOrders(@Nullable Output> computeEnvironmentOrders) {
            $.computeEnvironmentOrders = computeEnvironmentOrders;
            return this;
        }

        /**
         * @param computeEnvironmentOrders The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the VALID state before you can associate them with a job queue. You can associate up to three compute environments with a job queue.
         * 
         * @return builder
         * 
         */
        public Builder computeEnvironmentOrders(List computeEnvironmentOrders) {
            return computeEnvironmentOrders(Output.of(computeEnvironmentOrders));
        }

        /**
         * @param computeEnvironmentOrders The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the VALID state before you can associate them with a job queue. You can associate up to three compute environments with a job queue.
         * 
         * @return builder
         * 
         */
        public Builder computeEnvironmentOrders(JobQueueComputeEnvironmentOrderArgs... computeEnvironmentOrders) {
            return computeEnvironmentOrders(List.of(computeEnvironmentOrders));
        }

        /**
         * @param computeEnvironments (Optional) This parameter is deprecated, please use `compute_environment_order` instead. List of compute environment ARNs mapped to a job queue. The position of the compute environments in the list will dictate the order. When importing a AWS Batch Job Queue, the parameter `compute_environments` will always be used over `compute_environment_order`. Please adjust your HCL accordingly.
         * 
         * @return builder
         * 
         * @deprecated
         * This parameter will be replaced by `compute_environment_order`.
         * 
         */
        @Deprecated /* This parameter will be replaced by `compute_environment_order`. */
        public Builder computeEnvironments(@Nullable Output> computeEnvironments) {
            $.computeEnvironments = computeEnvironments;
            return this;
        }

        /**
         * @param computeEnvironments (Optional) This parameter is deprecated, please use `compute_environment_order` instead. List of compute environment ARNs mapped to a job queue. The position of the compute environments in the list will dictate the order. When importing a AWS Batch Job Queue, the parameter `compute_environments` will always be used over `compute_environment_order`. Please adjust your HCL accordingly.
         * 
         * @return builder
         * 
         * @deprecated
         * This parameter will be replaced by `compute_environment_order`.
         * 
         */
        @Deprecated /* This parameter will be replaced by `compute_environment_order`. */
        public Builder computeEnvironments(List computeEnvironments) {
            return computeEnvironments(Output.of(computeEnvironments));
        }

        /**
         * @param computeEnvironments (Optional) This parameter is deprecated, please use `compute_environment_order` instead. List of compute environment ARNs mapped to a job queue. The position of the compute environments in the list will dictate the order. When importing a AWS Batch Job Queue, the parameter `compute_environments` will always be used over `compute_environment_order`. Please adjust your HCL accordingly.
         * 
         * @return builder
         * 
         * @deprecated
         * This parameter will be replaced by `compute_environment_order`.
         * 
         */
        @Deprecated /* This parameter will be replaced by `compute_environment_order`. */
        public Builder computeEnvironments(String... computeEnvironments) {
            return computeEnvironments(List.of(computeEnvironments));
        }

        /**
         * @param jobStateTimeLimitActions The set of job state time limit actions mapped to a job queue. Specifies an action that AWS Batch will take after the job has remained at the head of the queue in the specified state for longer than the specified time.
         * 
         * @return builder
         * 
         */
        public Builder jobStateTimeLimitActions(@Nullable Output> jobStateTimeLimitActions) {
            $.jobStateTimeLimitActions = jobStateTimeLimitActions;
            return this;
        }

        /**
         * @param jobStateTimeLimitActions The set of job state time limit actions mapped to a job queue. Specifies an action that AWS Batch will take after the job has remained at the head of the queue in the specified state for longer than the specified time.
         * 
         * @return builder
         * 
         */
        public Builder jobStateTimeLimitActions(List jobStateTimeLimitActions) {
            return jobStateTimeLimitActions(Output.of(jobStateTimeLimitActions));
        }

        /**
         * @param jobStateTimeLimitActions The set of job state time limit actions mapped to a job queue. Specifies an action that AWS Batch will take after the job has remained at the head of the queue in the specified state for longer than the specified time.
         * 
         * @return builder
         * 
         */
        public Builder jobStateTimeLimitActions(JobQueueJobStateTimeLimitActionArgs... jobStateTimeLimitActions) {
            return jobStateTimeLimitActions(List.of(jobStateTimeLimitActions));
        }

        /**
         * @param name Specifies the name of the job queue.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Specifies the name of the job queue.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param priority The priority of the job queue. Job queues with a higher priority
         * are evaluated first when associated with the same compute environment.
         * 
         * @return builder
         * 
         */
        public Builder priority(Output priority) {
            $.priority = priority;
            return this;
        }

        /**
         * @param priority The priority of the job queue. Job queues with a higher priority
         * are evaluated first when associated with the same compute environment.
         * 
         * @return builder
         * 
         */
        public Builder priority(Integer priority) {
            return priority(Output.of(priority));
        }

        /**
         * @param schedulingPolicyArn The ARN of the fair share scheduling policy. If this parameter is specified, the job queue uses a fair share scheduling policy. If this parameter isn't specified, the job queue uses a first in, first out (FIFO) scheduling policy. After a job queue is created, you can replace but can't remove the fair share scheduling policy.
         * 
         * @return builder
         * 
         */
        public Builder schedulingPolicyArn(@Nullable Output schedulingPolicyArn) {
            $.schedulingPolicyArn = schedulingPolicyArn;
            return this;
        }

        /**
         * @param schedulingPolicyArn The ARN of the fair share scheduling policy. If this parameter is specified, the job queue uses a fair share scheduling policy. If this parameter isn't specified, the job queue uses a first in, first out (FIFO) scheduling policy. After a job queue is created, you can replace but can't remove the fair share scheduling policy.
         * 
         * @return builder
         * 
         */
        public Builder schedulingPolicyArn(String schedulingPolicyArn) {
            return schedulingPolicyArn(Output.of(schedulingPolicyArn));
        }

        /**
         * @param state The state of the job queue. Must be one of: `ENABLED` or `DISABLED`
         * 
         * @return builder
         * 
         */
        public Builder state(Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state The state of the job queue. Must be one of: `ENABLED` or `DISABLED`
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

        /**
         * @param tags Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

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

        public Builder timeouts(JobQueueTimeoutsArgs timeouts) {
            return timeouts(Output.of(timeouts));
        }

        public JobQueueArgs build() {
            if ($.priority == null) {
                throw new MissingRequiredPropertyException("JobQueueArgs", "priority");
            }
            if ($.state == null) {
                throw new MissingRequiredPropertyException("JobQueueArgs", "state");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy