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

com.pulumi.dockerbuild.inputs.CacheFromArgs 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.CacheFromAzureBlobArgs;
import com.pulumi.dockerbuild.inputs.CacheFromGitHubActionsArgs;
import com.pulumi.dockerbuild.inputs.CacheFromLocalArgs;
import com.pulumi.dockerbuild.inputs.CacheFromRegistryArgs;
import com.pulumi.dockerbuild.inputs.CacheFromS3Args;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CacheFromArgs Empty = new CacheFromArgs();

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

    /**
     * @return Upload build caches 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);
    }

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

    /**
     * @return A simple backend which caches images 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);
    }

    /**
     * Upload build caches to remote registries.
     * 
     */
    @Import(name="registry")
    private @Nullable Output registry;

    /**
     * @return Upload build caches to remote registries.
     * 
     */
    public Optional> registry() {
        return Optional.ofNullable(this.registry);
    }

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

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

    private CacheFromArgs() {}

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

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

    public static final class Builder {
        private CacheFromArgs $;

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

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

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

        /**
         * @param azblob Upload build caches to Azure's blob storage service.
         * 
         * @return builder
         * 
         */
        public Builder azblob(CacheFromAzureBlobArgs 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(CacheFromGitHubActionsArgs gha) {
            return gha(Output.of(gha));
        }

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

        /**
         * @param local A simple backend which caches images on your local filesystem.
         * 
         * @return builder
         * 
         */
        public Builder local(CacheFromLocalArgs 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 Upload build caches to remote registries.
         * 
         * @return builder
         * 
         */
        public Builder registry(@Nullable Output registry) {
            $.registry = registry;
            return this;
        }

        /**
         * @param registry Upload build caches to remote registries.
         * 
         * @return builder
         * 
         */
        public Builder registry(CacheFromRegistryArgs registry) {
            return registry(Output.of(registry));
        }

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

        /**
         * @param s3 Upload build caches to AWS S3 or an S3-compatible services such as
         * MinIO.
         * 
         * @return builder
         * 
         */
        public Builder s3(CacheFromS3Args s3) {
            return s3(Output.of(s3));
        }

        public CacheFromArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy