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

com.pulumi.dockerbuild.inputs.CacheToArgs 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.CacheToAzureBlobArgs;
import com.pulumi.dockerbuild.inputs.CacheToGitHubActionsArgs;
import com.pulumi.dockerbuild.inputs.CacheToInlineArgs;
import com.pulumi.dockerbuild.inputs.CacheToLocalArgs;
import com.pulumi.dockerbuild.inputs.CacheToRegistryArgs;
import com.pulumi.dockerbuild.inputs.CacheToS3Args;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CacheToArgs Empty = new CacheToArgs();

    /**
     * Push cache to Azure's blob storage service.
     * 
     */
    @Import(name="azblob")
    private @Nullable Output azblob;

    /**
     * @return Push cache to Azure's blob storage service.
     * 
     */
    public Optional> azblob() {
        return Optional.ofNullable(this.azblob);
    }

    /**
     * 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);
    }

    /**
     * Recommended for use with GitHub Actions workflows.
     * 
     * An action like `crazy-max/ghaction-github-runtime` is recommended to
     * expose appropriate credentials to your GitHub workflow.
     * 
     */
    @Import(name="gha")
    private @Nullable Output gha;

    /**
     * @return Recommended for use with GitHub Actions workflows.
     * 
     * An action like `crazy-max/ghaction-github-runtime` is recommended to
     * expose appropriate credentials to your GitHub workflow.
     * 
     */
    public Optional> gha() {
        return Optional.ofNullable(this.gha);
    }

    /**
     * The inline cache storage backend is the simplest implementation to get
     * started with, but it does not handle multi-stage builds. Consider the
     * `registry` cache backend instead.
     * 
     */
    @Import(name="inline")
    private @Nullable Output inline;

    /**
     * @return The inline cache storage backend is the simplest implementation to get
     * started with, but it does not handle multi-stage builds. Consider the
     * `registry` cache backend instead.
     * 
     */
    public Optional> inline() {
        return Optional.ofNullable(this.inline);
    }

    /**
     * A simple backend which caches imagines on your local filesystem.
     * 
     */
    @Import(name="local")
    private @Nullable Output local;

    /**
     * @return A simple backend which caches imagines on your local filesystem.
     * 
     */
    public Optional> local() {
        return Optional.ofNullable(this.local);
    }

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

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

    /**
     * Push caches to remote registries. Incompatible with the `docker` build
     * driver.
     * 
     */
    @Import(name="registry")
    private @Nullable Output registry;

    /**
     * @return Push caches to remote registries. Incompatible with the `docker` build
     * driver.
     * 
     */
    public Optional> registry() {
        return Optional.ofNullable(this.registry);
    }

    /**
     * Push cache to AWS S3 or S3-compatible services such as MinIO.
     * 
     */
    @Import(name="s3")
    private @Nullable Output s3;

    /**
     * @return Push cache to AWS S3 or S3-compatible services such as MinIO.
     * 
     */
    public Optional> s3() {
        return Optional.ofNullable(this.s3);
    }

    private CacheToArgs() {}

    private CacheToArgs(CacheToArgs $) {
        this.azblob = $.azblob;
        this.disabled = $.disabled;
        this.gha = $.gha;
        this.inline = $.inline;
        this.local = $.local;
        this.raw = $.raw;
        this.registry = $.registry;
        this.s3 = $.s3;
    }

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

    public static final class Builder {
        private CacheToArgs $;

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

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

        /**
         * @param azblob Push cache to Azure's blob storage service.
         * 
         * @return builder
         * 
         */
        public Builder azblob(@Nullable Output azblob) {
            $.azblob = azblob;
            return this;
        }

        /**
         * @param azblob Push cache to Azure's blob storage service.
         * 
         * @return builder
         * 
         */
        public Builder azblob(CacheToAzureBlobArgs azblob) {
            return azblob(Output.of(azblob));
        }

        /**
         * @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 gha Recommended for use with GitHub Actions workflows.
         * 
         * An action like `crazy-max/ghaction-github-runtime` is recommended to
         * expose appropriate credentials to your GitHub workflow.
         * 
         * @return builder
         * 
         */
        public Builder gha(@Nullable Output gha) {
            $.gha = gha;
            return this;
        }

        /**
         * @param gha Recommended for use with GitHub Actions workflows.
         * 
         * An action like `crazy-max/ghaction-github-runtime` is recommended to
         * expose appropriate credentials to your GitHub workflow.
         * 
         * @return builder
         * 
         */
        public Builder gha(CacheToGitHubActionsArgs gha) {
            return gha(Output.of(gha));
        }

        /**
         * @param inline The inline cache storage backend is the simplest implementation to get
         * started with, but it does not handle multi-stage builds. Consider the
         * `registry` cache backend instead.
         * 
         * @return builder
         * 
         */
        public Builder inline(@Nullable Output inline) {
            $.inline = inline;
            return this;
        }

        /**
         * @param inline The inline cache storage backend is the simplest implementation to get
         * started with, but it does not handle multi-stage builds. Consider the
         * `registry` cache backend instead.
         * 
         * @return builder
         * 
         */
        public Builder inline(CacheToInlineArgs inline) {
            return inline(Output.of(inline));
        }

        /**
         * @param local A simple backend which caches imagines on your local filesystem.
         * 
         * @return builder
         * 
         */
        public Builder local(@Nullable Output local) {
            $.local = local;
            return this;
        }

        /**
         * @param local A simple backend which caches imagines on your local filesystem.
         * 
         * @return builder
         * 
         */
        public Builder local(CacheToLocalArgs local) {
            return local(Output.of(local));
        }

        /**
         * @param raw A raw string as you would provide it to the Docker CLI (e.g.,
         * `type=inline`)
         * 
         * @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=inline`)
         * 
         * @return builder
         * 
         */
        public Builder raw(String raw) {
            return raw(Output.of(raw));
        }

        /**
         * @param registry Push caches to remote registries. Incompatible with the `docker` build
         * driver.
         * 
         * @return builder
         * 
         */
        public Builder registry(@Nullable Output registry) {
            $.registry = registry;
            return this;
        }

        /**
         * @param registry Push caches to remote registries. Incompatible with the `docker` build
         * driver.
         * 
         * @return builder
         * 
         */
        public Builder registry(CacheToRegistryArgs registry) {
            return registry(Output.of(registry));
        }

        /**
         * @param s3 Push cache to AWS S3 or S3-compatible services such as MinIO.
         * 
         * @return builder
         * 
         */
        public Builder s3(@Nullable Output s3) {
            $.s3 = s3;
            return this;
        }

        /**
         * @param s3 Push cache to AWS S3 or S3-compatible services such as MinIO.
         * 
         * @return builder
         * 
         */
        public Builder s3(CacheToS3Args s3) {
            return s3(Output.of(s3));
        }

        public CacheToArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy