v0.0.4
This commit is contained in:
@@ -1,72 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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!;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
A Pulumi provider for building modern Docker images with buildx and BuildKit.
|
||||
@@ -1,173 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
1120
sdk/dotnet/Image.cs
1120
sdk/dotnet/Image.cs
File diff suppressed because it is too large
Load Diff
@@ -1,259 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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(() =>
|
||||
/// {
|
||||
/// 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<string, object?>
|
||||
/// {
|
||||
/// ["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();
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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 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; }
|
||||
|
||||
[Input("token")]
|
||||
private Input<string>? _token;
|
||||
|
||||
/// <summary>
|
||||
/// The GitHub Actions token to use. This is not a personal access tokens
|
||||
/// and is typically generated automatically as part of each job.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public Input<string>? Token
|
||||
{
|
||||
get => _token;
|
||||
set
|
||||
{
|
||||
var emptySecret = Output.CreateSecret(0);
|
||||
_token = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The cache server URL to use for artifacts.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
[Input("url")]
|
||||
public Input<string>? Url { get; set; }
|
||||
|
||||
public CacheFromGitHubActionsArgs()
|
||||
{
|
||||
Scope = Utilities.GetEnv("buildkit") ?? "";
|
||||
Token = Utilities.GetEnv("ACTIONS_RUNTIME_TOKEN") ?? "";
|
||||
Url = Utilities.GetEnv("ACTIONS_CACHE_URL") ?? "";
|
||||
}
|
||||
public static new CacheFromGitHubActionsArgs Empty => new CacheFromGitHubActionsArgs();
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,75 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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 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; }
|
||||
|
||||
[Input("token")]
|
||||
private Input<string>? _token;
|
||||
|
||||
/// <summary>
|
||||
/// The GitHub Actions token to use. This is not a personal access tokens
|
||||
/// and is typically generated automatically as part of each job.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public Input<string>? Token
|
||||
{
|
||||
get => _token;
|
||||
set
|
||||
{
|
||||
var emptySecret = Output.CreateSecret(0);
|
||||
_token = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The cache server URL to use for artifacts.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
[Input("url")]
|
||||
public Input<string>? Url { get; set; }
|
||||
|
||||
public CacheToGitHubActionsArgs()
|
||||
{
|
||||
IgnoreError = false;
|
||||
Mode = Pulumi.DockerBuild.CacheMode.Min;
|
||||
Scope = Utilities.GetEnv("buildkit") ?? "";
|
||||
Token = Utilities.GetEnv("ACTIONS_RUNTIME_TOKEN") ?? "";
|
||||
Url = Utilities.GetEnv("ACTIONS_CACHE_URL") ?? "";
|
||||
}
|
||||
public static new CacheToGitHubActionsArgs Empty => new CacheToGitHubActionsArgs();
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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@<digest>`, 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@<digest>`).
|
||||
/// </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();
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,123 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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@<digest>`, 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@<digest>`).
|
||||
/// </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();
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,75 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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 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;
|
||||
/// <summary>
|
||||
/// The GitHub Actions token to use. This is not a personal access tokens
|
||||
/// and is typically generated automatically as part of each job.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public readonly string? Token;
|
||||
/// <summary>
|
||||
/// The cache server URL to use for artifacts.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public readonly string? Url;
|
||||
|
||||
[OutputConstructor]
|
||||
private CacheFromGitHubActions(
|
||||
string? scope,
|
||||
|
||||
string? token,
|
||||
|
||||
string? url)
|
||||
{
|
||||
Scope = scope;
|
||||
Token = token;
|
||||
Url = url;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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 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;
|
||||
/// <summary>
|
||||
/// The GitHub Actions token to use. This is not a personal access tokens
|
||||
/// and is typically generated automatically as part of each job.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public readonly string? Token;
|
||||
/// <summary>
|
||||
/// The cache server URL to use for artifacts.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public readonly string? Url;
|
||||
|
||||
[OutputConstructor]
|
||||
private CacheToGitHubActions(
|
||||
bool? ignoreError,
|
||||
|
||||
Pulumi.DockerBuild.CacheMode? mode,
|
||||
|
||||
string? scope,
|
||||
|
||||
string? token,
|
||||
|
||||
string? url)
|
||||
{
|
||||
IgnoreError = ignoreError;
|
||||
Mode = mode;
|
||||
Scope = scope;
|
||||
Token = token;
|
||||
Url = url;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,105 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,119 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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@<digest>`, 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@<digest>`).
|
||||
/// </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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,119 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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@<digest>`, 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@<digest>`).
|
||||
/// </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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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();
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -1 +0,0 @@
|
||||
A Pulumi provider for building modern Docker images with buildx and BuildKit.
|
||||
@@ -1,83 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** 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;
|
||||
}
|
||||
|
||||
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 |
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"resource": true,
|
||||
"name": "docker-build",
|
||||
"version": "0.1.0-alpha.0+dev"
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package config
|
||||
|
||||
import (
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
|
||||
)
|
||||
|
||||
var _ = internal.GetEnvOrDefault
|
||||
|
||||
// The build daemon's address.
|
||||
func GetHost(ctx *pulumi.Context) string {
|
||||
v, err := config.Try(ctx, "docker-build:host")
|
||||
if err == nil {
|
||||
return v
|
||||
}
|
||||
var value string
|
||||
if d := internal.GetEnvOrDefault("", nil, "DOCKER_HOST"); d != nil {
|
||||
value = d.(string)
|
||||
}
|
||||
return value
|
||||
}
|
||||
func GetRegistries(ctx *pulumi.Context) string {
|
||||
return config.Get(ctx, "docker-build:registries")
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
// A Pulumi provider for building modern Docker images with buildx and BuildKit.
|
||||
package dockerbuild
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,307 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package dockerbuild
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"errors"
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// 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
|
||||
// ```go
|
||||
// package main
|
||||
//
|
||||
// import (
|
||||
//
|
||||
// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
|
||||
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
//
|
||||
// )
|
||||
//
|
||||
// func main() {
|
||||
// pulumi.Run(func(ctx *pulumi.Context) error {
|
||||
// amd64, err := dockerbuild.NewImage(ctx, "amd64", &dockerbuild.ImageArgs{
|
||||
// CacheFrom: dockerbuild.CacheFromArray{
|
||||
// &dockerbuild.CacheFromArgs{
|
||||
// Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-amd64"),
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// CacheTo: dockerbuild.CacheToArray{
|
||||
// &dockerbuild.CacheToArgs{
|
||||
// Registry: &dockerbuild.CacheToRegistryArgs{
|
||||
// Mode: dockerbuild.CacheModeMax,
|
||||
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-amd64"),
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// Context: &dockerbuild.BuildContextArgs{
|
||||
// Location: pulumi.String("app"),
|
||||
// },
|
||||
// Platforms: docker - build.PlatformArray{
|
||||
// dockerbuild.Platform_Linux_amd64,
|
||||
// },
|
||||
// Tags: pulumi.StringArray{
|
||||
// pulumi.String("docker.io/pulumi/pulumi:3.107.0-amd64"),
|
||||
// },
|
||||
// })
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// arm64, err := dockerbuild.NewImage(ctx, "arm64", &dockerbuild.ImageArgs{
|
||||
// CacheFrom: dockerbuild.CacheFromArray{
|
||||
// &dockerbuild.CacheFromArgs{
|
||||
// Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-arm64"),
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// CacheTo: dockerbuild.CacheToArray{
|
||||
// &dockerbuild.CacheToArgs{
|
||||
// Registry: &dockerbuild.CacheToRegistryArgs{
|
||||
// Mode: dockerbuild.CacheModeMax,
|
||||
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-arm64"),
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// Context: &dockerbuild.BuildContextArgs{
|
||||
// Location: pulumi.String("app"),
|
||||
// },
|
||||
// Platforms: docker - build.PlatformArray{
|
||||
// dockerbuild.Platform_Linux_arm64,
|
||||
// },
|
||||
// Tags: pulumi.StringArray{
|
||||
// pulumi.String("docker.io/pulumi/pulumi:3.107.0-arm64"),
|
||||
// },
|
||||
// })
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// index, err := dockerbuild.NewIndex(ctx, "index", &dockerbuild.IndexArgs{
|
||||
// Sources: pulumi.StringArray{
|
||||
// amd64.Ref,
|
||||
// arm64.Ref,
|
||||
// },
|
||||
// Tag: pulumi.String("docker.io/pulumi/pulumi:3.107.0"),
|
||||
// })
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// ctx.Export("ref", index.Ref)
|
||||
// return nil
|
||||
// })
|
||||
// }
|
||||
//
|
||||
// ```
|
||||
type Index struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
// If true, push the index to the target registry.
|
||||
//
|
||||
// Defaults to `true`.
|
||||
Push pulumi.BoolPtrOutput `pulumi:"push"`
|
||||
// The pushed tag with digest.
|
||||
//
|
||||
// Identical to the tag if the index was not pushed.
|
||||
Ref pulumi.StringOutput `pulumi:"ref"`
|
||||
// Authentication for the registry where the tagged index will be pushed.
|
||||
//
|
||||
// Credentials can also be included with the provider's configuration.
|
||||
Registry RegistryPtrOutput `pulumi:"registry"`
|
||||
// Existing images to include in the index.
|
||||
Sources pulumi.StringArrayOutput `pulumi:"sources"`
|
||||
// The tag to apply to the index.
|
||||
Tag pulumi.StringOutput `pulumi:"tag"`
|
||||
}
|
||||
|
||||
// NewIndex registers a new resource with the given unique name, arguments, and options.
|
||||
func NewIndex(ctx *pulumi.Context,
|
||||
name string, args *IndexArgs, opts ...pulumi.ResourceOption) (*Index, error) {
|
||||
if args == nil {
|
||||
return nil, errors.New("missing one or more required arguments")
|
||||
}
|
||||
|
||||
if args.Sources == nil {
|
||||
return nil, errors.New("invalid value for required argument 'Sources'")
|
||||
}
|
||||
if args.Tag == nil {
|
||||
return nil, errors.New("invalid value for required argument 'Tag'")
|
||||
}
|
||||
if args.Push == nil {
|
||||
args.Push = pulumi.BoolPtr(true)
|
||||
}
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource Index
|
||||
err := ctx.RegisterResource("docker-build:index:Index", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetIndex gets an existing Index resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetIndex(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *IndexState, opts ...pulumi.ResourceOption) (*Index, error) {
|
||||
var resource Index
|
||||
err := ctx.ReadResource("docker-build:index:Index", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering Index resources.
|
||||
type indexState struct {
|
||||
}
|
||||
|
||||
type IndexState struct {
|
||||
}
|
||||
|
||||
func (IndexState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*indexState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type indexArgs struct {
|
||||
// If true, push the index to the target registry.
|
||||
//
|
||||
// Defaults to `true`.
|
||||
Push *bool `pulumi:"push"`
|
||||
// Authentication for the registry where the tagged index will be pushed.
|
||||
//
|
||||
// Credentials can also be included with the provider's configuration.
|
||||
Registry *Registry `pulumi:"registry"`
|
||||
// Existing images to include in the index.
|
||||
Sources []string `pulumi:"sources"`
|
||||
// The tag to apply to the index.
|
||||
Tag string `pulumi:"tag"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a Index resource.
|
||||
type IndexArgs struct {
|
||||
// If true, push the index to the target registry.
|
||||
//
|
||||
// Defaults to `true`.
|
||||
Push pulumi.BoolPtrInput
|
||||
// Authentication for the registry where the tagged index will be pushed.
|
||||
//
|
||||
// Credentials can also be included with the provider's configuration.
|
||||
Registry RegistryPtrInput
|
||||
// Existing images to include in the index.
|
||||
Sources pulumi.StringArrayInput
|
||||
// The tag to apply to the index.
|
||||
Tag pulumi.StringInput
|
||||
}
|
||||
|
||||
func (IndexArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*indexArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type IndexInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToIndexOutput() IndexOutput
|
||||
ToIndexOutputWithContext(ctx context.Context) IndexOutput
|
||||
}
|
||||
|
||||
func (*Index) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Index)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *Index) ToIndexOutput() IndexOutput {
|
||||
return i.ToIndexOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *Index) ToIndexOutputWithContext(ctx context.Context) IndexOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(IndexOutput)
|
||||
}
|
||||
|
||||
func (i *Index) ToOutput(ctx context.Context) pulumix.Output[*Index] {
|
||||
return pulumix.Output[*Index]{
|
||||
OutputState: i.ToIndexOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type IndexOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (IndexOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Index)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o IndexOutput) ToIndexOutput() IndexOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o IndexOutput) ToIndexOutputWithContext(ctx context.Context) IndexOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o IndexOutput) ToOutput(ctx context.Context) pulumix.Output[*Index] {
|
||||
return pulumix.Output[*Index]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
// If true, push the index to the target registry.
|
||||
//
|
||||
// Defaults to `true`.
|
||||
func (o IndexOutput) Push() pulumi.BoolPtrOutput {
|
||||
return o.ApplyT(func(v *Index) pulumi.BoolPtrOutput { return v.Push }).(pulumi.BoolPtrOutput)
|
||||
}
|
||||
|
||||
// The pushed tag with digest.
|
||||
//
|
||||
// Identical to the tag if the index was not pushed.
|
||||
func (o IndexOutput) Ref() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *Index) pulumi.StringOutput { return v.Ref }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// Authentication for the registry where the tagged index will be pushed.
|
||||
//
|
||||
// Credentials can also be included with the provider's configuration.
|
||||
func (o IndexOutput) Registry() RegistryPtrOutput {
|
||||
return o.ApplyT(func(v *Index) RegistryPtrOutput { return v.Registry }).(RegistryPtrOutput)
|
||||
}
|
||||
|
||||
// Existing images to include in the index.
|
||||
func (o IndexOutput) Sources() pulumi.StringArrayOutput {
|
||||
return o.ApplyT(func(v *Index) pulumi.StringArrayOutput { return v.Sources }).(pulumi.StringArrayOutput)
|
||||
}
|
||||
|
||||
// The tag to apply to the index.
|
||||
func (o IndexOutput) Tag() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *Index) pulumi.StringOutput { return v.Tag }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*IndexInput)(nil)).Elem(), &Index{})
|
||||
pulumi.RegisterOutputType(IndexOutput{})
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package dockerbuild
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
type module struct {
|
||||
version semver.Version
|
||||
}
|
||||
|
||||
func (m *module) Version() semver.Version {
|
||||
return m.version
|
||||
}
|
||||
|
||||
func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
|
||||
switch typ {
|
||||
case "docker-build:index:Image":
|
||||
r = &Image{}
|
||||
case "docker-build:index:Index":
|
||||
r = &Index{}
|
||||
default:
|
||||
return nil, fmt.Errorf("unknown resource type: %s", typ)
|
||||
}
|
||||
|
||||
err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||
return
|
||||
}
|
||||
|
||||
type pkg struct {
|
||||
version semver.Version
|
||||
}
|
||||
|
||||
func (p *pkg) Version() semver.Version {
|
||||
return p.version
|
||||
}
|
||||
|
||||
func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) {
|
||||
if typ != "pulumi:providers:docker-build" {
|
||||
return nil, fmt.Errorf("unknown provider type: %s", typ)
|
||||
}
|
||||
|
||||
r := &Provider{}
|
||||
err := ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||
return r, err
|
||||
}
|
||||
|
||||
func init() {
|
||||
version, err := internal.PkgVersion()
|
||||
if err != nil {
|
||||
version = semver.Version{Major: 1}
|
||||
}
|
||||
pulumi.RegisterResourceModule(
|
||||
"docker-build",
|
||||
"index",
|
||||
&module{version},
|
||||
)
|
||||
pulumi.RegisterResourcePackage(
|
||||
"docker-build",
|
||||
&pkg{version},
|
||||
)
|
||||
}
|
||||
@@ -1,184 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package internal
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"reflect"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals"
|
||||
)
|
||||
|
||||
type envParser func(v string) interface{}
|
||||
|
||||
func ParseEnvBool(v string) interface{} {
|
||||
b, err := strconv.ParseBool(v)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
func ParseEnvInt(v string) interface{} {
|
||||
i, err := strconv.ParseInt(v, 0, 0)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return int(i)
|
||||
}
|
||||
|
||||
func ParseEnvFloat(v string) interface{} {
|
||||
f, err := strconv.ParseFloat(v, 64)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return f
|
||||
}
|
||||
|
||||
func ParseEnvStringArray(v string) interface{} {
|
||||
var result pulumi.StringArray
|
||||
for _, item := range strings.Split(v, ";") {
|
||||
result = append(result, pulumi.String(item))
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func GetEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} {
|
||||
for _, v := range vars {
|
||||
if value, ok := os.LookupEnv(v); ok {
|
||||
if parser != nil {
|
||||
return parser(value)
|
||||
}
|
||||
return value
|
||||
}
|
||||
}
|
||||
return def
|
||||
}
|
||||
|
||||
// PkgVersion uses reflection to determine the version of the current package.
|
||||
// If a version cannot be determined, v1 will be assumed. The second return
|
||||
// value is always nil.
|
||||
func PkgVersion() (semver.Version, error) {
|
||||
// emptyVersion defaults to v0.0.0
|
||||
if !SdkVersion.Equals(semver.Version{}) {
|
||||
return SdkVersion, nil
|
||||
}
|
||||
type sentinal struct{}
|
||||
pkgPath := reflect.TypeOf(sentinal{}).PkgPath()
|
||||
re := regexp.MustCompile("^.*/pulumi-docker-build/sdk(/v\\d+)?")
|
||||
if match := re.FindStringSubmatch(pkgPath); match != nil {
|
||||
vStr := match[1]
|
||||
if len(vStr) == 0 { // If the version capture group was empty, default to v1.
|
||||
return semver.Version{Major: 1}, nil
|
||||
}
|
||||
return semver.MustParse(fmt.Sprintf("%s.0.0", vStr[2:])), nil
|
||||
}
|
||||
return semver.Version{Major: 1}, nil
|
||||
}
|
||||
|
||||
// isZero is a null safe check for if a value is it's types zero value.
|
||||
func IsZero(v interface{}) bool {
|
||||
if v == nil {
|
||||
return true
|
||||
}
|
||||
return reflect.ValueOf(v).IsZero()
|
||||
}
|
||||
|
||||
func CallPlain(
|
||||
ctx *pulumi.Context,
|
||||
tok string,
|
||||
args pulumi.Input,
|
||||
output pulumi.Output,
|
||||
self pulumi.Resource,
|
||||
property string,
|
||||
resultPtr reflect.Value,
|
||||
errorPtr *error,
|
||||
opts ...pulumi.InvokeOption,
|
||||
) {
|
||||
res, err := callPlainInner(ctx, tok, args, output, self, opts...)
|
||||
if err != nil {
|
||||
*errorPtr = err
|
||||
return
|
||||
}
|
||||
|
||||
v := reflect.ValueOf(res)
|
||||
|
||||
// extract res.property field if asked to do so
|
||||
if property != "" {
|
||||
v = v.FieldByName("Res")
|
||||
}
|
||||
|
||||
// return by setting the result pointer; this style of returns shortens the generated code without generics
|
||||
resultPtr.Elem().Set(v)
|
||||
}
|
||||
|
||||
func callPlainInner(
|
||||
ctx *pulumi.Context,
|
||||
tok string,
|
||||
args pulumi.Input,
|
||||
output pulumi.Output,
|
||||
self pulumi.Resource,
|
||||
opts ...pulumi.InvokeOption,
|
||||
) (any, error) {
|
||||
o, err := ctx.Call(tok, args, output, self, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
outputData, err := internals.UnsafeAwaitOutput(ctx.Context(), o)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
|
||||
known := outputData.Known
|
||||
value := outputData.Value
|
||||
secret := outputData.Secret
|
||||
|
||||
problem := ""
|
||||
if !known {
|
||||
problem = "an unknown value"
|
||||
} else if secret {
|
||||
problem = "a secret value"
|
||||
}
|
||||
|
||||
if problem != "" {
|
||||
return nil, fmt.Errorf("Plain resource method %q incorrectly returned %s. "+
|
||||
"This is an error in the provider, please report this to the provider developer.",
|
||||
tok, problem)
|
||||
}
|
||||
|
||||
return value, nil
|
||||
}
|
||||
|
||||
// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource.
|
||||
func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption {
|
||||
defaults := []pulumi.ResourceOption{}
|
||||
|
||||
version := semver.MustParse("0.1.0-alpha.0+dev")
|
||||
if !version.Equals(semver.Version{}) {
|
||||
defaults = append(defaults, pulumi.Version(version.String()))
|
||||
}
|
||||
return append(defaults, opts...)
|
||||
}
|
||||
|
||||
// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke.
|
||||
func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption {
|
||||
defaults := []pulumi.InvokeOption{}
|
||||
|
||||
version := semver.MustParse("0.1.0-alpha.0+dev")
|
||||
if !version.Equals(semver.Version{}) {
|
||||
defaults = append(defaults, pulumi.Version(version.String()))
|
||||
}
|
||||
return append(defaults, opts...)
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package internal
|
||||
|
||||
import (
|
||||
"github.com/blang/semver"
|
||||
)
|
||||
|
||||
var SdkVersion semver.Version = semver.Version{}
|
||||
var pluginDownloadURL string = ""
|
||||
@@ -1,113 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package dockerbuild
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
type Provider struct {
|
||||
pulumi.ProviderResourceState
|
||||
|
||||
// The build daemon's address.
|
||||
Host pulumi.StringPtrOutput `pulumi:"host"`
|
||||
}
|
||||
|
||||
// NewProvider registers a new resource with the given unique name, arguments, and options.
|
||||
func NewProvider(ctx *pulumi.Context,
|
||||
name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) {
|
||||
if args == nil {
|
||||
args = &ProviderArgs{}
|
||||
}
|
||||
|
||||
if args.Host == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "DOCKER_HOST"); d != nil {
|
||||
args.Host = pulumi.StringPtr(d.(string))
|
||||
}
|
||||
}
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource Provider
|
||||
err := ctx.RegisterResource("pulumi:providers:docker-build", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
type providerArgs struct {
|
||||
// The build daemon's address.
|
||||
Host *string `pulumi:"host"`
|
||||
Registries []Registry `pulumi:"registries"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a Provider resource.
|
||||
type ProviderArgs struct {
|
||||
// The build daemon's address.
|
||||
Host pulumi.StringPtrInput
|
||||
Registries RegistryArrayInput
|
||||
}
|
||||
|
||||
func (ProviderArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*providerArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type ProviderInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToProviderOutput() ProviderOutput
|
||||
ToProviderOutputWithContext(ctx context.Context) ProviderOutput
|
||||
}
|
||||
|
||||
func (*Provider) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Provider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *Provider) ToProviderOutput() ProviderOutput {
|
||||
return i.ToProviderOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput)
|
||||
}
|
||||
|
||||
func (i *Provider) ToOutput(ctx context.Context) pulumix.Output[*Provider] {
|
||||
return pulumix.Output[*Provider]{
|
||||
OutputState: i.ToProviderOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type ProviderOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (ProviderOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Provider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o ProviderOutput) ToProviderOutput() ProviderOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ProviderOutput) ToOutput(ctx context.Context) pulumix.Output[*Provider] {
|
||||
return pulumix.Output[*Provider]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
// The build daemon's address.
|
||||
func (o ProviderOutput) Host() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Host }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{})
|
||||
pulumi.RegisterOutputType(ProviderOutput{})
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"resource": true,
|
||||
"name": "docker-build",
|
||||
"version": "0.1.0-alpha.0+dev"
|
||||
}
|
||||
@@ -1,886 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package dockerbuild
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
type CacheMode string
|
||||
|
||||
const (
|
||||
// Only layers that are exported into the resulting image are cached.
|
||||
CacheModeMin = CacheMode("min")
|
||||
// All layers are cached, even those of intermediate steps.
|
||||
CacheModeMax = CacheMode("max")
|
||||
)
|
||||
|
||||
func (CacheMode) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*CacheMode)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (e CacheMode) ToCacheModeOutput() CacheModeOutput {
|
||||
return pulumi.ToOutput(e).(CacheModeOutput)
|
||||
}
|
||||
|
||||
func (e CacheMode) ToCacheModeOutputWithContext(ctx context.Context) CacheModeOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, e).(CacheModeOutput)
|
||||
}
|
||||
|
||||
func (e CacheMode) ToCacheModePtrOutput() CacheModePtrOutput {
|
||||
return e.ToCacheModePtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (e CacheMode) ToCacheModePtrOutputWithContext(ctx context.Context) CacheModePtrOutput {
|
||||
return CacheMode(e).ToCacheModeOutputWithContext(ctx).ToCacheModePtrOutputWithContext(ctx)
|
||||
}
|
||||
|
||||
func (e CacheMode) ToStringOutput() pulumi.StringOutput {
|
||||
return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (e CacheMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (e CacheMode) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (e CacheMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
|
||||
}
|
||||
|
||||
type CacheModeOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CacheModeOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*CacheMode)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o CacheModeOutput) ToCacheModeOutput() CacheModeOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o CacheModeOutput) ToCacheModeOutputWithContext(ctx context.Context) CacheModeOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o CacheModeOutput) ToCacheModePtrOutput() CacheModePtrOutput {
|
||||
return o.ToCacheModePtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o CacheModeOutput) ToCacheModePtrOutputWithContext(ctx context.Context) CacheModePtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, v CacheMode) *CacheMode {
|
||||
return &v
|
||||
}).(CacheModePtrOutput)
|
||||
}
|
||||
|
||||
func (o CacheModeOutput) ToOutput(ctx context.Context) pulumix.Output[CacheMode] {
|
||||
return pulumix.Output[CacheMode]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o CacheModeOutput) ToStringOutput() pulumi.StringOutput {
|
||||
return o.ToStringOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o CacheModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e CacheMode) string {
|
||||
return string(e)
|
||||
}).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (o CacheModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return o.ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o CacheModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e CacheMode) *string {
|
||||
v := string(e)
|
||||
return &v
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
type CacheModePtrOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CacheModePtrOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**CacheMode)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o CacheModePtrOutput) ToCacheModePtrOutput() CacheModePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o CacheModePtrOutput) ToCacheModePtrOutputWithContext(ctx context.Context) CacheModePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o CacheModePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CacheMode] {
|
||||
return pulumix.Output[*CacheMode]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o CacheModePtrOutput) Elem() CacheModeOutput {
|
||||
return o.ApplyT(func(v *CacheMode) CacheMode {
|
||||
if v != nil {
|
||||
return *v
|
||||
}
|
||||
var ret CacheMode
|
||||
return ret
|
||||
}).(CacheModeOutput)
|
||||
}
|
||||
|
||||
func (o CacheModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return o.ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o CacheModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e *CacheMode) *string {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
v := string(*e)
|
||||
return &v
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// CacheModeInput is an input type that accepts values of the CacheMode enum
|
||||
// A concrete instance of `CacheModeInput` can be one of the following:
|
||||
//
|
||||
// CacheModeMin
|
||||
// CacheModeMax
|
||||
type CacheModeInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToCacheModeOutput() CacheModeOutput
|
||||
ToCacheModeOutputWithContext(context.Context) CacheModeOutput
|
||||
}
|
||||
|
||||
var cacheModePtrType = reflect.TypeOf((**CacheMode)(nil)).Elem()
|
||||
|
||||
type CacheModePtrInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToCacheModePtrOutput() CacheModePtrOutput
|
||||
ToCacheModePtrOutputWithContext(context.Context) CacheModePtrOutput
|
||||
}
|
||||
|
||||
type cacheModePtr string
|
||||
|
||||
func CacheModePtr(v string) CacheModePtrInput {
|
||||
return (*cacheModePtr)(&v)
|
||||
}
|
||||
|
||||
func (*cacheModePtr) ElementType() reflect.Type {
|
||||
return cacheModePtrType
|
||||
}
|
||||
|
||||
func (in *cacheModePtr) ToCacheModePtrOutput() CacheModePtrOutput {
|
||||
return pulumi.ToOutput(in).(CacheModePtrOutput)
|
||||
}
|
||||
|
||||
func (in *cacheModePtr) ToCacheModePtrOutputWithContext(ctx context.Context) CacheModePtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, in).(CacheModePtrOutput)
|
||||
}
|
||||
|
||||
func (in *cacheModePtr) ToOutput(ctx context.Context) pulumix.Output[*CacheMode] {
|
||||
return pulumix.Output[*CacheMode]{
|
||||
OutputState: in.ToCacheModePtrOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type CompressionType string
|
||||
|
||||
const (
|
||||
// Use `gzip` for compression.
|
||||
CompressionTypeGzip = CompressionType("gzip")
|
||||
// Use `estargz` for compression.
|
||||
CompressionTypeEstargz = CompressionType("estargz")
|
||||
// Use `zstd` for compression.
|
||||
CompressionTypeZstd = CompressionType("zstd")
|
||||
)
|
||||
|
||||
func (CompressionType) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*CompressionType)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (e CompressionType) ToCompressionTypeOutput() CompressionTypeOutput {
|
||||
return pulumi.ToOutput(e).(CompressionTypeOutput)
|
||||
}
|
||||
|
||||
func (e CompressionType) ToCompressionTypeOutputWithContext(ctx context.Context) CompressionTypeOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, e).(CompressionTypeOutput)
|
||||
}
|
||||
|
||||
func (e CompressionType) ToCompressionTypePtrOutput() CompressionTypePtrOutput {
|
||||
return e.ToCompressionTypePtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (e CompressionType) ToCompressionTypePtrOutputWithContext(ctx context.Context) CompressionTypePtrOutput {
|
||||
return CompressionType(e).ToCompressionTypeOutputWithContext(ctx).ToCompressionTypePtrOutputWithContext(ctx)
|
||||
}
|
||||
|
||||
func (e CompressionType) ToStringOutput() pulumi.StringOutput {
|
||||
return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (e CompressionType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (e CompressionType) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (e CompressionType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
|
||||
}
|
||||
|
||||
type CompressionTypeOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CompressionTypeOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*CompressionType)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o CompressionTypeOutput) ToCompressionTypeOutput() CompressionTypeOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o CompressionTypeOutput) ToCompressionTypeOutputWithContext(ctx context.Context) CompressionTypeOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o CompressionTypeOutput) ToCompressionTypePtrOutput() CompressionTypePtrOutput {
|
||||
return o.ToCompressionTypePtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o CompressionTypeOutput) ToCompressionTypePtrOutputWithContext(ctx context.Context) CompressionTypePtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, v CompressionType) *CompressionType {
|
||||
return &v
|
||||
}).(CompressionTypePtrOutput)
|
||||
}
|
||||
|
||||
func (o CompressionTypeOutput) ToOutput(ctx context.Context) pulumix.Output[CompressionType] {
|
||||
return pulumix.Output[CompressionType]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o CompressionTypeOutput) ToStringOutput() pulumi.StringOutput {
|
||||
return o.ToStringOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o CompressionTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e CompressionType) string {
|
||||
return string(e)
|
||||
}).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (o CompressionTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return o.ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o CompressionTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e CompressionType) *string {
|
||||
v := string(e)
|
||||
return &v
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
type CompressionTypePtrOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CompressionTypePtrOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**CompressionType)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o CompressionTypePtrOutput) ToCompressionTypePtrOutput() CompressionTypePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o CompressionTypePtrOutput) ToCompressionTypePtrOutputWithContext(ctx context.Context) CompressionTypePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o CompressionTypePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CompressionType] {
|
||||
return pulumix.Output[*CompressionType]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o CompressionTypePtrOutput) Elem() CompressionTypeOutput {
|
||||
return o.ApplyT(func(v *CompressionType) CompressionType {
|
||||
if v != nil {
|
||||
return *v
|
||||
}
|
||||
var ret CompressionType
|
||||
return ret
|
||||
}).(CompressionTypeOutput)
|
||||
}
|
||||
|
||||
func (o CompressionTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return o.ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o CompressionTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e *CompressionType) *string {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
v := string(*e)
|
||||
return &v
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// CompressionTypeInput is an input type that accepts values of the CompressionType enum
|
||||
// A concrete instance of `CompressionTypeInput` can be one of the following:
|
||||
//
|
||||
// CompressionTypeGzip
|
||||
// CompressionTypeEstargz
|
||||
// CompressionTypeZstd
|
||||
type CompressionTypeInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToCompressionTypeOutput() CompressionTypeOutput
|
||||
ToCompressionTypeOutputWithContext(context.Context) CompressionTypeOutput
|
||||
}
|
||||
|
||||
var compressionTypePtrType = reflect.TypeOf((**CompressionType)(nil)).Elem()
|
||||
|
||||
type CompressionTypePtrInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToCompressionTypePtrOutput() CompressionTypePtrOutput
|
||||
ToCompressionTypePtrOutputWithContext(context.Context) CompressionTypePtrOutput
|
||||
}
|
||||
|
||||
type compressionTypePtr string
|
||||
|
||||
func CompressionTypePtr(v string) CompressionTypePtrInput {
|
||||
return (*compressionTypePtr)(&v)
|
||||
}
|
||||
|
||||
func (*compressionTypePtr) ElementType() reflect.Type {
|
||||
return compressionTypePtrType
|
||||
}
|
||||
|
||||
func (in *compressionTypePtr) ToCompressionTypePtrOutput() CompressionTypePtrOutput {
|
||||
return pulumi.ToOutput(in).(CompressionTypePtrOutput)
|
||||
}
|
||||
|
||||
func (in *compressionTypePtr) ToCompressionTypePtrOutputWithContext(ctx context.Context) CompressionTypePtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, in).(CompressionTypePtrOutput)
|
||||
}
|
||||
|
||||
func (in *compressionTypePtr) ToOutput(ctx context.Context) pulumix.Output[*CompressionType] {
|
||||
return pulumix.Output[*CompressionType]{
|
||||
OutputState: in.ToCompressionTypePtrOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type NetworkMode string
|
||||
|
||||
const (
|
||||
// The default sandbox network mode.
|
||||
NetworkModeDefault = NetworkMode("default")
|
||||
// Host network mode.
|
||||
NetworkModeHost = NetworkMode("host")
|
||||
// Disable network access.
|
||||
NetworkModeNone = NetworkMode("none")
|
||||
)
|
||||
|
||||
func (NetworkMode) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*NetworkMode)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (e NetworkMode) ToNetworkModeOutput() NetworkModeOutput {
|
||||
return pulumi.ToOutput(e).(NetworkModeOutput)
|
||||
}
|
||||
|
||||
func (e NetworkMode) ToNetworkModeOutputWithContext(ctx context.Context) NetworkModeOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, e).(NetworkModeOutput)
|
||||
}
|
||||
|
||||
func (e NetworkMode) ToNetworkModePtrOutput() NetworkModePtrOutput {
|
||||
return e.ToNetworkModePtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (e NetworkMode) ToNetworkModePtrOutputWithContext(ctx context.Context) NetworkModePtrOutput {
|
||||
return NetworkMode(e).ToNetworkModeOutputWithContext(ctx).ToNetworkModePtrOutputWithContext(ctx)
|
||||
}
|
||||
|
||||
func (e NetworkMode) ToStringOutput() pulumi.StringOutput {
|
||||
return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (e NetworkMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (e NetworkMode) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (e NetworkMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
|
||||
}
|
||||
|
||||
type NetworkModeOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (NetworkModeOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*NetworkMode)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o NetworkModeOutput) ToNetworkModeOutput() NetworkModeOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o NetworkModeOutput) ToNetworkModeOutputWithContext(ctx context.Context) NetworkModeOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o NetworkModeOutput) ToNetworkModePtrOutput() NetworkModePtrOutput {
|
||||
return o.ToNetworkModePtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o NetworkModeOutput) ToNetworkModePtrOutputWithContext(ctx context.Context) NetworkModePtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkMode) *NetworkMode {
|
||||
return &v
|
||||
}).(NetworkModePtrOutput)
|
||||
}
|
||||
|
||||
func (o NetworkModeOutput) ToOutput(ctx context.Context) pulumix.Output[NetworkMode] {
|
||||
return pulumix.Output[NetworkMode]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o NetworkModeOutput) ToStringOutput() pulumi.StringOutput {
|
||||
return o.ToStringOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o NetworkModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e NetworkMode) string {
|
||||
return string(e)
|
||||
}).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (o NetworkModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return o.ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o NetworkModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e NetworkMode) *string {
|
||||
v := string(e)
|
||||
return &v
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
type NetworkModePtrOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (NetworkModePtrOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**NetworkMode)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o NetworkModePtrOutput) ToNetworkModePtrOutput() NetworkModePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o NetworkModePtrOutput) ToNetworkModePtrOutputWithContext(ctx context.Context) NetworkModePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o NetworkModePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*NetworkMode] {
|
||||
return pulumix.Output[*NetworkMode]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o NetworkModePtrOutput) Elem() NetworkModeOutput {
|
||||
return o.ApplyT(func(v *NetworkMode) NetworkMode {
|
||||
if v != nil {
|
||||
return *v
|
||||
}
|
||||
var ret NetworkMode
|
||||
return ret
|
||||
}).(NetworkModeOutput)
|
||||
}
|
||||
|
||||
func (o NetworkModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return o.ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o NetworkModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e *NetworkMode) *string {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
v := string(*e)
|
||||
return &v
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// NetworkModeInput is an input type that accepts values of the NetworkMode enum
|
||||
// A concrete instance of `NetworkModeInput` can be one of the following:
|
||||
//
|
||||
// NetworkModeDefault
|
||||
// NetworkModeHost
|
||||
// NetworkModeNone
|
||||
type NetworkModeInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToNetworkModeOutput() NetworkModeOutput
|
||||
ToNetworkModeOutputWithContext(context.Context) NetworkModeOutput
|
||||
}
|
||||
|
||||
var networkModePtrType = reflect.TypeOf((**NetworkMode)(nil)).Elem()
|
||||
|
||||
type NetworkModePtrInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToNetworkModePtrOutput() NetworkModePtrOutput
|
||||
ToNetworkModePtrOutputWithContext(context.Context) NetworkModePtrOutput
|
||||
}
|
||||
|
||||
type networkModePtr string
|
||||
|
||||
func NetworkModePtr(v string) NetworkModePtrInput {
|
||||
return (*networkModePtr)(&v)
|
||||
}
|
||||
|
||||
func (*networkModePtr) ElementType() reflect.Type {
|
||||
return networkModePtrType
|
||||
}
|
||||
|
||||
func (in *networkModePtr) ToNetworkModePtrOutput() NetworkModePtrOutput {
|
||||
return pulumi.ToOutput(in).(NetworkModePtrOutput)
|
||||
}
|
||||
|
||||
func (in *networkModePtr) ToNetworkModePtrOutputWithContext(ctx context.Context) NetworkModePtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, in).(NetworkModePtrOutput)
|
||||
}
|
||||
|
||||
func (in *networkModePtr) ToOutput(ctx context.Context) pulumix.Output[*NetworkMode] {
|
||||
return pulumix.Output[*NetworkMode]{
|
||||
OutputState: in.ToNetworkModePtrOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type Platform string
|
||||
|
||||
const (
|
||||
Platform_Darwin_386 = Platform("darwin/386")
|
||||
Platform_Darwin_amd64 = Platform("darwin/amd64")
|
||||
Platform_Darwin_arm = Platform("darwin/arm")
|
||||
Platform_Darwin_arm64 = Platform("darwin/arm64")
|
||||
Platform_Dragonfly_amd64 = Platform("dragonfly/amd64")
|
||||
Platform_Freebsd_386 = Platform("freebsd/386")
|
||||
Platform_Freebsd_amd64 = Platform("freebsd/amd64")
|
||||
Platform_Freebsd_arm = Platform("freebsd/arm")
|
||||
Platform_Linux_386 = Platform("linux/386")
|
||||
Platform_Linux_amd64 = Platform("linux/amd64")
|
||||
Platform_Linux_arm = Platform("linux/arm")
|
||||
Platform_Linux_arm64 = Platform("linux/arm64")
|
||||
Platform_Linux_mips64 = Platform("linux/mips64")
|
||||
Platform_Linux_mips64le = Platform("linux/mips64le")
|
||||
Platform_Linux_ppc64le = Platform("linux/ppc64le")
|
||||
Platform_Linux_riscv64 = Platform("linux/riscv64")
|
||||
Platform_Linux_s390x = Platform("linux/s390x")
|
||||
Platform_Netbsd_386 = Platform("netbsd/386")
|
||||
Platform_Netbsd_amd64 = Platform("netbsd/amd64")
|
||||
Platform_Netbsd_arm = Platform("netbsd/arm")
|
||||
Platform_Openbsd_386 = Platform("openbsd/386")
|
||||
Platform_Openbsd_amd64 = Platform("openbsd/amd64")
|
||||
Platform_Openbsd_arm = Platform("openbsd/arm")
|
||||
Platform_Plan9_386 = Platform("plan9/386")
|
||||
Platform_Plan9_amd64 = Platform("plan9/amd64")
|
||||
Platform_Solaris_amd64 = Platform("solaris/amd64")
|
||||
Platform_Windows_386 = Platform("windows/386")
|
||||
Platform_Windows_amd64 = Platform("windows/amd64")
|
||||
)
|
||||
|
||||
func (Platform) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*Platform)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (e Platform) ToPlatformOutput() PlatformOutput {
|
||||
return pulumi.ToOutput(e).(PlatformOutput)
|
||||
}
|
||||
|
||||
func (e Platform) ToPlatformOutputWithContext(ctx context.Context) PlatformOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, e).(PlatformOutput)
|
||||
}
|
||||
|
||||
func (e Platform) ToPlatformPtrOutput() PlatformPtrOutput {
|
||||
return e.ToPlatformPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (e Platform) ToPlatformPtrOutputWithContext(ctx context.Context) PlatformPtrOutput {
|
||||
return Platform(e).ToPlatformOutputWithContext(ctx).ToPlatformPtrOutputWithContext(ctx)
|
||||
}
|
||||
|
||||
func (e Platform) ToStringOutput() pulumi.StringOutput {
|
||||
return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (e Platform) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (e Platform) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (e Platform) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
|
||||
}
|
||||
|
||||
type PlatformOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (PlatformOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*Platform)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o PlatformOutput) ToPlatformOutput() PlatformOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o PlatformOutput) ToPlatformOutputWithContext(ctx context.Context) PlatformOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o PlatformOutput) ToPlatformPtrOutput() PlatformPtrOutput {
|
||||
return o.ToPlatformPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o PlatformOutput) ToPlatformPtrOutputWithContext(ctx context.Context) PlatformPtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, v Platform) *Platform {
|
||||
return &v
|
||||
}).(PlatformPtrOutput)
|
||||
}
|
||||
|
||||
func (o PlatformOutput) ToOutput(ctx context.Context) pulumix.Output[Platform] {
|
||||
return pulumix.Output[Platform]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o PlatformOutput) ToStringOutput() pulumi.StringOutput {
|
||||
return o.ToStringOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o PlatformOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e Platform) string {
|
||||
return string(e)
|
||||
}).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func (o PlatformOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return o.ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o PlatformOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e Platform) *string {
|
||||
v := string(e)
|
||||
return &v
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
type PlatformPtrOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (PlatformPtrOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Platform)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o PlatformPtrOutput) ToPlatformPtrOutput() PlatformPtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o PlatformPtrOutput) ToPlatformPtrOutputWithContext(ctx context.Context) PlatformPtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o PlatformPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*Platform] {
|
||||
return pulumix.Output[*Platform]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o PlatformPtrOutput) Elem() PlatformOutput {
|
||||
return o.ApplyT(func(v *Platform) Platform {
|
||||
if v != nil {
|
||||
return *v
|
||||
}
|
||||
var ret Platform
|
||||
return ret
|
||||
}).(PlatformOutput)
|
||||
}
|
||||
|
||||
func (o PlatformPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||
return o.ToStringPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (o PlatformPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||
return o.ApplyTWithContext(ctx, func(_ context.Context, e *Platform) *string {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
v := string(*e)
|
||||
return &v
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// PlatformInput is an input type that accepts values of the Platform enum
|
||||
// A concrete instance of `PlatformInput` can be one of the following:
|
||||
//
|
||||
// Platform_Darwin_386
|
||||
// Platform_Darwin_amd64
|
||||
// Platform_Darwin_arm
|
||||
// Platform_Darwin_arm64
|
||||
// Platform_Dragonfly_amd64
|
||||
// Platform_Freebsd_386
|
||||
// Platform_Freebsd_amd64
|
||||
// Platform_Freebsd_arm
|
||||
// Platform_Linux_386
|
||||
// Platform_Linux_amd64
|
||||
// Platform_Linux_arm
|
||||
// Platform_Linux_arm64
|
||||
// Platform_Linux_mips64
|
||||
// Platform_Linux_mips64le
|
||||
// Platform_Linux_ppc64le
|
||||
// Platform_Linux_riscv64
|
||||
// Platform_Linux_s390x
|
||||
// Platform_Netbsd_386
|
||||
// Platform_Netbsd_amd64
|
||||
// Platform_Netbsd_arm
|
||||
// Platform_Openbsd_386
|
||||
// Platform_Openbsd_amd64
|
||||
// Platform_Openbsd_arm
|
||||
// Platform_Plan9_386
|
||||
// Platform_Plan9_amd64
|
||||
// Platform_Solaris_amd64
|
||||
// Platform_Windows_386
|
||||
// Platform_Windows_amd64
|
||||
type PlatformInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToPlatformOutput() PlatformOutput
|
||||
ToPlatformOutputWithContext(context.Context) PlatformOutput
|
||||
}
|
||||
|
||||
var platformPtrType = reflect.TypeOf((**Platform)(nil)).Elem()
|
||||
|
||||
type PlatformPtrInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToPlatformPtrOutput() PlatformPtrOutput
|
||||
ToPlatformPtrOutputWithContext(context.Context) PlatformPtrOutput
|
||||
}
|
||||
|
||||
type platformPtr string
|
||||
|
||||
func PlatformPtr(v string) PlatformPtrInput {
|
||||
return (*platformPtr)(&v)
|
||||
}
|
||||
|
||||
func (*platformPtr) ElementType() reflect.Type {
|
||||
return platformPtrType
|
||||
}
|
||||
|
||||
func (in *platformPtr) ToPlatformPtrOutput() PlatformPtrOutput {
|
||||
return pulumi.ToOutput(in).(PlatformPtrOutput)
|
||||
}
|
||||
|
||||
func (in *platformPtr) ToPlatformPtrOutputWithContext(ctx context.Context) PlatformPtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, in).(PlatformPtrOutput)
|
||||
}
|
||||
|
||||
func (in *platformPtr) ToOutput(ctx context.Context) pulumix.Output[*Platform] {
|
||||
return pulumix.Output[*Platform]{
|
||||
OutputState: in.ToPlatformPtrOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
// PlatformArrayInput is an input type that accepts PlatformArray and PlatformArrayOutput values.
|
||||
// You can construct a concrete instance of `PlatformArrayInput` via:
|
||||
//
|
||||
// PlatformArray{ PlatformArgs{...} }
|
||||
type PlatformArrayInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToPlatformArrayOutput() PlatformArrayOutput
|
||||
ToPlatformArrayOutputWithContext(context.Context) PlatformArrayOutput
|
||||
}
|
||||
|
||||
type PlatformArray []Platform
|
||||
|
||||
func (PlatformArray) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*[]Platform)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i PlatformArray) ToPlatformArrayOutput() PlatformArrayOutput {
|
||||
return i.ToPlatformArrayOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i PlatformArray) ToPlatformArrayOutputWithContext(ctx context.Context) PlatformArrayOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(PlatformArrayOutput)
|
||||
}
|
||||
|
||||
func (i PlatformArray) ToOutput(ctx context.Context) pulumix.Output[[]Platform] {
|
||||
return pulumix.Output[[]Platform]{
|
||||
OutputState: i.ToPlatformArrayOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type PlatformArrayOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (PlatformArrayOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*[]Platform)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o PlatformArrayOutput) ToPlatformArrayOutput() PlatformArrayOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o PlatformArrayOutput) ToPlatformArrayOutputWithContext(ctx context.Context) PlatformArrayOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o PlatformArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]Platform] {
|
||||
return pulumix.Output[[]Platform]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o PlatformArrayOutput) Index(i pulumi.IntInput) PlatformOutput {
|
||||
return pulumi.All(o, i).ApplyT(func(vs []interface{}) Platform {
|
||||
return vs[0].([]Platform)[vs[1].(int)]
|
||||
}).(PlatformOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*CacheModeInput)(nil)).Elem(), CacheMode("min"))
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*CacheModePtrInput)(nil)).Elem(), CacheMode("min"))
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*CompressionTypeInput)(nil)).Elem(), CompressionType("gzip"))
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*CompressionTypePtrInput)(nil)).Elem(), CompressionType("gzip"))
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*NetworkModeInput)(nil)).Elem(), NetworkMode("default"))
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*NetworkModePtrInput)(nil)).Elem(), NetworkMode("default"))
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*PlatformInput)(nil)).Elem(), Platform("darwin/386"))
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*PlatformPtrInput)(nil)).Elem(), Platform("darwin/386"))
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*PlatformArrayInput)(nil)).Elem(), PlatformArray{})
|
||||
pulumi.RegisterOutputType(CacheModeOutput{})
|
||||
pulumi.RegisterOutputType(CacheModePtrOutput{})
|
||||
pulumi.RegisterOutputType(CompressionTypeOutput{})
|
||||
pulumi.RegisterOutputType(CompressionTypePtrOutput{})
|
||||
pulumi.RegisterOutputType(NetworkModeOutput{})
|
||||
pulumi.RegisterOutputType(NetworkModePtrOutput{})
|
||||
pulumi.RegisterOutputType(PlatformOutput{})
|
||||
pulumi.RegisterOutputType(PlatformPtrOutput{})
|
||||
pulumi.RegisterOutputType(PlatformArrayOutput{})
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,28 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package config
|
||||
|
||||
import (
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
|
||||
)
|
||||
|
||||
var _ = internal.GetEnvOrDefault
|
||||
|
||||
// The build daemon's address.
|
||||
func GetHost(ctx *pulumi.Context) string {
|
||||
v, err := config.Try(ctx, "docker-build:host")
|
||||
if err == nil {
|
||||
return v
|
||||
}
|
||||
var value string
|
||||
if d := internal.GetEnvOrDefault("", nil, "DOCKER_HOST"); d != nil {
|
||||
value = d.(string)
|
||||
}
|
||||
return value
|
||||
}
|
||||
func GetRegistries(ctx *pulumi.Context) string {
|
||||
return config.Get(ctx, "docker-build:registries")
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
// A Pulumi provider for building modern Docker images with buildx and BuildKit.
|
||||
package dockerbuild
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,288 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package dockerbuild
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"errors"
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// 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
|
||||
// ```go
|
||||
// package main
|
||||
//
|
||||
// import (
|
||||
//
|
||||
// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
|
||||
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
//
|
||||
// )
|
||||
//
|
||||
// func main() {
|
||||
// pulumi.Run(func(ctx *pulumi.Context) error {
|
||||
// amd64, err := dockerbuild.NewImage(ctx, "amd64", &dockerbuild.ImageArgs{
|
||||
// CacheFrom: dockerbuild.CacheFromArray{
|
||||
// &dockerbuild.CacheFromArgs{
|
||||
// Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-amd64"),
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// CacheTo: dockerbuild.CacheToArray{
|
||||
// &dockerbuild.CacheToArgs{
|
||||
// Registry: &dockerbuild.CacheToRegistryArgs{
|
||||
// Mode: dockerbuild.CacheModeMax,
|
||||
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-amd64"),
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// Context: &dockerbuild.BuildContextArgs{
|
||||
// Location: pulumi.String("app"),
|
||||
// },
|
||||
// Platforms: docker - build.PlatformArray{
|
||||
// dockerbuild.Platform_Linux_amd64,
|
||||
// },
|
||||
// Tags: pulumi.StringArray{
|
||||
// pulumi.String("docker.io/pulumi/pulumi:3.107.0-amd64"),
|
||||
// },
|
||||
// })
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// arm64, err := dockerbuild.NewImage(ctx, "arm64", &dockerbuild.ImageArgs{
|
||||
// CacheFrom: dockerbuild.CacheFromArray{
|
||||
// &dockerbuild.CacheFromArgs{
|
||||
// Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-arm64"),
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// CacheTo: dockerbuild.CacheToArray{
|
||||
// &dockerbuild.CacheToArgs{
|
||||
// Registry: &dockerbuild.CacheToRegistryArgs{
|
||||
// Mode: dockerbuild.CacheModeMax,
|
||||
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-arm64"),
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// Context: &dockerbuild.BuildContextArgs{
|
||||
// Location: pulumi.String("app"),
|
||||
// },
|
||||
// Platforms: docker - build.PlatformArray{
|
||||
// dockerbuild.Platform_Linux_arm64,
|
||||
// },
|
||||
// Tags: pulumi.StringArray{
|
||||
// pulumi.String("docker.io/pulumi/pulumi:3.107.0-arm64"),
|
||||
// },
|
||||
// })
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// index, err := dockerbuild.NewIndex(ctx, "index", &dockerbuild.IndexArgs{
|
||||
// Sources: pulumi.StringArray{
|
||||
// amd64.Ref,
|
||||
// arm64.Ref,
|
||||
// },
|
||||
// Tag: pulumi.String("docker.io/pulumi/pulumi:3.107.0"),
|
||||
// })
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// ctx.Export("ref", index.Ref)
|
||||
// return nil
|
||||
// })
|
||||
// }
|
||||
//
|
||||
// ```
|
||||
type Index struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
// If true, push the index to the target registry.
|
||||
//
|
||||
// Defaults to `true`.
|
||||
Push pulumix.Output[*bool] `pulumi:"push"`
|
||||
// The pushed tag with digest.
|
||||
//
|
||||
// Identical to the tag if the index was not pushed.
|
||||
Ref pulumix.Output[string] `pulumi:"ref"`
|
||||
// Authentication for the registry where the tagged index will be pushed.
|
||||
//
|
||||
// Credentials can also be included with the provider's configuration.
|
||||
Registry pulumix.GPtrOutput[Registry, RegistryOutput] `pulumi:"registry"`
|
||||
// Existing images to include in the index.
|
||||
Sources pulumix.ArrayOutput[string] `pulumi:"sources"`
|
||||
// The tag to apply to the index.
|
||||
Tag pulumix.Output[string] `pulumi:"tag"`
|
||||
}
|
||||
|
||||
// NewIndex registers a new resource with the given unique name, arguments, and options.
|
||||
func NewIndex(ctx *pulumi.Context,
|
||||
name string, args *IndexArgs, opts ...pulumi.ResourceOption) (*Index, error) {
|
||||
if args == nil {
|
||||
return nil, errors.New("missing one or more required arguments")
|
||||
}
|
||||
|
||||
if args.Sources == nil {
|
||||
return nil, errors.New("invalid value for required argument 'Sources'")
|
||||
}
|
||||
if args.Tag == nil {
|
||||
return nil, errors.New("invalid value for required argument 'Tag'")
|
||||
}
|
||||
if args.Push == nil {
|
||||
args.Push = pulumix.Ptr(true)
|
||||
}
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource Index
|
||||
err := ctx.RegisterResource("docker-build:index:Index", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetIndex gets an existing Index resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetIndex(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *IndexState, opts ...pulumi.ResourceOption) (*Index, error) {
|
||||
var resource Index
|
||||
err := ctx.ReadResource("docker-build:index:Index", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering Index resources.
|
||||
type indexState struct {
|
||||
}
|
||||
|
||||
type IndexState struct {
|
||||
}
|
||||
|
||||
func (IndexState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*indexState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type indexArgs struct {
|
||||
// If true, push the index to the target registry.
|
||||
//
|
||||
// Defaults to `true`.
|
||||
Push *bool `pulumi:"push"`
|
||||
// Authentication for the registry where the tagged index will be pushed.
|
||||
//
|
||||
// Credentials can also be included with the provider's configuration.
|
||||
Registry *Registry `pulumi:"registry"`
|
||||
// Existing images to include in the index.
|
||||
Sources []string `pulumi:"sources"`
|
||||
// The tag to apply to the index.
|
||||
Tag string `pulumi:"tag"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a Index resource.
|
||||
type IndexArgs struct {
|
||||
// If true, push the index to the target registry.
|
||||
//
|
||||
// Defaults to `true`.
|
||||
Push pulumix.Input[*bool]
|
||||
// Authentication for the registry where the tagged index will be pushed.
|
||||
//
|
||||
// Credentials can also be included with the provider's configuration.
|
||||
Registry pulumix.Input[*RegistryArgs]
|
||||
// Existing images to include in the index.
|
||||
Sources pulumix.Input[[]string]
|
||||
// The tag to apply to the index.
|
||||
Tag pulumix.Input[string]
|
||||
}
|
||||
|
||||
func (IndexArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*indexArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type IndexOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (IndexOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*Index)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o IndexOutput) ToIndexOutput() IndexOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o IndexOutput) ToIndexOutputWithContext(ctx context.Context) IndexOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o IndexOutput) ToOutput(ctx context.Context) pulumix.Output[Index] {
|
||||
return pulumix.Output[Index]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
// If true, push the index to the target registry.
|
||||
//
|
||||
// Defaults to `true`.
|
||||
func (o IndexOutput) Push() pulumix.Output[*bool] {
|
||||
value := pulumix.Apply[Index](o, func(v Index) pulumix.Output[*bool] { return v.Push })
|
||||
return pulumix.Flatten[*bool, pulumix.Output[*bool]](value)
|
||||
}
|
||||
|
||||
// The pushed tag with digest.
|
||||
//
|
||||
// Identical to the tag if the index was not pushed.
|
||||
func (o IndexOutput) Ref() pulumix.Output[string] {
|
||||
value := pulumix.Apply[Index](o, func(v Index) pulumix.Output[string] { return v.Ref })
|
||||
return pulumix.Flatten[string, pulumix.Output[string]](value)
|
||||
}
|
||||
|
||||
// Authentication for the registry where the tagged index will be pushed.
|
||||
//
|
||||
// Credentials can also be included with the provider's configuration.
|
||||
func (o IndexOutput) Registry() pulumix.GPtrOutput[Registry, RegistryOutput] {
|
||||
value := pulumix.Apply[Index](o, func(v Index) pulumix.GPtrOutput[Registry, RegistryOutput] { return v.Registry })
|
||||
unwrapped := pulumix.Flatten[*Registry, pulumix.GPtrOutput[Registry, RegistryOutput]](value)
|
||||
return pulumix.GPtrOutput[Registry, RegistryOutput]{OutputState: unwrapped.OutputState}
|
||||
}
|
||||
|
||||
// Existing images to include in the index.
|
||||
func (o IndexOutput) Sources() pulumix.ArrayOutput[string] {
|
||||
value := pulumix.Apply[Index](o, func(v Index) pulumix.ArrayOutput[string] { return v.Sources })
|
||||
unwrapped := pulumix.Flatten[[]string, pulumix.ArrayOutput[string]](value)
|
||||
return pulumix.ArrayOutput[string]{OutputState: unwrapped.OutputState}
|
||||
}
|
||||
|
||||
// The tag to apply to the index.
|
||||
func (o IndexOutput) Tag() pulumix.Output[string] {
|
||||
value := pulumix.Apply[Index](o, func(v Index) pulumix.Output[string] { return v.Tag })
|
||||
return pulumix.Flatten[string, pulumix.Output[string]](value)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterOutputType(IndexOutput{})
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package dockerbuild
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
type module struct {
|
||||
version semver.Version
|
||||
}
|
||||
|
||||
func (m *module) Version() semver.Version {
|
||||
return m.version
|
||||
}
|
||||
|
||||
func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
|
||||
switch typ {
|
||||
case "docker-build:index:Image":
|
||||
r = &Image{}
|
||||
case "docker-build:index:Index":
|
||||
r = &Index{}
|
||||
default:
|
||||
return nil, fmt.Errorf("unknown resource type: %s", typ)
|
||||
}
|
||||
|
||||
err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||
return
|
||||
}
|
||||
|
||||
type pkg struct {
|
||||
version semver.Version
|
||||
}
|
||||
|
||||
func (p *pkg) Version() semver.Version {
|
||||
return p.version
|
||||
}
|
||||
|
||||
func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) {
|
||||
if typ != "pulumi:providers:docker-build" {
|
||||
return nil, fmt.Errorf("unknown provider type: %s", typ)
|
||||
}
|
||||
|
||||
r := &Provider{}
|
||||
err := ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||
return r, err
|
||||
}
|
||||
|
||||
func init() {
|
||||
version, err := internal.PkgVersion()
|
||||
if err != nil {
|
||||
version = semver.Version{Major: 1}
|
||||
}
|
||||
pulumi.RegisterResourceModule(
|
||||
"docker-build",
|
||||
"index",
|
||||
&module{version},
|
||||
)
|
||||
pulumi.RegisterResourcePackage(
|
||||
"docker-build",
|
||||
&pkg{version},
|
||||
)
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package dockerbuild
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
type Provider struct {
|
||||
pulumi.ProviderResourceState
|
||||
|
||||
// The build daemon's address.
|
||||
Host pulumix.Output[*string] `pulumi:"host"`
|
||||
}
|
||||
|
||||
// NewProvider registers a new resource with the given unique name, arguments, and options.
|
||||
func NewProvider(ctx *pulumi.Context,
|
||||
name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) {
|
||||
if args == nil {
|
||||
args = &ProviderArgs{}
|
||||
}
|
||||
|
||||
if args.Host == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "DOCKER_HOST"); d != nil {
|
||||
args.Host = pulumix.Ptr(d.(string))
|
||||
}
|
||||
}
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource Provider
|
||||
err := ctx.RegisterResource("pulumi:providers:docker-build", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
type providerArgs struct {
|
||||
// The build daemon's address.
|
||||
Host *string `pulumi:"host"`
|
||||
Registries []Registry `pulumi:"registries"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a Provider resource.
|
||||
type ProviderArgs struct {
|
||||
// The build daemon's address.
|
||||
Host pulumix.Input[*string]
|
||||
Registries pulumix.Input[[]*RegistryArgs]
|
||||
}
|
||||
|
||||
func (ProviderArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*providerArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type ProviderOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (ProviderOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*Provider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o ProviderOutput) ToProviderOutput() ProviderOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ProviderOutput) ToOutput(ctx context.Context) pulumix.Output[Provider] {
|
||||
return pulumix.Output[Provider]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
// The build daemon's address.
|
||||
func (o ProviderOutput) Host() pulumix.Output[*string] {
|
||||
value := pulumix.Apply[Provider](o, func(v Provider) pulumix.Output[*string] { return v.Host })
|
||||
return pulumix.Flatten[*string, pulumix.Output[*string]](value)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterOutputType(ProviderOutput{})
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package dockerbuild
|
||||
|
||||
type CacheMode string
|
||||
|
||||
const (
|
||||
// Only layers that are exported into the resulting image are cached.
|
||||
CacheModeCacheModeMin = CacheMode("min")
|
||||
// All layers are cached, even those of intermediate steps.
|
||||
CacheModeCacheModeMax = CacheMode("max")
|
||||
)
|
||||
|
||||
type CompressionType string
|
||||
|
||||
const (
|
||||
// Use `gzip` for compression.
|
||||
CompressionTypeCompressionTypeGzip = CompressionType("gzip")
|
||||
// Use `estargz` for compression.
|
||||
CompressionTypeCompressionTypeEstargz = CompressionType("estargz")
|
||||
// Use `zstd` for compression.
|
||||
CompressionTypeCompressionTypeZstd = CompressionType("zstd")
|
||||
)
|
||||
|
||||
type NetworkMode string
|
||||
|
||||
const (
|
||||
// The default sandbox network mode.
|
||||
NetworkModeNetworkModeDefault = NetworkMode("default")
|
||||
// Host network mode.
|
||||
NetworkModeNetworkModeHost = NetworkMode("host")
|
||||
// Disable network access.
|
||||
NetworkModeNetworkModeNone = NetworkMode("none")
|
||||
)
|
||||
|
||||
type Platform string
|
||||
|
||||
const (
|
||||
Platform_Platform_Darwin_386 = Platform("darwin/386")
|
||||
Platform_Platform_Darwin_amd64 = Platform("darwin/amd64")
|
||||
Platform_Platform_Darwin_arm = Platform("darwin/arm")
|
||||
Platform_Platform_Darwin_arm64 = Platform("darwin/arm64")
|
||||
Platform_Platform_Dragonfly_amd64 = Platform("dragonfly/amd64")
|
||||
Platform_Platform_Freebsd_386 = Platform("freebsd/386")
|
||||
Platform_Platform_Freebsd_amd64 = Platform("freebsd/amd64")
|
||||
Platform_Platform_Freebsd_arm = Platform("freebsd/arm")
|
||||
Platform_Platform_Linux_386 = Platform("linux/386")
|
||||
Platform_Platform_Linux_amd64 = Platform("linux/amd64")
|
||||
Platform_Platform_Linux_arm = Platform("linux/arm")
|
||||
Platform_Platform_Linux_arm64 = Platform("linux/arm64")
|
||||
Platform_Platform_Linux_mips64 = Platform("linux/mips64")
|
||||
Platform_Platform_Linux_mips64le = Platform("linux/mips64le")
|
||||
Platform_Platform_Linux_ppc64le = Platform("linux/ppc64le")
|
||||
Platform_Platform_Linux_riscv64 = Platform("linux/riscv64")
|
||||
Platform_Platform_Linux_s390x = Platform("linux/s390x")
|
||||
Platform_Platform_Netbsd_386 = Platform("netbsd/386")
|
||||
Platform_Platform_Netbsd_amd64 = Platform("netbsd/amd64")
|
||||
Platform_Platform_Netbsd_arm = Platform("netbsd/arm")
|
||||
Platform_Platform_Openbsd_386 = Platform("openbsd/386")
|
||||
Platform_Platform_Openbsd_amd64 = Platform("openbsd/amd64")
|
||||
Platform_Platform_Openbsd_arm = Platform("openbsd/arm")
|
||||
Platform_Platform_Plan9_386 = Platform("plan9/386")
|
||||
Platform_Platform_Plan9_amd64 = Platform("plan9/amd64")
|
||||
Platform_Platform_Solaris_amd64 = Platform("solaris/amd64")
|
||||
Platform_Platform_Windows_386 = Platform("windows/386")
|
||||
Platform_Platform_Windows_amd64 = Platform("windows/amd64")
|
||||
)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
A Pulumi provider for building modern Docker images with buildx and BuildKit.
|
||||
@@ -1,14 +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"
|
||||
include("lib")
|
||||
@@ -1,26 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild;
|
||||
|
||||
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'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
@@ -1,255 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild;
|
||||
|
||||
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'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'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(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(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(String name, IndexArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Index", name, args == null ? IndexArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
|
||||
}
|
||||
|
||||
private Index(String name, Output<String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Index", name, null, makeResourceOptions(options, id));
|
||||
}
|
||||
|
||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<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(String name, Output<String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
return new Index(name, id, options);
|
||||
}
|
||||
}
|
||||
@@ -1,232 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild;
|
||||
|
||||
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'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'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'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'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 $;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild;
|
||||
|
||||
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's address.
|
||||
*
|
||||
*/
|
||||
@Export(name="host", refs={String.class}, tree="[0]")
|
||||
private Output</* @Nullable */ String> host;
|
||||
|
||||
/**
|
||||
* @return The build daemon's address.
|
||||
*
|
||||
*/
|
||||
public Output<Optional<String>> host() {
|
||||
return Codegen.optional(this.host);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param name The _unique_ name of the resulting resource.
|
||||
*/
|
||||
public Provider(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(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(String name, @Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build", name, args == null ? ProviderArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
|
||||
}
|
||||
|
||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<String> id) {
|
||||
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
|
||||
.version(Utilities.getVersion())
|
||||
.build();
|
||||
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,108 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild;
|
||||
|
||||
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's address.
|
||||
*
|
||||
*/
|
||||
@Import(name="host")
|
||||
private @Nullable Output<String> host;
|
||||
|
||||
/**
|
||||
* @return The build daemon'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's address.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder host(@Nullable Output<String> host) {
|
||||
$.host = host;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param host The build daemon'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 $;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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;
|
||||
|
||||
public class Utilities {
|
||||
|
||||
public static Optional<String> getEnv(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<Boolean> getEnvBoolean(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<Integer> getEnvInteger(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<Double> getEnvDouble(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()
|
||||
);
|
||||
}
|
||||
|
||||
private static final String version;
|
||||
public static 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(
|
||||
String.format("expected resource '%s' on Classpath, not found", resourceName)
|
||||
);
|
||||
}
|
||||
version = new BufferedReader(new InputStreamReader(versionFile))
|
||||
.lines()
|
||||
.collect(Collectors.joining("\n"))
|
||||
.trim();
|
||||
}
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild.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 String toString() {
|
||||
return new StringJoiner(", ", "CacheMode[", "]")
|
||||
.add("value='" + this.value + "'")
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild.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 String toString() {
|
||||
return new StringJoiner(", ", "CompressionType[", "]")
|
||||
.add("value='" + this.value + "'")
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild.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 String toString() {
|
||||
return new StringJoiner(", ", "NetworkMode[", "]")
|
||||
.add("value='" + this.value + "'")
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild.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 String toString() {
|
||||
return new StringJoiner(", ", "Platform[", "]")
|
||||
.add("value='" + this.value + "'")
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -1,174 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild.inputs;
|
||||
|
||||
import com.pulumi.core.Output;
|
||||
import com.pulumi.core.annotations.Import;
|
||||
import com.pulumi.dockerbuild.inputs.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 $;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,103 +0,0 @@
|
||||
// *** WARNING: this file was generated by pulumi. ***
|
||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package com.pulumi.dockerbuild.inputs;
|
||||
|
||||
import com.pulumi.core.Output;
|
||||
import com.pulumi.core.annotations.Import;
|
||||
import 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'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'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'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's `--builder` flag.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder name(String name) {
|
||||
return name(Output.of(name));
|
||||
}
|
||||
|
||||
public BuilderConfigArgs build() {
|
||||
return $;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user