This commit is contained in:
github-actions
2026-05-12 18:35:00 +00:00
parent df2dcca9a8
commit 0f1469d536
445 changed files with 3 additions and 61890 deletions

View File

@@ -1 +0,0 @@
* linguist-generated

View File

@@ -1,2 +0,0 @@
bin
obj

View File

@@ -1,72 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Immutable;
namespace Pulumi.DockerBuild
{
public static class Config
{
[global::System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "IDE1006", Justification =
"Double underscore prefix used to avoid conflicts with variable names.")]
private sealed class __Value<T>
{
private readonly Func<T> _getter;
private T _value = default!;
private bool _set;
public __Value(Func<T> getter)
{
_getter = getter;
}
public T Get() => _set ? _value : _getter();
public void Set(T value)
{
_value = value;
_set = true;
}
}
private static readonly global::Pulumi.Config __config = new global::Pulumi.Config("docker-build");
private static readonly __Value<string?> _host = new __Value<string?>(() => __config.Get("host") ?? Utilities.GetEnv("DOCKER_HOST") ?? "");
/// <summary>
/// The build daemon's address.
/// </summary>
public static string? Host
{
get => _host.Get();
set => _host.Set(value);
}
private static readonly __Value<ImmutableArray<Types.Registry>> _registries = new __Value<ImmutableArray<Types.Registry>>(() => __config.GetObject<ImmutableArray<Types.Registry>>("registries"));
public static ImmutableArray<Types.Registry> Registries
{
get => _registries.Get();
set => _registries.Set(value);
}
public static class Types
{
public class Registry
{
/// <summary>
/// The registry's address (e.g. "docker.io").
/// </summary>
public string Address { get; set; }
/// <summary>
/// Password or token for the registry.
/// </summary>
public string? Password { get; set; } = null!;
/// <summary>
/// Username for the registry.
/// </summary>
public string? Username { get; set; } = null!;
}
}
}
}

View File

@@ -1 +0,0 @@
A Pulumi provider for building modern Docker images with buildx and BuildKit.

View File

@@ -1,173 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.ComponentModel;
using Pulumi;
namespace Pulumi.DockerBuild
{
[EnumType]
public readonly struct CacheMode : IEquatable<CacheMode>
{
private readonly string _value;
private CacheMode(string value)
{
_value = value ?? throw new ArgumentNullException(nameof(value));
}
/// <summary>
/// Only layers that are exported into the resulting image are cached.
/// </summary>
public static CacheMode Min { get; } = new CacheMode("min");
/// <summary>
/// All layers are cached, even those of intermediate steps.
/// </summary>
public static CacheMode Max { get; } = new CacheMode("max");
public static bool operator ==(CacheMode left, CacheMode right) => left.Equals(right);
public static bool operator !=(CacheMode left, CacheMode right) => !left.Equals(right);
public static explicit operator string(CacheMode value) => value._value;
[EditorBrowsable(EditorBrowsableState.Never)]
public override bool Equals(object? obj) => obj is CacheMode other && Equals(other);
public bool Equals(CacheMode other) => string.Equals(_value, other._value, StringComparison.Ordinal);
[EditorBrowsable(EditorBrowsableState.Never)]
public override int GetHashCode() => _value?.GetHashCode() ?? 0;
public override string ToString() => _value;
}
[EnumType]
public readonly struct CompressionType : IEquatable<CompressionType>
{
private readonly string _value;
private CompressionType(string value)
{
_value = value ?? throw new ArgumentNullException(nameof(value));
}
/// <summary>
/// Use `gzip` for compression.
/// </summary>
public static CompressionType Gzip { get; } = new CompressionType("gzip");
/// <summary>
/// Use `estargz` for compression.
/// </summary>
public static CompressionType Estargz { get; } = new CompressionType("estargz");
/// <summary>
/// Use `zstd` for compression.
/// </summary>
public static CompressionType Zstd { get; } = new CompressionType("zstd");
public static bool operator ==(CompressionType left, CompressionType right) => left.Equals(right);
public static bool operator !=(CompressionType left, CompressionType right) => !left.Equals(right);
public static explicit operator string(CompressionType value) => value._value;
[EditorBrowsable(EditorBrowsableState.Never)]
public override bool Equals(object? obj) => obj is CompressionType other && Equals(other);
public bool Equals(CompressionType other) => string.Equals(_value, other._value, StringComparison.Ordinal);
[EditorBrowsable(EditorBrowsableState.Never)]
public override int GetHashCode() => _value?.GetHashCode() ?? 0;
public override string ToString() => _value;
}
[EnumType]
public readonly struct NetworkMode : IEquatable<NetworkMode>
{
private readonly string _value;
private NetworkMode(string value)
{
_value = value ?? throw new ArgumentNullException(nameof(value));
}
/// <summary>
/// The default sandbox network mode.
/// </summary>
public static NetworkMode @Default { get; } = new NetworkMode("default");
/// <summary>
/// Host network mode.
/// </summary>
public static NetworkMode Host { get; } = new NetworkMode("host");
/// <summary>
/// Disable network access.
/// </summary>
public static NetworkMode None { get; } = new NetworkMode("none");
public static bool operator ==(NetworkMode left, NetworkMode right) => left.Equals(right);
public static bool operator !=(NetworkMode left, NetworkMode right) => !left.Equals(right);
public static explicit operator string(NetworkMode value) => value._value;
[EditorBrowsable(EditorBrowsableState.Never)]
public override bool Equals(object? obj) => obj is NetworkMode other && Equals(other);
public bool Equals(NetworkMode other) => string.Equals(_value, other._value, StringComparison.Ordinal);
[EditorBrowsable(EditorBrowsableState.Never)]
public override int GetHashCode() => _value?.GetHashCode() ?? 0;
public override string ToString() => _value;
}
[EnumType]
public readonly struct Platform : IEquatable<Platform>
{
private readonly string _value;
private Platform(string value)
{
_value = value ?? throw new ArgumentNullException(nameof(value));
}
public static Platform Darwin_386 { get; } = new Platform("darwin/386");
public static Platform Darwin_amd64 { get; } = new Platform("darwin/amd64");
public static Platform Darwin_arm { get; } = new Platform("darwin/arm");
public static Platform Darwin_arm64 { get; } = new Platform("darwin/arm64");
public static Platform Dragonfly_amd64 { get; } = new Platform("dragonfly/amd64");
public static Platform Freebsd_386 { get; } = new Platform("freebsd/386");
public static Platform Freebsd_amd64 { get; } = new Platform("freebsd/amd64");
public static Platform Freebsd_arm { get; } = new Platform("freebsd/arm");
public static Platform Linux_386 { get; } = new Platform("linux/386");
public static Platform Linux_amd64 { get; } = new Platform("linux/amd64");
public static Platform Linux_arm { get; } = new Platform("linux/arm");
public static Platform Linux_arm64 { get; } = new Platform("linux/arm64");
public static Platform Linux_mips64 { get; } = new Platform("linux/mips64");
public static Platform Linux_mips64le { get; } = new Platform("linux/mips64le");
public static Platform Linux_ppc64le { get; } = new Platform("linux/ppc64le");
public static Platform Linux_riscv64 { get; } = new Platform("linux/riscv64");
public static Platform Linux_s390x { get; } = new Platform("linux/s390x");
public static Platform Netbsd_386 { get; } = new Platform("netbsd/386");
public static Platform Netbsd_amd64 { get; } = new Platform("netbsd/amd64");
public static Platform Netbsd_arm { get; } = new Platform("netbsd/arm");
public static Platform Openbsd_386 { get; } = new Platform("openbsd/386");
public static Platform Openbsd_amd64 { get; } = new Platform("openbsd/amd64");
public static Platform Openbsd_arm { get; } = new Platform("openbsd/arm");
public static Platform Plan9_386 { get; } = new Platform("plan9/386");
public static Platform Plan9_amd64 { get; } = new Platform("plan9/amd64");
public static Platform Solaris_amd64 { get; } = new Platform("solaris/amd64");
public static Platform Windows_386 { get; } = new Platform("windows/386");
public static Platform Windows_amd64 { get; } = new Platform("windows/amd64");
public static bool operator ==(Platform left, Platform right) => left.Equals(right);
public static bool operator !=(Platform left, Platform right) => !left.Equals(right);
public static explicit operator string(Platform value) => value._value;
[EditorBrowsable(EditorBrowsableState.Never)]
public override bool Equals(object? obj) => obj is Platform other && Equals(other);
public bool Equals(Platform other) => string.Equals(_value, other._value, StringComparison.Ordinal);
[EditorBrowsable(EditorBrowsableState.Never)]
public override int GetHashCode() => _value?.GetHashCode() ?? 0;
public override string ToString() => _value;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,259 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild
{
/// <summary>
/// A wrapper around `docker buildx imagetools create` to create an index
/// (or manifest list) referencing one or more existing images.
///
/// In most cases you do not need an `Index` to build a multi-platform
/// image -- specifying multiple platforms on the `Image` will handle this
/// for you automatically.
///
/// However, as of April 2024, building multi-platform images _with
/// caching_ will only export a cache for one platform at a time (see [this
/// discussion](https://github.com/docker/buildx/discussions/1382) for more
/// details).
///
/// Therefore this resource can be helpful if you are building
/// multi-platform images with caching: each platform can be built and
/// cached separately, and an `Index` can join them all together. An
/// example of this is shown below.
///
/// This resource creates an OCI image index or a Docker manifest list
/// depending on the media types of the source images.
///
/// ## Example Usage
/// ### Multi-platform registry caching
/// ```csharp
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
/// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =&gt;
/// {
/// var amd64 = new DockerBuild.Image("amd64", new()
/// {
/// CacheFrom = new[]
/// {
/// new DockerBuild.Inputs.CacheFromArgs
/// {
/// Registry = new DockerBuild.Inputs.CacheFromRegistryArgs
/// {
/// Ref = "docker.io/pulumi/pulumi:cache-amd64",
/// },
/// },
/// },
/// CacheTo = new[]
/// {
/// new DockerBuild.Inputs.CacheToArgs
/// {
/// Registry = new DockerBuild.Inputs.CacheToRegistryArgs
/// {
/// Mode = DockerBuild.CacheMode.Max,
/// Ref = "docker.io/pulumi/pulumi:cache-amd64",
/// },
/// },
/// },
/// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
/// Platforms = new[]
/// {
/// DockerBuild.Platform.Linux_amd64,
/// },
/// Tags = new[]
/// {
/// "docker.io/pulumi/pulumi:3.107.0-amd64",
/// },
/// });
///
/// var arm64 = new DockerBuild.Image("arm64", new()
/// {
/// CacheFrom = new[]
/// {
/// new DockerBuild.Inputs.CacheFromArgs
/// {
/// Registry = new DockerBuild.Inputs.CacheFromRegistryArgs
/// {
/// Ref = "docker.io/pulumi/pulumi:cache-arm64",
/// },
/// },
/// },
/// CacheTo = new[]
/// {
/// new DockerBuild.Inputs.CacheToArgs
/// {
/// Registry = new DockerBuild.Inputs.CacheToRegistryArgs
/// {
/// Mode = DockerBuild.CacheMode.Max,
/// Ref = "docker.io/pulumi/pulumi:cache-arm64",
/// },
/// },
/// },
/// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
/// Platforms = new[]
/// {
/// DockerBuild.Platform.Linux_arm64,
/// },
/// Tags = new[]
/// {
/// "docker.io/pulumi/pulumi:3.107.0-arm64",
/// },
/// });
///
/// var index = new DockerBuild.Index("index", new()
/// {
/// Sources = new[]
/// {
/// amd64.Ref,
/// arm64.Ref,
/// },
/// Tag = "docker.io/pulumi/pulumi:3.107.0",
/// });
///
/// return new Dictionary&lt;string, object?&gt;
/// {
/// ["ref"] = index.Ref,
/// };
/// });
///
/// ```
/// </summary>
[DockerBuildResourceType("docker-build:index:Index")]
public partial class Index : global::Pulumi.CustomResource
{
/// <summary>
/// If true, push the index to the target registry.
///
/// Defaults to `true`.
/// </summary>
[Output("push")]
public Output<bool?> Push { get; private set; } = null!;
/// <summary>
/// The pushed tag with digest.
///
/// Identical to the tag if the index was not pushed.
/// </summary>
[Output("ref")]
public Output<string> Ref { get; private set; } = null!;
/// <summary>
/// Authentication for the registry where the tagged index will be pushed.
///
/// Credentials can also be included with the provider's configuration.
/// </summary>
[Output("registry")]
public Output<Outputs.Registry?> Registry { get; private set; } = null!;
/// <summary>
/// Existing images to include in the index.
/// </summary>
[Output("sources")]
public Output<ImmutableArray<string>> Sources { get; private set; } = null!;
/// <summary>
/// The tag to apply to the index.
/// </summary>
[Output("tag")]
public Output<string> Tag { get; private set; } = null!;
/// <summary>
/// Create a Index resource with the given unique name, arguments, and options.
/// </summary>
///
/// <param name="name">The unique name of the resource</param>
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public Index(string name, IndexArgs args, CustomResourceOptions? options = null)
: base("docker-build:index:Index", name, args ?? new IndexArgs(), MakeResourceOptions(options, ""))
{
}
private Index(string name, Input<string> id, CustomResourceOptions? options = null)
: base("docker-build:index:Index", name, null, MakeResourceOptions(options, id))
{
}
private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
{
var defaultOptions = new CustomResourceOptions
{
Version = Utilities.Version,
};
var merged = CustomResourceOptions.Merge(defaultOptions, options);
// Override the ID if one was specified for consistency with other language SDKs.
merged.Id = id ?? merged.Id;
return merged;
}
/// <summary>
/// Get an existing Index resource's state with the given name, ID, and optional extra
/// properties used to qualify the lookup.
/// </summary>
///
/// <param name="name">The unique name of the resulting resource.</param>
/// <param name="id">The unique provider ID of the resource to lookup.</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public static Index Get(string name, Input<string> id, CustomResourceOptions? options = null)
{
return new Index(name, id, options);
}
}
public sealed class IndexArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// If true, push the index to the target registry.
///
/// Defaults to `true`.
/// </summary>
[Input("push")]
public Input<bool>? Push { get; set; }
/// <summary>
/// Authentication for the registry where the tagged index will be pushed.
///
/// Credentials can also be included with the provider's configuration.
/// </summary>
[Input("registry")]
public Input<Inputs.RegistryArgs>? Registry { get; set; }
[Input("sources", required: true)]
private InputList<string>? _sources;
/// <summary>
/// Existing images to include in the index.
/// </summary>
public InputList<string> Sources
{
get => _sources ?? (_sources = new InputList<string>());
set => _sources = value;
}
/// <summary>
/// The tag to apply to the index.
/// </summary>
[Input("tag", required: true)]
public Input<string> Tag { get; set; } = null!;
public IndexArgs()
{
Push = true;
}
public static new IndexArgs Empty => new IndexArgs();
}
}

View File

@@ -1,50 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class BuildContextArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Resources to use for build context.
///
/// The location can be:
/// * A relative or absolute path to a local directory (`.`, `./app`,
/// `/app`, etc.).
/// * A remote URL of a Git repository, tarball, or plain text file
/// (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
/// etc.).
/// </summary>
[Input("location", required: true)]
public Input<string> Location { get; set; } = null!;
[Input("named")]
private InputMap<Inputs.ContextArgs>? _named;
/// <summary>
/// Additional build contexts to use.
///
/// These contexts are accessed with `FROM name` or `--from=name`
/// statements when using Dockerfile 1.4+ syntax.
///
/// Values can be local paths, HTTP URLs, or `docker-image://` images.
/// </summary>
public InputMap<Inputs.ContextArgs> Named
{
get => _named ?? (_named = new InputMap<Inputs.ContextArgs>());
set => _named = value;
}
public BuildContextArgs()
{
}
public static new BuildContextArgs Empty => new BuildContextArgs();
}
}

View File

@@ -1,31 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class BuilderConfigArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Name of an existing buildx builder to use.
///
/// Only `docker-container`, `kubernetes`, or `remote` drivers are
/// supported. The legacy `docker` driver is not supported.
///
/// Equivalent to Docker's `--builder` flag.
/// </summary>
[Input("name")]
public Input<string>? Name { get; set; }
public BuilderConfigArgs()
{
}
public static new BuilderConfigArgs Empty => new BuilderConfigArgs();
}
}

View File

@@ -1,67 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheFromArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Upload build caches to Azure's blob storage service.
/// </summary>
[Input("azblob")]
public Input<Inputs.CacheFromAzureBlobArgs>? Azblob { get; set; }
/// <summary>
/// When `true` this entry will be excluded. Defaults to `false`.
/// </summary>
[Input("disabled")]
public Input<bool>? Disabled { get; set; }
/// <summary>
/// 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.
/// </summary>
[Input("gha")]
public Input<Inputs.CacheFromGitHubActionsArgs>? Gha { get; set; }
/// <summary>
/// A simple backend which caches images on your local filesystem.
/// </summary>
[Input("local")]
public Input<Inputs.CacheFromLocalArgs>? Local { get; set; }
/// <summary>
/// A raw string as you would provide it to the Docker CLI (e.g.,
/// `type=inline`).
/// </summary>
[Input("raw")]
public Input<string>? Raw { get; set; }
/// <summary>
/// Upload build caches to remote registries.
/// </summary>
[Input("registry")]
public Input<Inputs.CacheFromRegistryArgs>? Registry { get; set; }
/// <summary>
/// Upload build caches to AWS S3 or an S3-compatible services such as
/// MinIO.
/// </summary>
[Input("s3")]
public Input<Inputs.CacheFromS3Args>? S3 { get; set; }
public CacheFromArgs()
{
}
public static new CacheFromArgs Empty => new CacheFromArgs();
}
}

View File

@@ -1,48 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheFromAzureBlobArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Base URL of the storage account.
/// </summary>
[Input("accountUrl")]
public Input<string>? AccountUrl { get; set; }
/// <summary>
/// The name of the cache image.
/// </summary>
[Input("name", required: true)]
public Input<string> Name { get; set; } = null!;
[Input("secretAccessKey")]
private Input<string>? _secretAccessKey;
/// <summary>
/// Blob storage account key.
/// </summary>
public Input<string>? SecretAccessKey
{
get => _secretAccessKey;
set
{
var emptySecret = Output.CreateSecret(0);
_secretAccessKey = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
public CacheFromAzureBlobArgs()
{
}
public static new CacheFromAzureBlobArgs Empty => new CacheFromAzureBlobArgs();
}
}

View File

@@ -1,36 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
/// <summary>
/// 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.
/// </summary>
public sealed class CacheFromGitHubActionsArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// The scope to use for cache keys. Defaults to `buildkit`.
///
/// This should be set if building and caching multiple images in one
/// workflow, otherwise caches will overwrite each other.
/// </summary>
[Input("scope")]
public Input<string>? Scope { get; set; }
public CacheFromGitHubActionsArgs()
{
Scope = "buildkit";
}
public static new CacheFromGitHubActionsArgs Empty => new CacheFromGitHubActionsArgs();
}
}

View File

@@ -1,32 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheFromLocalArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Digest of manifest to import.
/// </summary>
[Input("digest")]
public Input<string>? Digest { get; set; }
/// <summary>
/// Path of the local directory where cache gets imported from.
/// </summary>
[Input("src", required: true)]
public Input<string> Src { get; set; } = null!;
public CacheFromLocalArgs()
{
}
public static new CacheFromLocalArgs Empty => new CacheFromLocalArgs();
}
}

View File

@@ -1,26 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheFromRegistryArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Fully qualified name of the cache image to import.
/// </summary>
[Input("ref", required: true)]
public Input<string> Ref { get; set; } = null!;
public CacheFromRegistryArgs()
{
}
public static new CacheFromRegistryArgs Empty => new CacheFromRegistryArgs();
}
}

View File

@@ -1,104 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheFromS3Args : global::Pulumi.ResourceArgs
{
/// <summary>
/// Defaults to `$AWS_ACCESS_KEY_ID`.
/// </summary>
[Input("accessKeyId")]
public Input<string>? AccessKeyId { get; set; }
/// <summary>
/// Prefix to prepend to blob filenames.
/// </summary>
[Input("blobsPrefix")]
public Input<string>? BlobsPrefix { get; set; }
/// <summary>
/// Name of the S3 bucket.
/// </summary>
[Input("bucket", required: true)]
public Input<string> Bucket { get; set; } = null!;
/// <summary>
/// Endpoint of the S3 bucket.
/// </summary>
[Input("endpointUrl")]
public Input<string>? EndpointUrl { get; set; }
/// <summary>
/// Prefix to prepend on manifest filenames.
/// </summary>
[Input("manifestsPrefix")]
public Input<string>? ManifestsPrefix { get; set; }
/// <summary>
/// Name of the cache image.
/// </summary>
[Input("name")]
public Input<string>? Name { get; set; }
/// <summary>
/// The geographic location of the bucket. Defaults to `$AWS_REGION`.
/// </summary>
[Input("region", required: true)]
public Input<string> Region { get; set; } = null!;
[Input("secretAccessKey")]
private Input<string>? _secretAccessKey;
/// <summary>
/// Defaults to `$AWS_SECRET_ACCESS_KEY`.
/// </summary>
public Input<string>? SecretAccessKey
{
get => _secretAccessKey;
set
{
var emptySecret = Output.CreateSecret(0);
_secretAccessKey = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
[Input("sessionToken")]
private Input<string>? _sessionToken;
/// <summary>
/// Defaults to `$AWS_SESSION_TOKEN`.
/// </summary>
public Input<string>? SessionToken
{
get => _sessionToken;
set
{
var emptySecret = Output.CreateSecret(0);
_sessionToken = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
/// <summary>
/// Uses `bucket` in the URL instead of hostname when `true`.
/// </summary>
[Input("usePathStyle")]
public Input<bool>? UsePathStyle { get; set; }
public CacheFromS3Args()
{
AccessKeyId = Utilities.GetEnv("AWS_ACCESS_KEY_ID") ?? "";
Region = Utilities.GetEnv("AWS_REGION") ?? "";
SecretAccessKey = Utilities.GetEnv("AWS_SECRET_ACCESS_KEY") ?? "";
SessionToken = Utilities.GetEnv("AWS_SESSION_TOKEN") ?? "";
}
public static new CacheFromS3Args Empty => new CacheFromS3Args();
}
}

View File

@@ -1,75 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheToArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Push cache to Azure's blob storage service.
/// </summary>
[Input("azblob")]
public Input<Inputs.CacheToAzureBlobArgs>? Azblob { get; set; }
/// <summary>
/// When `true` this entry will be excluded. Defaults to `false`.
/// </summary>
[Input("disabled")]
public Input<bool>? Disabled { get; set; }
/// <summary>
/// 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.
/// </summary>
[Input("gha")]
public Input<Inputs.CacheToGitHubActionsArgs>? Gha { get; set; }
/// <summary>
/// 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.
/// </summary>
[Input("inline")]
public Input<Inputs.CacheToInlineArgs>? Inline { get; set; }
/// <summary>
/// A simple backend which caches imagines on your local filesystem.
/// </summary>
[Input("local")]
public Input<Inputs.CacheToLocalArgs>? Local { get; set; }
/// <summary>
/// A raw string as you would provide it to the Docker CLI (e.g.,
/// `type=inline`)
/// </summary>
[Input("raw")]
public Input<string>? Raw { get; set; }
/// <summary>
/// Push caches to remote registries. Incompatible with the `docker` build
/// driver.
/// </summary>
[Input("registry")]
public Input<Inputs.CacheToRegistryArgs>? Registry { get; set; }
/// <summary>
/// Push cache to AWS S3 or S3-compatible services such as MinIO.
/// </summary>
[Input("s3")]
public Input<Inputs.CacheToS3Args>? S3 { get; set; }
public CacheToArgs()
{
}
public static new CacheToArgs Empty => new CacheToArgs();
}
}

View File

@@ -1,62 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheToAzureBlobArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Base URL of the storage account.
/// </summary>
[Input("accountUrl")]
public Input<string>? AccountUrl { get; set; }
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
[Input("ignoreError")]
public Input<bool>? IgnoreError { get; set; }
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
[Input("mode")]
public Input<Pulumi.DockerBuild.CacheMode>? Mode { get; set; }
/// <summary>
/// The name of the cache image.
/// </summary>
[Input("name", required: true)]
public Input<string> Name { get; set; } = null!;
[Input("secretAccessKey")]
private Input<string>? _secretAccessKey;
/// <summary>
/// Blob storage account key.
/// </summary>
public Input<string>? SecretAccessKey
{
get => _secretAccessKey;
set
{
var emptySecret = Output.CreateSecret(0);
_secretAccessKey = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
public CacheToAzureBlobArgs()
{
IgnoreError = false;
Mode = Pulumi.DockerBuild.CacheMode.Min;
}
public static new CacheToAzureBlobArgs Empty => new CacheToAzureBlobArgs();
}
}

View File

@@ -1,50 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
/// <summary>
/// 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.
/// </summary>
public sealed class CacheToGitHubActionsArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
[Input("ignoreError")]
public Input<bool>? IgnoreError { get; set; }
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
[Input("mode")]
public Input<Pulumi.DockerBuild.CacheMode>? Mode { get; set; }
/// <summary>
/// The scope to use for cache keys. Defaults to `buildkit`.
///
/// This should be set if building and caching multiple images in one
/// workflow, otherwise caches will overwrite each other.
/// </summary>
[Input("scope")]
public Input<string>? Scope { get; set; }
public CacheToGitHubActionsArgs()
{
IgnoreError = false;
Mode = Pulumi.DockerBuild.CacheMode.Min;
Scope = "buildkit";
}
public static new CacheToGitHubActionsArgs Empty => new CacheToGitHubActionsArgs();
}
}

View File

@@ -1,23 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
/// <summary>
/// Include an inline cache with the exported image.
/// </summary>
public sealed class CacheToInlineArgs : global::Pulumi.ResourceArgs
{
public CacheToInlineArgs()
{
}
public static new CacheToInlineArgs Empty => new CacheToInlineArgs();
}
}

View File

@@ -1,61 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheToLocalArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// The compression type to use.
/// </summary>
[Input("compression")]
public Input<Pulumi.DockerBuild.CompressionType>? Compression { get; set; }
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
[Input("compressionLevel")]
public Input<int>? CompressionLevel { get; set; }
/// <summary>
/// Path of the local directory to export the cache.
/// </summary>
[Input("dest", required: true)]
public Input<string> Dest { get; set; } = null!;
/// <summary>
/// Forcefully apply compression.
/// </summary>
[Input("forceCompression")]
public Input<bool>? ForceCompression { get; set; }
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
[Input("ignoreError")]
public Input<bool>? IgnoreError { get; set; }
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
[Input("mode")]
public Input<Pulumi.DockerBuild.CacheMode>? Mode { get; set; }
public CacheToLocalArgs()
{
Compression = Pulumi.DockerBuild.CompressionType.Gzip;
CompressionLevel = 0;
ForceCompression = false;
IgnoreError = false;
Mode = Pulumi.DockerBuild.CacheMode.Min;
}
public static new CacheToLocalArgs Empty => new CacheToLocalArgs();
}
}

View File

@@ -1,82 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheToRegistryArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// The compression type to use.
/// </summary>
[Input("compression")]
public Input<Pulumi.DockerBuild.CompressionType>? Compression { get; set; }
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
[Input("compressionLevel")]
public Input<int>? CompressionLevel { get; set; }
/// <summary>
/// Forcefully apply compression.
/// </summary>
[Input("forceCompression")]
public Input<bool>? ForceCompression { get; set; }
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
[Input("ignoreError")]
public Input<bool>? IgnoreError { get; set; }
/// <summary>
/// Export cache manifest as an OCI-compatible image manifest instead of a
/// manifest list. Requires `ociMediaTypes` to also be `true`.
///
/// Some registries like AWS ECR will not work with caching if this is
/// `false`.
///
/// Defaults to `false` to match Docker's default behavior.
/// </summary>
[Input("imageManifest")]
public Input<bool>? ImageManifest { get; set; }
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
[Input("mode")]
public Input<Pulumi.DockerBuild.CacheMode>? Mode { get; set; }
/// <summary>
/// Whether to use OCI media types in exported manifests. Defaults to
/// `true`.
/// </summary>
[Input("ociMediaTypes")]
public Input<bool>? OciMediaTypes { get; set; }
/// <summary>
/// Fully qualified name of the cache image to import.
/// </summary>
[Input("ref", required: true)]
public Input<string> Ref { get; set; } = null!;
public CacheToRegistryArgs()
{
Compression = Pulumi.DockerBuild.CompressionType.Gzip;
CompressionLevel = 0;
ForceCompression = false;
IgnoreError = false;
ImageManifest = false;
Mode = Pulumi.DockerBuild.CacheMode.Min;
OciMediaTypes = true;
}
public static new CacheToRegistryArgs Empty => new CacheToRegistryArgs();
}
}

View File

@@ -1,118 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheToS3Args : global::Pulumi.ResourceArgs
{
/// <summary>
/// Defaults to `$AWS_ACCESS_KEY_ID`.
/// </summary>
[Input("accessKeyId")]
public Input<string>? AccessKeyId { get; set; }
/// <summary>
/// Prefix to prepend to blob filenames.
/// </summary>
[Input("blobsPrefix")]
public Input<string>? BlobsPrefix { get; set; }
/// <summary>
/// Name of the S3 bucket.
/// </summary>
[Input("bucket", required: true)]
public Input<string> Bucket { get; set; } = null!;
/// <summary>
/// Endpoint of the S3 bucket.
/// </summary>
[Input("endpointUrl")]
public Input<string>? EndpointUrl { get; set; }
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
[Input("ignoreError")]
public Input<bool>? IgnoreError { get; set; }
/// <summary>
/// Prefix to prepend on manifest filenames.
/// </summary>
[Input("manifestsPrefix")]
public Input<string>? ManifestsPrefix { get; set; }
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
[Input("mode")]
public Input<Pulumi.DockerBuild.CacheMode>? Mode { get; set; }
/// <summary>
/// Name of the cache image.
/// </summary>
[Input("name")]
public Input<string>? Name { get; set; }
/// <summary>
/// The geographic location of the bucket. Defaults to `$AWS_REGION`.
/// </summary>
[Input("region", required: true)]
public Input<string> Region { get; set; } = null!;
[Input("secretAccessKey")]
private Input<string>? _secretAccessKey;
/// <summary>
/// Defaults to `$AWS_SECRET_ACCESS_KEY`.
/// </summary>
public Input<string>? SecretAccessKey
{
get => _secretAccessKey;
set
{
var emptySecret = Output.CreateSecret(0);
_secretAccessKey = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
[Input("sessionToken")]
private Input<string>? _sessionToken;
/// <summary>
/// Defaults to `$AWS_SESSION_TOKEN`.
/// </summary>
public Input<string>? SessionToken
{
get => _sessionToken;
set
{
var emptySecret = Output.CreateSecret(0);
_sessionToken = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
/// <summary>
/// Uses `bucket` in the URL instead of hostname when `true`.
/// </summary>
[Input("usePathStyle")]
public Input<bool>? UsePathStyle { get; set; }
public CacheToS3Args()
{
AccessKeyId = Utilities.GetEnv("AWS_ACCESS_KEY_ID") ?? "";
IgnoreError = false;
Mode = Pulumi.DockerBuild.CacheMode.Min;
Region = Utilities.GetEnv("AWS_REGION") ?? "";
SecretAccessKey = Utilities.GetEnv("AWS_SECRET_ACCESS_KEY") ?? "";
SessionToken = Utilities.GetEnv("AWS_SESSION_TOKEN") ?? "";
}
public static new CacheToS3Args Empty => new CacheToS3Args();
}
}

View File

@@ -1,33 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class ContextArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Resources to use for build context.
///
/// The location can be:
/// * A relative or absolute path to a local directory (`.`, `./app`,
/// `/app`, etc.).
/// * A remote URL of a Git repository, tarball, or plain text file
/// (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
/// etc.).
/// </summary>
[Input("location", required: true)]
public Input<string> Location { get; set; } = null!;
public ContextArgs()
{
}
public static new ContextArgs Empty => new ContextArgs();
}
}

View File

@@ -1,42 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class DockerfileArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Raw Dockerfile contents.
///
/// Conflicts with `location`.
///
/// Equivalent to invoking Docker with `-f -`.
/// </summary>
[Input("inline")]
public Input<string>? Inline { get; set; }
/// <summary>
/// Location of the Dockerfile to use.
///
/// Can be a relative or absolute path to a local file, or a remote URL.
///
/// Defaults to `${context.location}/Dockerfile` if context is on-disk.
///
/// Conflicts with `inline`.
/// </summary>
[Input("location")]
public Input<string>? Location { get; set; }
public DockerfileArgs()
{
}
public static new DockerfileArgs Empty => new DockerfileArgs();
}
}

View File

@@ -1,76 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class ExportArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// A no-op export. Helpful for silencing the 'no exports' warning if you
/// just want to populate caches.
/// </summary>
[Input("cacheonly")]
public Input<Inputs.ExportCacheOnlyArgs>? Cacheonly { get; set; }
/// <summary>
/// When `true` this entry will be excluded. Defaults to `false`.
/// </summary>
[Input("disabled")]
public Input<bool>? Disabled { get; set; }
/// <summary>
/// Export as a Docker image layout.
/// </summary>
[Input("docker")]
public Input<Inputs.ExportDockerArgs>? Docker { get; set; }
/// <summary>
/// Outputs the build result into a container image format.
/// </summary>
[Input("image")]
public Input<Inputs.ExportImageArgs>? Image { get; set; }
/// <summary>
/// Export to a local directory as files and directories.
/// </summary>
[Input("local")]
public Input<Inputs.ExportLocalArgs>? Local { get; set; }
/// <summary>
/// Identical to the Docker exporter but uses OCI media types by default.
/// </summary>
[Input("oci")]
public Input<Inputs.ExportOCIArgs>? Oci { get; set; }
/// <summary>
/// A raw string as you would provide it to the Docker CLI (e.g.,
/// `type=docker`)
/// </summary>
[Input("raw")]
public Input<string>? Raw { get; set; }
/// <summary>
/// Identical to the Image exporter, but pushes by default.
/// </summary>
[Input("registry")]
public Input<Inputs.ExportRegistryArgs>? Registry { get; set; }
/// <summary>
/// Export to a local directory as a tarball.
/// </summary>
[Input("tar")]
public Input<Inputs.ExportTarArgs>? Tar { get; set; }
public ExportArgs()
{
}
public static new ExportArgs Empty => new ExportArgs();
}
}

View File

@@ -1,20 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class ExportCacheOnlyArgs : global::Pulumi.ResourceArgs
{
public ExportCacheOnlyArgs()
{
}
public static new ExportCacheOnlyArgs Empty => new ExportCacheOnlyArgs();
}
}

View File

@@ -1,85 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class ExportDockerArgs : global::Pulumi.ResourceArgs
{
[Input("annotations")]
private InputMap<string>? _annotations;
/// <summary>
/// Attach an arbitrary key/value annotation to the image.
/// </summary>
public InputMap<string> Annotations
{
get => _annotations ?? (_annotations = new InputMap<string>());
set => _annotations = value;
}
/// <summary>
/// The compression type to use.
/// </summary>
[Input("compression")]
public Input<Pulumi.DockerBuild.CompressionType>? Compression { get; set; }
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
[Input("compressionLevel")]
public Input<int>? CompressionLevel { get; set; }
/// <summary>
/// The local export path.
/// </summary>
[Input("dest")]
public Input<string>? Dest { get; set; }
/// <summary>
/// Forcefully apply compression.
/// </summary>
[Input("forceCompression")]
public Input<bool>? ForceCompression { get; set; }
[Input("names")]
private InputList<string>? _names;
/// <summary>
/// Specify images names to export. This is overridden if tags are already specified.
/// </summary>
public InputList<string> Names
{
get => _names ?? (_names = new InputList<string>());
set => _names = value;
}
/// <summary>
/// Use OCI media types in exporter manifests.
/// </summary>
[Input("ociMediaTypes")]
public Input<bool>? OciMediaTypes { get; set; }
/// <summary>
/// Bundle the output into a tarball layout.
/// </summary>
[Input("tar")]
public Input<bool>? Tar { get; set; }
public ExportDockerArgs()
{
Compression = Pulumi.DockerBuild.CompressionType.Gzip;
CompressionLevel = 0;
ForceCompression = false;
OciMediaTypes = false;
Tar = true;
}
public static new ExportDockerArgs Empty => new ExportDockerArgs();
}
}

View File

@@ -1,122 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class ExportImageArgs : global::Pulumi.ResourceArgs
{
[Input("annotations")]
private InputMap<string>? _annotations;
/// <summary>
/// Attach an arbitrary key/value annotation to the image.
/// </summary>
public InputMap<string> Annotations
{
get => _annotations ?? (_annotations = new InputMap<string>());
set => _annotations = value;
}
/// <summary>
/// The compression type to use.
/// </summary>
[Input("compression")]
public Input<Pulumi.DockerBuild.CompressionType>? Compression { get; set; }
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
[Input("compressionLevel")]
public Input<int>? CompressionLevel { get; set; }
/// <summary>
/// Name image with `prefix@&lt;digest&gt;`, used for anonymous images.
/// </summary>
[Input("danglingNamePrefix")]
public Input<string>? DanglingNamePrefix { get; set; }
/// <summary>
/// Forcefully apply compression.
/// </summary>
[Input("forceCompression")]
public Input<bool>? ForceCompression { get; set; }
/// <summary>
/// Allow pushing to an insecure registry.
/// </summary>
[Input("insecure")]
public Input<bool>? Insecure { get; set; }
/// <summary>
/// Add additional canonical name (`name@&lt;digest&gt;`).
/// </summary>
[Input("nameCanonical")]
public Input<bool>? NameCanonical { get; set; }
[Input("names")]
private InputList<string>? _names;
/// <summary>
/// Specify images names to export. This is overridden if tags are already specified.
/// </summary>
public InputList<string> Names
{
get => _names ?? (_names = new InputList<string>());
set => _names = value;
}
/// <summary>
/// Use OCI media types in exporter manifests.
/// </summary>
[Input("ociMediaTypes")]
public Input<bool>? OciMediaTypes { get; set; }
/// <summary>
/// Push after creating the image. Defaults to `false`.
/// </summary>
[Input("push")]
public Input<bool>? Push { get; set; }
/// <summary>
/// Push image without name.
/// </summary>
[Input("pushByDigest")]
public Input<bool>? PushByDigest { get; set; }
/// <summary>
/// Store resulting images to the worker's image store and ensure all of
/// its blobs are in the content store.
///
/// Defaults to `true`.
///
/// Ignored if the worker doesn't have image store (when using OCI workers,
/// for example).
/// </summary>
[Input("store")]
public Input<bool>? Store { get; set; }
/// <summary>
/// Unpack image after creation (for use with containerd). Defaults to
/// `false`.
/// </summary>
[Input("unpack")]
public Input<bool>? Unpack { get; set; }
public ExportImageArgs()
{
Compression = Pulumi.DockerBuild.CompressionType.Gzip;
CompressionLevel = 0;
ForceCompression = false;
OciMediaTypes = false;
Store = true;
}
public static new ExportImageArgs Empty => new ExportImageArgs();
}
}

View File

@@ -1,26 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class ExportLocalArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Output path.
/// </summary>
[Input("dest", required: true)]
public Input<string> Dest { get; set; } = null!;
public ExportLocalArgs()
{
}
public static new ExportLocalArgs Empty => new ExportLocalArgs();
}
}

View File

@@ -1,85 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class ExportOCIArgs : global::Pulumi.ResourceArgs
{
[Input("annotations")]
private InputMap<string>? _annotations;
/// <summary>
/// Attach an arbitrary key/value annotation to the image.
/// </summary>
public InputMap<string> Annotations
{
get => _annotations ?? (_annotations = new InputMap<string>());
set => _annotations = value;
}
/// <summary>
/// The compression type to use.
/// </summary>
[Input("compression")]
public Input<Pulumi.DockerBuild.CompressionType>? Compression { get; set; }
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
[Input("compressionLevel")]
public Input<int>? CompressionLevel { get; set; }
/// <summary>
/// The local export path.
/// </summary>
[Input("dest")]
public Input<string>? Dest { get; set; }
/// <summary>
/// Forcefully apply compression.
/// </summary>
[Input("forceCompression")]
public Input<bool>? ForceCompression { get; set; }
[Input("names")]
private InputList<string>? _names;
/// <summary>
/// Specify images names to export. This is overridden if tags are already specified.
/// </summary>
public InputList<string> Names
{
get => _names ?? (_names = new InputList<string>());
set => _names = value;
}
/// <summary>
/// Use OCI media types in exporter manifests.
/// </summary>
[Input("ociMediaTypes")]
public Input<bool>? OciMediaTypes { get; set; }
/// <summary>
/// Bundle the output into a tarball layout.
/// </summary>
[Input("tar")]
public Input<bool>? Tar { get; set; }
public ExportOCIArgs()
{
Compression = Pulumi.DockerBuild.CompressionType.Gzip;
CompressionLevel = 0;
ForceCompression = false;
OciMediaTypes = true;
Tar = true;
}
public static new ExportOCIArgs Empty => new ExportOCIArgs();
}
}

View File

@@ -1,123 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class ExportRegistryArgs : global::Pulumi.ResourceArgs
{
[Input("annotations")]
private InputMap<string>? _annotations;
/// <summary>
/// Attach an arbitrary key/value annotation to the image.
/// </summary>
public InputMap<string> Annotations
{
get => _annotations ?? (_annotations = new InputMap<string>());
set => _annotations = value;
}
/// <summary>
/// The compression type to use.
/// </summary>
[Input("compression")]
public Input<Pulumi.DockerBuild.CompressionType>? Compression { get; set; }
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
[Input("compressionLevel")]
public Input<int>? CompressionLevel { get; set; }
/// <summary>
/// Name image with `prefix@&lt;digest&gt;`, used for anonymous images.
/// </summary>
[Input("danglingNamePrefix")]
public Input<string>? DanglingNamePrefix { get; set; }
/// <summary>
/// Forcefully apply compression.
/// </summary>
[Input("forceCompression")]
public Input<bool>? ForceCompression { get; set; }
/// <summary>
/// Allow pushing to an insecure registry.
/// </summary>
[Input("insecure")]
public Input<bool>? Insecure { get; set; }
/// <summary>
/// Add additional canonical name (`name@&lt;digest&gt;`).
/// </summary>
[Input("nameCanonical")]
public Input<bool>? NameCanonical { get; set; }
[Input("names")]
private InputList<string>? _names;
/// <summary>
/// Specify images names to export. This is overridden if tags are already specified.
/// </summary>
public InputList<string> Names
{
get => _names ?? (_names = new InputList<string>());
set => _names = value;
}
/// <summary>
/// Use OCI media types in exporter manifests.
/// </summary>
[Input("ociMediaTypes")]
public Input<bool>? OciMediaTypes { get; set; }
/// <summary>
/// Push after creating the image. Defaults to `true`.
/// </summary>
[Input("push")]
public Input<bool>? Push { get; set; }
/// <summary>
/// Push image without name.
/// </summary>
[Input("pushByDigest")]
public Input<bool>? PushByDigest { get; set; }
/// <summary>
/// Store resulting images to the worker's image store and ensure all of
/// its blobs are in the content store.
///
/// Defaults to `true`.
///
/// Ignored if the worker doesn't have image store (when using OCI workers,
/// for example).
/// </summary>
[Input("store")]
public Input<bool>? Store { get; set; }
/// <summary>
/// Unpack image after creation (for use with containerd). Defaults to
/// `false`.
/// </summary>
[Input("unpack")]
public Input<bool>? Unpack { get; set; }
public ExportRegistryArgs()
{
Compression = Pulumi.DockerBuild.CompressionType.Gzip;
CompressionLevel = 0;
ForceCompression = false;
OciMediaTypes = false;
Push = true;
Store = true;
}
public static new ExportRegistryArgs Empty => new ExportRegistryArgs();
}
}

View File

@@ -1,26 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class ExportTarArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Output path.
/// </summary>
[Input("dest", required: true)]
public Input<string> Dest { get; set; } = null!;
public ExportTarArgs()
{
}
public static new ExportTarArgs Empty => new ExportTarArgs();
}
}

View File

@@ -1,48 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class RegistryArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// The registry's address (e.g. "docker.io").
/// </summary>
[Input("address", required: true)]
public Input<string> Address { get; set; } = null!;
[Input("password")]
private Input<string>? _password;
/// <summary>
/// Password or token for the registry.
/// </summary>
public Input<string>? Password
{
get => _password;
set
{
var emptySecret = Output.CreateSecret(0);
_password = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
/// <summary>
/// Username for the registry.
/// </summary>
[Input("username")]
public Input<string>? Username { get; set; }
public RegistryArgs()
{
}
public static new RegistryArgs Empty => new RegistryArgs();
}
}

View File

@@ -1,48 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class SSHArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Useful for distinguishing different servers that are part of the same
/// build.
///
/// A value of `default` is appropriate if only dealing with a single host.
/// </summary>
[Input("id", required: true)]
public Input<string> Id { get; set; } = null!;
[Input("paths")]
private InputList<string>? _paths;
/// <summary>
/// SSH agent socket or private keys to expose to the build under the given
/// identifier.
///
/// Defaults to `[$SSH_AUTH_SOCK]`.
///
/// Note that your keys are **not** automatically added when using an
/// agent. Run `ssh-add -l` locally to confirm which public keys are
/// visible to the agent; these will be exposed to your build.
/// </summary>
public InputList<string> Paths
{
get => _paths ?? (_paths = new InputList<string>());
set => _paths = value;
}
public SSHArgs()
{
}
public static new SSHArgs Empty => new SSHArgs();
}
}

View File

@@ -1,47 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class BuildContext
{
/// <summary>
/// Resources to use for build context.
///
/// The location can be:
/// * A relative or absolute path to a local directory (`.`, `./app`,
/// `/app`, etc.).
/// * A remote URL of a Git repository, tarball, or plain text file
/// (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
/// etc.).
/// </summary>
public readonly string Location;
/// <summary>
/// Additional build contexts to use.
///
/// These contexts are accessed with `FROM name` or `--from=name`
/// statements when using Dockerfile 1.4+ syntax.
///
/// Values can be local paths, HTTP URLs, or `docker-image://` images.
/// </summary>
public readonly ImmutableDictionary<string, Outputs.Context>? Named;
[OutputConstructor]
private BuildContext(
string location,
ImmutableDictionary<string, Outputs.Context>? named)
{
Location = location;
Named = named;
}
}
}

View File

@@ -1,32 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class BuilderConfig
{
/// <summary>
/// Name of an existing buildx builder to use.
///
/// Only `docker-container`, `kubernetes`, or `remote` drivers are
/// supported. The legacy `docker` driver is not supported.
///
/// Equivalent to Docker's `--builder` flag.
/// </summary>
public readonly string? Name;
[OutputConstructor]
private BuilderConfig(string? name)
{
Name = name;
}
}
}

View File

@@ -1,75 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheFrom
{
/// <summary>
/// Upload build caches to Azure's blob storage service.
/// </summary>
public readonly Outputs.CacheFromAzureBlob? Azblob;
/// <summary>
/// When `true` this entry will be excluded. Defaults to `false`.
/// </summary>
public readonly bool? Disabled;
/// <summary>
/// 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.
/// </summary>
public readonly Outputs.CacheFromGitHubActions? Gha;
/// <summary>
/// A simple backend which caches images on your local filesystem.
/// </summary>
public readonly Outputs.CacheFromLocal? Local;
/// <summary>
/// A raw string as you would provide it to the Docker CLI (e.g.,
/// `type=inline`).
/// </summary>
public readonly string? Raw;
/// <summary>
/// Upload build caches to remote registries.
/// </summary>
public readonly Outputs.CacheFromRegistry? Registry;
/// <summary>
/// Upload build caches to AWS S3 or an S3-compatible services such as
/// MinIO.
/// </summary>
public readonly Outputs.CacheFromS3? S3;
[OutputConstructor]
private CacheFrom(
Outputs.CacheFromAzureBlob? azblob,
bool? disabled,
Outputs.CacheFromGitHubActions? gha,
Outputs.CacheFromLocal? local,
string? raw,
Outputs.CacheFromRegistry? registry,
Outputs.CacheFromS3? s3)
{
Azblob = azblob;
Disabled = disabled;
Gha = gha;
Local = local;
Raw = raw;
Registry = registry;
S3 = s3;
}
}
}

View File

@@ -1,42 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheFromAzureBlob
{
/// <summary>
/// Base URL of the storage account.
/// </summary>
public readonly string? AccountUrl;
/// <summary>
/// The name of the cache image.
/// </summary>
public readonly string Name;
/// <summary>
/// Blob storage account key.
/// </summary>
public readonly string? SecretAccessKey;
[OutputConstructor]
private CacheFromAzureBlob(
string? accountUrl,
string name,
string? secretAccessKey)
{
AccountUrl = accountUrl;
Name = name;
SecretAccessKey = secretAccessKey;
}
}
}

View File

@@ -1,36 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
/// <summary>
/// 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.
/// </summary>
[OutputType]
public sealed class CacheFromGitHubActions
{
/// <summary>
/// The scope to use for cache keys. Defaults to `buildkit`.
///
/// This should be set if building and caching multiple images in one
/// workflow, otherwise caches will overwrite each other.
/// </summary>
public readonly string? Scope;
[OutputConstructor]
private CacheFromGitHubActions(string? scope)
{
Scope = scope;
}
}
}

View File

@@ -1,35 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheFromLocal
{
/// <summary>
/// Digest of manifest to import.
/// </summary>
public readonly string? Digest;
/// <summary>
/// Path of the local directory where cache gets imported from.
/// </summary>
public readonly string Src;
[OutputConstructor]
private CacheFromLocal(
string? digest,
string src)
{
Digest = digest;
Src = src;
}
}
}

View File

@@ -1,27 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheFromRegistry
{
/// <summary>
/// Fully qualified name of the cache image to import.
/// </summary>
public readonly string Ref;
[OutputConstructor]
private CacheFromRegistry(string @ref)
{
Ref = @ref;
}
}
}

View File

@@ -1,91 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheFromS3
{
/// <summary>
/// Defaults to `$AWS_ACCESS_KEY_ID`.
/// </summary>
public readonly string? AccessKeyId;
/// <summary>
/// Prefix to prepend to blob filenames.
/// </summary>
public readonly string? BlobsPrefix;
/// <summary>
/// Name of the S3 bucket.
/// </summary>
public readonly string Bucket;
/// <summary>
/// Endpoint of the S3 bucket.
/// </summary>
public readonly string? EndpointUrl;
/// <summary>
/// Prefix to prepend on manifest filenames.
/// </summary>
public readonly string? ManifestsPrefix;
/// <summary>
/// Name of the cache image.
/// </summary>
public readonly string? Name;
/// <summary>
/// The geographic location of the bucket. Defaults to `$AWS_REGION`.
/// </summary>
public readonly string Region;
/// <summary>
/// Defaults to `$AWS_SECRET_ACCESS_KEY`.
/// </summary>
public readonly string? SecretAccessKey;
/// <summary>
/// Defaults to `$AWS_SESSION_TOKEN`.
/// </summary>
public readonly string? SessionToken;
/// <summary>
/// Uses `bucket` in the URL instead of hostname when `true`.
/// </summary>
public readonly bool? UsePathStyle;
[OutputConstructor]
private CacheFromS3(
string? accessKeyId,
string? blobsPrefix,
string bucket,
string? endpointUrl,
string? manifestsPrefix,
string? name,
string region,
string? secretAccessKey,
string? sessionToken,
bool? usePathStyle)
{
AccessKeyId = accessKeyId;
BlobsPrefix = blobsPrefix;
Bucket = bucket;
EndpointUrl = endpointUrl;
ManifestsPrefix = manifestsPrefix;
Name = name;
Region = region;
SecretAccessKey = secretAccessKey;
SessionToken = sessionToken;
UsePathStyle = usePathStyle;
}
}
}

View File

@@ -1,84 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheTo
{
/// <summary>
/// Push cache to Azure's blob storage service.
/// </summary>
public readonly Outputs.CacheToAzureBlob? Azblob;
/// <summary>
/// When `true` this entry will be excluded. Defaults to `false`.
/// </summary>
public readonly bool? Disabled;
/// <summary>
/// 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.
/// </summary>
public readonly Outputs.CacheToGitHubActions? Gha;
/// <summary>
/// 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.
/// </summary>
public readonly Outputs.CacheToInline? Inline;
/// <summary>
/// A simple backend which caches imagines on your local filesystem.
/// </summary>
public readonly Outputs.CacheToLocal? Local;
/// <summary>
/// A raw string as you would provide it to the Docker CLI (e.g.,
/// `type=inline`)
/// </summary>
public readonly string? Raw;
/// <summary>
/// Push caches to remote registries. Incompatible with the `docker` build
/// driver.
/// </summary>
public readonly Outputs.CacheToRegistry? Registry;
/// <summary>
/// Push cache to AWS S3 or S3-compatible services such as MinIO.
/// </summary>
public readonly Outputs.CacheToS3? S3;
[OutputConstructor]
private CacheTo(
Outputs.CacheToAzureBlob? azblob,
bool? disabled,
Outputs.CacheToGitHubActions? gha,
Outputs.CacheToInline? inline,
Outputs.CacheToLocal? local,
string? raw,
Outputs.CacheToRegistry? registry,
Outputs.CacheToS3? s3)
{
Azblob = azblob;
Disabled = disabled;
Gha = gha;
Inline = inline;
Local = local;
Raw = raw;
Registry = registry;
S3 = s3;
}
}
}

View File

@@ -1,56 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheToAzureBlob
{
/// <summary>
/// Base URL of the storage account.
/// </summary>
public readonly string? AccountUrl;
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
public readonly bool? IgnoreError;
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
public readonly Pulumi.DockerBuild.CacheMode? Mode;
/// <summary>
/// The name of the cache image.
/// </summary>
public readonly string Name;
/// <summary>
/// Blob storage account key.
/// </summary>
public readonly string? SecretAccessKey;
[OutputConstructor]
private CacheToAzureBlob(
string? accountUrl,
bool? ignoreError,
Pulumi.DockerBuild.CacheMode? mode,
string name,
string? secretAccessKey)
{
AccountUrl = accountUrl;
IgnoreError = ignoreError;
Mode = mode;
Name = name;
SecretAccessKey = secretAccessKey;
}
}
}

View File

@@ -1,51 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
/// <summary>
/// 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.
/// </summary>
[OutputType]
public sealed class CacheToGitHubActions
{
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
public readonly bool? IgnoreError;
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
public readonly Pulumi.DockerBuild.CacheMode? Mode;
/// <summary>
/// The scope to use for cache keys. Defaults to `buildkit`.
///
/// This should be set if building and caching multiple images in one
/// workflow, otherwise caches will overwrite each other.
/// </summary>
public readonly string? Scope;
[OutputConstructor]
private CacheToGitHubActions(
bool? ignoreError,
Pulumi.DockerBuild.CacheMode? mode,
string? scope)
{
IgnoreError = ignoreError;
Mode = mode;
Scope = scope;
}
}
}

View File

@@ -1,24 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
/// <summary>
/// Include an inline cache with the exported image.
/// </summary>
[OutputType]
public sealed class CacheToInline
{
[OutputConstructor]
private CacheToInline()
{
}
}
}

View File

@@ -1,63 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheToLocal
{
/// <summary>
/// The compression type to use.
/// </summary>
public readonly Pulumi.DockerBuild.CompressionType? Compression;
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
public readonly int? CompressionLevel;
/// <summary>
/// Path of the local directory to export the cache.
/// </summary>
public readonly string Dest;
/// <summary>
/// Forcefully apply compression.
/// </summary>
public readonly bool? ForceCompression;
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
public readonly bool? IgnoreError;
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
public readonly Pulumi.DockerBuild.CacheMode? Mode;
[OutputConstructor]
private CacheToLocal(
Pulumi.DockerBuild.CompressionType? compression,
int? compressionLevel,
string dest,
bool? forceCompression,
bool? ignoreError,
Pulumi.DockerBuild.CacheMode? mode)
{
Compression = compression;
CompressionLevel = compressionLevel;
Dest = dest;
ForceCompression = forceCompression;
IgnoreError = ignoreError;
Mode = mode;
}
}
}

View File

@@ -1,84 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheToRegistry
{
/// <summary>
/// The compression type to use.
/// </summary>
public readonly Pulumi.DockerBuild.CompressionType? Compression;
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
public readonly int? CompressionLevel;
/// <summary>
/// Forcefully apply compression.
/// </summary>
public readonly bool? ForceCompression;
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
public readonly bool? IgnoreError;
/// <summary>
/// Export cache manifest as an OCI-compatible image manifest instead of a
/// manifest list. Requires `ociMediaTypes` to also be `true`.
///
/// Some registries like AWS ECR will not work with caching if this is
/// `false`.
///
/// Defaults to `false` to match Docker's default behavior.
/// </summary>
public readonly bool? ImageManifest;
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
public readonly Pulumi.DockerBuild.CacheMode? Mode;
/// <summary>
/// Whether to use OCI media types in exported manifests. Defaults to
/// `true`.
/// </summary>
public readonly bool? OciMediaTypes;
/// <summary>
/// Fully qualified name of the cache image to import.
/// </summary>
public readonly string Ref;
[OutputConstructor]
private CacheToRegistry(
Pulumi.DockerBuild.CompressionType? compression,
int? compressionLevel,
bool? forceCompression,
bool? ignoreError,
bool? imageManifest,
Pulumi.DockerBuild.CacheMode? mode,
bool? ociMediaTypes,
string @ref)
{
Compression = compression;
CompressionLevel = compressionLevel;
ForceCompression = forceCompression;
IgnoreError = ignoreError;
ImageManifest = imageManifest;
Mode = mode;
OciMediaTypes = ociMediaTypes;
Ref = @ref;
}
}
}

View File

@@ -1,105 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class CacheToS3
{
/// <summary>
/// Defaults to `$AWS_ACCESS_KEY_ID`.
/// </summary>
public readonly string? AccessKeyId;
/// <summary>
/// Prefix to prepend to blob filenames.
/// </summary>
public readonly string? BlobsPrefix;
/// <summary>
/// Name of the S3 bucket.
/// </summary>
public readonly string Bucket;
/// <summary>
/// Endpoint of the S3 bucket.
/// </summary>
public readonly string? EndpointUrl;
/// <summary>
/// Ignore errors caused by failed cache exports.
/// </summary>
public readonly bool? IgnoreError;
/// <summary>
/// Prefix to prepend on manifest filenames.
/// </summary>
public readonly string? ManifestsPrefix;
/// <summary>
/// The cache mode to use. Defaults to `min`.
/// </summary>
public readonly Pulumi.DockerBuild.CacheMode? Mode;
/// <summary>
/// Name of the cache image.
/// </summary>
public readonly string? Name;
/// <summary>
/// The geographic location of the bucket. Defaults to `$AWS_REGION`.
/// </summary>
public readonly string Region;
/// <summary>
/// Defaults to `$AWS_SECRET_ACCESS_KEY`.
/// </summary>
public readonly string? SecretAccessKey;
/// <summary>
/// Defaults to `$AWS_SESSION_TOKEN`.
/// </summary>
public readonly string? SessionToken;
/// <summary>
/// Uses `bucket` in the URL instead of hostname when `true`.
/// </summary>
public readonly bool? UsePathStyle;
[OutputConstructor]
private CacheToS3(
string? accessKeyId,
string? blobsPrefix,
string bucket,
string? endpointUrl,
bool? ignoreError,
string? manifestsPrefix,
Pulumi.DockerBuild.CacheMode? mode,
string? name,
string region,
string? secretAccessKey,
string? sessionToken,
bool? usePathStyle)
{
AccessKeyId = accessKeyId;
BlobsPrefix = blobsPrefix;
Bucket = bucket;
EndpointUrl = endpointUrl;
IgnoreError = ignoreError;
ManifestsPrefix = manifestsPrefix;
Mode = mode;
Name = name;
Region = region;
SecretAccessKey = secretAccessKey;
SessionToken = sessionToken;
UsePathStyle = usePathStyle;
}
}
}

View File

@@ -1,34 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class Context
{
/// <summary>
/// Resources to use for build context.
///
/// The location can be:
/// * A relative or absolute path to a local directory (`.`, `./app`,
/// `/app`, etc.).
/// * A remote URL of a Git repository, tarball, or plain text file
/// (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
/// etc.).
/// </summary>
public readonly string Location;
[OutputConstructor]
private Context(string location)
{
Location = location;
}
}
}

View File

@@ -1,45 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class Dockerfile
{
/// <summary>
/// Raw Dockerfile contents.
///
/// Conflicts with `location`.
///
/// Equivalent to invoking Docker with `-f -`.
/// </summary>
public readonly string? Inline;
/// <summary>
/// Location of the Dockerfile to use.
///
/// Can be a relative or absolute path to a local file, or a remote URL.
///
/// Defaults to `${context.location}/Dockerfile` if context is on-disk.
///
/// Conflicts with `inline`.
/// </summary>
public readonly string? Location;
[OutputConstructor]
private Dockerfile(
string? inline,
string? location)
{
Inline = inline;
Location = location;
}
}
}

View File

@@ -1,86 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class Export
{
/// <summary>
/// A no-op export. Helpful for silencing the 'no exports' warning if you
/// just want to populate caches.
/// </summary>
public readonly Outputs.ExportCacheOnly? Cacheonly;
/// <summary>
/// When `true` this entry will be excluded. Defaults to `false`.
/// </summary>
public readonly bool? Disabled;
/// <summary>
/// Export as a Docker image layout.
/// </summary>
public readonly Outputs.ExportDocker? Docker;
/// <summary>
/// Outputs the build result into a container image format.
/// </summary>
public readonly Outputs.ExportImage? Image;
/// <summary>
/// Export to a local directory as files and directories.
/// </summary>
public readonly Outputs.ExportLocal? Local;
/// <summary>
/// Identical to the Docker exporter but uses OCI media types by default.
/// </summary>
public readonly Outputs.ExportOCI? Oci;
/// <summary>
/// A raw string as you would provide it to the Docker CLI (e.g.,
/// `type=docker`)
/// </summary>
public readonly string? Raw;
/// <summary>
/// Identical to the Image exporter, but pushes by default.
/// </summary>
public readonly Outputs.ExportRegistry? Registry;
/// <summary>
/// Export to a local directory as a tarball.
/// </summary>
public readonly Outputs.ExportTar? Tar;
[OutputConstructor]
private Export(
Outputs.ExportCacheOnly? cacheonly,
bool? disabled,
Outputs.ExportDocker? docker,
Outputs.ExportImage? image,
Outputs.ExportLocal? local,
Outputs.ExportOCI? oci,
string? raw,
Outputs.ExportRegistry? registry,
Outputs.ExportTar? tar)
{
Cacheonly = cacheonly;
Disabled = disabled;
Docker = docker;
Image = image;
Local = local;
Oci = oci;
Raw = raw;
Registry = registry;
Tar = tar;
}
}
}

View File

@@ -1,21 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class ExportCacheOnly
{
[OutputConstructor]
private ExportCacheOnly()
{
}
}
}

View File

@@ -1,77 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class ExportDocker
{
/// <summary>
/// Attach an arbitrary key/value annotation to the image.
/// </summary>
public readonly ImmutableDictionary<string, string>? Annotations;
/// <summary>
/// The compression type to use.
/// </summary>
public readonly Pulumi.DockerBuild.CompressionType? Compression;
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
public readonly int? CompressionLevel;
/// <summary>
/// The local export path.
/// </summary>
public readonly string? Dest;
/// <summary>
/// Forcefully apply compression.
/// </summary>
public readonly bool? ForceCompression;
/// <summary>
/// Specify images names to export. This is overridden if tags are already specified.
/// </summary>
public readonly ImmutableArray<string> Names;
/// <summary>
/// Use OCI media types in exporter manifests.
/// </summary>
public readonly bool? OciMediaTypes;
/// <summary>
/// Bundle the output into a tarball layout.
/// </summary>
public readonly bool? Tar;
[OutputConstructor]
private ExportDocker(
ImmutableDictionary<string, string>? annotations,
Pulumi.DockerBuild.CompressionType? compression,
int? compressionLevel,
string? dest,
bool? forceCompression,
ImmutableArray<string> names,
bool? ociMediaTypes,
bool? tar)
{
Annotations = annotations;
Compression = compression;
CompressionLevel = compressionLevel;
Dest = dest;
ForceCompression = forceCompression;
Names = names;
OciMediaTypes = ociMediaTypes;
Tar = tar;
}
}
}

View File

@@ -1,119 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class ExportImage
{
/// <summary>
/// Attach an arbitrary key/value annotation to the image.
/// </summary>
public readonly ImmutableDictionary<string, string>? Annotations;
/// <summary>
/// The compression type to use.
/// </summary>
public readonly Pulumi.DockerBuild.CompressionType? Compression;
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
public readonly int? CompressionLevel;
/// <summary>
/// Name image with `prefix@&lt;digest&gt;`, used for anonymous images.
/// </summary>
public readonly string? DanglingNamePrefix;
/// <summary>
/// Forcefully apply compression.
/// </summary>
public readonly bool? ForceCompression;
/// <summary>
/// Allow pushing to an insecure registry.
/// </summary>
public readonly bool? Insecure;
/// <summary>
/// Add additional canonical name (`name@&lt;digest&gt;`).
/// </summary>
public readonly bool? NameCanonical;
/// <summary>
/// Specify images names to export. This is overridden if tags are already specified.
/// </summary>
public readonly ImmutableArray<string> Names;
/// <summary>
/// Use OCI media types in exporter manifests.
/// </summary>
public readonly bool? OciMediaTypes;
/// <summary>
/// Push after creating the image. Defaults to `false`.
/// </summary>
public readonly bool? Push;
/// <summary>
/// Push image without name.
/// </summary>
public readonly bool? PushByDigest;
/// <summary>
/// Store resulting images to the worker's image store and ensure all of
/// its blobs are in the content store.
///
/// Defaults to `true`.
///
/// Ignored if the worker doesn't have image store (when using OCI workers,
/// for example).
/// </summary>
public readonly bool? Store;
/// <summary>
/// Unpack image after creation (for use with containerd). Defaults to
/// `false`.
/// </summary>
public readonly bool? Unpack;
[OutputConstructor]
private ExportImage(
ImmutableDictionary<string, string>? annotations,
Pulumi.DockerBuild.CompressionType? compression,
int? compressionLevel,
string? danglingNamePrefix,
bool? forceCompression,
bool? insecure,
bool? nameCanonical,
ImmutableArray<string> names,
bool? ociMediaTypes,
bool? push,
bool? pushByDigest,
bool? store,
bool? unpack)
{
Annotations = annotations;
Compression = compression;
CompressionLevel = compressionLevel;
DanglingNamePrefix = danglingNamePrefix;
ForceCompression = forceCompression;
Insecure = insecure;
NameCanonical = nameCanonical;
Names = names;
OciMediaTypes = ociMediaTypes;
Push = push;
PushByDigest = pushByDigest;
Store = store;
Unpack = unpack;
}
}
}

View File

@@ -1,27 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class ExportLocal
{
/// <summary>
/// Output path.
/// </summary>
public readonly string Dest;
[OutputConstructor]
private ExportLocal(string dest)
{
Dest = dest;
}
}
}

View File

@@ -1,77 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class ExportOCI
{
/// <summary>
/// Attach an arbitrary key/value annotation to the image.
/// </summary>
public readonly ImmutableDictionary<string, string>? Annotations;
/// <summary>
/// The compression type to use.
/// </summary>
public readonly Pulumi.DockerBuild.CompressionType? Compression;
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
public readonly int? CompressionLevel;
/// <summary>
/// The local export path.
/// </summary>
public readonly string? Dest;
/// <summary>
/// Forcefully apply compression.
/// </summary>
public readonly bool? ForceCompression;
/// <summary>
/// Specify images names to export. This is overridden if tags are already specified.
/// </summary>
public readonly ImmutableArray<string> Names;
/// <summary>
/// Use OCI media types in exporter manifests.
/// </summary>
public readonly bool? OciMediaTypes;
/// <summary>
/// Bundle the output into a tarball layout.
/// </summary>
public readonly bool? Tar;
[OutputConstructor]
private ExportOCI(
ImmutableDictionary<string, string>? annotations,
Pulumi.DockerBuild.CompressionType? compression,
int? compressionLevel,
string? dest,
bool? forceCompression,
ImmutableArray<string> names,
bool? ociMediaTypes,
bool? tar)
{
Annotations = annotations;
Compression = compression;
CompressionLevel = compressionLevel;
Dest = dest;
ForceCompression = forceCompression;
Names = names;
OciMediaTypes = ociMediaTypes;
Tar = tar;
}
}
}

View File

@@ -1,119 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class ExportRegistry
{
/// <summary>
/// Attach an arbitrary key/value annotation to the image.
/// </summary>
public readonly ImmutableDictionary<string, string>? Annotations;
/// <summary>
/// The compression type to use.
/// </summary>
public readonly Pulumi.DockerBuild.CompressionType? Compression;
/// <summary>
/// Compression level from 0 to 22.
/// </summary>
public readonly int? CompressionLevel;
/// <summary>
/// Name image with `prefix@&lt;digest&gt;`, used for anonymous images.
/// </summary>
public readonly string? DanglingNamePrefix;
/// <summary>
/// Forcefully apply compression.
/// </summary>
public readonly bool? ForceCompression;
/// <summary>
/// Allow pushing to an insecure registry.
/// </summary>
public readonly bool? Insecure;
/// <summary>
/// Add additional canonical name (`name@&lt;digest&gt;`).
/// </summary>
public readonly bool? NameCanonical;
/// <summary>
/// Specify images names to export. This is overridden if tags are already specified.
/// </summary>
public readonly ImmutableArray<string> Names;
/// <summary>
/// Use OCI media types in exporter manifests.
/// </summary>
public readonly bool? OciMediaTypes;
/// <summary>
/// Push after creating the image. Defaults to `true`.
/// </summary>
public readonly bool? Push;
/// <summary>
/// Push image without name.
/// </summary>
public readonly bool? PushByDigest;
/// <summary>
/// Store resulting images to the worker's image store and ensure all of
/// its blobs are in the content store.
///
/// Defaults to `true`.
///
/// Ignored if the worker doesn't have image store (when using OCI workers,
/// for example).
/// </summary>
public readonly bool? Store;
/// <summary>
/// Unpack image after creation (for use with containerd). Defaults to
/// `false`.
/// </summary>
public readonly bool? Unpack;
[OutputConstructor]
private ExportRegistry(
ImmutableDictionary<string, string>? annotations,
Pulumi.DockerBuild.CompressionType? compression,
int? compressionLevel,
string? danglingNamePrefix,
bool? forceCompression,
bool? insecure,
bool? nameCanonical,
ImmutableArray<string> names,
bool? ociMediaTypes,
bool? push,
bool? pushByDigest,
bool? store,
bool? unpack)
{
Annotations = annotations;
Compression = compression;
CompressionLevel = compressionLevel;
DanglingNamePrefix = danglingNamePrefix;
ForceCompression = forceCompression;
Insecure = insecure;
NameCanonical = nameCanonical;
Names = names;
OciMediaTypes = ociMediaTypes;
Push = push;
PushByDigest = pushByDigest;
Store = store;
Unpack = unpack;
}
}
}

View File

@@ -1,27 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class ExportTar
{
/// <summary>
/// Output path.
/// </summary>
public readonly string Dest;
[OutputConstructor]
private ExportTar(string dest)
{
Dest = dest;
}
}
}

View File

@@ -1,42 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class Registry
{
/// <summary>
/// The registry's address (e.g. "docker.io").
/// </summary>
public readonly string Address;
/// <summary>
/// Password or token for the registry.
/// </summary>
public readonly string? Password;
/// <summary>
/// Username for the registry.
/// </summary>
public readonly string? Username;
[OutputConstructor]
private Registry(
string address,
string? password,
string? username)
{
Address = address;
Password = password;
Username = username;
}
}
}

View File

@@ -1,45 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild.Outputs
{
[OutputType]
public sealed class SSH
{
/// <summary>
/// Useful for distinguishing different servers that are part of the same
/// build.
///
/// A value of `default` is appropriate if only dealing with a single host.
/// </summary>
public readonly string Id;
/// <summary>
/// SSH agent socket or private keys to expose to the build under the given
/// identifier.
///
/// Defaults to `[$SSH_AUTH_SOCK]`.
///
/// Note that your keys are **not** automatically added when using an
/// agent. Run `ssh-add -l` locally to confirm which public keys are
/// visible to the agent; these will be exposed to your build.
/// </summary>
public readonly ImmutableArray<string> Paths;
[OutputConstructor]
private SSH(
string id,
ImmutableArray<string> paths)
{
Id = id;
Paths = paths;
}
}
}

View File

@@ -1,69 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi.DockerBuild
{
[DockerBuildResourceType("pulumi:providers:docker-build")]
public partial class Provider : global::Pulumi.ProviderResource
{
/// <summary>
/// The build daemon's address.
/// </summary>
[Output("host")]
public Output<string?> Host { get; private set; } = null!;
/// <summary>
/// Create a Provider resource with the given unique name, arguments, and options.
/// </summary>
///
/// <param name="name">The unique name of the resource</param>
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public Provider(string name, ProviderArgs? args = null, CustomResourceOptions? options = null)
: base("docker-build", name, args ?? new ProviderArgs(), MakeResourceOptions(options, ""))
{
}
private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
{
var defaultOptions = new CustomResourceOptions
{
Version = Utilities.Version,
};
var merged = CustomResourceOptions.Merge(defaultOptions, options);
// Override the ID if one was specified for consistency with other language SDKs.
merged.Id = id ?? merged.Id;
return merged;
}
}
public sealed class ProviderArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// The build daemon's address.
/// </summary>
[Input("host")]
public Input<string>? Host { get; set; }
[Input("registries", json: true)]
private InputList<Inputs.RegistryArgs>? _registries;
public InputList<Inputs.RegistryArgs> Registries
{
get => _registries ?? (_registries = new InputList<Inputs.RegistryArgs>());
set => _registries = value;
}
public ProviderArgs()
{
Host = Utilities.GetEnv("DOCKER_HOST") ?? "";
}
public static new ProviderArgs Empty => new ProviderArgs();
}
}

View File

@@ -1,61 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Pulumi</Authors>
<Company>Pulumi</Company>
<Description>A Pulumi provider for building modern Docker images with buildx and BuildKit.</Description>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageProjectUrl>https://pulumi.com</PackageProjectUrl>
<RepositoryUrl>https://github.com/pulumi/pulumi-docker-build</RepositoryUrl>
<PackageIcon>logo.png</PackageIcon>
<Version>0.1.0-alpha.0+dev</Version>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>1701;1702;1591</NoWarn>
</PropertyGroup>
<PropertyGroup>
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
</PropertyGroup>
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="version.txt" />
<None Include="version.txt" Pack="True" PackagePath="content" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="pulumi-plugin.json" />
<None Include="pulumi-plugin.json" Pack="True" PackagePath="content" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<None Include="logo.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
</Project>

View File

@@ -1 +0,0 @@
A Pulumi provider for building modern Docker images with buildx and BuildKit.

View File

@@ -1,90 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
namespace Pulumi.DockerBuild
{
static class Utilities
{
public static string? GetEnv(params string[] names)
{
foreach (var n in names)
{
var value = global::System.Environment.GetEnvironmentVariable(n);
if (value != null)
{
return value;
}
}
return null;
}
static string[] trueValues = { "1", "t", "T", "true", "TRUE", "True" };
static string[] falseValues = { "0", "f", "F", "false", "FALSE", "False" };
public static bool? GetEnvBoolean(params string[] names)
{
var s = GetEnv(names);
if (s != null)
{
if (global::System.Array.IndexOf(trueValues, s) != -1)
{
return true;
}
if (global::System.Array.IndexOf(falseValues, s) != -1)
{
return false;
}
}
return null;
}
public static int? GetEnvInt32(params string[] names) => int.TryParse(GetEnv(names), out int v) ? (int?)v : null;
public static double? GetEnvDouble(params string[] names) => double.TryParse(GetEnv(names), out double v) ? (double?)v : null;
[global::System.Obsolete("Please use WithDefaults instead")]
public static global::Pulumi.InvokeOptions WithVersion(this global::Pulumi.InvokeOptions? options)
{
var dst = options ?? new global::Pulumi.InvokeOptions{};
dst.Version = options?.Version ?? Version;
return dst;
}
public static global::Pulumi.InvokeOptions WithDefaults(this global::Pulumi.InvokeOptions? src)
{
var dst = src ?? new global::Pulumi.InvokeOptions{};
dst.Version = src?.Version ?? Version;
return dst;
}
public static global::Pulumi.InvokeOutputOptions WithDefaults(this global::Pulumi.InvokeOutputOptions? src)
{
var dst = src ?? new global::Pulumi.InvokeOutputOptions{};
dst.Version = src?.Version ?? Version;
return dst;
}
private readonly static string version;
public static string Version => version;
static Utilities()
{
var assembly = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(Utilities)).Assembly;
using var stream = assembly.GetManifestResourceStream("Pulumi.DockerBuild.version.txt");
using var reader = new global::System.IO.StreamReader(stream ?? throw new global::System.NotSupportedException("Missing embedded version.txt file"));
version = reader.ReadToEnd().Trim();
var parts = version.Split("\n");
if (parts.Length == 2)
{
// The first part is the provider name.
version = parts[1].Trim();
}
}
}
internal sealed class DockerBuildResourceTypeAttribute : global::Pulumi.ResourceTypeAttribute
{
public DockerBuildResourceTypeAttribute(string type) : base(type, Utilities.Version)
{
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

View File

@@ -1,5 +0,0 @@
{
"resource": true,
"name": "docker-build",
"version": "0.1.0-alpha.0+dev"
}

View File

@@ -1 +0,0 @@
* linguist-generated

View File

@@ -165,7 +165,7 @@ func callPlainInner(
func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption {
defaults := []pulumi.ResourceOption{}
version := semver.MustParse("0.1.0-alpha.0+dev")
version := semver.MustParse("0.0.16")
if !version.Equals(semver.Version{}) {
defaults = append(defaults, pulumi.Version(version.String()))
}
@@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio
func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption {
defaults := []pulumi.InvokeOption{}
version := semver.MustParse("0.1.0-alpha.0+dev")
version := semver.MustParse("0.0.16")
if !version.Equals(semver.Version{}) {
defaults = append(defaults, pulumi.Version(version.String()))
}

View File

@@ -1,5 +1,5 @@
{
"resource": true,
"name": "docker-build",
"version": "0.1.0-alpha.0+dev"
"version": "0.0.16"
}

View File

@@ -1 +0,0 @@
* linguist-generated

View File

@@ -1 +0,0 @@
A Pulumi provider for building modern Docker images with buildx and BuildKit.

View File

@@ -1,13 +0,0 @@
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
pluginManagement {
repositories {
maven { // The google mirror is less flaky than mavenCentral()
url("https://maven-central.storage-download.googleapis.com/maven2/")
}
gradlePluginPortal()
}
}
rootProject.name = "com.pulumi.docker-build"

View File

@@ -1,26 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild;
import com.pulumi.core.TypeShape;
import com.pulumi.core.internal.Codegen;
import com.pulumi.dockerbuild.inputs.Registry;
import java.lang.String;
import java.util.List;
import java.util.Optional;
public final class Config {
private static final com.pulumi.Config config = com.pulumi.Config.of("docker-build");
/**
* The build daemon&#39;s address.
*
*/
public Optional<String> host() {
return Codegen.stringProp("host").config(config).env("DOCKER_HOST").def("").get();
}
public Optional<List<Registry>> registries() {
return Codegen.objectProp("registries", TypeShape.<List<Registry>>builder(List.class).addParameter(Registry.class).build()).config(config).get();
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,262 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import com.pulumi.dockerbuild.IndexArgs;
import com.pulumi.dockerbuild.Utilities;
import com.pulumi.dockerbuild.outputs.Registry;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* A wrapper around `docker buildx imagetools create` to create an index
* (or manifest list) referencing one or more existing images.
*
* In most cases you do not need an `Index` to build a multi-platform
* image -- specifying multiple platforms on the `Image` will handle this
* for you automatically.
*
* However, as of April 2024, building multi-platform images _with
* caching_ will only export a cache for one platform at a time (see [this
* discussion](https://github.com/docker/buildx/discussions/1382) for more
* details).
*
* Therefore this resource can be helpful if you are building
* multi-platform images with caching: each platform can be built and
* cached separately, and an `Index` can join them all together. An
* example of this is shown below.
*
* This resource creates an OCI image index or a Docker manifest list
* depending on the media types of the source images.
*
* ## Example Usage
* ### Multi-platform registry caching
* <pre>
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.dockerbuild.Image;
* import com.pulumi.dockerbuild.ImageArgs;
* import com.pulumi.dockerbuild.inputs.CacheFromArgs;
* import com.pulumi.dockerbuild.inputs.CacheFromRegistryArgs;
* import com.pulumi.dockerbuild.inputs.CacheToArgs;
* import com.pulumi.dockerbuild.inputs.CacheToRegistryArgs;
* import com.pulumi.dockerbuild.inputs.BuildContextArgs;
* import com.pulumi.dockerbuild.Index;
* import com.pulumi.dockerbuild.IndexArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
*
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
*
* public static void stack(Context ctx) {
* var amd64 = new Image("amd64", ImageArgs.builder()
* .cacheFrom(CacheFromArgs.builder()
* .registry(CacheFromRegistryArgs.builder()
* .ref("docker.io/pulumi/pulumi:cache-amd64")
* .build())
* .build())
* .cacheTo(CacheToArgs.builder()
* .registry(CacheToRegistryArgs.builder()
* .mode("max")
* .ref("docker.io/pulumi/pulumi:cache-amd64")
* .build())
* .build())
* .context(BuildContextArgs.builder()
* .location("app")
* .build())
* .platforms("linux/amd64")
* .tags("docker.io/pulumi/pulumi:3.107.0-amd64")
* .build());
*
* var arm64 = new Image("arm64", ImageArgs.builder()
* .cacheFrom(CacheFromArgs.builder()
* .registry(CacheFromRegistryArgs.builder()
* .ref("docker.io/pulumi/pulumi:cache-arm64")
* .build())
* .build())
* .cacheTo(CacheToArgs.builder()
* .registry(CacheToRegistryArgs.builder()
* .mode("max")
* .ref("docker.io/pulumi/pulumi:cache-arm64")
* .build())
* .build())
* .context(BuildContextArgs.builder()
* .location("app")
* .build())
* .platforms("linux/arm64")
* .tags("docker.io/pulumi/pulumi:3.107.0-arm64")
* .build());
*
* var index = new Index("index", IndexArgs.builder()
* .sources(
* amd64.ref(),
* arm64.ref())
* .tag("docker.io/pulumi/pulumi:3.107.0")
* .build());
*
* ctx.export("ref", index.ref());
* }
* }
* }
* </pre>
*
*/
@ResourceType(type="docker-build:index:Index")
public class Index extends com.pulumi.resources.CustomResource {
/**
* If true, push the index to the target registry.
*
* Defaults to `true`.
*
*/
@Export(name="push", refs={Boolean.class}, tree="[0]")
private Output</* @Nullable */ Boolean> push;
/**
* @return If true, push the index to the target registry.
*
* Defaults to `true`.
*
*/
public Output<Optional<Boolean>> push() {
return Codegen.optional(this.push);
}
/**
* The pushed tag with digest.
*
* Identical to the tag if the index was not pushed.
*
*/
@Export(name="ref", refs={String.class}, tree="[0]")
private Output<String> ref;
/**
* @return The pushed tag with digest.
*
* Identical to the tag if the index was not pushed.
*
*/
public Output<String> ref() {
return this.ref;
}
/**
* Authentication for the registry where the tagged index will be pushed.
*
* Credentials can also be included with the provider&#39;s configuration.
*
*/
@Export(name="registry", refs={Registry.class}, tree="[0]")
private Output</* @Nullable */ Registry> registry;
/**
* @return Authentication for the registry where the tagged index will be pushed.
*
* Credentials can also be included with the provider&#39;s configuration.
*
*/
public Output<Optional<Registry>> registry() {
return Codegen.optional(this.registry);
}
/**
* Existing images to include in the index.
*
*/
@Export(name="sources", refs={List.class,String.class}, tree="[0,1]")
private Output<List<String>> sources;
/**
* @return Existing images to include in the index.
*
*/
public Output<List<String>> sources() {
return this.sources;
}
/**
* The tag to apply to the index.
*
*/
@Export(name="tag", refs={String.class}, tree="[0]")
private Output<String> tag;
/**
* @return The tag to apply to the index.
*
*/
public Output<String> tag() {
return this.tag;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public Index(java.lang.String name) {
this(name, IndexArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public Index(java.lang.String name, IndexArgs args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public Index(java.lang.String name, IndexArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("docker-build:index:Index", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private Index(java.lang.String name, Output<java.lang.String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("docker-build:index:Index", name, null, makeResourceOptions(options, id), false);
}
private static IndexArgs makeArgs(IndexArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? IndexArgs.Empty : args;
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<java.lang.String> id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
/**
* Get an existing Host resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static Index get(java.lang.String name, Output<java.lang.String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new Index(name, id, options);
}
}

View File

@@ -1,232 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.dockerbuild.inputs.RegistryArgs;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class IndexArgs extends com.pulumi.resources.ResourceArgs {
public static final IndexArgs Empty = new IndexArgs();
/**
* If true, push the index to the target registry.
*
* Defaults to `true`.
*
*/
@Import(name="push")
private @Nullable Output<Boolean> push;
/**
* @return If true, push the index to the target registry.
*
* Defaults to `true`.
*
*/
public Optional<Output<Boolean>> push() {
return Optional.ofNullable(this.push);
}
/**
* Authentication for the registry where the tagged index will be pushed.
*
* Credentials can also be included with the provider&#39;s configuration.
*
*/
@Import(name="registry")
private @Nullable Output<RegistryArgs> registry;
/**
* @return Authentication for the registry where the tagged index will be pushed.
*
* Credentials can also be included with the provider&#39;s configuration.
*
*/
public Optional<Output<RegistryArgs>> registry() {
return Optional.ofNullable(this.registry);
}
/**
* Existing images to include in the index.
*
*/
@Import(name="sources", required=true)
private Output<List<String>> sources;
/**
* @return Existing images to include in the index.
*
*/
public Output<List<String>> sources() {
return this.sources;
}
/**
* The tag to apply to the index.
*
*/
@Import(name="tag", required=true)
private Output<String> tag;
/**
* @return The tag to apply to the index.
*
*/
public Output<String> tag() {
return this.tag;
}
private IndexArgs() {}
private IndexArgs(IndexArgs $) {
this.push = $.push;
this.registry = $.registry;
this.sources = $.sources;
this.tag = $.tag;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(IndexArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private IndexArgs $;
public Builder() {
$ = new IndexArgs();
}
public Builder(IndexArgs defaults) {
$ = new IndexArgs(Objects.requireNonNull(defaults));
}
/**
* @param push If true, push the index to the target registry.
*
* Defaults to `true`.
*
* @return builder
*
*/
public Builder push(@Nullable Output<Boolean> push) {
$.push = push;
return this;
}
/**
* @param push If true, push the index to the target registry.
*
* Defaults to `true`.
*
* @return builder
*
*/
public Builder push(Boolean push) {
return push(Output.of(push));
}
/**
* @param registry Authentication for the registry where the tagged index will be pushed.
*
* Credentials can also be included with the provider&#39;s configuration.
*
* @return builder
*
*/
public Builder registry(@Nullable Output<RegistryArgs> registry) {
$.registry = registry;
return this;
}
/**
* @param registry Authentication for the registry where the tagged index will be pushed.
*
* Credentials can also be included with the provider&#39;s configuration.
*
* @return builder
*
*/
public Builder registry(RegistryArgs registry) {
return registry(Output.of(registry));
}
/**
* @param sources Existing images to include in the index.
*
* @return builder
*
*/
public Builder sources(Output<List<String>> sources) {
$.sources = sources;
return this;
}
/**
* @param sources Existing images to include in the index.
*
* @return builder
*
*/
public Builder sources(List<String> sources) {
return sources(Output.of(sources));
}
/**
* @param sources Existing images to include in the index.
*
* @return builder
*
*/
public Builder sources(String... sources) {
return sources(List.of(sources));
}
/**
* @param tag The tag to apply to the index.
*
* @return builder
*
*/
public Builder tag(Output<String> tag) {
$.tag = tag;
return this;
}
/**
* @param tag The tag to apply to the index.
*
* @return builder
*
*/
public Builder tag(String tag) {
return tag(Output.of(tag));
}
public IndexArgs build() {
$.push = Codegen.booleanProp("push").output().arg($.push).def(true).getNullable();
if ($.sources == null) {
throw new MissingRequiredPropertyException("IndexArgs", "sources");
}
if ($.tag == null) {
throw new MissingRequiredPropertyException("IndexArgs", "tag");
}
return $;
}
}
}

View File

@@ -1,72 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import com.pulumi.dockerbuild.ProviderArgs;
import com.pulumi.dockerbuild.Utilities;
import java.lang.String;
import java.util.Optional;
import javax.annotation.Nullable;
@ResourceType(type="pulumi:providers:docker-build")
public class Provider extends com.pulumi.resources.ProviderResource {
/**
* The build daemon&#39;s address.
*
*/
@Export(name="host", refs={String.class}, tree="[0]")
private Output</* @Nullable */ String> host;
/**
* @return The build daemon&#39;s address.
*
*/
public Output<Optional<String>> host() {
return Codegen.optional(this.host);
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public Provider(java.lang.String name) {
this(name, ProviderArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public Provider(java.lang.String name, @Nullable ProviderArgs args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public Provider(java.lang.String name, @Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("docker-build", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private static ProviderArgs makeArgs(@Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? ProviderArgs.Empty : args;
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<java.lang.String> id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
}

View File

@@ -1,108 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.dockerbuild.inputs.RegistryArgs;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ProviderArgs extends com.pulumi.resources.ResourceArgs {
public static final ProviderArgs Empty = new ProviderArgs();
/**
* The build daemon&#39;s address.
*
*/
@Import(name="host")
private @Nullable Output<String> host;
/**
* @return The build daemon&#39;s address.
*
*/
public Optional<Output<String>> host() {
return Optional.ofNullable(this.host);
}
@Import(name="registries", json=true)
private @Nullable Output<List<RegistryArgs>> registries;
public Optional<Output<List<RegistryArgs>>> registries() {
return Optional.ofNullable(this.registries);
}
private ProviderArgs() {}
private ProviderArgs(ProviderArgs $) {
this.host = $.host;
this.registries = $.registries;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ProviderArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ProviderArgs $;
public Builder() {
$ = new ProviderArgs();
}
public Builder(ProviderArgs defaults) {
$ = new ProviderArgs(Objects.requireNonNull(defaults));
}
/**
* @param host The build daemon&#39;s address.
*
* @return builder
*
*/
public Builder host(@Nullable Output<String> host) {
$.host = host;
return this;
}
/**
* @param host The build daemon&#39;s address.
*
* @return builder
*
*/
public Builder host(String host) {
return host(Output.of(host));
}
public Builder registries(@Nullable Output<List<RegistryArgs>> registries) {
$.registries = registries;
return this;
}
public Builder registries(List<RegistryArgs> registries) {
return registries(Output.of(registries));
}
public Builder registries(RegistryArgs... registries) {
return registries(List.of(registries));
}
public ProviderArgs build() {
$.host = Codegen.stringProp("host").output().arg($.host).env("DOCKER_HOST").def("").getNullable();
return $;
}
}
}

View File

@@ -1,102 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
import com.pulumi.core.internal.Environment;
import com.pulumi.deployment.InvokeOptions;
import com.pulumi.deployment.InvokeOutputOptions;
public class Utilities {
public static Optional<java.lang.String> getEnv(java.lang.String... names) {
for (var n : names) {
var value = Environment.getEnvironmentVariable(n);
if (value.isValue()) {
return Optional.of(value.value());
}
}
return Optional.empty();
}
public static Optional<java.lang.Boolean> getEnvBoolean(java.lang.String... names) {
for (var n : names) {
var value = Environment.getBooleanEnvironmentVariable(n);
if (value.isValue()) {
return Optional.of(value.value());
}
}
return Optional.empty();
}
public static Optional<java.lang.Integer> getEnvInteger(java.lang.String... names) {
for (var n : names) {
var value = Environment.getIntegerEnvironmentVariable(n);
if (value.isValue()) {
return Optional.of(value.value());
}
}
return Optional.empty();
}
public static Optional<java.lang.Double> getEnvDouble(java.lang.String... names) {
for (var n : names) {
var value = Environment.getDoubleEnvironmentVariable(n);
if (value.isValue()) {
return Optional.of(value.value());
}
}
return Optional.empty();
}
public static InvokeOptions withVersion(@Nullable InvokeOptions options) {
if (options != null && options.getVersion().isPresent()) {
return options;
}
return new InvokeOptions(
options == null ? null : options.getParent().orElse(null),
options == null ? null : options.getProvider().orElse(null),
getVersion()
);
}
public static InvokeOutputOptions withVersion(@Nullable InvokeOutputOptions options) {
if (options != null && options.getVersion().isPresent()) {
return options;
}
return new InvokeOutputOptions(
options == null ? null : options.getParent().orElse(null),
options == null ? null : options.getProvider().orElse(null),
getVersion(),
options == null ? null : options.getDependsOn()
);
}
private static final java.lang.String version;
public static java.lang.String getVersion() {
return version;
}
static {
var resourceName = "com/pulumi/docker-build/version.txt";
var versionFile = Utilities.class.getClassLoader().getResourceAsStream(resourceName);
if (versionFile == null) {
throw new IllegalStateException(
java.lang.String.format("expected resource '%s' on Classpath, not found", resourceName)
);
}
version = new BufferedReader(new InputStreamReader(versionFile))
.lines()
.collect(Collectors.joining("\n"))
.trim();
}
}

View File

@@ -1,41 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild.enums;
import com.pulumi.core.annotations.EnumType;
import java.lang.String;
import java.util.Objects;
import java.util.StringJoiner;
@EnumType
public enum CacheMode {
/**
* Only layers that are exported into the resulting image are cached.
*
*/
Min("min"),
/**
* All layers are cached, even those of intermediate steps.
*
*/
Max("max");
private final String value;
CacheMode(String value) {
this.value = Objects.requireNonNull(value);
}
@EnumType.Converter
public String getValue() {
return this.value;
}
@Override
public java.lang.String toString() {
return new StringJoiner(", ", "CacheMode[", "]")
.add("value='" + this.value + "'")
.toString();
}
}

View File

@@ -1,46 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild.enums;
import com.pulumi.core.annotations.EnumType;
import java.lang.String;
import java.util.Objects;
import java.util.StringJoiner;
@EnumType
public enum CompressionType {
/**
* Use `gzip` for compression.
*
*/
Gzip("gzip"),
/**
* Use `estargz` for compression.
*
*/
Estargz("estargz"),
/**
* Use `zstd` for compression.
*
*/
Zstd("zstd");
private final String value;
CompressionType(String value) {
this.value = Objects.requireNonNull(value);
}
@EnumType.Converter
public String getValue() {
return this.value;
}
@Override
public java.lang.String toString() {
return new StringJoiner(", ", "CompressionType[", "]")
.add("value='" + this.value + "'")
.toString();
}
}

View File

@@ -1,46 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild.enums;
import com.pulumi.core.annotations.EnumType;
import java.lang.String;
import java.util.Objects;
import java.util.StringJoiner;
@EnumType
public enum NetworkMode {
/**
* The default sandbox network mode.
*
*/
Default_("default"),
/**
* Host network mode.
*
*/
Host("host"),
/**
* Disable network access.
*
*/
None("none");
private final String value;
NetworkMode(String value) {
this.value = Objects.requireNonNull(value);
}
@EnumType.Converter
public String getValue() {
return this.value;
}
@Override
public java.lang.String toString() {
return new StringJoiner(", ", "NetworkMode[", "]")
.add("value='" + this.value + "'")
.toString();
}
}

View File

@@ -1,59 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild.enums;
import com.pulumi.core.annotations.EnumType;
import java.lang.String;
import java.util.Objects;
import java.util.StringJoiner;
@EnumType
public enum Platform {
Darwin_386("darwin/386"),
Darwin_amd64("darwin/amd64"),
Darwin_arm("darwin/arm"),
Darwin_arm64("darwin/arm64"),
Dragonfly_amd64("dragonfly/amd64"),
Freebsd_386("freebsd/386"),
Freebsd_amd64("freebsd/amd64"),
Freebsd_arm("freebsd/arm"),
Linux_386("linux/386"),
Linux_amd64("linux/amd64"),
Linux_arm("linux/arm"),
Linux_arm64("linux/arm64"),
Linux_mips64("linux/mips64"),
Linux_mips64le("linux/mips64le"),
Linux_ppc64le("linux/ppc64le"),
Linux_riscv64("linux/riscv64"),
Linux_s390x("linux/s390x"),
Netbsd_386("netbsd/386"),
Netbsd_amd64("netbsd/amd64"),
Netbsd_arm("netbsd/arm"),
Openbsd_386("openbsd/386"),
Openbsd_amd64("openbsd/amd64"),
Openbsd_arm("openbsd/arm"),
Plan9_386("plan9/386"),
Plan9_amd64("plan9/amd64"),
Solaris_amd64("solaris/amd64"),
Windows_386("windows/386"),
Windows_amd64("windows/amd64");
private final String value;
Platform(String value) {
this.value = Objects.requireNonNull(value);
}
@EnumType.Converter
public String getValue() {
return this.value;
}
@Override
public java.lang.String toString() {
return new StringJoiner(", ", "Platform[", "]")
.add("value='" + this.value + "'")
.toString();
}
}

View File

@@ -1,174 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.ContextArgs;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class BuildContextArgs extends com.pulumi.resources.ResourceArgs {
public static final BuildContextArgs Empty = new BuildContextArgs();
/**
* Resources to use for build context.
*
* The location can be:
* * A relative or absolute path to a local directory (`.`, `./app`,
* `/app`, etc.).
* * A remote URL of a Git repository, tarball, or plain text file
* (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
* etc.).
*
*/
@Import(name="location", required=true)
private Output<String> location;
/**
* @return Resources to use for build context.
*
* The location can be:
* * A relative or absolute path to a local directory (`.`, `./app`,
* `/app`, etc.).
* * A remote URL of a Git repository, tarball, or plain text file
* (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
* etc.).
*
*/
public Output<String> location() {
return this.location;
}
/**
* Additional build contexts to use.
*
* These contexts are accessed with `FROM name` or `--from=name`
* statements when using Dockerfile 1.4+ syntax.
*
* Values can be local paths, HTTP URLs, or `docker-image://` images.
*
*/
@Import(name="named")
private @Nullable Output<Map<String,ContextArgs>> named;
/**
* @return Additional build contexts to use.
*
* These contexts are accessed with `FROM name` or `--from=name`
* statements when using Dockerfile 1.4+ syntax.
*
* Values can be local paths, HTTP URLs, or `docker-image://` images.
*
*/
public Optional<Output<Map<String,ContextArgs>>> named() {
return Optional.ofNullable(this.named);
}
private BuildContextArgs() {}
private BuildContextArgs(BuildContextArgs $) {
this.location = $.location;
this.named = $.named;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(BuildContextArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private BuildContextArgs $;
public Builder() {
$ = new BuildContextArgs();
}
public Builder(BuildContextArgs defaults) {
$ = new BuildContextArgs(Objects.requireNonNull(defaults));
}
/**
* @param location Resources to use for build context.
*
* The location can be:
* * A relative or absolute path to a local directory (`.`, `./app`,
* `/app`, etc.).
* * A remote URL of a Git repository, tarball, or plain text file
* (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
* etc.).
*
* @return builder
*
*/
public Builder location(Output<String> location) {
$.location = location;
return this;
}
/**
* @param location Resources to use for build context.
*
* The location can be:
* * A relative or absolute path to a local directory (`.`, `./app`,
* `/app`, etc.).
* * A remote URL of a Git repository, tarball, or plain text file
* (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
* etc.).
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param named Additional build contexts to use.
*
* These contexts are accessed with `FROM name` or `--from=name`
* statements when using Dockerfile 1.4+ syntax.
*
* Values can be local paths, HTTP URLs, or `docker-image://` images.
*
* @return builder
*
*/
public Builder named(@Nullable Output<Map<String,ContextArgs>> named) {
$.named = named;
return this;
}
/**
* @param named Additional build contexts to use.
*
* These contexts are accessed with `FROM name` or `--from=name`
* statements when using Dockerfile 1.4+ syntax.
*
* Values can be local paths, HTTP URLs, or `docker-image://` images.
*
* @return builder
*
*/
public Builder named(Map<String,ContextArgs> named) {
return named(Output.of(named));
}
public BuildContextArgs build() {
if ($.location == null) {
throw new MissingRequiredPropertyException("BuildContextArgs", "location");
}
return $;
}
}
}

View File

@@ -1,103 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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 java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class BuilderConfigArgs extends com.pulumi.resources.ResourceArgs {
public static final BuilderConfigArgs Empty = new BuilderConfigArgs();
/**
* Name of an existing buildx builder to use.
*
* Only `docker-container`, `kubernetes`, or `remote` drivers are
* supported. The legacy `docker` driver is not supported.
*
* Equivalent to Docker&#39;s `--builder` flag.
*
*/
@Import(name="name")
private @Nullable Output<String> name;
/**
* @return Name of an existing buildx builder to use.
*
* Only `docker-container`, `kubernetes`, or `remote` drivers are
* supported. The legacy `docker` driver is not supported.
*
* Equivalent to Docker&#39;s `--builder` flag.
*
*/
public Optional<Output<String>> name() {
return Optional.ofNullable(this.name);
}
private BuilderConfigArgs() {}
private BuilderConfigArgs(BuilderConfigArgs $) {
this.name = $.name;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(BuilderConfigArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private BuilderConfigArgs $;
public Builder() {
$ = new BuilderConfigArgs();
}
public Builder(BuilderConfigArgs defaults) {
$ = new BuilderConfigArgs(Objects.requireNonNull(defaults));
}
/**
* @param name Name of an existing buildx builder to use.
*
* Only `docker-container`, `kubernetes`, or `remote` drivers are
* supported. The legacy `docker` driver is not supported.
*
* Equivalent to Docker&#39;s `--builder` flag.
*
* @return builder
*
*/
public Builder name(@Nullable Output<String> name) {
$.name = name;
return this;
}
/**
* @param name Name of an existing buildx builder to use.
*
* Only `docker-container`, `kubernetes`, or `remote` drivers are
* supported. The legacy `docker` driver is not supported.
*
* Equivalent to Docker&#39;s `--builder` flag.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
public BuilderConfigArgs build() {
return $;
}
}
}

View File

@@ -1,331 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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&#39;s blob storage service.
*
*/
@Import(name="azblob")
private @Nullable Output<CacheFromAzureBlobArgs> azblob;
/**
* @return Upload build caches to Azure&#39;s blob storage service.
*
*/
public Optional<Output<CacheFromAzureBlobArgs>> azblob() {
return Optional.ofNullable(this.azblob);
}
/**
* When `true` this entry will be excluded. Defaults to `false`.
*
*/
@Import(name="disabled")
private @Nullable Output<Boolean> disabled;
/**
* @return When `true` this entry will be excluded. Defaults to `false`.
*
*/
public Optional<Output<Boolean>> 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<CacheFromGitHubActionsArgs> 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<Output<CacheFromGitHubActionsArgs>> gha() {
return Optional.ofNullable(this.gha);
}
/**
* A simple backend which caches images on your local filesystem.
*
*/
@Import(name="local")
private @Nullable Output<CacheFromLocalArgs> local;
/**
* @return A simple backend which caches images on your local filesystem.
*
*/
public Optional<Output<CacheFromLocalArgs>> 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<String> raw;
/**
* @return A raw string as you would provide it to the Docker CLI (e.g.,
* `type=inline`).
*
*/
public Optional<Output<String>> raw() {
return Optional.ofNullable(this.raw);
}
/**
* Upload build caches to remote registries.
*
*/
@Import(name="registry")
private @Nullable Output<CacheFromRegistryArgs> registry;
/**
* @return Upload build caches to remote registries.
*
*/
public Optional<Output<CacheFromRegistryArgs>> 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<CacheFromS3Args> s3;
/**
* @return Upload build caches to AWS S3 or an S3-compatible services such as
* MinIO.
*
*/
public Optional<Output<CacheFromS3Args>> 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&#39;s blob storage service.
*
* @return builder
*
*/
public Builder azblob(@Nullable Output<CacheFromAzureBlobArgs> azblob) {
$.azblob = azblob;
return this;
}
/**
* @param azblob Upload build caches to Azure&#39;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<Boolean> 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<CacheFromGitHubActionsArgs> 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<CacheFromLocalArgs> 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<String> 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<CacheFromRegistryArgs> 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<CacheFromS3Args> 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 $;
}
}
}

View File

@@ -1,161 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class CacheFromAzureBlobArgs extends com.pulumi.resources.ResourceArgs {
public static final CacheFromAzureBlobArgs Empty = new CacheFromAzureBlobArgs();
/**
* Base URL of the storage account.
*
*/
@Import(name="accountUrl")
private @Nullable Output<String> accountUrl;
/**
* @return Base URL of the storage account.
*
*/
public Optional<Output<String>> accountUrl() {
return Optional.ofNullable(this.accountUrl);
}
/**
* The name of the cache image.
*
*/
@Import(name="name", required=true)
private Output<String> name;
/**
* @return The name of the cache image.
*
*/
public Output<String> name() {
return this.name;
}
/**
* Blob storage account key.
*
*/
@Import(name="secretAccessKey")
private @Nullable Output<String> secretAccessKey;
/**
* @return Blob storage account key.
*
*/
public Optional<Output<String>> secretAccessKey() {
return Optional.ofNullable(this.secretAccessKey);
}
private CacheFromAzureBlobArgs() {}
private CacheFromAzureBlobArgs(CacheFromAzureBlobArgs $) {
this.accountUrl = $.accountUrl;
this.name = $.name;
this.secretAccessKey = $.secretAccessKey;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheFromAzureBlobArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheFromAzureBlobArgs $;
public Builder() {
$ = new CacheFromAzureBlobArgs();
}
public Builder(CacheFromAzureBlobArgs defaults) {
$ = new CacheFromAzureBlobArgs(Objects.requireNonNull(defaults));
}
/**
* @param accountUrl Base URL of the storage account.
*
* @return builder
*
*/
public Builder accountUrl(@Nullable Output<String> accountUrl) {
$.accountUrl = accountUrl;
return this;
}
/**
* @param accountUrl Base URL of the storage account.
*
* @return builder
*
*/
public Builder accountUrl(String accountUrl) {
return accountUrl(Output.of(accountUrl));
}
/**
* @param name The name of the cache image.
*
* @return builder
*
*/
public Builder name(Output<String> name) {
$.name = name;
return this;
}
/**
* @param name The name of the cache image.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param secretAccessKey Blob storage account key.
*
* @return builder
*
*/
public Builder secretAccessKey(@Nullable Output<String> secretAccessKey) {
$.secretAccessKey = secretAccessKey;
return this;
}
/**
* @param secretAccessKey Blob storage account key.
*
* @return builder
*
*/
public Builder secretAccessKey(String secretAccessKey) {
return secretAccessKey(Output.of(secretAccessKey));
}
public CacheFromAzureBlobArgs build() {
if ($.name == null) {
throw new MissingRequiredPropertyException("CacheFromAzureBlobArgs", "name");
}
return $;
}
}
}

View File

@@ -1,104 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.core.internal.Codegen;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* 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 final class CacheFromGitHubActionsArgs extends com.pulumi.resources.ResourceArgs {
public static final CacheFromGitHubActionsArgs Empty = new CacheFromGitHubActionsArgs();
/**
* The scope to use for cache keys. Defaults to `buildkit`.
*
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*
*/
@Import(name="scope")
private @Nullable Output<String> scope;
/**
* @return The scope to use for cache keys. Defaults to `buildkit`.
*
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*
*/
public Optional<Output<String>> scope() {
return Optional.ofNullable(this.scope);
}
private CacheFromGitHubActionsArgs() {}
private CacheFromGitHubActionsArgs(CacheFromGitHubActionsArgs $) {
this.scope = $.scope;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheFromGitHubActionsArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheFromGitHubActionsArgs $;
public Builder() {
$ = new CacheFromGitHubActionsArgs();
}
public Builder(CacheFromGitHubActionsArgs defaults) {
$ = new CacheFromGitHubActionsArgs(Objects.requireNonNull(defaults));
}
/**
* @param scope The scope to use for cache keys. Defaults to `buildkit`.
*
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*
* @return builder
*
*/
public Builder scope(@Nullable Output<String> scope) {
$.scope = scope;
return this;
}
/**
* @param scope The scope to use for cache keys. Defaults to `buildkit`.
*
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*
* @return builder
*
*/
public Builder scope(String scope) {
return scope(Output.of(scope));
}
public CacheFromGitHubActionsArgs build() {
$.scope = Codegen.stringProp("scope").output().arg($.scope).def("buildkit").getNullable();
return $;
}
}
}

View File

@@ -1,124 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class CacheFromLocalArgs extends com.pulumi.resources.ResourceArgs {
public static final CacheFromLocalArgs Empty = new CacheFromLocalArgs();
/**
* Digest of manifest to import.
*
*/
@Import(name="digest")
private @Nullable Output<String> digest;
/**
* @return Digest of manifest to import.
*
*/
public Optional<Output<String>> digest() {
return Optional.ofNullable(this.digest);
}
/**
* Path of the local directory where cache gets imported from.
*
*/
@Import(name="src", required=true)
private Output<String> src;
/**
* @return Path of the local directory where cache gets imported from.
*
*/
public Output<String> src() {
return this.src;
}
private CacheFromLocalArgs() {}
private CacheFromLocalArgs(CacheFromLocalArgs $) {
this.digest = $.digest;
this.src = $.src;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheFromLocalArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheFromLocalArgs $;
public Builder() {
$ = new CacheFromLocalArgs();
}
public Builder(CacheFromLocalArgs defaults) {
$ = new CacheFromLocalArgs(Objects.requireNonNull(defaults));
}
/**
* @param digest Digest of manifest to import.
*
* @return builder
*
*/
public Builder digest(@Nullable Output<String> digest) {
$.digest = digest;
return this;
}
/**
* @param digest Digest of manifest to import.
*
* @return builder
*
*/
public Builder digest(String digest) {
return digest(Output.of(digest));
}
/**
* @param src Path of the local directory where cache gets imported from.
*
* @return builder
*
*/
public Builder src(Output<String> src) {
$.src = src;
return this;
}
/**
* @param src Path of the local directory where cache gets imported from.
*
* @return builder
*
*/
public Builder src(String src) {
return src(Output.of(src));
}
public CacheFromLocalArgs build() {
if ($.src == null) {
throw new MissingRequiredPropertyException("CacheFromLocalArgs", "src");
}
return $;
}
}
}

View File

@@ -1,85 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
public final class CacheFromRegistryArgs extends com.pulumi.resources.ResourceArgs {
public static final CacheFromRegistryArgs Empty = new CacheFromRegistryArgs();
/**
* Fully qualified name of the cache image to import.
*
*/
@Import(name="ref", required=true)
private Output<String> ref;
/**
* @return Fully qualified name of the cache image to import.
*
*/
public Output<String> ref() {
return this.ref;
}
private CacheFromRegistryArgs() {}
private CacheFromRegistryArgs(CacheFromRegistryArgs $) {
this.ref = $.ref;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheFromRegistryArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheFromRegistryArgs $;
public Builder() {
$ = new CacheFromRegistryArgs();
}
public Builder(CacheFromRegistryArgs defaults) {
$ = new CacheFromRegistryArgs(Objects.requireNonNull(defaults));
}
/**
* @param ref Fully qualified name of the cache image to import.
*
* @return builder
*
*/
public Builder ref(Output<String> ref) {
$.ref = ref;
return this;
}
/**
* @param ref Fully qualified name of the cache image to import.
*
* @return builder
*
*/
public Builder ref(String ref) {
return ref(Output.of(ref));
}
public CacheFromRegistryArgs build() {
if ($.ref == null) {
throw new MissingRequiredPropertyException("CacheFromRegistryArgs", "ref");
}
return $;
}
}
}

View File

@@ -1,426 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class CacheFromS3Args extends com.pulumi.resources.ResourceArgs {
public static final CacheFromS3Args Empty = new CacheFromS3Args();
/**
* Defaults to `$AWS_ACCESS_KEY_ID`.
*
*/
@Import(name="accessKeyId")
private @Nullable Output<String> accessKeyId;
/**
* @return Defaults to `$AWS_ACCESS_KEY_ID`.
*
*/
public Optional<Output<String>> accessKeyId() {
return Optional.ofNullable(this.accessKeyId);
}
/**
* Prefix to prepend to blob filenames.
*
*/
@Import(name="blobsPrefix")
private @Nullable Output<String> blobsPrefix;
/**
* @return Prefix to prepend to blob filenames.
*
*/
public Optional<Output<String>> blobsPrefix() {
return Optional.ofNullable(this.blobsPrefix);
}
/**
* Name of the S3 bucket.
*
*/
@Import(name="bucket", required=true)
private Output<String> bucket;
/**
* @return Name of the S3 bucket.
*
*/
public Output<String> bucket() {
return this.bucket;
}
/**
* Endpoint of the S3 bucket.
*
*/
@Import(name="endpointUrl")
private @Nullable Output<String> endpointUrl;
/**
* @return Endpoint of the S3 bucket.
*
*/
public Optional<Output<String>> endpointUrl() {
return Optional.ofNullable(this.endpointUrl);
}
/**
* Prefix to prepend on manifest filenames.
*
*/
@Import(name="manifestsPrefix")
private @Nullable Output<String> manifestsPrefix;
/**
* @return Prefix to prepend on manifest filenames.
*
*/
public Optional<Output<String>> manifestsPrefix() {
return Optional.ofNullable(this.manifestsPrefix);
}
/**
* Name of the cache image.
*
*/
@Import(name="name")
private @Nullable Output<String> name;
/**
* @return Name of the cache image.
*
*/
public Optional<Output<String>> name() {
return Optional.ofNullable(this.name);
}
/**
* The geographic location of the bucket. Defaults to `$AWS_REGION`.
*
*/
@Import(name="region", required=true)
private Output<String> region;
/**
* @return The geographic location of the bucket. Defaults to `$AWS_REGION`.
*
*/
public Output<String> region() {
return this.region;
}
/**
* Defaults to `$AWS_SECRET_ACCESS_KEY`.
*
*/
@Import(name="secretAccessKey")
private @Nullable Output<String> secretAccessKey;
/**
* @return Defaults to `$AWS_SECRET_ACCESS_KEY`.
*
*/
public Optional<Output<String>> secretAccessKey() {
return Optional.ofNullable(this.secretAccessKey);
}
/**
* Defaults to `$AWS_SESSION_TOKEN`.
*
*/
@Import(name="sessionToken")
private @Nullable Output<String> sessionToken;
/**
* @return Defaults to `$AWS_SESSION_TOKEN`.
*
*/
public Optional<Output<String>> sessionToken() {
return Optional.ofNullable(this.sessionToken);
}
/**
* Uses `bucket` in the URL instead of hostname when `true`.
*
*/
@Import(name="usePathStyle")
private @Nullable Output<Boolean> usePathStyle;
/**
* @return Uses `bucket` in the URL instead of hostname when `true`.
*
*/
public Optional<Output<Boolean>> usePathStyle() {
return Optional.ofNullable(this.usePathStyle);
}
private CacheFromS3Args() {}
private CacheFromS3Args(CacheFromS3Args $) {
this.accessKeyId = $.accessKeyId;
this.blobsPrefix = $.blobsPrefix;
this.bucket = $.bucket;
this.endpointUrl = $.endpointUrl;
this.manifestsPrefix = $.manifestsPrefix;
this.name = $.name;
this.region = $.region;
this.secretAccessKey = $.secretAccessKey;
this.sessionToken = $.sessionToken;
this.usePathStyle = $.usePathStyle;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheFromS3Args defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheFromS3Args $;
public Builder() {
$ = new CacheFromS3Args();
}
public Builder(CacheFromS3Args defaults) {
$ = new CacheFromS3Args(Objects.requireNonNull(defaults));
}
/**
* @param accessKeyId Defaults to `$AWS_ACCESS_KEY_ID`.
*
* @return builder
*
*/
public Builder accessKeyId(@Nullable Output<String> accessKeyId) {
$.accessKeyId = accessKeyId;
return this;
}
/**
* @param accessKeyId Defaults to `$AWS_ACCESS_KEY_ID`.
*
* @return builder
*
*/
public Builder accessKeyId(String accessKeyId) {
return accessKeyId(Output.of(accessKeyId));
}
/**
* @param blobsPrefix Prefix to prepend to blob filenames.
*
* @return builder
*
*/
public Builder blobsPrefix(@Nullable Output<String> blobsPrefix) {
$.blobsPrefix = blobsPrefix;
return this;
}
/**
* @param blobsPrefix Prefix to prepend to blob filenames.
*
* @return builder
*
*/
public Builder blobsPrefix(String blobsPrefix) {
return blobsPrefix(Output.of(blobsPrefix));
}
/**
* @param bucket Name of the S3 bucket.
*
* @return builder
*
*/
public Builder bucket(Output<String> bucket) {
$.bucket = bucket;
return this;
}
/**
* @param bucket Name of the S3 bucket.
*
* @return builder
*
*/
public Builder bucket(String bucket) {
return bucket(Output.of(bucket));
}
/**
* @param endpointUrl Endpoint of the S3 bucket.
*
* @return builder
*
*/
public Builder endpointUrl(@Nullable Output<String> endpointUrl) {
$.endpointUrl = endpointUrl;
return this;
}
/**
* @param endpointUrl Endpoint of the S3 bucket.
*
* @return builder
*
*/
public Builder endpointUrl(String endpointUrl) {
return endpointUrl(Output.of(endpointUrl));
}
/**
* @param manifestsPrefix Prefix to prepend on manifest filenames.
*
* @return builder
*
*/
public Builder manifestsPrefix(@Nullable Output<String> manifestsPrefix) {
$.manifestsPrefix = manifestsPrefix;
return this;
}
/**
* @param manifestsPrefix Prefix to prepend on manifest filenames.
*
* @return builder
*
*/
public Builder manifestsPrefix(String manifestsPrefix) {
return manifestsPrefix(Output.of(manifestsPrefix));
}
/**
* @param name Name of the cache image.
*
* @return builder
*
*/
public Builder name(@Nullable Output<String> name) {
$.name = name;
return this;
}
/**
* @param name Name of the cache image.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param region The geographic location of the bucket. Defaults to `$AWS_REGION`.
*
* @return builder
*
*/
public Builder region(Output<String> region) {
$.region = region;
return this;
}
/**
* @param region The geographic location of the bucket. Defaults to `$AWS_REGION`.
*
* @return builder
*
*/
public Builder region(String region) {
return region(Output.of(region));
}
/**
* @param secretAccessKey Defaults to `$AWS_SECRET_ACCESS_KEY`.
*
* @return builder
*
*/
public Builder secretAccessKey(@Nullable Output<String> secretAccessKey) {
$.secretAccessKey = secretAccessKey;
return this;
}
/**
* @param secretAccessKey Defaults to `$AWS_SECRET_ACCESS_KEY`.
*
* @return builder
*
*/
public Builder secretAccessKey(String secretAccessKey) {
return secretAccessKey(Output.of(secretAccessKey));
}
/**
* @param sessionToken Defaults to `$AWS_SESSION_TOKEN`.
*
* @return builder
*
*/
public Builder sessionToken(@Nullable Output<String> sessionToken) {
$.sessionToken = sessionToken;
return this;
}
/**
* @param sessionToken Defaults to `$AWS_SESSION_TOKEN`.
*
* @return builder
*
*/
public Builder sessionToken(String sessionToken) {
return sessionToken(Output.of(sessionToken));
}
/**
* @param usePathStyle Uses `bucket` in the URL instead of hostname when `true`.
*
* @return builder
*
*/
public Builder usePathStyle(@Nullable Output<Boolean> usePathStyle) {
$.usePathStyle = usePathStyle;
return this;
}
/**
* @param usePathStyle Uses `bucket` in the URL instead of hostname when `true`.
*
* @return builder
*
*/
public Builder usePathStyle(Boolean usePathStyle) {
return usePathStyle(Output.of(usePathStyle));
}
public CacheFromS3Args build() {
$.accessKeyId = Codegen.stringProp("accessKeyId").output().arg($.accessKeyId).env("AWS_ACCESS_KEY_ID").def("").getNullable();
if ($.bucket == null) {
throw new MissingRequiredPropertyException("CacheFromS3Args", "bucket");
}
$.region = Codegen.stringProp("region").output().arg($.region).env("AWS_REGION").def("").require();
$.secretAccessKey = Codegen.stringProp("secretAccessKey").secret().arg($.secretAccessKey).env("AWS_SECRET_ACCESS_KEY").def("").getNullable();
$.sessionToken = Codegen.stringProp("sessionToken").secret().arg($.sessionToken).env("AWS_SESSION_TOKEN").def("").getNullable();
return $;
}
}
}

View File

@@ -1,377 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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&#39;s blob storage service.
*
*/
@Import(name="azblob")
private @Nullable Output<CacheToAzureBlobArgs> azblob;
/**
* @return Push cache to Azure&#39;s blob storage service.
*
*/
public Optional<Output<CacheToAzureBlobArgs>> azblob() {
return Optional.ofNullable(this.azblob);
}
/**
* When `true` this entry will be excluded. Defaults to `false`.
*
*/
@Import(name="disabled")
private @Nullable Output<Boolean> disabled;
/**
* @return When `true` this entry will be excluded. Defaults to `false`.
*
*/
public Optional<Output<Boolean>> 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<CacheToGitHubActionsArgs> 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<Output<CacheToGitHubActionsArgs>> 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<CacheToInlineArgs> 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<Output<CacheToInlineArgs>> inline() {
return Optional.ofNullable(this.inline);
}
/**
* A simple backend which caches imagines on your local filesystem.
*
*/
@Import(name="local")
private @Nullable Output<CacheToLocalArgs> local;
/**
* @return A simple backend which caches imagines on your local filesystem.
*
*/
public Optional<Output<CacheToLocalArgs>> 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<String> raw;
/**
* @return A raw string as you would provide it to the Docker CLI (e.g.,
* `type=inline`)
*
*/
public Optional<Output<String>> raw() {
return Optional.ofNullable(this.raw);
}
/**
* Push caches to remote registries. Incompatible with the `docker` build
* driver.
*
*/
@Import(name="registry")
private @Nullable Output<CacheToRegistryArgs> registry;
/**
* @return Push caches to remote registries. Incompatible with the `docker` build
* driver.
*
*/
public Optional<Output<CacheToRegistryArgs>> registry() {
return Optional.ofNullable(this.registry);
}
/**
* Push cache to AWS S3 or S3-compatible services such as MinIO.
*
*/
@Import(name="s3")
private @Nullable Output<CacheToS3Args> s3;
/**
* @return Push cache to AWS S3 or S3-compatible services such as MinIO.
*
*/
public Optional<Output<CacheToS3Args>> 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&#39;s blob storage service.
*
* @return builder
*
*/
public Builder azblob(@Nullable Output<CacheToAzureBlobArgs> azblob) {
$.azblob = azblob;
return this;
}
/**
* @param azblob Push cache to Azure&#39;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<Boolean> 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<CacheToGitHubActionsArgs> 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<CacheToInlineArgs> 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<CacheToLocalArgs> 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<String> 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<CacheToRegistryArgs> 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<CacheToS3Args> 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 $;
}
}
}

View File

@@ -1,240 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.core.internal.Codegen;
import com.pulumi.dockerbuild.enums.CacheMode;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class CacheToAzureBlobArgs extends com.pulumi.resources.ResourceArgs {
public static final CacheToAzureBlobArgs Empty = new CacheToAzureBlobArgs();
/**
* Base URL of the storage account.
*
*/
@Import(name="accountUrl")
private @Nullable Output<String> accountUrl;
/**
* @return Base URL of the storage account.
*
*/
public Optional<Output<String>> accountUrl() {
return Optional.ofNullable(this.accountUrl);
}
/**
* Ignore errors caused by failed cache exports.
*
*/
@Import(name="ignoreError")
private @Nullable Output<Boolean> ignoreError;
/**
* @return Ignore errors caused by failed cache exports.
*
*/
public Optional<Output<Boolean>> ignoreError() {
return Optional.ofNullable(this.ignoreError);
}
/**
* The cache mode to use. Defaults to `min`.
*
*/
@Import(name="mode")
private @Nullable Output<CacheMode> mode;
/**
* @return The cache mode to use. Defaults to `min`.
*
*/
public Optional<Output<CacheMode>> mode() {
return Optional.ofNullable(this.mode);
}
/**
* The name of the cache image.
*
*/
@Import(name="name", required=true)
private Output<String> name;
/**
* @return The name of the cache image.
*
*/
public Output<String> name() {
return this.name;
}
/**
* Blob storage account key.
*
*/
@Import(name="secretAccessKey")
private @Nullable Output<String> secretAccessKey;
/**
* @return Blob storage account key.
*
*/
public Optional<Output<String>> secretAccessKey() {
return Optional.ofNullable(this.secretAccessKey);
}
private CacheToAzureBlobArgs() {}
private CacheToAzureBlobArgs(CacheToAzureBlobArgs $) {
this.accountUrl = $.accountUrl;
this.ignoreError = $.ignoreError;
this.mode = $.mode;
this.name = $.name;
this.secretAccessKey = $.secretAccessKey;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheToAzureBlobArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheToAzureBlobArgs $;
public Builder() {
$ = new CacheToAzureBlobArgs();
}
public Builder(CacheToAzureBlobArgs defaults) {
$ = new CacheToAzureBlobArgs(Objects.requireNonNull(defaults));
}
/**
* @param accountUrl Base URL of the storage account.
*
* @return builder
*
*/
public Builder accountUrl(@Nullable Output<String> accountUrl) {
$.accountUrl = accountUrl;
return this;
}
/**
* @param accountUrl Base URL of the storage account.
*
* @return builder
*
*/
public Builder accountUrl(String accountUrl) {
return accountUrl(Output.of(accountUrl));
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(@Nullable Output<Boolean> ignoreError) {
$.ignoreError = ignoreError;
return this;
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(Boolean ignoreError) {
return ignoreError(Output.of(ignoreError));
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(@Nullable Output<CacheMode> mode) {
$.mode = mode;
return this;
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(CacheMode mode) {
return mode(Output.of(mode));
}
/**
* @param name The name of the cache image.
*
* @return builder
*
*/
public Builder name(Output<String> name) {
$.name = name;
return this;
}
/**
* @param name The name of the cache image.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param secretAccessKey Blob storage account key.
*
* @return builder
*
*/
public Builder secretAccessKey(@Nullable Output<String> secretAccessKey) {
$.secretAccessKey = secretAccessKey;
return this;
}
/**
* @param secretAccessKey Blob storage account key.
*
* @return builder
*
*/
public Builder secretAccessKey(String secretAccessKey) {
return secretAccessKey(Output.of(secretAccessKey));
}
public CacheToAzureBlobArgs build() {
$.ignoreError = Codegen.booleanProp("ignoreError").output().arg($.ignoreError).def(false).getNullable();
$.mode = Codegen.objectProp("mode", CacheMode.class).output().arg($.mode).def(CacheMode.Min).getNullable();
if ($.name == null) {
throw new MissingRequiredPropertyException("CacheToAzureBlobArgs", "name");
}
return $;
}
}
}

View File

@@ -1,182 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.core.internal.Codegen;
import com.pulumi.dockerbuild.enums.CacheMode;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* 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 final class CacheToGitHubActionsArgs extends com.pulumi.resources.ResourceArgs {
public static final CacheToGitHubActionsArgs Empty = new CacheToGitHubActionsArgs();
/**
* Ignore errors caused by failed cache exports.
*
*/
@Import(name="ignoreError")
private @Nullable Output<Boolean> ignoreError;
/**
* @return Ignore errors caused by failed cache exports.
*
*/
public Optional<Output<Boolean>> ignoreError() {
return Optional.ofNullable(this.ignoreError);
}
/**
* The cache mode to use. Defaults to `min`.
*
*/
@Import(name="mode")
private @Nullable Output<CacheMode> mode;
/**
* @return The cache mode to use. Defaults to `min`.
*
*/
public Optional<Output<CacheMode>> mode() {
return Optional.ofNullable(this.mode);
}
/**
* The scope to use for cache keys. Defaults to `buildkit`.
*
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*
*/
@Import(name="scope")
private @Nullable Output<String> scope;
/**
* @return The scope to use for cache keys. Defaults to `buildkit`.
*
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*
*/
public Optional<Output<String>> scope() {
return Optional.ofNullable(this.scope);
}
private CacheToGitHubActionsArgs() {}
private CacheToGitHubActionsArgs(CacheToGitHubActionsArgs $) {
this.ignoreError = $.ignoreError;
this.mode = $.mode;
this.scope = $.scope;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheToGitHubActionsArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheToGitHubActionsArgs $;
public Builder() {
$ = new CacheToGitHubActionsArgs();
}
public Builder(CacheToGitHubActionsArgs defaults) {
$ = new CacheToGitHubActionsArgs(Objects.requireNonNull(defaults));
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(@Nullable Output<Boolean> ignoreError) {
$.ignoreError = ignoreError;
return this;
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(Boolean ignoreError) {
return ignoreError(Output.of(ignoreError));
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(@Nullable Output<CacheMode> mode) {
$.mode = mode;
return this;
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(CacheMode mode) {
return mode(Output.of(mode));
}
/**
* @param scope The scope to use for cache keys. Defaults to `buildkit`.
*
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*
* @return builder
*
*/
public Builder scope(@Nullable Output<String> scope) {
$.scope = scope;
return this;
}
/**
* @param scope The scope to use for cache keys. Defaults to `buildkit`.
*
* This should be set if building and caching multiple images in one
* workflow, otherwise caches will overwrite each other.
*
* @return builder
*
*/
public Builder scope(String scope) {
return scope(Output.of(scope));
}
public CacheToGitHubActionsArgs build() {
$.ignoreError = Codegen.booleanProp("ignoreError").output().arg($.ignoreError).def(false).getNullable();
$.mode = Codegen.objectProp("mode", CacheMode.class).output().arg($.mode).def(CacheMode.Min).getNullable();
$.scope = Codegen.stringProp("scope").output().arg($.scope).def("buildkit").getNullable();
return $;
}
}
}

View File

@@ -1,32 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.dockerbuild.inputs;
/**
* Include an inline cache with the exported image.
*
*/
public final class CacheToInlineArgs extends com.pulumi.resources.ResourceArgs {
public static final CacheToInlineArgs Empty = new CacheToInlineArgs();
public static Builder builder() {
return new Builder();
}
public static final class Builder {
private CacheToInlineArgs $;
public Builder() {
$ = new CacheToInlineArgs();
}
public CacheToInlineArgs build() {
return $;
}
}
}

View File

@@ -1,282 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.core.internal.Codegen;
import com.pulumi.dockerbuild.enums.CacheMode;
import com.pulumi.dockerbuild.enums.CompressionType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class CacheToLocalArgs extends com.pulumi.resources.ResourceArgs {
public static final CacheToLocalArgs Empty = new CacheToLocalArgs();
/**
* The compression type to use.
*
*/
@Import(name="compression")
private @Nullable Output<CompressionType> compression;
/**
* @return The compression type to use.
*
*/
public Optional<Output<CompressionType>> compression() {
return Optional.ofNullable(this.compression);
}
/**
* Compression level from 0 to 22.
*
*/
@Import(name="compressionLevel")
private @Nullable Output<Integer> compressionLevel;
/**
* @return Compression level from 0 to 22.
*
*/
public Optional<Output<Integer>> compressionLevel() {
return Optional.ofNullable(this.compressionLevel);
}
/**
* Path of the local directory to export the cache.
*
*/
@Import(name="dest", required=true)
private Output<String> dest;
/**
* @return Path of the local directory to export the cache.
*
*/
public Output<String> dest() {
return this.dest;
}
/**
* Forcefully apply compression.
*
*/
@Import(name="forceCompression")
private @Nullable Output<Boolean> forceCompression;
/**
* @return Forcefully apply compression.
*
*/
public Optional<Output<Boolean>> forceCompression() {
return Optional.ofNullable(this.forceCompression);
}
/**
* Ignore errors caused by failed cache exports.
*
*/
@Import(name="ignoreError")
private @Nullable Output<Boolean> ignoreError;
/**
* @return Ignore errors caused by failed cache exports.
*
*/
public Optional<Output<Boolean>> ignoreError() {
return Optional.ofNullable(this.ignoreError);
}
/**
* The cache mode to use. Defaults to `min`.
*
*/
@Import(name="mode")
private @Nullable Output<CacheMode> mode;
/**
* @return The cache mode to use. Defaults to `min`.
*
*/
public Optional<Output<CacheMode>> mode() {
return Optional.ofNullable(this.mode);
}
private CacheToLocalArgs() {}
private CacheToLocalArgs(CacheToLocalArgs $) {
this.compression = $.compression;
this.compressionLevel = $.compressionLevel;
this.dest = $.dest;
this.forceCompression = $.forceCompression;
this.ignoreError = $.ignoreError;
this.mode = $.mode;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheToLocalArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheToLocalArgs $;
public Builder() {
$ = new CacheToLocalArgs();
}
public Builder(CacheToLocalArgs defaults) {
$ = new CacheToLocalArgs(Objects.requireNonNull(defaults));
}
/**
* @param compression The compression type to use.
*
* @return builder
*
*/
public Builder compression(@Nullable Output<CompressionType> compression) {
$.compression = compression;
return this;
}
/**
* @param compression The compression type to use.
*
* @return builder
*
*/
public Builder compression(CompressionType compression) {
return compression(Output.of(compression));
}
/**
* @param compressionLevel Compression level from 0 to 22.
*
* @return builder
*
*/
public Builder compressionLevel(@Nullable Output<Integer> compressionLevel) {
$.compressionLevel = compressionLevel;
return this;
}
/**
* @param compressionLevel Compression level from 0 to 22.
*
* @return builder
*
*/
public Builder compressionLevel(Integer compressionLevel) {
return compressionLevel(Output.of(compressionLevel));
}
/**
* @param dest Path of the local directory to export the cache.
*
* @return builder
*
*/
public Builder dest(Output<String> dest) {
$.dest = dest;
return this;
}
/**
* @param dest Path of the local directory to export the cache.
*
* @return builder
*
*/
public Builder dest(String dest) {
return dest(Output.of(dest));
}
/**
* @param forceCompression Forcefully apply compression.
*
* @return builder
*
*/
public Builder forceCompression(@Nullable Output<Boolean> forceCompression) {
$.forceCompression = forceCompression;
return this;
}
/**
* @param forceCompression Forcefully apply compression.
*
* @return builder
*
*/
public Builder forceCompression(Boolean forceCompression) {
return forceCompression(Output.of(forceCompression));
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(@Nullable Output<Boolean> ignoreError) {
$.ignoreError = ignoreError;
return this;
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(Boolean ignoreError) {
return ignoreError(Output.of(ignoreError));
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(@Nullable Output<CacheMode> mode) {
$.mode = mode;
return this;
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(CacheMode mode) {
return mode(Output.of(mode));
}
public CacheToLocalArgs build() {
$.compression = Codegen.objectProp("compression", CompressionType.class).output().arg($.compression).def(CompressionType.Gzip).getNullable();
$.compressionLevel = Codegen.integerProp("compressionLevel").output().arg($.compressionLevel).def(0).getNullable();
if ($.dest == null) {
throw new MissingRequiredPropertyException("CacheToLocalArgs", "dest");
}
$.forceCompression = Codegen.booleanProp("forceCompression").output().arg($.forceCompression).def(false).getNullable();
$.ignoreError = Codegen.booleanProp("ignoreError").output().arg($.ignoreError).def(false).getNullable();
$.mode = Codegen.objectProp("mode", CacheMode.class).output().arg($.mode).def(CacheMode.Min).getNullable();
return $;
}
}
}

View File

@@ -1,386 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.core.internal.Codegen;
import com.pulumi.dockerbuild.enums.CacheMode;
import com.pulumi.dockerbuild.enums.CompressionType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class CacheToRegistryArgs extends com.pulumi.resources.ResourceArgs {
public static final CacheToRegistryArgs Empty = new CacheToRegistryArgs();
/**
* The compression type to use.
*
*/
@Import(name="compression")
private @Nullable Output<CompressionType> compression;
/**
* @return The compression type to use.
*
*/
public Optional<Output<CompressionType>> compression() {
return Optional.ofNullable(this.compression);
}
/**
* Compression level from 0 to 22.
*
*/
@Import(name="compressionLevel")
private @Nullable Output<Integer> compressionLevel;
/**
* @return Compression level from 0 to 22.
*
*/
public Optional<Output<Integer>> compressionLevel() {
return Optional.ofNullable(this.compressionLevel);
}
/**
* Forcefully apply compression.
*
*/
@Import(name="forceCompression")
private @Nullable Output<Boolean> forceCompression;
/**
* @return Forcefully apply compression.
*
*/
public Optional<Output<Boolean>> forceCompression() {
return Optional.ofNullable(this.forceCompression);
}
/**
* Ignore errors caused by failed cache exports.
*
*/
@Import(name="ignoreError")
private @Nullable Output<Boolean> ignoreError;
/**
* @return Ignore errors caused by failed cache exports.
*
*/
public Optional<Output<Boolean>> ignoreError() {
return Optional.ofNullable(this.ignoreError);
}
/**
* Export cache manifest as an OCI-compatible image manifest instead of a
* manifest list. Requires `ociMediaTypes` to also be `true`.
*
* Some registries like AWS ECR will not work with caching if this is
* `false`.
*
* Defaults to `false` to match Docker&#39;s default behavior.
*
*/
@Import(name="imageManifest")
private @Nullable Output<Boolean> imageManifest;
/**
* @return Export cache manifest as an OCI-compatible image manifest instead of a
* manifest list. Requires `ociMediaTypes` to also be `true`.
*
* Some registries like AWS ECR will not work with caching if this is
* `false`.
*
* Defaults to `false` to match Docker&#39;s default behavior.
*
*/
public Optional<Output<Boolean>> imageManifest() {
return Optional.ofNullable(this.imageManifest);
}
/**
* The cache mode to use. Defaults to `min`.
*
*/
@Import(name="mode")
private @Nullable Output<CacheMode> mode;
/**
* @return The cache mode to use. Defaults to `min`.
*
*/
public Optional<Output<CacheMode>> mode() {
return Optional.ofNullable(this.mode);
}
/**
* Whether to use OCI media types in exported manifests. Defaults to
* `true`.
*
*/
@Import(name="ociMediaTypes")
private @Nullable Output<Boolean> ociMediaTypes;
/**
* @return Whether to use OCI media types in exported manifests. Defaults to
* `true`.
*
*/
public Optional<Output<Boolean>> ociMediaTypes() {
return Optional.ofNullable(this.ociMediaTypes);
}
/**
* Fully qualified name of the cache image to import.
*
*/
@Import(name="ref", required=true)
private Output<String> ref;
/**
* @return Fully qualified name of the cache image to import.
*
*/
public Output<String> ref() {
return this.ref;
}
private CacheToRegistryArgs() {}
private CacheToRegistryArgs(CacheToRegistryArgs $) {
this.compression = $.compression;
this.compressionLevel = $.compressionLevel;
this.forceCompression = $.forceCompression;
this.ignoreError = $.ignoreError;
this.imageManifest = $.imageManifest;
this.mode = $.mode;
this.ociMediaTypes = $.ociMediaTypes;
this.ref = $.ref;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheToRegistryArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheToRegistryArgs $;
public Builder() {
$ = new CacheToRegistryArgs();
}
public Builder(CacheToRegistryArgs defaults) {
$ = new CacheToRegistryArgs(Objects.requireNonNull(defaults));
}
/**
* @param compression The compression type to use.
*
* @return builder
*
*/
public Builder compression(@Nullable Output<CompressionType> compression) {
$.compression = compression;
return this;
}
/**
* @param compression The compression type to use.
*
* @return builder
*
*/
public Builder compression(CompressionType compression) {
return compression(Output.of(compression));
}
/**
* @param compressionLevel Compression level from 0 to 22.
*
* @return builder
*
*/
public Builder compressionLevel(@Nullable Output<Integer> compressionLevel) {
$.compressionLevel = compressionLevel;
return this;
}
/**
* @param compressionLevel Compression level from 0 to 22.
*
* @return builder
*
*/
public Builder compressionLevel(Integer compressionLevel) {
return compressionLevel(Output.of(compressionLevel));
}
/**
* @param forceCompression Forcefully apply compression.
*
* @return builder
*
*/
public Builder forceCompression(@Nullable Output<Boolean> forceCompression) {
$.forceCompression = forceCompression;
return this;
}
/**
* @param forceCompression Forcefully apply compression.
*
* @return builder
*
*/
public Builder forceCompression(Boolean forceCompression) {
return forceCompression(Output.of(forceCompression));
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(@Nullable Output<Boolean> ignoreError) {
$.ignoreError = ignoreError;
return this;
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(Boolean ignoreError) {
return ignoreError(Output.of(ignoreError));
}
/**
* @param imageManifest Export cache manifest as an OCI-compatible image manifest instead of a
* manifest list. Requires `ociMediaTypes` to also be `true`.
*
* Some registries like AWS ECR will not work with caching if this is
* `false`.
*
* Defaults to `false` to match Docker&#39;s default behavior.
*
* @return builder
*
*/
public Builder imageManifest(@Nullable Output<Boolean> imageManifest) {
$.imageManifest = imageManifest;
return this;
}
/**
* @param imageManifest Export cache manifest as an OCI-compatible image manifest instead of a
* manifest list. Requires `ociMediaTypes` to also be `true`.
*
* Some registries like AWS ECR will not work with caching if this is
* `false`.
*
* Defaults to `false` to match Docker&#39;s default behavior.
*
* @return builder
*
*/
public Builder imageManifest(Boolean imageManifest) {
return imageManifest(Output.of(imageManifest));
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(@Nullable Output<CacheMode> mode) {
$.mode = mode;
return this;
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(CacheMode mode) {
return mode(Output.of(mode));
}
/**
* @param ociMediaTypes Whether to use OCI media types in exported manifests. Defaults to
* `true`.
*
* @return builder
*
*/
public Builder ociMediaTypes(@Nullable Output<Boolean> ociMediaTypes) {
$.ociMediaTypes = ociMediaTypes;
return this;
}
/**
* @param ociMediaTypes Whether to use OCI media types in exported manifests. Defaults to
* `true`.
*
* @return builder
*
*/
public Builder ociMediaTypes(Boolean ociMediaTypes) {
return ociMediaTypes(Output.of(ociMediaTypes));
}
/**
* @param ref Fully qualified name of the cache image to import.
*
* @return builder
*
*/
public Builder ref(Output<String> ref) {
$.ref = ref;
return this;
}
/**
* @param ref Fully qualified name of the cache image to import.
*
* @return builder
*
*/
public Builder ref(String ref) {
return ref(Output.of(ref));
}
public CacheToRegistryArgs build() {
$.compression = Codegen.objectProp("compression", CompressionType.class).output().arg($.compression).def(CompressionType.Gzip).getNullable();
$.compressionLevel = Codegen.integerProp("compressionLevel").output().arg($.compressionLevel).def(0).getNullable();
$.forceCompression = Codegen.booleanProp("forceCompression").output().arg($.forceCompression).def(false).getNullable();
$.ignoreError = Codegen.booleanProp("ignoreError").output().arg($.ignoreError).def(false).getNullable();
$.imageManifest = Codegen.booleanProp("imageManifest").output().arg($.imageManifest).def(false).getNullable();
$.mode = Codegen.objectProp("mode", CacheMode.class).output().arg($.mode).def(CacheMode.Min).getNullable();
$.ociMediaTypes = Codegen.booleanProp("ociMediaTypes").output().arg($.ociMediaTypes).def(true).getNullable();
if ($.ref == null) {
throw new MissingRequiredPropertyException("CacheToRegistryArgs", "ref");
}
return $;
}
}
}

View File

@@ -1,503 +0,0 @@
// *** WARNING: this file was generated by pulumi-language-java. ***
// *** 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.core.internal.Codegen;
import com.pulumi.dockerbuild.enums.CacheMode;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class CacheToS3Args extends com.pulumi.resources.ResourceArgs {
public static final CacheToS3Args Empty = new CacheToS3Args();
/**
* Defaults to `$AWS_ACCESS_KEY_ID`.
*
*/
@Import(name="accessKeyId")
private @Nullable Output<String> accessKeyId;
/**
* @return Defaults to `$AWS_ACCESS_KEY_ID`.
*
*/
public Optional<Output<String>> accessKeyId() {
return Optional.ofNullable(this.accessKeyId);
}
/**
* Prefix to prepend to blob filenames.
*
*/
@Import(name="blobsPrefix")
private @Nullable Output<String> blobsPrefix;
/**
* @return Prefix to prepend to blob filenames.
*
*/
public Optional<Output<String>> blobsPrefix() {
return Optional.ofNullable(this.blobsPrefix);
}
/**
* Name of the S3 bucket.
*
*/
@Import(name="bucket", required=true)
private Output<String> bucket;
/**
* @return Name of the S3 bucket.
*
*/
public Output<String> bucket() {
return this.bucket;
}
/**
* Endpoint of the S3 bucket.
*
*/
@Import(name="endpointUrl")
private @Nullable Output<String> endpointUrl;
/**
* @return Endpoint of the S3 bucket.
*
*/
public Optional<Output<String>> endpointUrl() {
return Optional.ofNullable(this.endpointUrl);
}
/**
* Ignore errors caused by failed cache exports.
*
*/
@Import(name="ignoreError")
private @Nullable Output<Boolean> ignoreError;
/**
* @return Ignore errors caused by failed cache exports.
*
*/
public Optional<Output<Boolean>> ignoreError() {
return Optional.ofNullable(this.ignoreError);
}
/**
* Prefix to prepend on manifest filenames.
*
*/
@Import(name="manifestsPrefix")
private @Nullable Output<String> manifestsPrefix;
/**
* @return Prefix to prepend on manifest filenames.
*
*/
public Optional<Output<String>> manifestsPrefix() {
return Optional.ofNullable(this.manifestsPrefix);
}
/**
* The cache mode to use. Defaults to `min`.
*
*/
@Import(name="mode")
private @Nullable Output<CacheMode> mode;
/**
* @return The cache mode to use. Defaults to `min`.
*
*/
public Optional<Output<CacheMode>> mode() {
return Optional.ofNullable(this.mode);
}
/**
* Name of the cache image.
*
*/
@Import(name="name")
private @Nullable Output<String> name;
/**
* @return Name of the cache image.
*
*/
public Optional<Output<String>> name() {
return Optional.ofNullable(this.name);
}
/**
* The geographic location of the bucket. Defaults to `$AWS_REGION`.
*
*/
@Import(name="region", required=true)
private Output<String> region;
/**
* @return The geographic location of the bucket. Defaults to `$AWS_REGION`.
*
*/
public Output<String> region() {
return this.region;
}
/**
* Defaults to `$AWS_SECRET_ACCESS_KEY`.
*
*/
@Import(name="secretAccessKey")
private @Nullable Output<String> secretAccessKey;
/**
* @return Defaults to `$AWS_SECRET_ACCESS_KEY`.
*
*/
public Optional<Output<String>> secretAccessKey() {
return Optional.ofNullable(this.secretAccessKey);
}
/**
* Defaults to `$AWS_SESSION_TOKEN`.
*
*/
@Import(name="sessionToken")
private @Nullable Output<String> sessionToken;
/**
* @return Defaults to `$AWS_SESSION_TOKEN`.
*
*/
public Optional<Output<String>> sessionToken() {
return Optional.ofNullable(this.sessionToken);
}
/**
* Uses `bucket` in the URL instead of hostname when `true`.
*
*/
@Import(name="usePathStyle")
private @Nullable Output<Boolean> usePathStyle;
/**
* @return Uses `bucket` in the URL instead of hostname when `true`.
*
*/
public Optional<Output<Boolean>> usePathStyle() {
return Optional.ofNullable(this.usePathStyle);
}
private CacheToS3Args() {}
private CacheToS3Args(CacheToS3Args $) {
this.accessKeyId = $.accessKeyId;
this.blobsPrefix = $.blobsPrefix;
this.bucket = $.bucket;
this.endpointUrl = $.endpointUrl;
this.ignoreError = $.ignoreError;
this.manifestsPrefix = $.manifestsPrefix;
this.mode = $.mode;
this.name = $.name;
this.region = $.region;
this.secretAccessKey = $.secretAccessKey;
this.sessionToken = $.sessionToken;
this.usePathStyle = $.usePathStyle;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CacheToS3Args defaults) {
return new Builder(defaults);
}
public static final class Builder {
private CacheToS3Args $;
public Builder() {
$ = new CacheToS3Args();
}
public Builder(CacheToS3Args defaults) {
$ = new CacheToS3Args(Objects.requireNonNull(defaults));
}
/**
* @param accessKeyId Defaults to `$AWS_ACCESS_KEY_ID`.
*
* @return builder
*
*/
public Builder accessKeyId(@Nullable Output<String> accessKeyId) {
$.accessKeyId = accessKeyId;
return this;
}
/**
* @param accessKeyId Defaults to `$AWS_ACCESS_KEY_ID`.
*
* @return builder
*
*/
public Builder accessKeyId(String accessKeyId) {
return accessKeyId(Output.of(accessKeyId));
}
/**
* @param blobsPrefix Prefix to prepend to blob filenames.
*
* @return builder
*
*/
public Builder blobsPrefix(@Nullable Output<String> blobsPrefix) {
$.blobsPrefix = blobsPrefix;
return this;
}
/**
* @param blobsPrefix Prefix to prepend to blob filenames.
*
* @return builder
*
*/
public Builder blobsPrefix(String blobsPrefix) {
return blobsPrefix(Output.of(blobsPrefix));
}
/**
* @param bucket Name of the S3 bucket.
*
* @return builder
*
*/
public Builder bucket(Output<String> bucket) {
$.bucket = bucket;
return this;
}
/**
* @param bucket Name of the S3 bucket.
*
* @return builder
*
*/
public Builder bucket(String bucket) {
return bucket(Output.of(bucket));
}
/**
* @param endpointUrl Endpoint of the S3 bucket.
*
* @return builder
*
*/
public Builder endpointUrl(@Nullable Output<String> endpointUrl) {
$.endpointUrl = endpointUrl;
return this;
}
/**
* @param endpointUrl Endpoint of the S3 bucket.
*
* @return builder
*
*/
public Builder endpointUrl(String endpointUrl) {
return endpointUrl(Output.of(endpointUrl));
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(@Nullable Output<Boolean> ignoreError) {
$.ignoreError = ignoreError;
return this;
}
/**
* @param ignoreError Ignore errors caused by failed cache exports.
*
* @return builder
*
*/
public Builder ignoreError(Boolean ignoreError) {
return ignoreError(Output.of(ignoreError));
}
/**
* @param manifestsPrefix Prefix to prepend on manifest filenames.
*
* @return builder
*
*/
public Builder manifestsPrefix(@Nullable Output<String> manifestsPrefix) {
$.manifestsPrefix = manifestsPrefix;
return this;
}
/**
* @param manifestsPrefix Prefix to prepend on manifest filenames.
*
* @return builder
*
*/
public Builder manifestsPrefix(String manifestsPrefix) {
return manifestsPrefix(Output.of(manifestsPrefix));
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(@Nullable Output<CacheMode> mode) {
$.mode = mode;
return this;
}
/**
* @param mode The cache mode to use. Defaults to `min`.
*
* @return builder
*
*/
public Builder mode(CacheMode mode) {
return mode(Output.of(mode));
}
/**
* @param name Name of the cache image.
*
* @return builder
*
*/
public Builder name(@Nullable Output<String> name) {
$.name = name;
return this;
}
/**
* @param name Name of the cache image.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param region The geographic location of the bucket. Defaults to `$AWS_REGION`.
*
* @return builder
*
*/
public Builder region(Output<String> region) {
$.region = region;
return this;
}
/**
* @param region The geographic location of the bucket. Defaults to `$AWS_REGION`.
*
* @return builder
*
*/
public Builder region(String region) {
return region(Output.of(region));
}
/**
* @param secretAccessKey Defaults to `$AWS_SECRET_ACCESS_KEY`.
*
* @return builder
*
*/
public Builder secretAccessKey(@Nullable Output<String> secretAccessKey) {
$.secretAccessKey = secretAccessKey;
return this;
}
/**
* @param secretAccessKey Defaults to `$AWS_SECRET_ACCESS_KEY`.
*
* @return builder
*
*/
public Builder secretAccessKey(String secretAccessKey) {
return secretAccessKey(Output.of(secretAccessKey));
}
/**
* @param sessionToken Defaults to `$AWS_SESSION_TOKEN`.
*
* @return builder
*
*/
public Builder sessionToken(@Nullable Output<String> sessionToken) {
$.sessionToken = sessionToken;
return this;
}
/**
* @param sessionToken Defaults to `$AWS_SESSION_TOKEN`.
*
* @return builder
*
*/
public Builder sessionToken(String sessionToken) {
return sessionToken(Output.of(sessionToken));
}
/**
* @param usePathStyle Uses `bucket` in the URL instead of hostname when `true`.
*
* @return builder
*
*/
public Builder usePathStyle(@Nullable Output<Boolean> usePathStyle) {
$.usePathStyle = usePathStyle;
return this;
}
/**
* @param usePathStyle Uses `bucket` in the URL instead of hostname when `true`.
*
* @return builder
*
*/
public Builder usePathStyle(Boolean usePathStyle) {
return usePathStyle(Output.of(usePathStyle));
}
public CacheToS3Args build() {
$.accessKeyId = Codegen.stringProp("accessKeyId").output().arg($.accessKeyId).env("AWS_ACCESS_KEY_ID").def("").getNullable();
if ($.bucket == null) {
throw new MissingRequiredPropertyException("CacheToS3Args", "bucket");
}
$.ignoreError = Codegen.booleanProp("ignoreError").output().arg($.ignoreError).def(false).getNullable();
$.mode = Codegen.objectProp("mode", CacheMode.class).output().arg($.mode).def(CacheMode.Min).getNullable();
$.region = Codegen.stringProp("region").output().arg($.region).env("AWS_REGION").def("").require();
$.secretAccessKey = Codegen.stringProp("secretAccessKey").secret().arg($.secretAccessKey).env("AWS_SECRET_ACCESS_KEY").def("").getNullable();
$.sessionToken = Codegen.stringProp("sessionToken").secret().arg($.sessionToken).env("AWS_SESSION_TOKEN").def("").getNullable();
return $;
}
}
}

Some files were not shown because too many files have changed in this diff Show More