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

com.pulumi.dockerbuild.inputs.ExportArgs Maven / Gradle / Ivy

Go to download

A Pulumi provider for building modern Docker images with buildx and BuildKit.

There is a newer version: 0.1.0-alpha.1729468870
Show newest version
// *** WARNING: this file was generated by pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.dockerbuild.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.dockerbuild.inputs.ExportCacheOnlyArgs;
import com.pulumi.dockerbuild.inputs.ExportDockerArgs;
import com.pulumi.dockerbuild.inputs.ExportImageArgs;
import com.pulumi.dockerbuild.inputs.ExportLocalArgs;
import com.pulumi.dockerbuild.inputs.ExportOCIArgs;
import com.pulumi.dockerbuild.inputs.ExportRegistryArgs;
import com.pulumi.dockerbuild.inputs.ExportTarArgs;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ExportArgs Empty = new ExportArgs();

    /**
     * A no-op export. Helpful for silencing the 'no exports' warning if you
     * just want to populate caches.
     * 
     */
    @Import(name="cacheonly")
    private @Nullable Output cacheonly;

    /**
     * @return A no-op export. Helpful for silencing the 'no exports' warning if you
     * just want to populate caches.
     * 
     */
    public Optional> cacheonly() {
        return Optional.ofNullable(this.cacheonly);
    }

    /**
     * When `true` this entry will be excluded. Defaults to `false`.
     * 
     */
    @Import(name="disabled")
    private @Nullable Output disabled;

    /**
     * @return When `true` this entry will be excluded. Defaults to `false`.
     * 
     */
    public Optional> disabled() {
        return Optional.ofNullable(this.disabled);
    }

    /**
     * Export as a Docker image layout.
     * 
     */
    @Import(name="docker")
    private @Nullable Output docker;

    /**
     * @return Export as a Docker image layout.
     * 
     */
    public Optional> docker() {
        return Optional.ofNullable(this.docker);
    }

    /**
     * Outputs the build result into a container image format.
     * 
     */
    @Import(name="image")
    private @Nullable Output image;

    /**
     * @return Outputs the build result into a container image format.
     * 
     */
    public Optional> image() {
        return Optional.ofNullable(this.image);
    }

    /**
     * Export to a local directory as files and directories.
     * 
     */
    @Import(name="local")
    private @Nullable Output local;

    /**
     * @return Export to a local directory as files and directories.
     * 
     */
    public Optional> local() {
        return Optional.ofNullable(this.local);
    }

    /**
     * Identical to the Docker exporter but uses OCI media types by default.
     * 
     */
    @Import(name="oci")
    private @Nullable Output oci;

    /**
     * @return Identical to the Docker exporter but uses OCI media types by default.
     * 
     */
    public Optional> oci() {
        return Optional.ofNullable(this.oci);
    }

    /**
     * A raw string as you would provide it to the Docker CLI (e.g.,
     * `type=docker`)
     * 
     */
    @Import(name="raw")
    private @Nullable Output raw;

    /**
     * @return A raw string as you would provide it to the Docker CLI (e.g.,
     * `type=docker`)
     * 
     */
    public Optional> raw() {
        return Optional.ofNullable(this.raw);
    }

    /**
     * Identical to the Image exporter, but pushes by default.
     * 
     */
    @Import(name="registry")
    private @Nullable Output registry;

    /**
     * @return Identical to the Image exporter, but pushes by default.
     * 
     */
    public Optional> registry() {
        return Optional.ofNullable(this.registry);
    }

    /**
     * Export to a local directory as a tarball.
     * 
     */
    @Import(name="tar")
    private @Nullable Output tar;

    /**
     * @return Export to a local directory as a tarball.
     * 
     */
    public Optional> tar() {
        return Optional.ofNullable(this.tar);
    }

    private ExportArgs() {}

    private ExportArgs(ExportArgs $) {
        this.cacheonly = $.cacheonly;
        this.disabled = $.disabled;
        this.docker = $.docker;
        this.image = $.image;
        this.local = $.local;
        this.oci = $.oci;
        this.raw = $.raw;
        this.registry = $.registry;
        this.tar = $.tar;
    }

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

    public static final class Builder {
        private ExportArgs $;

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

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

        /**
         * @param cacheonly A no-op export. Helpful for silencing the 'no exports' warning if you
         * just want to populate caches.
         * 
         * @return builder
         * 
         */
        public Builder cacheonly(@Nullable Output cacheonly) {
            $.cacheonly = cacheonly;
            return this;
        }

        /**
         * @param cacheonly A no-op export. Helpful for silencing the 'no exports' warning if you
         * just want to populate caches.
         * 
         * @return builder
         * 
         */
        public Builder cacheonly(ExportCacheOnlyArgs cacheonly) {
            return cacheonly(Output.of(cacheonly));
        }

        /**
         * @param disabled When `true` this entry will be excluded. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder disabled(@Nullable Output disabled) {
            $.disabled = disabled;
            return this;
        }

        /**
         * @param disabled When `true` this entry will be excluded. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder disabled(Boolean disabled) {
            return disabled(Output.of(disabled));
        }

        /**
         * @param docker Export as a Docker image layout.
         * 
         * @return builder
         * 
         */
        public Builder docker(@Nullable Output docker) {
            $.docker = docker;
            return this;
        }

        /**
         * @param docker Export as a Docker image layout.
         * 
         * @return builder
         * 
         */
        public Builder docker(ExportDockerArgs docker) {
            return docker(Output.of(docker));
        }

        /**
         * @param image Outputs the build result into a container image format.
         * 
         * @return builder
         * 
         */
        public Builder image(@Nullable Output image) {
            $.image = image;
            return this;
        }

        /**
         * @param image Outputs the build result into a container image format.
         * 
         * @return builder
         * 
         */
        public Builder image(ExportImageArgs image) {
            return image(Output.of(image));
        }

        /**
         * @param local Export to a local directory as files and directories.
         * 
         * @return builder
         * 
         */
        public Builder local(@Nullable Output local) {
            $.local = local;
            return this;
        }

        /**
         * @param local Export to a local directory as files and directories.
         * 
         * @return builder
         * 
         */
        public Builder local(ExportLocalArgs local) {
            return local(Output.of(local));
        }

        /**
         * @param oci Identical to the Docker exporter but uses OCI media types by default.
         * 
         * @return builder
         * 
         */
        public Builder oci(@Nullable Output oci) {
            $.oci = oci;
            return this;
        }

        /**
         * @param oci Identical to the Docker exporter but uses OCI media types by default.
         * 
         * @return builder
         * 
         */
        public Builder oci(ExportOCIArgs oci) {
            return oci(Output.of(oci));
        }

        /**
         * @param raw A raw string as you would provide it to the Docker CLI (e.g.,
         * `type=docker`)
         * 
         * @return builder
         * 
         */
        public Builder raw(@Nullable Output raw) {
            $.raw = raw;
            return this;
        }

        /**
         * @param raw A raw string as you would provide it to the Docker CLI (e.g.,
         * `type=docker`)
         * 
         * @return builder
         * 
         */
        public Builder raw(String raw) {
            return raw(Output.of(raw));
        }

        /**
         * @param registry Identical to the Image exporter, but pushes by default.
         * 
         * @return builder
         * 
         */
        public Builder registry(@Nullable Output registry) {
            $.registry = registry;
            return this;
        }

        /**
         * @param registry Identical to the Image exporter, but pushes by default.
         * 
         * @return builder
         * 
         */
        public Builder registry(ExportRegistryArgs registry) {
            return registry(Output.of(registry));
        }

        /**
         * @param tar Export to a local directory as a tarball.
         * 
         * @return builder
         * 
         */
        public Builder tar(@Nullable Output tar) {
            $.tar = tar;
            return this;
        }

        /**
         * @param tar Export to a local directory as a tarball.
         * 
         * @return builder
         * 
         */
        public Builder tar(ExportTarArgs tar) {
            return tar(Output.of(tar));
        }

        public ExportArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy