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

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

import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs;
import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs;
import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs;
import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final JobDefinitionEksPropertiesPodPropertiesContainersArgs Empty = new JobDefinitionEksPropertiesPodPropertiesContainersArgs();

    /**
     * Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
     * 
     */
    @Import(name="args")
    private @Nullable Output> args;

    /**
     * @return Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
     * 
     */
    public Optional>> args() {
        return Optional.ofNullable(this.args);
    }

    /**
     * Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
     * 
     */
    @Import(name="commands")
    private @Nullable Output> commands;

    /**
     * @return Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
     * 
     */
    public Optional>> commands() {
        return Optional.ofNullable(this.commands);
    }

    /**
     * Environment variables to pass to a container. See EKS Environment below.
     * 
     */
    @Import(name="envs")
    private @Nullable Output> envs;

    /**
     * @return Environment variables to pass to a container. See EKS Environment below.
     * 
     */
    public Optional>> envs() {
        return Optional.ofNullable(this.envs);
    }

    /**
     * Docker image used to start the container.
     * 
     */
    @Import(name="image", required=true)
    private Output image;

    /**
     * @return Docker image used to start the container.
     * 
     */
    public Output image() {
        return this.image;
    }

    /**
     * Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`.
     * 
     */
    @Import(name="imagePullPolicy")
    private @Nullable Output imagePullPolicy;

    /**
     * @return Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`.
     * 
     */
    public Optional> imagePullPolicy() {
        return Optional.ofNullable(this.imagePullPolicy);
    }

    /**
     * Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`.
     * 
     */
    @Import(name="resources")
    private @Nullable Output resources;

    /**
     * @return Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`.
     * 
     */
    public Optional> resources() {
        return Optional.ofNullable(this.resources);
    }

    /**
     * Security context for a job.
     * 
     */
    @Import(name="securityContext")
    private @Nullable Output securityContext;

    /**
     * @return Security context for a job.
     * 
     */
    public Optional> securityContext() {
        return Optional.ofNullable(this.securityContext);
    }

    /**
     * Volume mounts for the container.
     * 
     */
    @Import(name="volumeMounts")
    private @Nullable Output> volumeMounts;

    /**
     * @return Volume mounts for the container.
     * 
     */
    public Optional>> volumeMounts() {
        return Optional.ofNullable(this.volumeMounts);
    }

    private JobDefinitionEksPropertiesPodPropertiesContainersArgs() {}

    private JobDefinitionEksPropertiesPodPropertiesContainersArgs(JobDefinitionEksPropertiesPodPropertiesContainersArgs $) {
        this.args = $.args;
        this.commands = $.commands;
        this.envs = $.envs;
        this.image = $.image;
        this.imagePullPolicy = $.imagePullPolicy;
        this.name = $.name;
        this.resources = $.resources;
        this.securityContext = $.securityContext;
        this.volumeMounts = $.volumeMounts;
    }

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

    public static final class Builder {
        private JobDefinitionEksPropertiesPodPropertiesContainersArgs $;

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

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

        /**
         * @param args Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
         * 
         * @return builder
         * 
         */
        public Builder args(@Nullable Output> args) {
            $.args = args;
            return this;
        }

        /**
         * @param args Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
         * 
         * @return builder
         * 
         */
        public Builder args(List args) {
            return args(Output.of(args));
        }

        /**
         * @param args Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
         * 
         * @return builder
         * 
         */
        public Builder args(String... args) {
            return args(List.of(args));
        }

        /**
         * @param commands Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
         * 
         * @return builder
         * 
         */
        public Builder commands(@Nullable Output> commands) {
            $.commands = commands;
            return this;
        }

        /**
         * @param commands Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
         * 
         * @return builder
         * 
         */
        public Builder commands(List commands) {
            return commands(Output.of(commands));
        }

        /**
         * @param commands Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
         * 
         * @return builder
         * 
         */
        public Builder commands(String... commands) {
            return commands(List.of(commands));
        }

        /**
         * @param envs Environment variables to pass to a container. See EKS Environment below.
         * 
         * @return builder
         * 
         */
        public Builder envs(@Nullable Output> envs) {
            $.envs = envs;
            return this;
        }

        /**
         * @param envs Environment variables to pass to a container. See EKS Environment below.
         * 
         * @return builder
         * 
         */
        public Builder envs(List envs) {
            return envs(Output.of(envs));
        }

        /**
         * @param envs Environment variables to pass to a container. See EKS Environment below.
         * 
         * @return builder
         * 
         */
        public Builder envs(JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs... envs) {
            return envs(List.of(envs));
        }

        /**
         * @param image Docker image used to start the container.
         * 
         * @return builder
         * 
         */
        public Builder image(Output image) {
            $.image = image;
            return this;
        }

        /**
         * @param image Docker image used to start the container.
         * 
         * @return builder
         * 
         */
        public Builder image(String image) {
            return image(Output.of(image));
        }

        /**
         * @param imagePullPolicy Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`.
         * 
         * @return builder
         * 
         */
        public Builder imagePullPolicy(@Nullable Output imagePullPolicy) {
            $.imagePullPolicy = imagePullPolicy;
            return this;
        }

        /**
         * @param imagePullPolicy Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`.
         * 
         * @return builder
         * 
         */
        public Builder imagePullPolicy(String imagePullPolicy) {
            return imagePullPolicy(Output.of(imagePullPolicy));
        }

        /**
         * @param name Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param resources Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`.
         * 
         * @return builder
         * 
         */
        public Builder resources(@Nullable Output resources) {
            $.resources = resources;
            return this;
        }

        /**
         * @param resources Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`.
         * 
         * @return builder
         * 
         */
        public Builder resources(JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs resources) {
            return resources(Output.of(resources));
        }

        /**
         * @param securityContext Security context for a job.
         * 
         * @return builder
         * 
         */
        public Builder securityContext(@Nullable Output securityContext) {
            $.securityContext = securityContext;
            return this;
        }

        /**
         * @param securityContext Security context for a job.
         * 
         * @return builder
         * 
         */
        public Builder securityContext(JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs securityContext) {
            return securityContext(Output.of(securityContext));
        }

        /**
         * @param volumeMounts Volume mounts for the container.
         * 
         * @return builder
         * 
         */
        public Builder volumeMounts(@Nullable Output> volumeMounts) {
            $.volumeMounts = volumeMounts;
            return this;
        }

        /**
         * @param volumeMounts Volume mounts for the container.
         * 
         * @return builder
         * 
         */
        public Builder volumeMounts(List volumeMounts) {
            return volumeMounts(Output.of(volumeMounts));
        }

        /**
         * @param volumeMounts Volume mounts for the container.
         * 
         * @return builder
         * 
         */
        public Builder volumeMounts(JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs... volumeMounts) {
            return volumeMounts(List.of(volumeMounts));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy