This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@pulumi/pulumi](https://redirect.github.com/pulumi/pulumi) ([source](https://redirect.github.com/pulumi/pulumi/tree/HEAD/sdk/nodejs)) | dependencies | minor | [`3.231.0` -> `3.235.0`](https://renovatebot.com/diffs/npm/@pulumi%2fpulumi/3.231.0/3.235.0) | | [github.com/pulumi/providertest](https://redirect.github.com/pulumi/providertest) | require | minor | `v0.6.0` -> `v0.7.0` | | [github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3](https://redirect.github.com/pulumi/pulumi-dotnet) | require | minor | `v3.103.0` -> `v3.105.0` | | [github.com/pulumi/pulumi-go-provider](https://redirect.github.com/pulumi/pulumi-go-provider) | require | patch | `v1.3.1` -> `v1.3.2` | | [github.com/pulumi/pulumi/pkg/v3](https://redirect.github.com/pulumi/pulumi) | require | minor | `v3.230.0` -> `v3.234.0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>pulumi/pulumi (@​pulumi/pulumi)</summary> ### [`v3.235.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.235.0) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.234.0...v3.235.0) ##### 3.235.0 (2026-05-05) ##### Features - \[cli] Add `pulumi logs decrypt` command for viewing logs [#​22523](https://redirect.github.com/pulumi/pulumi/pull/22523) - \[cli] Bundle the `hcl` language host (from pulumi-labs/pulumi-hcl) [#​22807](https://redirect.github.com/pulumi/pulumi/pull/22807) - \[cli] Automatically install the `hcl` converter from pulumi-labs/pulumi-hcl when running `pulumi convert --from hcl` [#​22816](https://redirect.github.com/pulumi/pulumi/pull/22816) - \[pcl] Add `read` blocks to PCL to read resources via ID and query instead of registering them [#​22641](https://redirect.github.com/pulumi/pulumi/pull/22641) - \[cli/cloud] Add `pulumi cloud api <op-or-path>` for calling any Pulumi Cloud API endpoint, with `--field`/`--header`/`--input`/`--body` flag handling, path template binding, content negotiation via `--format`, and `--dry-run` [#​22771](https://redirect.github.com/pulumi/pulumi/pull/22771) - \[cli/cloud] Add `--paginate` to `pulumi cloud api`: follow continuation cursors, accumulate items into a single JSON envelope, and surface progress events to stderr with `--emit-events` (page, complete, truncated, partial_failure, cancelled). [#​22772](https://redirect.github.com/pulumi/pulumi/pull/22772) ##### Bug Fixes - \[cli] Fix the `pulumi neo` shell tool to honor the agent-supplied `timeout` and to terminate the whole process tree (and unblock cmd.Wait) when the deadline fires, so commands like `kubectl logs -f` no longer hang Neo indefinitely. [#​22820](https://redirect.github.com/pulumi/pulumi/pull/22820) - \[cli] Surface the error and exit when `pulumi neo` fails to create the underlying task, instead of leaving the TUI stuck in `Thinking…` [#​22825](https://redirect.github.com/pulumi/pulumi/pull/22825) - \[codegen/go] Correctly generate `[]pulumi.Asset` & `[]pulumi.Archive` [#​22827](https://redirect.github.com/pulumi/pulumi/pull/22827) - \[cli/neo] Exit cleanly when the user presses Ctrl+C twice in `pulumi neo` instead of hanging until a third press [#​22821](https://redirect.github.com/pulumi/pulumi/pull/22821) - \[engine] The engine now caches schemas at `PULUMI_HOME/schemas`, and will cache for parameterised packages as well [#​22812](https://redirect.github.com/pulumi/pulumi/pull/22812) - \[sdk-python] Preserve `__`-prefixed keys (e.g. `__type` discriminators) across RPC deserialization, matching the behavior of the other language SDKs [#​22834](https://redirect.github.com/pulumi/pulumi/pull/22834) - \[programgen/{nodejs,python}] Fix programgen to emit the right `length` check for string length [#​22802](https://redirect.github.com/pulumi/pulumi/pull/22802) ##### Miscellaneous - \[cli] Replace the Pulumipus mascot in the `pulumi neo` welcome banner with new Neo-branded ASCII art. [#​22817](https://redirect.github.com/pulumi/pulumi/pull/22817) ### [`v3.234.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32340-2026-05-01) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.233.0...v3.234.0) ##### Features - \[cli/cloud] Add `pulumi cloud api describe` for inspecting the parameters, request body, and response schema of any Pulumi Cloud API operation, with text, markdown, and JSON output [#​22770](https://redirect.github.com/pulumi/pulumi/pull/22770) - \[cli/cloud] Add `pulumi cloud api list` for browsing every endpoint exposed by the Pulumi Cloud OpenAPI spec, with table and JSON output [#​22769](https://redirect.github.com/pulumi/pulumi/pull/22769) ##### Bug Fixes - \[engine] Revert changes to property path parsing that resulted in errors for currently valid paths ### [`v3.233.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32330-2026-04-30) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.232.0...v3.233.0) ##### Features - \[auto/python] Expose the auto-generated Pulumi CLI interface as `workspace.cli_api` [#​22638](https://redirect.github.com/pulumi/pulumi/pull/22638) - \[cli] Add encrypted logging to ~/.pulumi/logs; use the PULUMI_ENABLE_AUTOMATIC_LOGGING feature flag to turn it on [#​22494](https://redirect.github.com/pulumi/pulumi/pull/22494) - \[cli] Implement the `filesystem__grep` and `filesystem__content_replace` local tools for `pulumi neo`. `grep` runs a regex search across files in the project root with an optional `include` glob filter and returns results in `path:lineno: line` form. `content_replace` performs a literal multi-file search-and-replace with a `file_pattern` glob and `dry_run` preview mode. Both tools skip binary files, hidden directories, and `node_modules`, and reject paths outside the project root. Their input schemas match the cloud-side tool definitions. [#​22655](https://redirect.github.com/pulumi/pulumi/pull/22655) - \[cli] Add `pulumi_preview` and `pulumi_up` as local tools for the experimental `pulumi neo` agent. The Neo TUI renders a persistent bordered block for each operation that streams changed resources and diagnostics as the engine runs and finalizes with a summary of the op counts. Hidden behind PULUMI_EXPERIMENTAL. [#​22697](https://redirect.github.com/pulumi/pulumi/pull/22697) - \[engine] Add `List` to the provider protocol and schema [#​22693](https://redirect.github.com/pulumi/pulumi/pull/22693) ##### Bug Fixes - \[engine] Return a clear error when two installed plugins claim the same default provider package name (for example, a native `scaleway` provider alongside a `terraform-provider` bridge parameterized as `scaleway`) instead of panicking with "Should not have seen an older plugin if sorting is correct!" [#​22679](https://redirect.github.com/pulumi/pulumi/pull/22679) - \[programgen] Do not wrap a `call(...)` on a method whose return type is marked plain in an Output. Previously PCL bound every method call's return type as `Output<T>`, which caused downstream program-gen to emit broken `.apply(...)`/`.ApplyT(...)` traversals against plain struct returns (e.g. methods with `liftSingleValueMethodReturns=true` or `ReturnTypePlain=true`). [#​22696](https://redirect.github.com/pulumi/pulumi/pull/22696) - \[backend/diy] When using a backend url containing creds (e.g. PostgreSQL conn string), mask user:pass as in lock-related error messages [#​22701](https://redirect.github.com/pulumi/pulumi/pull/22701) - \[codegen/go] Generate unqualified `Provider` references for the package's own provider resource. Previously the Go codegen always emitted `<pkg>.Provider` even when the reference appeared inside `<pkg>` itself, producing identifiers that would not compile. Affects generated code for method return types (and other schema positions) that reference `pulumi:providers:<pkg>`. [#​22696](https://redirect.github.com/pulumi/pulumi/pull/22696) - \[codegen/nodejs] Generate unqualified `Provider` references for the package's own provider resource when emitting TypeScript code inside that package. Previously the generator always qualified the name as `<pkg>.Provider`, which does not resolve when no `<pkg>` namespace import is in scope. [#​22696](https://redirect.github.com/pulumi/pulumi/pull/22696) - \[codegen/nodejs] Import the correct class name for a provider resource. Imports for `pulumi:providers:<pkg>` used the title-cased package name instead of `Provider`, producing a phantom identifier that clashed with the containing package's component/resource classes. [#​22696](https://redirect.github.com/pulumi/pulumi/pull/22696) - \[programgen/nodejs] Emit `await` for `call(...)` invocations of methods whose return type is marked plain, and force the generated program into an async `export = async () => ...` wrapper whenever such a call is present. The Node SDK returns `Promise<T>` for plain methods; previously program-gen used the result directly, which did not match its runtime type. [#​22696](https://redirect.github.com/pulumi/pulumi/pull/22696) - \[codegen/python] Avoid a self-import (`import pulumi_<pkg>` inside `pulumi_<pkg>/<module>.py`) when referencing the package's own provider resource. Python referenced the Provider as `pulumi_<pkg>.Provider` even inside that package, which caused a circular import at runtime. [#​22696](https://redirect.github.com/pulumi/pulumi/pull/22696) - \[sdk/python] Reduce internal `Output[T]` data to a single `asyncio.Future` [#​22661](https://redirect.github.com/pulumi/pulumi/pull/22661) - \[sdkgen/{nodejs,python}] Generate optional input types that accept undefined/None values [#​22552](https://redirect.github.com/pulumi/pulumi/pull/22552) ##### Miscellaneous - \[auto/go] Drop the "With" prefix from generated option helpers so they match the naming of the existing optXxx packages [#​22682](https://redirect.github.com/pulumi/pulumi/pull/22682) ### [`v3.232.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32320-2026-04-22) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.231.0...v3.232.0) ##### Features - \[cli] Add an experimental `pulumi neo` command that creates a Pulumi Neo agent task in CLI tool-execution mode and runs the local tool loop. Filesystem and shell tool calls issued by the agent run on the user's machine in their working directory; the interactive chat continues to happen in the Pulumi Console at the URL the command prints. Hidden behind PULUMI_EXPERIMENTAL. [#​22473](https://redirect.github.com/pulumi/pulumi/pull/22473) - \[cli] Add support for handling user approval requests in the `pulumi neo` terminal UI. When the agent requests confirmation for a sensitive action, the TUI prompts the user and forwards their response back to the Pulumi Console. Hidden behind PULUMI_EXPERIMENTAL. [#​22589](https://redirect.github.com/pulumi/pulumi/pull/22589) - \[cli] Add an interactive terminal UI for `pulumi neo` built with bubbletea, rendering agent messages, tool calls, and streaming output in the terminal alongside the Pulumi Console session. Hidden behind PULUMI_EXPERIMENTAL. [#​22570](https://redirect.github.com/pulumi/pulumi/pull/22570) - \[cli] Switch logging library from glog to slog. BREAKING: any `if logging.V(x) {` need to be changed to `if logging.V(x).Enabled()` [#​22548](https://redirect.github.com/pulumi/pulumi/pull/22548) - \[cli] Add a plan-mode toggle to the `pulumi neo` TUI, bound to Shift+Tab. When plan mode is on, Neo explores and asks questions without writing files, running `pulumi up`, or opening PRs, and surfaces an approved plan via a dedicated approval gate. The toggle must be set before the first message (plan mode is task-level on the wire); approving the proposed plan exits plan mode automatically. [#​22634](https://redirect.github.com/pulumi/pulumi/pull/22634) - \[cli] The `pulumi neo` TUI now drives its "thinking" spinner off a single declarative rule (the spinner stays on until a final event — final assistant message, approval request, cancellation, or error — lands), so the indicator no longer flickers off when the agent hands off tool calls to the CLI or when streaming text arrives between tools. Press `Esc` during a turn to ask the agent to cancel; the label switches to "Cancelling..." until the backend acknowledges. [#​22637](https://redirect.github.com/pulumi/pulumi/pull/22637) - \[cli] `pulumi neo` now executes the `edit` filesystem tool locally, matching the schema and response wording of the upstream mcp-claude-code tool so the agent sees identical output whether the call ran on Cloud or CLI. `edit` performs exact-string replacement with occurrence-count validation, and creates a new file when the target is missing and `old_string` is empty. [#​22654](https://redirect.github.com/pulumi/pulumi/pull/22654) ##### Bug Fixes - \[cli] Render user messages in the `pulumi neo` TUI as soon as they're submitted instead of waiting for the Pulumi Cloud event stream to echo them back. The initial prompt passed on the command line also appears in the transcript at startup. Self-echoes from the server are de-duplicated; user input that originated from another client (e.g. the web UI on the same task) still renders. [#​22629](https://redirect.github.com/pulumi/pulumi/pull/22629) - \[cli] Wrap warnings, errors, and user-message bubbles to the terminal width in the `pulumi neo` TUI. Previously these blocks rendered as single long lines that were clipped at the right edge of the viewport. On resize, all width-dependent transcript blocks (user messages, warnings, errors, assistant messages) now reflow to the new terminal width. [#​22635](https://redirect.github.com/pulumi/pulumi/pull/22635) - \[cli/policy] Fix `policy ls` to use the default org name, not username [#​22656](https://redirect.github.com/pulumi/pulumi/pull/22656) - \[engine] Fix provider registry race condition in parallel delete-before-replace [#​21487](https://redirect.github.com/pulumi/pulumi/pull/21487) - \[engine] Signal providers to cancel before closing them during replacement - \[sdkgen] Error on 'id' in state inputs [#​22636](https://redirect.github.com/pulumi/pulumi/pull/22636) - \[programgen/python] Add necessary casts between types in generated programs [#​22567](https://redirect.github.com/pulumi/pulumi/pull/22567) - \[sdkgen/go] Fix caching of package references to be per-deployment not per-process [#​22170](https://redirect.github.com/pulumi/pulumi/pull/22170) ##### Miscellaneous - \[java] Upgrade java to v1.25.0 [#​22673](https://redirect.github.com/pulumi/pulumi/pull/22673) - \[auto/go] Generate command methods for the Go Automation API codegen [#​22612](https://redirect.github.com/pulumi/pulumi/pull/22612) - \[sdk] Clarify docs on the `remote` parameter of `ComponentResource` / `Resource` in the Node and Python SDKs [#​22603](https://redirect.github.com/pulumi/pulumi/pull/22603) - \[sdk/dotnet] Upgrade dotnet to v3.103.1 [#​22676](https://redirect.github.com/pulumi/pulumi/pull/22676) - \[yaml] Upgrade yaml to v1.32.0 [#​22674](https://redirect.github.com/pulumi/pulumi/pull/22674) </details> <details> <summary>pulumi/providertest (github.com/pulumi/providertest)</summary> ### [`v0.7.0`](https://redirect.github.com/pulumi/providertest/releases/tag/v0.7.0) [Compare Source](https://redirect.github.com/pulumi/providertest/compare/v0.6.0...v0.7.0) ##### What's Changed - Bump golang.org/x/crypto from 0.36.0 to 0.45.0 in the go_modules group across 1 directory by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in[https://github.com/pulumi/providertest/pull/159](https://redirect.github.com/pulumi/providertest/pull/159)9 - Fix python_gcp test by adding setuptools dependency by [@​pose](https://redirect.github.com/pose) in [https://github.com/pulumi/providertest/pull/167](https://redirect.github.com/pulumi/providertest/pull/167) - Rename project to python_gcp and update description by [@​pose](https://redirect.github.com/pose) in [https://github.com/pulumi/providertest/pull/166](https://redirect.github.com/pulumi/providertest/pull/166) - fix(pulumitest): start fresh providers per engine operation by [@​rshade](https://redirect.github.com/rshade) in [https://github.com/pulumi/providertest/pull/170](https://redirect.github.com/pulumi/providertest/pull/170) - feat(pulumitest): log pulumi version and plugins on stack creation by [@​rshade](https://redirect.github.com/rshade) in [https://github.com/pulumi/providertest/pull/171](https://redirect.github.com/pulumi/providertest/pull/171) **Full Changelog**: https://github.com/pulumi/providertest/compare/v0.6.0...v0.7.0 </details> <details> <summary>pulumi/pulumi-dotnet (github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3)</summary> ### [`v3.105.0`](https://redirect.github.com/pulumi/pulumi-dotnet/blob/HEAD/CHANGELOG.md#v31050---2026-05-04) [Compare Source](https://redirect.github.com/pulumi/pulumi-dotnet/compare/v3.104.0...v3.105.0) ### [`v3.104.0`](https://redirect.github.com/pulumi/pulumi-dotnet/blob/HEAD/CHANGELOG.md#v31040---2026-04-29) [Compare Source](https://redirect.github.com/pulumi/pulumi-dotnet/compare/v3.103.1...v3.104.0) ##### Improvements - \[runtime] Support the `getOutput` pcl intrinsic in codegen [#​977](https://redirect.github.com/pulumi/pulumi-dotnet/pull/977) ### [`v3.103.1`](https://redirect.github.com/pulumi/pulumi-dotnet/blob/HEAD/CHANGELOG.md#v31031---2026-04-21) [Compare Source](https://redirect.github.com/pulumi/pulumi-dotnet/compare/v3.103.0...v3.103.1) ##### Bug Fixes - \[runtime] Ensure that 'main' is always respected for selecting projects to run [#​55](https://redirect.github.com/pulumi/pulumi-dotnet/pull/55) - \[runtime] Generate compilable C# for resources whose range is an Output-typed expression such as `length(someInvoke.result)`. The loop is now wrapped in `.Apply(rangeBody => { ... })` so the loop bound sees a plain `int`, and `length` on an `Output<ImmutableArray<T>>` is emitted as the extension method `.Length()` (with parentheses) rather than as a property. [#​969](https://redirect.github.com/pulumi/pulumi-dotnet/pull/969) - \[runtime] Fix codegen for nested `InputMap` literals so the produced C# compiles ([#​833](https://redirect.github.com/pulumi/pulumi-dotnet/issues/833)) [#​970](https://redirect.github.com/pulumi/pulumi-dotnet/pull/970) </details> <details> <summary>pulumi/pulumi-go-provider (github.com/pulumi/pulumi-go-provider)</summary> ### [`v1.3.2`](https://redirect.github.com/pulumi/pulumi-go-provider/releases/tag/v1.3.2) [Compare Source](https://redirect.github.com/pulumi/pulumi-go-provider/compare/v1.3.1...v1.3.2) #### What's Changed - Update module github.com/pulumi/pulumi/pkg/v3 to v3.230.0 by [@​pulumi-renovate](https://redirect.github.com/pulumi-renovate)\[bot] in[https://github.com/pulumi/pulumi-go-provider/pull/509](https://redirect.github.com/pulumi/pulumi-go-provider/pull/509)9 - Correctly encode & decode `types.AssetOrArchive` by [@​iwahbe](https://redirect.github.com/iwahbe) in [https://github.com/pulumi/pulumi-go-provider/pull/512](https://redirect.github.com/pulumi/pulumi-go-provider/pull/512) - Resolve framework version via runtime/debug.ReadBuildInfo by [@​iwahbe](https://redirect.github.com/iwahbe) in [https://github.com/pulumi/pulumi-go-provider/pull/514](https://redirect.github.com/pulumi/pulumi-go-provider/pull/514) **Full Changelog**: https://github.com/pulumi/pulumi-go-provider/compare/v1.3.1...v1.3.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - Monday through Friday ( * * * * 1-5 ) (UTC). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJpbXBhY3Qvbm8tY2hhbmdlbG9nLXJlcXVpcmVkIl19--> --------- Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com> Co-authored-by: Ian Wahbe <me@iwahbe.com>
3283 lines
119 KiB
Python
Generated
3283 lines
119 KiB
Python
Generated
# coding=utf-8
|
|
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
|
|
import builtins as _builtins
|
|
import warnings
|
|
import sys
|
|
import pulumi
|
|
import pulumi.runtime
|
|
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
if sys.version_info >= (3, 11):
|
|
from typing import NotRequired, TypedDict, TypeAlias
|
|
else:
|
|
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
from . import _utilities
|
|
from ._enums import *
|
|
|
|
__all__ = [
|
|
'BuildContextArgs',
|
|
'BuildContextArgsDict',
|
|
'BuilderConfigArgs',
|
|
'BuilderConfigArgsDict',
|
|
'CacheFromAzureBlobArgs',
|
|
'CacheFromAzureBlobArgsDict',
|
|
'CacheFromGitHubActionsArgs',
|
|
'CacheFromGitHubActionsArgsDict',
|
|
'CacheFromLocalArgs',
|
|
'CacheFromLocalArgsDict',
|
|
'CacheFromRegistryArgs',
|
|
'CacheFromRegistryArgsDict',
|
|
'CacheFromS3Args',
|
|
'CacheFromS3ArgsDict',
|
|
'CacheFromArgs',
|
|
'CacheFromArgsDict',
|
|
'CacheToAzureBlobArgs',
|
|
'CacheToAzureBlobArgsDict',
|
|
'CacheToGitHubActionsArgs',
|
|
'CacheToGitHubActionsArgsDict',
|
|
'CacheToInlineArgs',
|
|
'CacheToInlineArgsDict',
|
|
'CacheToLocalArgs',
|
|
'CacheToLocalArgsDict',
|
|
'CacheToRegistryArgs',
|
|
'CacheToRegistryArgsDict',
|
|
'CacheToS3Args',
|
|
'CacheToS3ArgsDict',
|
|
'CacheToArgs',
|
|
'CacheToArgsDict',
|
|
'ContextArgs',
|
|
'ContextArgsDict',
|
|
'DockerfileArgs',
|
|
'DockerfileArgsDict',
|
|
'ExportCacheOnlyArgs',
|
|
'ExportCacheOnlyArgsDict',
|
|
'ExportDockerArgs',
|
|
'ExportDockerArgsDict',
|
|
'ExportImageArgs',
|
|
'ExportImageArgsDict',
|
|
'ExportLocalArgs',
|
|
'ExportLocalArgsDict',
|
|
'ExportOCIArgs',
|
|
'ExportOCIArgsDict',
|
|
'ExportRegistryArgs',
|
|
'ExportRegistryArgsDict',
|
|
'ExportTarArgs',
|
|
'ExportTarArgsDict',
|
|
'ExportArgs',
|
|
'ExportArgsDict',
|
|
'RegistryArgs',
|
|
'RegistryArgsDict',
|
|
'SSHArgs',
|
|
'SSHArgsDict',
|
|
]
|
|
|
|
class BuildContextArgsDict(TypedDict):
|
|
location: pulumi.Input[_builtins.str]
|
|
"""
|
|
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.).
|
|
"""
|
|
named: NotRequired[pulumi.Input[Optional[Mapping[str, pulumi.Input['ContextArgs']]]]]
|
|
"""
|
|
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.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class BuildContextArgs:
|
|
def __init__(__self__, *,
|
|
location: pulumi.Input[_builtins.str],
|
|
named: pulumi.Input[Optional[Mapping[str, pulumi.Input['ContextArgs']]]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] 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.).
|
|
:param pulumi.Input[Mapping[str, pulumi.Input['ContextArgs']]] 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.
|
|
"""
|
|
pulumi.set(__self__, "location", location)
|
|
if named is not None:
|
|
pulumi.set(__self__, "named", named)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def location(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
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 pulumi.get(self, "location")
|
|
|
|
@location.setter
|
|
def location(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "location", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def named(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input['ContextArgs']]]]:
|
|
"""
|
|
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 pulumi.get(self, "named")
|
|
|
|
@named.setter
|
|
def named(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input['ContextArgs']]]]):
|
|
pulumi.set(self, "named", value)
|
|
|
|
|
|
class BuilderConfigArgsDict(TypedDict):
|
|
name: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
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.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class BuilderConfigArgs:
|
|
def __init__(__self__, *,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] 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.
|
|
"""
|
|
if name is not None:
|
|
pulumi.set(__self__, "name", name)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
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 pulumi.get(self, "name")
|
|
|
|
@name.setter
|
|
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "name", value)
|
|
|
|
|
|
class CacheFromAzureBlobArgsDict(TypedDict):
|
|
name: pulumi.Input[_builtins.str]
|
|
"""
|
|
The name of the cache image.
|
|
"""
|
|
account_url: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Base URL of the storage account.
|
|
"""
|
|
secret_access_key: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Blob storage account key.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheFromAzureBlobArgs:
|
|
def __init__(__self__, *,
|
|
name: pulumi.Input[_builtins.str],
|
|
account_url: pulumi.Input[Optional[_builtins.str]] = None,
|
|
secret_access_key: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] name: The name of the cache image.
|
|
:param pulumi.Input[_builtins.str] account_url: Base URL of the storage account.
|
|
:param pulumi.Input[_builtins.str] secret_access_key: Blob storage account key.
|
|
"""
|
|
pulumi.set(__self__, "name", name)
|
|
if account_url is not None:
|
|
pulumi.set(__self__, "account_url", account_url)
|
|
if secret_access_key is not None:
|
|
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
The name of the cache image.
|
|
"""
|
|
return pulumi.get(self, "name")
|
|
|
|
@name.setter
|
|
def name(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="accountUrl")
|
|
def account_url(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Base URL of the storage account.
|
|
"""
|
|
return pulumi.get(self, "account_url")
|
|
|
|
@account_url.setter
|
|
def account_url(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "account_url", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="secretAccessKey")
|
|
def secret_access_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Blob storage account key.
|
|
"""
|
|
return pulumi.get(self, "secret_access_key")
|
|
|
|
@secret_access_key.setter
|
|
def secret_access_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "secret_access_key", value)
|
|
|
|
|
|
class CacheFromGitHubActionsArgsDict(TypedDict):
|
|
"""
|
|
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.
|
|
"""
|
|
scope: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
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.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheFromGitHubActionsArgs:
|
|
def __init__(__self__, *,
|
|
scope: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
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.
|
|
|
|
:param pulumi.Input[_builtins.str] scope: The scope to use for cache keys. Defaults to `buildkit`.
|
|
|
|
This should be set if building and caching multiple images in one
|
|
workflow, otherwise caches will overwrite each other.
|
|
"""
|
|
if scope is None:
|
|
scope = 'buildkit'
|
|
if scope is not None:
|
|
pulumi.set(__self__, "scope", scope)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def scope(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
The scope to use for cache keys. Defaults to `buildkit`.
|
|
|
|
This should be set if building and caching multiple images in one
|
|
workflow, otherwise caches will overwrite each other.
|
|
"""
|
|
return pulumi.get(self, "scope")
|
|
|
|
@scope.setter
|
|
def scope(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "scope", value)
|
|
|
|
|
|
class CacheFromLocalArgsDict(TypedDict):
|
|
src: pulumi.Input[_builtins.str]
|
|
"""
|
|
Path of the local directory where cache gets imported from.
|
|
"""
|
|
digest: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Digest of manifest to import.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheFromLocalArgs:
|
|
def __init__(__self__, *,
|
|
src: pulumi.Input[_builtins.str],
|
|
digest: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] src: Path of the local directory where cache gets imported from.
|
|
:param pulumi.Input[_builtins.str] digest: Digest of manifest to import.
|
|
"""
|
|
pulumi.set(__self__, "src", src)
|
|
if digest is not None:
|
|
pulumi.set(__self__, "digest", digest)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def src(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Path of the local directory where cache gets imported from.
|
|
"""
|
|
return pulumi.get(self, "src")
|
|
|
|
@src.setter
|
|
def src(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "src", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def digest(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Digest of manifest to import.
|
|
"""
|
|
return pulumi.get(self, "digest")
|
|
|
|
@digest.setter
|
|
def digest(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "digest", value)
|
|
|
|
|
|
class CacheFromRegistryArgsDict(TypedDict):
|
|
ref: pulumi.Input[_builtins.str]
|
|
"""
|
|
Fully qualified name of the cache image to import.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheFromRegistryArgs:
|
|
def __init__(__self__, *,
|
|
ref: pulumi.Input[_builtins.str]):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] ref: Fully qualified name of the cache image to import.
|
|
"""
|
|
pulumi.set(__self__, "ref", ref)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def ref(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Fully qualified name of the cache image to import.
|
|
"""
|
|
return pulumi.get(self, "ref")
|
|
|
|
@ref.setter
|
|
def ref(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "ref", value)
|
|
|
|
|
|
class CacheFromS3ArgsDict(TypedDict):
|
|
bucket: pulumi.Input[_builtins.str]
|
|
"""
|
|
Name of the S3 bucket.
|
|
"""
|
|
region: pulumi.Input[_builtins.str]
|
|
"""
|
|
The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
"""
|
|
access_key_id: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
"""
|
|
blobs_prefix: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Prefix to prepend to blob filenames.
|
|
"""
|
|
endpoint_url: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Endpoint of the S3 bucket.
|
|
"""
|
|
manifests_prefix: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Prefix to prepend on manifest filenames.
|
|
"""
|
|
name: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Name of the cache image.
|
|
"""
|
|
secret_access_key: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
"""
|
|
session_token: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Defaults to `$AWS_SESSION_TOKEN`.
|
|
"""
|
|
use_path_style: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Uses `bucket` in the URL instead of hostname when `true`.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheFromS3Args:
|
|
def __init__(__self__, *,
|
|
bucket: pulumi.Input[_builtins.str],
|
|
region: pulumi.Input[Optional[_builtins.str]] = None,
|
|
access_key_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
blobs_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
endpoint_url: pulumi.Input[Optional[_builtins.str]] = None,
|
|
manifests_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
secret_access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
|
session_token: pulumi.Input[Optional[_builtins.str]] = None,
|
|
use_path_style: pulumi.Input[Optional[_builtins.bool]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] bucket: Name of the S3 bucket.
|
|
:param pulumi.Input[_builtins.str] region: The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
:param pulumi.Input[_builtins.str] access_key_id: Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
:param pulumi.Input[_builtins.str] blobs_prefix: Prefix to prepend to blob filenames.
|
|
:param pulumi.Input[_builtins.str] endpoint_url: Endpoint of the S3 bucket.
|
|
:param pulumi.Input[_builtins.str] manifests_prefix: Prefix to prepend on manifest filenames.
|
|
:param pulumi.Input[_builtins.str] name: Name of the cache image.
|
|
:param pulumi.Input[_builtins.str] secret_access_key: Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
:param pulumi.Input[_builtins.str] session_token: Defaults to `$AWS_SESSION_TOKEN`.
|
|
:param pulumi.Input[_builtins.bool] use_path_style: Uses `bucket` in the URL instead of hostname when `true`.
|
|
"""
|
|
pulumi.set(__self__, "bucket", bucket)
|
|
if region is None:
|
|
region = (_utilities.get_env('AWS_REGION') or '')
|
|
pulumi.set(__self__, "region", region)
|
|
if access_key_id is None:
|
|
access_key_id = (_utilities.get_env('AWS_ACCESS_KEY_ID') or '')
|
|
if access_key_id is not None:
|
|
pulumi.set(__self__, "access_key_id", access_key_id)
|
|
if blobs_prefix is not None:
|
|
pulumi.set(__self__, "blobs_prefix", blobs_prefix)
|
|
if endpoint_url is not None:
|
|
pulumi.set(__self__, "endpoint_url", endpoint_url)
|
|
if manifests_prefix is not None:
|
|
pulumi.set(__self__, "manifests_prefix", manifests_prefix)
|
|
if name is not None:
|
|
pulumi.set(__self__, "name", name)
|
|
if secret_access_key is None:
|
|
secret_access_key = (_utilities.get_env('AWS_SECRET_ACCESS_KEY') or '')
|
|
if secret_access_key is not None:
|
|
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
|
if session_token is None:
|
|
session_token = (_utilities.get_env('AWS_SESSION_TOKEN') or '')
|
|
if session_token is not None:
|
|
pulumi.set(__self__, "session_token", session_token)
|
|
if use_path_style is not None:
|
|
pulumi.set(__self__, "use_path_style", use_path_style)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def bucket(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Name of the S3 bucket.
|
|
"""
|
|
return pulumi.get(self, "bucket")
|
|
|
|
@bucket.setter
|
|
def bucket(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "bucket", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def region(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
"""
|
|
return pulumi.get(self, "region")
|
|
|
|
@region.setter
|
|
def region(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "region", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="accessKeyId")
|
|
def access_key_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
"""
|
|
return pulumi.get(self, "access_key_id")
|
|
|
|
@access_key_id.setter
|
|
def access_key_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "access_key_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="blobsPrefix")
|
|
def blobs_prefix(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Prefix to prepend to blob filenames.
|
|
"""
|
|
return pulumi.get(self, "blobs_prefix")
|
|
|
|
@blobs_prefix.setter
|
|
def blobs_prefix(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "blobs_prefix", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="endpointUrl")
|
|
def endpoint_url(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Endpoint of the S3 bucket.
|
|
"""
|
|
return pulumi.get(self, "endpoint_url")
|
|
|
|
@endpoint_url.setter
|
|
def endpoint_url(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "endpoint_url", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="manifestsPrefix")
|
|
def manifests_prefix(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Prefix to prepend on manifest filenames.
|
|
"""
|
|
return pulumi.get(self, "manifests_prefix")
|
|
|
|
@manifests_prefix.setter
|
|
def manifests_prefix(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "manifests_prefix", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Name of the cache image.
|
|
"""
|
|
return pulumi.get(self, "name")
|
|
|
|
@name.setter
|
|
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="secretAccessKey")
|
|
def secret_access_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
"""
|
|
return pulumi.get(self, "secret_access_key")
|
|
|
|
@secret_access_key.setter
|
|
def secret_access_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "secret_access_key", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="sessionToken")
|
|
def session_token(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Defaults to `$AWS_SESSION_TOKEN`.
|
|
"""
|
|
return pulumi.get(self, "session_token")
|
|
|
|
@session_token.setter
|
|
def session_token(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "session_token", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="usePathStyle")
|
|
def use_path_style(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Uses `bucket` in the URL instead of hostname when `true`.
|
|
"""
|
|
return pulumi.get(self, "use_path_style")
|
|
|
|
@use_path_style.setter
|
|
def use_path_style(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "use_path_style", value)
|
|
|
|
|
|
class CacheFromArgsDict(TypedDict):
|
|
azblob: NotRequired[pulumi.Input[Optional['CacheFromAzureBlobArgs']]]
|
|
"""
|
|
Upload build caches to Azure's blob storage service.
|
|
"""
|
|
disabled: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
When `true` this entry will be excluded. Defaults to `false`.
|
|
"""
|
|
gha: NotRequired[pulumi.Input[Optional['CacheFromGitHubActionsArgs']]]
|
|
"""
|
|
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.
|
|
"""
|
|
local: NotRequired[pulumi.Input[Optional['CacheFromLocalArgs']]]
|
|
"""
|
|
A simple backend which caches images on your local filesystem.
|
|
"""
|
|
raw: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
A raw string as you would provide it to the Docker CLI (e.g.,
|
|
`type=inline`).
|
|
"""
|
|
registry: NotRequired[pulumi.Input[Optional['CacheFromRegistryArgs']]]
|
|
"""
|
|
Upload build caches to remote registries.
|
|
"""
|
|
s3: NotRequired[pulumi.Input[Optional['CacheFromS3Args']]]
|
|
"""
|
|
Upload build caches to AWS S3 or an S3-compatible services such as
|
|
MinIO.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheFromArgs:
|
|
def __init__(__self__, *,
|
|
azblob: pulumi.Input[Optional['CacheFromAzureBlobArgs']] = None,
|
|
disabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
gha: pulumi.Input[Optional['CacheFromGitHubActionsArgs']] = None,
|
|
local: pulumi.Input[Optional['CacheFromLocalArgs']] = None,
|
|
raw: pulumi.Input[Optional[_builtins.str]] = None,
|
|
registry: pulumi.Input[Optional['CacheFromRegistryArgs']] = None,
|
|
s3: pulumi.Input[Optional['CacheFromS3Args']] = None):
|
|
"""
|
|
:param pulumi.Input['CacheFromAzureBlobArgs'] azblob: Upload build caches to Azure's blob storage service.
|
|
:param pulumi.Input[_builtins.bool] disabled: When `true` this entry will be excluded. Defaults to `false`.
|
|
:param pulumi.Input['CacheFromGitHubActionsArgs'] gha: Recommended for use with GitHub Actions workflows.
|
|
|
|
An action like `crazy-max/ghaction-github-runtime` is recommended to
|
|
expose appropriate credentials to your GitHub workflow.
|
|
:param pulumi.Input['CacheFromLocalArgs'] local: A simple backend which caches images on your local filesystem.
|
|
:param pulumi.Input[_builtins.str] raw: A raw string as you would provide it to the Docker CLI (e.g.,
|
|
`type=inline`).
|
|
:param pulumi.Input['CacheFromRegistryArgs'] registry: Upload build caches to remote registries.
|
|
:param pulumi.Input['CacheFromS3Args'] s3: Upload build caches to AWS S3 or an S3-compatible services such as
|
|
MinIO.
|
|
"""
|
|
if azblob is not None:
|
|
pulumi.set(__self__, "azblob", azblob)
|
|
if disabled is not None:
|
|
pulumi.set(__self__, "disabled", disabled)
|
|
if gha is not None:
|
|
pulumi.set(__self__, "gha", gha)
|
|
if local is not None:
|
|
pulumi.set(__self__, "local", local)
|
|
if raw is not None:
|
|
pulumi.set(__self__, "raw", raw)
|
|
if registry is not None:
|
|
pulumi.set(__self__, "registry", registry)
|
|
if s3 is not None:
|
|
pulumi.set(__self__, "s3", s3)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def azblob(self) -> pulumi.Input[Optional['CacheFromAzureBlobArgs']]:
|
|
"""
|
|
Upload build caches to Azure's blob storage service.
|
|
"""
|
|
return pulumi.get(self, "azblob")
|
|
|
|
@azblob.setter
|
|
def azblob(self, value: pulumi.Input[Optional['CacheFromAzureBlobArgs']]):
|
|
pulumi.set(self, "azblob", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def disabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
When `true` this entry will be excluded. Defaults to `false`.
|
|
"""
|
|
return pulumi.get(self, "disabled")
|
|
|
|
@disabled.setter
|
|
def disabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "disabled", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def gha(self) -> pulumi.Input[Optional['CacheFromGitHubActionsArgs']]:
|
|
"""
|
|
Recommended for use with GitHub Actions workflows.
|
|
|
|
An action like `crazy-max/ghaction-github-runtime` is recommended to
|
|
expose appropriate credentials to your GitHub workflow.
|
|
"""
|
|
return pulumi.get(self, "gha")
|
|
|
|
@gha.setter
|
|
def gha(self, value: pulumi.Input[Optional['CacheFromGitHubActionsArgs']]):
|
|
pulumi.set(self, "gha", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def local(self) -> pulumi.Input[Optional['CacheFromLocalArgs']]:
|
|
"""
|
|
A simple backend which caches images on your local filesystem.
|
|
"""
|
|
return pulumi.get(self, "local")
|
|
|
|
@local.setter
|
|
def local(self, value: pulumi.Input[Optional['CacheFromLocalArgs']]):
|
|
pulumi.set(self, "local", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def raw(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
A raw string as you would provide it to the Docker CLI (e.g.,
|
|
`type=inline`).
|
|
"""
|
|
return pulumi.get(self, "raw")
|
|
|
|
@raw.setter
|
|
def raw(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "raw", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def registry(self) -> pulumi.Input[Optional['CacheFromRegistryArgs']]:
|
|
"""
|
|
Upload build caches to remote registries.
|
|
"""
|
|
return pulumi.get(self, "registry")
|
|
|
|
@registry.setter
|
|
def registry(self, value: pulumi.Input[Optional['CacheFromRegistryArgs']]):
|
|
pulumi.set(self, "registry", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def s3(self) -> pulumi.Input[Optional['CacheFromS3Args']]:
|
|
"""
|
|
Upload build caches to AWS S3 or an S3-compatible services such as
|
|
MinIO.
|
|
"""
|
|
return pulumi.get(self, "s3")
|
|
|
|
@s3.setter
|
|
def s3(self, value: pulumi.Input[Optional['CacheFromS3Args']]):
|
|
pulumi.set(self, "s3", value)
|
|
|
|
|
|
class CacheToAzureBlobArgsDict(TypedDict):
|
|
name: pulumi.Input[_builtins.str]
|
|
"""
|
|
The name of the cache image.
|
|
"""
|
|
account_url: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Base URL of the storage account.
|
|
"""
|
|
ignore_error: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
mode: NotRequired[pulumi.Input[Optional['CacheMode']]]
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
secret_access_key: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Blob storage account key.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheToAzureBlobArgs:
|
|
def __init__(__self__, *,
|
|
name: pulumi.Input[_builtins.str],
|
|
account_url: pulumi.Input[Optional[_builtins.str]] = None,
|
|
ignore_error: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
mode: pulumi.Input[Optional['CacheMode']] = None,
|
|
secret_access_key: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] name: The name of the cache image.
|
|
:param pulumi.Input[_builtins.str] account_url: Base URL of the storage account.
|
|
:param pulumi.Input[_builtins.bool] ignore_error: Ignore errors caused by failed cache exports.
|
|
:param pulumi.Input['CacheMode'] mode: The cache mode to use. Defaults to `min`.
|
|
:param pulumi.Input[_builtins.str] secret_access_key: Blob storage account key.
|
|
"""
|
|
pulumi.set(__self__, "name", name)
|
|
if account_url is not None:
|
|
pulumi.set(__self__, "account_url", account_url)
|
|
if ignore_error is None:
|
|
ignore_error = False
|
|
if ignore_error is not None:
|
|
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
if mode is None:
|
|
mode = 'min'
|
|
if mode is not None:
|
|
pulumi.set(__self__, "mode", mode)
|
|
if secret_access_key is not None:
|
|
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
The name of the cache image.
|
|
"""
|
|
return pulumi.get(self, "name")
|
|
|
|
@name.setter
|
|
def name(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="accountUrl")
|
|
def account_url(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Base URL of the storage account.
|
|
"""
|
|
return pulumi.get(self, "account_url")
|
|
|
|
@account_url.setter
|
|
def account_url(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "account_url", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ignoreError")
|
|
def ignore_error(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
return pulumi.get(self, "ignore_error")
|
|
|
|
@ignore_error.setter
|
|
def ignore_error(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "ignore_error", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def mode(self) -> pulumi.Input[Optional['CacheMode']]:
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
return pulumi.get(self, "mode")
|
|
|
|
@mode.setter
|
|
def mode(self, value: pulumi.Input[Optional['CacheMode']]):
|
|
pulumi.set(self, "mode", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="secretAccessKey")
|
|
def secret_access_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Blob storage account key.
|
|
"""
|
|
return pulumi.get(self, "secret_access_key")
|
|
|
|
@secret_access_key.setter
|
|
def secret_access_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "secret_access_key", value)
|
|
|
|
|
|
class CacheToGitHubActionsArgsDict(TypedDict):
|
|
"""
|
|
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.
|
|
"""
|
|
ignore_error: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
mode: NotRequired[pulumi.Input[Optional['CacheMode']]]
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
scope: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
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.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheToGitHubActionsArgs:
|
|
def __init__(__self__, *,
|
|
ignore_error: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
mode: pulumi.Input[Optional['CacheMode']] = None,
|
|
scope: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
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.
|
|
|
|
:param pulumi.Input[_builtins.bool] ignore_error: Ignore errors caused by failed cache exports.
|
|
:param pulumi.Input['CacheMode'] mode: The cache mode to use. Defaults to `min`.
|
|
:param pulumi.Input[_builtins.str] scope: The scope to use for cache keys. Defaults to `buildkit`.
|
|
|
|
This should be set if building and caching multiple images in one
|
|
workflow, otherwise caches will overwrite each other.
|
|
"""
|
|
if ignore_error is None:
|
|
ignore_error = False
|
|
if ignore_error is not None:
|
|
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
if mode is None:
|
|
mode = 'min'
|
|
if mode is not None:
|
|
pulumi.set(__self__, "mode", mode)
|
|
if scope is None:
|
|
scope = 'buildkit'
|
|
if scope is not None:
|
|
pulumi.set(__self__, "scope", scope)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ignoreError")
|
|
def ignore_error(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
return pulumi.get(self, "ignore_error")
|
|
|
|
@ignore_error.setter
|
|
def ignore_error(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "ignore_error", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def mode(self) -> pulumi.Input[Optional['CacheMode']]:
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
return pulumi.get(self, "mode")
|
|
|
|
@mode.setter
|
|
def mode(self, value: pulumi.Input[Optional['CacheMode']]):
|
|
pulumi.set(self, "mode", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def scope(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
The scope to use for cache keys. Defaults to `buildkit`.
|
|
|
|
This should be set if building and caching multiple images in one
|
|
workflow, otherwise caches will overwrite each other.
|
|
"""
|
|
return pulumi.get(self, "scope")
|
|
|
|
@scope.setter
|
|
def scope(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "scope", value)
|
|
|
|
|
|
class CacheToInlineArgsDict(TypedDict):
|
|
"""
|
|
Include an inline cache with the exported image.
|
|
"""
|
|
pass
|
|
|
|
@pulumi.input_type
|
|
class CacheToInlineArgs:
|
|
def __init__(__self__):
|
|
"""
|
|
Include an inline cache with the exported image.
|
|
"""
|
|
pass
|
|
|
|
|
|
class CacheToLocalArgsDict(TypedDict):
|
|
dest: pulumi.Input[_builtins.str]
|
|
"""
|
|
Path of the local directory to export the cache.
|
|
"""
|
|
compression: NotRequired[pulumi.Input[Optional['CompressionType']]]
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
compression_level: NotRequired[pulumi.Input[Optional[_builtins.int]]]
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
force_compression: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
ignore_error: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
mode: NotRequired[pulumi.Input[Optional['CacheMode']]]
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheToLocalArgs:
|
|
def __init__(__self__, *,
|
|
dest: pulumi.Input[_builtins.str],
|
|
compression: pulumi.Input[Optional['CompressionType']] = None,
|
|
compression_level: pulumi.Input[Optional[_builtins.int]] = None,
|
|
force_compression: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
ignore_error: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
mode: pulumi.Input[Optional['CacheMode']] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] dest: Path of the local directory to export the cache.
|
|
:param pulumi.Input['CompressionType'] compression: The compression type to use.
|
|
:param pulumi.Input[_builtins.int] compression_level: Compression level from 0 to 22.
|
|
:param pulumi.Input[_builtins.bool] force_compression: Forcefully apply compression.
|
|
:param pulumi.Input[_builtins.bool] ignore_error: Ignore errors caused by failed cache exports.
|
|
:param pulumi.Input['CacheMode'] mode: The cache mode to use. Defaults to `min`.
|
|
"""
|
|
pulumi.set(__self__, "dest", dest)
|
|
if compression is None:
|
|
compression = 'gzip'
|
|
if compression is not None:
|
|
pulumi.set(__self__, "compression", compression)
|
|
if compression_level is None:
|
|
compression_level = 0
|
|
if compression_level is not None:
|
|
pulumi.set(__self__, "compression_level", compression_level)
|
|
if force_compression is None:
|
|
force_compression = False
|
|
if force_compression is not None:
|
|
pulumi.set(__self__, "force_compression", force_compression)
|
|
if ignore_error is None:
|
|
ignore_error = False
|
|
if ignore_error is not None:
|
|
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
if mode is None:
|
|
mode = 'min'
|
|
if mode is not None:
|
|
pulumi.set(__self__, "mode", mode)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def dest(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Path of the local directory to export the cache.
|
|
"""
|
|
return pulumi.get(self, "dest")
|
|
|
|
@dest.setter
|
|
def dest(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "dest", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def compression(self) -> pulumi.Input[Optional['CompressionType']]:
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
return pulumi.get(self, "compression")
|
|
|
|
@compression.setter
|
|
def compression(self, value: pulumi.Input[Optional['CompressionType']]):
|
|
pulumi.set(self, "compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="compressionLevel")
|
|
def compression_level(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
return pulumi.get(self, "compression_level")
|
|
|
|
@compression_level.setter
|
|
def compression_level(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "compression_level", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="forceCompression")
|
|
def force_compression(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
return pulumi.get(self, "force_compression")
|
|
|
|
@force_compression.setter
|
|
def force_compression(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "force_compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ignoreError")
|
|
def ignore_error(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
return pulumi.get(self, "ignore_error")
|
|
|
|
@ignore_error.setter
|
|
def ignore_error(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "ignore_error", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def mode(self) -> pulumi.Input[Optional['CacheMode']]:
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
return pulumi.get(self, "mode")
|
|
|
|
@mode.setter
|
|
def mode(self, value: pulumi.Input[Optional['CacheMode']]):
|
|
pulumi.set(self, "mode", value)
|
|
|
|
|
|
class CacheToRegistryArgsDict(TypedDict):
|
|
ref: pulumi.Input[_builtins.str]
|
|
"""
|
|
Fully qualified name of the cache image to import.
|
|
"""
|
|
compression: NotRequired[pulumi.Input[Optional['CompressionType']]]
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
compression_level: NotRequired[pulumi.Input[Optional[_builtins.int]]]
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
force_compression: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
ignore_error: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
image_manifest: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
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.
|
|
"""
|
|
mode: NotRequired[pulumi.Input[Optional['CacheMode']]]
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
oci_media_types: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Whether to use OCI media types in exported manifests. Defaults to
|
|
`true`.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheToRegistryArgs:
|
|
def __init__(__self__, *,
|
|
ref: pulumi.Input[_builtins.str],
|
|
compression: pulumi.Input[Optional['CompressionType']] = None,
|
|
compression_level: pulumi.Input[Optional[_builtins.int]] = None,
|
|
force_compression: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
ignore_error: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
image_manifest: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
mode: pulumi.Input[Optional['CacheMode']] = None,
|
|
oci_media_types: pulumi.Input[Optional[_builtins.bool]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] ref: Fully qualified name of the cache image to import.
|
|
:param pulumi.Input['CompressionType'] compression: The compression type to use.
|
|
:param pulumi.Input[_builtins.int] compression_level: Compression level from 0 to 22.
|
|
:param pulumi.Input[_builtins.bool] force_compression: Forcefully apply compression.
|
|
:param pulumi.Input[_builtins.bool] ignore_error: Ignore errors caused by failed cache exports.
|
|
:param pulumi.Input[_builtins.bool] image_manifest: 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.
|
|
:param pulumi.Input['CacheMode'] mode: The cache mode to use. Defaults to `min`.
|
|
:param pulumi.Input[_builtins.bool] oci_media_types: Whether to use OCI media types in exported manifests. Defaults to
|
|
`true`.
|
|
"""
|
|
pulumi.set(__self__, "ref", ref)
|
|
if compression is None:
|
|
compression = 'gzip'
|
|
if compression is not None:
|
|
pulumi.set(__self__, "compression", compression)
|
|
if compression_level is None:
|
|
compression_level = 0
|
|
if compression_level is not None:
|
|
pulumi.set(__self__, "compression_level", compression_level)
|
|
if force_compression is None:
|
|
force_compression = False
|
|
if force_compression is not None:
|
|
pulumi.set(__self__, "force_compression", force_compression)
|
|
if ignore_error is None:
|
|
ignore_error = False
|
|
if ignore_error is not None:
|
|
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
if image_manifest is None:
|
|
image_manifest = False
|
|
if image_manifest is not None:
|
|
pulumi.set(__self__, "image_manifest", image_manifest)
|
|
if mode is None:
|
|
mode = 'min'
|
|
if mode is not None:
|
|
pulumi.set(__self__, "mode", mode)
|
|
if oci_media_types is None:
|
|
oci_media_types = True
|
|
if oci_media_types is not None:
|
|
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def ref(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Fully qualified name of the cache image to import.
|
|
"""
|
|
return pulumi.get(self, "ref")
|
|
|
|
@ref.setter
|
|
def ref(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "ref", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def compression(self) -> pulumi.Input[Optional['CompressionType']]:
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
return pulumi.get(self, "compression")
|
|
|
|
@compression.setter
|
|
def compression(self, value: pulumi.Input[Optional['CompressionType']]):
|
|
pulumi.set(self, "compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="compressionLevel")
|
|
def compression_level(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
return pulumi.get(self, "compression_level")
|
|
|
|
@compression_level.setter
|
|
def compression_level(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "compression_level", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="forceCompression")
|
|
def force_compression(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
return pulumi.get(self, "force_compression")
|
|
|
|
@force_compression.setter
|
|
def force_compression(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "force_compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ignoreError")
|
|
def ignore_error(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
return pulumi.get(self, "ignore_error")
|
|
|
|
@ignore_error.setter
|
|
def ignore_error(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "ignore_error", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="imageManifest")
|
|
def image_manifest(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
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.
|
|
"""
|
|
return pulumi.get(self, "image_manifest")
|
|
|
|
@image_manifest.setter
|
|
def image_manifest(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "image_manifest", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def mode(self) -> pulumi.Input[Optional['CacheMode']]:
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
return pulumi.get(self, "mode")
|
|
|
|
@mode.setter
|
|
def mode(self, value: pulumi.Input[Optional['CacheMode']]):
|
|
pulumi.set(self, "mode", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ociMediaTypes")
|
|
def oci_media_types(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Whether to use OCI media types in exported manifests. Defaults to
|
|
`true`.
|
|
"""
|
|
return pulumi.get(self, "oci_media_types")
|
|
|
|
@oci_media_types.setter
|
|
def oci_media_types(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "oci_media_types", value)
|
|
|
|
|
|
class CacheToS3ArgsDict(TypedDict):
|
|
bucket: pulumi.Input[_builtins.str]
|
|
"""
|
|
Name of the S3 bucket.
|
|
"""
|
|
region: pulumi.Input[_builtins.str]
|
|
"""
|
|
The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
"""
|
|
access_key_id: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
"""
|
|
blobs_prefix: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Prefix to prepend to blob filenames.
|
|
"""
|
|
endpoint_url: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Endpoint of the S3 bucket.
|
|
"""
|
|
ignore_error: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
manifests_prefix: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Prefix to prepend on manifest filenames.
|
|
"""
|
|
mode: NotRequired[pulumi.Input[Optional['CacheMode']]]
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
name: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Name of the cache image.
|
|
"""
|
|
secret_access_key: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
"""
|
|
session_token: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Defaults to `$AWS_SESSION_TOKEN`.
|
|
"""
|
|
use_path_style: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Uses `bucket` in the URL instead of hostname when `true`.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheToS3Args:
|
|
def __init__(__self__, *,
|
|
bucket: pulumi.Input[_builtins.str],
|
|
region: pulumi.Input[Optional[_builtins.str]] = None,
|
|
access_key_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
blobs_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
endpoint_url: pulumi.Input[Optional[_builtins.str]] = None,
|
|
ignore_error: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
manifests_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mode: pulumi.Input[Optional['CacheMode']] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
secret_access_key: pulumi.Input[Optional[_builtins.str]] = None,
|
|
session_token: pulumi.Input[Optional[_builtins.str]] = None,
|
|
use_path_style: pulumi.Input[Optional[_builtins.bool]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] bucket: Name of the S3 bucket.
|
|
:param pulumi.Input[_builtins.str] region: The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
:param pulumi.Input[_builtins.str] access_key_id: Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
:param pulumi.Input[_builtins.str] blobs_prefix: Prefix to prepend to blob filenames.
|
|
:param pulumi.Input[_builtins.str] endpoint_url: Endpoint of the S3 bucket.
|
|
:param pulumi.Input[_builtins.bool] ignore_error: Ignore errors caused by failed cache exports.
|
|
:param pulumi.Input[_builtins.str] manifests_prefix: Prefix to prepend on manifest filenames.
|
|
:param pulumi.Input['CacheMode'] mode: The cache mode to use. Defaults to `min`.
|
|
:param pulumi.Input[_builtins.str] name: Name of the cache image.
|
|
:param pulumi.Input[_builtins.str] secret_access_key: Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
:param pulumi.Input[_builtins.str] session_token: Defaults to `$AWS_SESSION_TOKEN`.
|
|
:param pulumi.Input[_builtins.bool] use_path_style: Uses `bucket` in the URL instead of hostname when `true`.
|
|
"""
|
|
pulumi.set(__self__, "bucket", bucket)
|
|
if region is None:
|
|
region = (_utilities.get_env('AWS_REGION') or '')
|
|
pulumi.set(__self__, "region", region)
|
|
if access_key_id is None:
|
|
access_key_id = (_utilities.get_env('AWS_ACCESS_KEY_ID') or '')
|
|
if access_key_id is not None:
|
|
pulumi.set(__self__, "access_key_id", access_key_id)
|
|
if blobs_prefix is not None:
|
|
pulumi.set(__self__, "blobs_prefix", blobs_prefix)
|
|
if endpoint_url is not None:
|
|
pulumi.set(__self__, "endpoint_url", endpoint_url)
|
|
if ignore_error is None:
|
|
ignore_error = False
|
|
if ignore_error is not None:
|
|
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
if manifests_prefix is not None:
|
|
pulumi.set(__self__, "manifests_prefix", manifests_prefix)
|
|
if mode is None:
|
|
mode = 'min'
|
|
if mode is not None:
|
|
pulumi.set(__self__, "mode", mode)
|
|
if name is not None:
|
|
pulumi.set(__self__, "name", name)
|
|
if secret_access_key is None:
|
|
secret_access_key = (_utilities.get_env('AWS_SECRET_ACCESS_KEY') or '')
|
|
if secret_access_key is not None:
|
|
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
|
if session_token is None:
|
|
session_token = (_utilities.get_env('AWS_SESSION_TOKEN') or '')
|
|
if session_token is not None:
|
|
pulumi.set(__self__, "session_token", session_token)
|
|
if use_path_style is not None:
|
|
pulumi.set(__self__, "use_path_style", use_path_style)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def bucket(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Name of the S3 bucket.
|
|
"""
|
|
return pulumi.get(self, "bucket")
|
|
|
|
@bucket.setter
|
|
def bucket(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "bucket", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def region(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
"""
|
|
return pulumi.get(self, "region")
|
|
|
|
@region.setter
|
|
def region(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "region", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="accessKeyId")
|
|
def access_key_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
"""
|
|
return pulumi.get(self, "access_key_id")
|
|
|
|
@access_key_id.setter
|
|
def access_key_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "access_key_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="blobsPrefix")
|
|
def blobs_prefix(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Prefix to prepend to blob filenames.
|
|
"""
|
|
return pulumi.get(self, "blobs_prefix")
|
|
|
|
@blobs_prefix.setter
|
|
def blobs_prefix(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "blobs_prefix", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="endpointUrl")
|
|
def endpoint_url(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Endpoint of the S3 bucket.
|
|
"""
|
|
return pulumi.get(self, "endpoint_url")
|
|
|
|
@endpoint_url.setter
|
|
def endpoint_url(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "endpoint_url", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ignoreError")
|
|
def ignore_error(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Ignore errors caused by failed cache exports.
|
|
"""
|
|
return pulumi.get(self, "ignore_error")
|
|
|
|
@ignore_error.setter
|
|
def ignore_error(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "ignore_error", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="manifestsPrefix")
|
|
def manifests_prefix(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Prefix to prepend on manifest filenames.
|
|
"""
|
|
return pulumi.get(self, "manifests_prefix")
|
|
|
|
@manifests_prefix.setter
|
|
def manifests_prefix(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "manifests_prefix", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def mode(self) -> pulumi.Input[Optional['CacheMode']]:
|
|
"""
|
|
The cache mode to use. Defaults to `min`.
|
|
"""
|
|
return pulumi.get(self, "mode")
|
|
|
|
@mode.setter
|
|
def mode(self, value: pulumi.Input[Optional['CacheMode']]):
|
|
pulumi.set(self, "mode", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Name of the cache image.
|
|
"""
|
|
return pulumi.get(self, "name")
|
|
|
|
@name.setter
|
|
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="secretAccessKey")
|
|
def secret_access_key(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
"""
|
|
return pulumi.get(self, "secret_access_key")
|
|
|
|
@secret_access_key.setter
|
|
def secret_access_key(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "secret_access_key", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="sessionToken")
|
|
def session_token(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Defaults to `$AWS_SESSION_TOKEN`.
|
|
"""
|
|
return pulumi.get(self, "session_token")
|
|
|
|
@session_token.setter
|
|
def session_token(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "session_token", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="usePathStyle")
|
|
def use_path_style(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Uses `bucket` in the URL instead of hostname when `true`.
|
|
"""
|
|
return pulumi.get(self, "use_path_style")
|
|
|
|
@use_path_style.setter
|
|
def use_path_style(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "use_path_style", value)
|
|
|
|
|
|
class CacheToArgsDict(TypedDict):
|
|
azblob: NotRequired[pulumi.Input[Optional['CacheToAzureBlobArgs']]]
|
|
"""
|
|
Push cache to Azure's blob storage service.
|
|
"""
|
|
disabled: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
When `true` this entry will be excluded. Defaults to `false`.
|
|
"""
|
|
gha: NotRequired[pulumi.Input[Optional['CacheToGitHubActionsArgs']]]
|
|
"""
|
|
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.
|
|
"""
|
|
inline: NotRequired[pulumi.Input[Optional['CacheToInlineArgs']]]
|
|
"""
|
|
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.
|
|
"""
|
|
local: NotRequired[pulumi.Input[Optional['CacheToLocalArgs']]]
|
|
"""
|
|
A simple backend which caches imagines on your local filesystem.
|
|
"""
|
|
raw: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
A raw string as you would provide it to the Docker CLI (e.g.,
|
|
`type=inline`)
|
|
"""
|
|
registry: NotRequired[pulumi.Input[Optional['CacheToRegistryArgs']]]
|
|
"""
|
|
Push caches to remote registries. Incompatible with the `docker` build
|
|
driver.
|
|
"""
|
|
s3: NotRequired[pulumi.Input[Optional['CacheToS3Args']]]
|
|
"""
|
|
Push cache to AWS S3 or S3-compatible services such as MinIO.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class CacheToArgs:
|
|
def __init__(__self__, *,
|
|
azblob: pulumi.Input[Optional['CacheToAzureBlobArgs']] = None,
|
|
disabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
gha: pulumi.Input[Optional['CacheToGitHubActionsArgs']] = None,
|
|
inline: pulumi.Input[Optional['CacheToInlineArgs']] = None,
|
|
local: pulumi.Input[Optional['CacheToLocalArgs']] = None,
|
|
raw: pulumi.Input[Optional[_builtins.str]] = None,
|
|
registry: pulumi.Input[Optional['CacheToRegistryArgs']] = None,
|
|
s3: pulumi.Input[Optional['CacheToS3Args']] = None):
|
|
"""
|
|
:param pulumi.Input['CacheToAzureBlobArgs'] azblob: Push cache to Azure's blob storage service.
|
|
:param pulumi.Input[_builtins.bool] disabled: When `true` this entry will be excluded. Defaults to `false`.
|
|
:param pulumi.Input['CacheToGitHubActionsArgs'] gha: Recommended for use with GitHub Actions workflows.
|
|
|
|
An action like `crazy-max/ghaction-github-runtime` is recommended to
|
|
expose appropriate credentials to your GitHub workflow.
|
|
:param pulumi.Input['CacheToInlineArgs'] inline: The inline cache storage backend is the simplest implementation to get
|
|
started with, but it does not handle multi-stage builds. Consider the
|
|
`registry` cache backend instead.
|
|
:param pulumi.Input['CacheToLocalArgs'] local: A simple backend which caches imagines on your local filesystem.
|
|
:param pulumi.Input[_builtins.str] raw: A raw string as you would provide it to the Docker CLI (e.g.,
|
|
`type=inline`)
|
|
:param pulumi.Input['CacheToRegistryArgs'] registry: Push caches to remote registries. Incompatible with the `docker` build
|
|
driver.
|
|
:param pulumi.Input['CacheToS3Args'] s3: Push cache to AWS S3 or S3-compatible services such as MinIO.
|
|
"""
|
|
if azblob is not None:
|
|
pulumi.set(__self__, "azblob", azblob)
|
|
if disabled is not None:
|
|
pulumi.set(__self__, "disabled", disabled)
|
|
if gha is not None:
|
|
pulumi.set(__self__, "gha", gha)
|
|
if inline is not None:
|
|
pulumi.set(__self__, "inline", inline)
|
|
if local is not None:
|
|
pulumi.set(__self__, "local", local)
|
|
if raw is not None:
|
|
pulumi.set(__self__, "raw", raw)
|
|
if registry is not None:
|
|
pulumi.set(__self__, "registry", registry)
|
|
if s3 is not None:
|
|
pulumi.set(__self__, "s3", s3)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def azblob(self) -> pulumi.Input[Optional['CacheToAzureBlobArgs']]:
|
|
"""
|
|
Push cache to Azure's blob storage service.
|
|
"""
|
|
return pulumi.get(self, "azblob")
|
|
|
|
@azblob.setter
|
|
def azblob(self, value: pulumi.Input[Optional['CacheToAzureBlobArgs']]):
|
|
pulumi.set(self, "azblob", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def disabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
When `true` this entry will be excluded. Defaults to `false`.
|
|
"""
|
|
return pulumi.get(self, "disabled")
|
|
|
|
@disabled.setter
|
|
def disabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "disabled", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def gha(self) -> pulumi.Input[Optional['CacheToGitHubActionsArgs']]:
|
|
"""
|
|
Recommended for use with GitHub Actions workflows.
|
|
|
|
An action like `crazy-max/ghaction-github-runtime` is recommended to
|
|
expose appropriate credentials to your GitHub workflow.
|
|
"""
|
|
return pulumi.get(self, "gha")
|
|
|
|
@gha.setter
|
|
def gha(self, value: pulumi.Input[Optional['CacheToGitHubActionsArgs']]):
|
|
pulumi.set(self, "gha", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def inline(self) -> pulumi.Input[Optional['CacheToInlineArgs']]:
|
|
"""
|
|
The inline cache storage backend is the simplest implementation to get
|
|
started with, but it does not handle multi-stage builds. Consider the
|
|
`registry` cache backend instead.
|
|
"""
|
|
return pulumi.get(self, "inline")
|
|
|
|
@inline.setter
|
|
def inline(self, value: pulumi.Input[Optional['CacheToInlineArgs']]):
|
|
pulumi.set(self, "inline", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def local(self) -> pulumi.Input[Optional['CacheToLocalArgs']]:
|
|
"""
|
|
A simple backend which caches imagines on your local filesystem.
|
|
"""
|
|
return pulumi.get(self, "local")
|
|
|
|
@local.setter
|
|
def local(self, value: pulumi.Input[Optional['CacheToLocalArgs']]):
|
|
pulumi.set(self, "local", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def raw(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
A raw string as you would provide it to the Docker CLI (e.g.,
|
|
`type=inline`)
|
|
"""
|
|
return pulumi.get(self, "raw")
|
|
|
|
@raw.setter
|
|
def raw(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "raw", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def registry(self) -> pulumi.Input[Optional['CacheToRegistryArgs']]:
|
|
"""
|
|
Push caches to remote registries. Incompatible with the `docker` build
|
|
driver.
|
|
"""
|
|
return pulumi.get(self, "registry")
|
|
|
|
@registry.setter
|
|
def registry(self, value: pulumi.Input[Optional['CacheToRegistryArgs']]):
|
|
pulumi.set(self, "registry", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def s3(self) -> pulumi.Input[Optional['CacheToS3Args']]:
|
|
"""
|
|
Push cache to AWS S3 or S3-compatible services such as MinIO.
|
|
"""
|
|
return pulumi.get(self, "s3")
|
|
|
|
@s3.setter
|
|
def s3(self, value: pulumi.Input[Optional['CacheToS3Args']]):
|
|
pulumi.set(self, "s3", value)
|
|
|
|
|
|
class ContextArgsDict(TypedDict):
|
|
location: pulumi.Input[_builtins.str]
|
|
"""
|
|
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.).
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class ContextArgs:
|
|
def __init__(__self__, *,
|
|
location: pulumi.Input[_builtins.str]):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] 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.).
|
|
"""
|
|
pulumi.set(__self__, "location", location)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def location(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
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 pulumi.get(self, "location")
|
|
|
|
@location.setter
|
|
def location(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "location", value)
|
|
|
|
|
|
class DockerfileArgsDict(TypedDict):
|
|
inline: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Raw Dockerfile contents.
|
|
|
|
Conflicts with `location`.
|
|
|
|
Equivalent to invoking Docker with `-f -`.
|
|
"""
|
|
location: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
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`.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class DockerfileArgs:
|
|
def __init__(__self__, *,
|
|
inline: pulumi.Input[Optional[_builtins.str]] = None,
|
|
location: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] inline: Raw Dockerfile contents.
|
|
|
|
Conflicts with `location`.
|
|
|
|
Equivalent to invoking Docker with `-f -`.
|
|
:param pulumi.Input[_builtins.str] location: 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`.
|
|
"""
|
|
if inline is not None:
|
|
pulumi.set(__self__, "inline", inline)
|
|
if location is not None:
|
|
pulumi.set(__self__, "location", location)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def inline(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Raw Dockerfile contents.
|
|
|
|
Conflicts with `location`.
|
|
|
|
Equivalent to invoking Docker with `-f -`.
|
|
"""
|
|
return pulumi.get(self, "inline")
|
|
|
|
@inline.setter
|
|
def inline(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "inline", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def location(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
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`.
|
|
"""
|
|
return pulumi.get(self, "location")
|
|
|
|
@location.setter
|
|
def location(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "location", value)
|
|
|
|
|
|
class ExportCacheOnlyArgsDict(TypedDict):
|
|
pass
|
|
|
|
@pulumi.input_type
|
|
class ExportCacheOnlyArgs:
|
|
def __init__(__self__):
|
|
pass
|
|
|
|
|
|
class ExportDockerArgsDict(TypedDict):
|
|
annotations: NotRequired[pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]]
|
|
"""
|
|
Attach an arbitrary key/value annotation to the image.
|
|
"""
|
|
compression: NotRequired[pulumi.Input[Optional['CompressionType']]]
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
compression_level: NotRequired[pulumi.Input[Optional[_builtins.int]]]
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
dest: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
The local export path.
|
|
"""
|
|
force_compression: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
names: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]]
|
|
"""
|
|
Specify images names to export. This is overridden if tags are already specified.
|
|
"""
|
|
oci_media_types: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Use OCI media types in exporter manifests.
|
|
"""
|
|
tar: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Bundle the output into a tarball layout.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class ExportDockerArgs:
|
|
def __init__(__self__, *,
|
|
annotations: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
compression: pulumi.Input[Optional['CompressionType']] = None,
|
|
compression_level: pulumi.Input[Optional[_builtins.int]] = None,
|
|
dest: pulumi.Input[Optional[_builtins.str]] = None,
|
|
force_compression: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
names: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
oci_media_types: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
tar: pulumi.Input[Optional[_builtins.bool]] = None):
|
|
"""
|
|
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Attach an arbitrary key/value annotation to the image.
|
|
:param pulumi.Input['CompressionType'] compression: The compression type to use.
|
|
:param pulumi.Input[_builtins.int] compression_level: Compression level from 0 to 22.
|
|
:param pulumi.Input[_builtins.str] dest: The local export path.
|
|
:param pulumi.Input[_builtins.bool] force_compression: Forcefully apply compression.
|
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] names: Specify images names to export. This is overridden if tags are already specified.
|
|
:param pulumi.Input[_builtins.bool] oci_media_types: Use OCI media types in exporter manifests.
|
|
:param pulumi.Input[_builtins.bool] tar: Bundle the output into a tarball layout.
|
|
"""
|
|
if annotations is not None:
|
|
pulumi.set(__self__, "annotations", annotations)
|
|
if compression is None:
|
|
compression = 'gzip'
|
|
if compression is not None:
|
|
pulumi.set(__self__, "compression", compression)
|
|
if compression_level is None:
|
|
compression_level = 0
|
|
if compression_level is not None:
|
|
pulumi.set(__self__, "compression_level", compression_level)
|
|
if dest is not None:
|
|
pulumi.set(__self__, "dest", dest)
|
|
if force_compression is None:
|
|
force_compression = False
|
|
if force_compression is not None:
|
|
pulumi.set(__self__, "force_compression", force_compression)
|
|
if names is not None:
|
|
pulumi.set(__self__, "names", names)
|
|
if oci_media_types is None:
|
|
oci_media_types = False
|
|
if oci_media_types is not None:
|
|
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
if tar is None:
|
|
tar = True
|
|
if tar is not None:
|
|
pulumi.set(__self__, "tar", tar)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def annotations(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
Attach an arbitrary key/value annotation to the image.
|
|
"""
|
|
return pulumi.get(self, "annotations")
|
|
|
|
@annotations.setter
|
|
def annotations(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "annotations", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def compression(self) -> pulumi.Input[Optional['CompressionType']]:
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
return pulumi.get(self, "compression")
|
|
|
|
@compression.setter
|
|
def compression(self, value: pulumi.Input[Optional['CompressionType']]):
|
|
pulumi.set(self, "compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="compressionLevel")
|
|
def compression_level(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
return pulumi.get(self, "compression_level")
|
|
|
|
@compression_level.setter
|
|
def compression_level(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "compression_level", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def dest(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
The local export path.
|
|
"""
|
|
return pulumi.get(self, "dest")
|
|
|
|
@dest.setter
|
|
def dest(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "dest", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="forceCompression")
|
|
def force_compression(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
return pulumi.get(self, "force_compression")
|
|
|
|
@force_compression.setter
|
|
def force_compression(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "force_compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def names(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
Specify images names to export. This is overridden if tags are already specified.
|
|
"""
|
|
return pulumi.get(self, "names")
|
|
|
|
@names.setter
|
|
def names(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "names", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ociMediaTypes")
|
|
def oci_media_types(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Use OCI media types in exporter manifests.
|
|
"""
|
|
return pulumi.get(self, "oci_media_types")
|
|
|
|
@oci_media_types.setter
|
|
def oci_media_types(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "oci_media_types", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def tar(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Bundle the output into a tarball layout.
|
|
"""
|
|
return pulumi.get(self, "tar")
|
|
|
|
@tar.setter
|
|
def tar(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "tar", value)
|
|
|
|
|
|
class ExportImageArgsDict(TypedDict):
|
|
annotations: NotRequired[pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]]
|
|
"""
|
|
Attach an arbitrary key/value annotation to the image.
|
|
"""
|
|
compression: NotRequired[pulumi.Input[Optional['CompressionType']]]
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
compression_level: NotRequired[pulumi.Input[Optional[_builtins.int]]]
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
dangling_name_prefix: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Name image with `prefix@<digest>`, used for anonymous images.
|
|
"""
|
|
force_compression: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
insecure: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Allow pushing to an insecure registry.
|
|
"""
|
|
name_canonical: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Add additional canonical name (`name@<digest>`).
|
|
"""
|
|
names: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]]
|
|
"""
|
|
Specify images names to export. This is overridden if tags are already specified.
|
|
"""
|
|
oci_media_types: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Use OCI media types in exporter manifests.
|
|
"""
|
|
push: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Push after creating the image. Defaults to `false`.
|
|
"""
|
|
push_by_digest: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Push image without name.
|
|
"""
|
|
store: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
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).
|
|
"""
|
|
unpack: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Unpack image after creation (for use with containerd). Defaults to
|
|
`false`.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class ExportImageArgs:
|
|
def __init__(__self__, *,
|
|
annotations: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
compression: pulumi.Input[Optional['CompressionType']] = None,
|
|
compression_level: pulumi.Input[Optional[_builtins.int]] = None,
|
|
dangling_name_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
force_compression: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
insecure: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
name_canonical: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
names: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
oci_media_types: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
push: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
push_by_digest: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
store: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
unpack: pulumi.Input[Optional[_builtins.bool]] = None):
|
|
"""
|
|
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Attach an arbitrary key/value annotation to the image.
|
|
:param pulumi.Input['CompressionType'] compression: The compression type to use.
|
|
:param pulumi.Input[_builtins.int] compression_level: Compression level from 0 to 22.
|
|
:param pulumi.Input[_builtins.str] dangling_name_prefix: Name image with `prefix@<digest>`, used for anonymous images.
|
|
:param pulumi.Input[_builtins.bool] force_compression: Forcefully apply compression.
|
|
:param pulumi.Input[_builtins.bool] insecure: Allow pushing to an insecure registry.
|
|
:param pulumi.Input[_builtins.bool] name_canonical: Add additional canonical name (`name@<digest>`).
|
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] names: Specify images names to export. This is overridden if tags are already specified.
|
|
:param pulumi.Input[_builtins.bool] oci_media_types: Use OCI media types in exporter manifests.
|
|
:param pulumi.Input[_builtins.bool] push: Push after creating the image. Defaults to `false`.
|
|
:param pulumi.Input[_builtins.bool] push_by_digest: Push image without name.
|
|
:param pulumi.Input[_builtins.bool] store: 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).
|
|
:param pulumi.Input[_builtins.bool] unpack: Unpack image after creation (for use with containerd). Defaults to
|
|
`false`.
|
|
"""
|
|
if annotations is not None:
|
|
pulumi.set(__self__, "annotations", annotations)
|
|
if compression is None:
|
|
compression = 'gzip'
|
|
if compression is not None:
|
|
pulumi.set(__self__, "compression", compression)
|
|
if compression_level is None:
|
|
compression_level = 0
|
|
if compression_level is not None:
|
|
pulumi.set(__self__, "compression_level", compression_level)
|
|
if dangling_name_prefix is not None:
|
|
pulumi.set(__self__, "dangling_name_prefix", dangling_name_prefix)
|
|
if force_compression is None:
|
|
force_compression = False
|
|
if force_compression is not None:
|
|
pulumi.set(__self__, "force_compression", force_compression)
|
|
if insecure is not None:
|
|
pulumi.set(__self__, "insecure", insecure)
|
|
if name_canonical is not None:
|
|
pulumi.set(__self__, "name_canonical", name_canonical)
|
|
if names is not None:
|
|
pulumi.set(__self__, "names", names)
|
|
if oci_media_types is None:
|
|
oci_media_types = False
|
|
if oci_media_types is not None:
|
|
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
if push is not None:
|
|
pulumi.set(__self__, "push", push)
|
|
if push_by_digest is not None:
|
|
pulumi.set(__self__, "push_by_digest", push_by_digest)
|
|
if store is None:
|
|
store = True
|
|
if store is not None:
|
|
pulumi.set(__self__, "store", store)
|
|
if unpack is not None:
|
|
pulumi.set(__self__, "unpack", unpack)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def annotations(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
Attach an arbitrary key/value annotation to the image.
|
|
"""
|
|
return pulumi.get(self, "annotations")
|
|
|
|
@annotations.setter
|
|
def annotations(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "annotations", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def compression(self) -> pulumi.Input[Optional['CompressionType']]:
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
return pulumi.get(self, "compression")
|
|
|
|
@compression.setter
|
|
def compression(self, value: pulumi.Input[Optional['CompressionType']]):
|
|
pulumi.set(self, "compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="compressionLevel")
|
|
def compression_level(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
return pulumi.get(self, "compression_level")
|
|
|
|
@compression_level.setter
|
|
def compression_level(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "compression_level", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="danglingNamePrefix")
|
|
def dangling_name_prefix(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Name image with `prefix@<digest>`, used for anonymous images.
|
|
"""
|
|
return pulumi.get(self, "dangling_name_prefix")
|
|
|
|
@dangling_name_prefix.setter
|
|
def dangling_name_prefix(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "dangling_name_prefix", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="forceCompression")
|
|
def force_compression(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
return pulumi.get(self, "force_compression")
|
|
|
|
@force_compression.setter
|
|
def force_compression(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "force_compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def insecure(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Allow pushing to an insecure registry.
|
|
"""
|
|
return pulumi.get(self, "insecure")
|
|
|
|
@insecure.setter
|
|
def insecure(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "insecure", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="nameCanonical")
|
|
def name_canonical(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Add additional canonical name (`name@<digest>`).
|
|
"""
|
|
return pulumi.get(self, "name_canonical")
|
|
|
|
@name_canonical.setter
|
|
def name_canonical(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "name_canonical", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def names(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
Specify images names to export. This is overridden if tags are already specified.
|
|
"""
|
|
return pulumi.get(self, "names")
|
|
|
|
@names.setter
|
|
def names(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "names", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ociMediaTypes")
|
|
def oci_media_types(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Use OCI media types in exporter manifests.
|
|
"""
|
|
return pulumi.get(self, "oci_media_types")
|
|
|
|
@oci_media_types.setter
|
|
def oci_media_types(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "oci_media_types", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def push(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Push after creating the image. Defaults to `false`.
|
|
"""
|
|
return pulumi.get(self, "push")
|
|
|
|
@push.setter
|
|
def push(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "push", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="pushByDigest")
|
|
def push_by_digest(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Push image without name.
|
|
"""
|
|
return pulumi.get(self, "push_by_digest")
|
|
|
|
@push_by_digest.setter
|
|
def push_by_digest(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "push_by_digest", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def store(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
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).
|
|
"""
|
|
return pulumi.get(self, "store")
|
|
|
|
@store.setter
|
|
def store(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "store", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def unpack(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Unpack image after creation (for use with containerd). Defaults to
|
|
`false`.
|
|
"""
|
|
return pulumi.get(self, "unpack")
|
|
|
|
@unpack.setter
|
|
def unpack(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "unpack", value)
|
|
|
|
|
|
class ExportLocalArgsDict(TypedDict):
|
|
dest: pulumi.Input[_builtins.str]
|
|
"""
|
|
Output path.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class ExportLocalArgs:
|
|
def __init__(__self__, *,
|
|
dest: pulumi.Input[_builtins.str]):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] dest: Output path.
|
|
"""
|
|
pulumi.set(__self__, "dest", dest)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def dest(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Output path.
|
|
"""
|
|
return pulumi.get(self, "dest")
|
|
|
|
@dest.setter
|
|
def dest(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "dest", value)
|
|
|
|
|
|
class ExportOCIArgsDict(TypedDict):
|
|
annotations: NotRequired[pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]]
|
|
"""
|
|
Attach an arbitrary key/value annotation to the image.
|
|
"""
|
|
compression: NotRequired[pulumi.Input[Optional['CompressionType']]]
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
compression_level: NotRequired[pulumi.Input[Optional[_builtins.int]]]
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
dest: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
The local export path.
|
|
"""
|
|
force_compression: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
names: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]]
|
|
"""
|
|
Specify images names to export. This is overridden if tags are already specified.
|
|
"""
|
|
oci_media_types: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Use OCI media types in exporter manifests.
|
|
"""
|
|
tar: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Bundle the output into a tarball layout.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class ExportOCIArgs:
|
|
def __init__(__self__, *,
|
|
annotations: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
compression: pulumi.Input[Optional['CompressionType']] = None,
|
|
compression_level: pulumi.Input[Optional[_builtins.int]] = None,
|
|
dest: pulumi.Input[Optional[_builtins.str]] = None,
|
|
force_compression: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
names: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
oci_media_types: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
tar: pulumi.Input[Optional[_builtins.bool]] = None):
|
|
"""
|
|
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Attach an arbitrary key/value annotation to the image.
|
|
:param pulumi.Input['CompressionType'] compression: The compression type to use.
|
|
:param pulumi.Input[_builtins.int] compression_level: Compression level from 0 to 22.
|
|
:param pulumi.Input[_builtins.str] dest: The local export path.
|
|
:param pulumi.Input[_builtins.bool] force_compression: Forcefully apply compression.
|
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] names: Specify images names to export. This is overridden if tags are already specified.
|
|
:param pulumi.Input[_builtins.bool] oci_media_types: Use OCI media types in exporter manifests.
|
|
:param pulumi.Input[_builtins.bool] tar: Bundle the output into a tarball layout.
|
|
"""
|
|
if annotations is not None:
|
|
pulumi.set(__self__, "annotations", annotations)
|
|
if compression is None:
|
|
compression = 'gzip'
|
|
if compression is not None:
|
|
pulumi.set(__self__, "compression", compression)
|
|
if compression_level is None:
|
|
compression_level = 0
|
|
if compression_level is not None:
|
|
pulumi.set(__self__, "compression_level", compression_level)
|
|
if dest is not None:
|
|
pulumi.set(__self__, "dest", dest)
|
|
if force_compression is None:
|
|
force_compression = False
|
|
if force_compression is not None:
|
|
pulumi.set(__self__, "force_compression", force_compression)
|
|
if names is not None:
|
|
pulumi.set(__self__, "names", names)
|
|
if oci_media_types is None:
|
|
oci_media_types = True
|
|
if oci_media_types is not None:
|
|
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
if tar is None:
|
|
tar = True
|
|
if tar is not None:
|
|
pulumi.set(__self__, "tar", tar)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def annotations(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
Attach an arbitrary key/value annotation to the image.
|
|
"""
|
|
return pulumi.get(self, "annotations")
|
|
|
|
@annotations.setter
|
|
def annotations(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "annotations", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def compression(self) -> pulumi.Input[Optional['CompressionType']]:
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
return pulumi.get(self, "compression")
|
|
|
|
@compression.setter
|
|
def compression(self, value: pulumi.Input[Optional['CompressionType']]):
|
|
pulumi.set(self, "compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="compressionLevel")
|
|
def compression_level(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
return pulumi.get(self, "compression_level")
|
|
|
|
@compression_level.setter
|
|
def compression_level(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "compression_level", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def dest(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
The local export path.
|
|
"""
|
|
return pulumi.get(self, "dest")
|
|
|
|
@dest.setter
|
|
def dest(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "dest", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="forceCompression")
|
|
def force_compression(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
return pulumi.get(self, "force_compression")
|
|
|
|
@force_compression.setter
|
|
def force_compression(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "force_compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def names(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
Specify images names to export. This is overridden if tags are already specified.
|
|
"""
|
|
return pulumi.get(self, "names")
|
|
|
|
@names.setter
|
|
def names(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "names", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ociMediaTypes")
|
|
def oci_media_types(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Use OCI media types in exporter manifests.
|
|
"""
|
|
return pulumi.get(self, "oci_media_types")
|
|
|
|
@oci_media_types.setter
|
|
def oci_media_types(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "oci_media_types", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def tar(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Bundle the output into a tarball layout.
|
|
"""
|
|
return pulumi.get(self, "tar")
|
|
|
|
@tar.setter
|
|
def tar(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "tar", value)
|
|
|
|
|
|
class ExportRegistryArgsDict(TypedDict):
|
|
annotations: NotRequired[pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]]
|
|
"""
|
|
Attach an arbitrary key/value annotation to the image.
|
|
"""
|
|
compression: NotRequired[pulumi.Input[Optional['CompressionType']]]
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
compression_level: NotRequired[pulumi.Input[Optional[_builtins.int]]]
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
dangling_name_prefix: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Name image with `prefix@<digest>`, used for anonymous images.
|
|
"""
|
|
force_compression: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
insecure: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Allow pushing to an insecure registry.
|
|
"""
|
|
name_canonical: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Add additional canonical name (`name@<digest>`).
|
|
"""
|
|
names: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]]
|
|
"""
|
|
Specify images names to export. This is overridden if tags are already specified.
|
|
"""
|
|
oci_media_types: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Use OCI media types in exporter manifests.
|
|
"""
|
|
push: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Push after creating the image. Defaults to `true`.
|
|
"""
|
|
push_by_digest: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Push image without name.
|
|
"""
|
|
store: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
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).
|
|
"""
|
|
unpack: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
Unpack image after creation (for use with containerd). Defaults to
|
|
`false`.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class ExportRegistryArgs:
|
|
def __init__(__self__, *,
|
|
annotations: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
compression: pulumi.Input[Optional['CompressionType']] = None,
|
|
compression_level: pulumi.Input[Optional[_builtins.int]] = None,
|
|
dangling_name_prefix: pulumi.Input[Optional[_builtins.str]] = None,
|
|
force_compression: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
insecure: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
name_canonical: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
names: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
oci_media_types: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
push: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
push_by_digest: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
store: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
unpack: pulumi.Input[Optional[_builtins.bool]] = None):
|
|
"""
|
|
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Attach an arbitrary key/value annotation to the image.
|
|
:param pulumi.Input['CompressionType'] compression: The compression type to use.
|
|
:param pulumi.Input[_builtins.int] compression_level: Compression level from 0 to 22.
|
|
:param pulumi.Input[_builtins.str] dangling_name_prefix: Name image with `prefix@<digest>`, used for anonymous images.
|
|
:param pulumi.Input[_builtins.bool] force_compression: Forcefully apply compression.
|
|
:param pulumi.Input[_builtins.bool] insecure: Allow pushing to an insecure registry.
|
|
:param pulumi.Input[_builtins.bool] name_canonical: Add additional canonical name (`name@<digest>`).
|
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] names: Specify images names to export. This is overridden if tags are already specified.
|
|
:param pulumi.Input[_builtins.bool] oci_media_types: Use OCI media types in exporter manifests.
|
|
:param pulumi.Input[_builtins.bool] push: Push after creating the image. Defaults to `true`.
|
|
:param pulumi.Input[_builtins.bool] push_by_digest: Push image without name.
|
|
:param pulumi.Input[_builtins.bool] store: 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).
|
|
:param pulumi.Input[_builtins.bool] unpack: Unpack image after creation (for use with containerd). Defaults to
|
|
`false`.
|
|
"""
|
|
if annotations is not None:
|
|
pulumi.set(__self__, "annotations", annotations)
|
|
if compression is None:
|
|
compression = 'gzip'
|
|
if compression is not None:
|
|
pulumi.set(__self__, "compression", compression)
|
|
if compression_level is None:
|
|
compression_level = 0
|
|
if compression_level is not None:
|
|
pulumi.set(__self__, "compression_level", compression_level)
|
|
if dangling_name_prefix is not None:
|
|
pulumi.set(__self__, "dangling_name_prefix", dangling_name_prefix)
|
|
if force_compression is None:
|
|
force_compression = False
|
|
if force_compression is not None:
|
|
pulumi.set(__self__, "force_compression", force_compression)
|
|
if insecure is not None:
|
|
pulumi.set(__self__, "insecure", insecure)
|
|
if name_canonical is not None:
|
|
pulumi.set(__self__, "name_canonical", name_canonical)
|
|
if names is not None:
|
|
pulumi.set(__self__, "names", names)
|
|
if oci_media_types is None:
|
|
oci_media_types = False
|
|
if oci_media_types is not None:
|
|
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
if push is None:
|
|
push = True
|
|
if push is not None:
|
|
pulumi.set(__self__, "push", push)
|
|
if push_by_digest is not None:
|
|
pulumi.set(__self__, "push_by_digest", push_by_digest)
|
|
if store is None:
|
|
store = True
|
|
if store is not None:
|
|
pulumi.set(__self__, "store", store)
|
|
if unpack is not None:
|
|
pulumi.set(__self__, "unpack", unpack)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def annotations(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
Attach an arbitrary key/value annotation to the image.
|
|
"""
|
|
return pulumi.get(self, "annotations")
|
|
|
|
@annotations.setter
|
|
def annotations(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "annotations", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def compression(self) -> pulumi.Input[Optional['CompressionType']]:
|
|
"""
|
|
The compression type to use.
|
|
"""
|
|
return pulumi.get(self, "compression")
|
|
|
|
@compression.setter
|
|
def compression(self, value: pulumi.Input[Optional['CompressionType']]):
|
|
pulumi.set(self, "compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="compressionLevel")
|
|
def compression_level(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Compression level from 0 to 22.
|
|
"""
|
|
return pulumi.get(self, "compression_level")
|
|
|
|
@compression_level.setter
|
|
def compression_level(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "compression_level", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="danglingNamePrefix")
|
|
def dangling_name_prefix(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Name image with `prefix@<digest>`, used for anonymous images.
|
|
"""
|
|
return pulumi.get(self, "dangling_name_prefix")
|
|
|
|
@dangling_name_prefix.setter
|
|
def dangling_name_prefix(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "dangling_name_prefix", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="forceCompression")
|
|
def force_compression(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Forcefully apply compression.
|
|
"""
|
|
return pulumi.get(self, "force_compression")
|
|
|
|
@force_compression.setter
|
|
def force_compression(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "force_compression", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def insecure(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Allow pushing to an insecure registry.
|
|
"""
|
|
return pulumi.get(self, "insecure")
|
|
|
|
@insecure.setter
|
|
def insecure(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "insecure", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="nameCanonical")
|
|
def name_canonical(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Add additional canonical name (`name@<digest>`).
|
|
"""
|
|
return pulumi.get(self, "name_canonical")
|
|
|
|
@name_canonical.setter
|
|
def name_canonical(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "name_canonical", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def names(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
Specify images names to export. This is overridden if tags are already specified.
|
|
"""
|
|
return pulumi.get(self, "names")
|
|
|
|
@names.setter
|
|
def names(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "names", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="ociMediaTypes")
|
|
def oci_media_types(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Use OCI media types in exporter manifests.
|
|
"""
|
|
return pulumi.get(self, "oci_media_types")
|
|
|
|
@oci_media_types.setter
|
|
def oci_media_types(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "oci_media_types", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def push(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Push after creating the image. Defaults to `true`.
|
|
"""
|
|
return pulumi.get(self, "push")
|
|
|
|
@push.setter
|
|
def push(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "push", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="pushByDigest")
|
|
def push_by_digest(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Push image without name.
|
|
"""
|
|
return pulumi.get(self, "push_by_digest")
|
|
|
|
@push_by_digest.setter
|
|
def push_by_digest(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "push_by_digest", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def store(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
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).
|
|
"""
|
|
return pulumi.get(self, "store")
|
|
|
|
@store.setter
|
|
def store(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "store", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def unpack(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Unpack image after creation (for use with containerd). Defaults to
|
|
`false`.
|
|
"""
|
|
return pulumi.get(self, "unpack")
|
|
|
|
@unpack.setter
|
|
def unpack(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "unpack", value)
|
|
|
|
|
|
class ExportTarArgsDict(TypedDict):
|
|
dest: pulumi.Input[_builtins.str]
|
|
"""
|
|
Output path.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class ExportTarArgs:
|
|
def __init__(__self__, *,
|
|
dest: pulumi.Input[_builtins.str]):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] dest: Output path.
|
|
"""
|
|
pulumi.set(__self__, "dest", dest)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def dest(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Output path.
|
|
"""
|
|
return pulumi.get(self, "dest")
|
|
|
|
@dest.setter
|
|
def dest(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "dest", value)
|
|
|
|
|
|
class ExportArgsDict(TypedDict):
|
|
cacheonly: NotRequired[pulumi.Input[Optional['ExportCacheOnlyArgs']]]
|
|
"""
|
|
A no-op export. Helpful for silencing the 'no exports' warning if you
|
|
just want to populate caches.
|
|
"""
|
|
disabled: NotRequired[pulumi.Input[Optional[_builtins.bool]]]
|
|
"""
|
|
When `true` this entry will be excluded. Defaults to `false`.
|
|
"""
|
|
docker: NotRequired[pulumi.Input[Optional['ExportDockerArgs']]]
|
|
"""
|
|
Export as a Docker image layout.
|
|
"""
|
|
image: NotRequired[pulumi.Input[Optional['ExportImageArgs']]]
|
|
"""
|
|
Outputs the build result into a container image format.
|
|
"""
|
|
local: NotRequired[pulumi.Input[Optional['ExportLocalArgs']]]
|
|
"""
|
|
Export to a local directory as files and directories.
|
|
"""
|
|
oci: NotRequired[pulumi.Input[Optional['ExportOCIArgs']]]
|
|
"""
|
|
Identical to the Docker exporter but uses OCI media types by default.
|
|
"""
|
|
raw: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
A raw string as you would provide it to the Docker CLI (e.g.,
|
|
`type=docker`)
|
|
"""
|
|
registry: NotRequired[pulumi.Input[Optional['ExportRegistryArgs']]]
|
|
"""
|
|
Identical to the Image exporter, but pushes by default.
|
|
"""
|
|
tar: NotRequired[pulumi.Input[Optional['ExportTarArgs']]]
|
|
"""
|
|
Export to a local directory as a tarball.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class ExportArgs:
|
|
def __init__(__self__, *,
|
|
cacheonly: pulumi.Input[Optional['ExportCacheOnlyArgs']] = None,
|
|
disabled: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
docker: pulumi.Input[Optional['ExportDockerArgs']] = None,
|
|
image: pulumi.Input[Optional['ExportImageArgs']] = None,
|
|
local: pulumi.Input[Optional['ExportLocalArgs']] = None,
|
|
oci: pulumi.Input[Optional['ExportOCIArgs']] = None,
|
|
raw: pulumi.Input[Optional[_builtins.str]] = None,
|
|
registry: pulumi.Input[Optional['ExportRegistryArgs']] = None,
|
|
tar: pulumi.Input[Optional['ExportTarArgs']] = None):
|
|
"""
|
|
:param pulumi.Input['ExportCacheOnlyArgs'] cacheonly: A no-op export. Helpful for silencing the 'no exports' warning if you
|
|
just want to populate caches.
|
|
:param pulumi.Input[_builtins.bool] disabled: When `true` this entry will be excluded. Defaults to `false`.
|
|
:param pulumi.Input['ExportDockerArgs'] docker: Export as a Docker image layout.
|
|
:param pulumi.Input['ExportImageArgs'] image: Outputs the build result into a container image format.
|
|
:param pulumi.Input['ExportLocalArgs'] local: Export to a local directory as files and directories.
|
|
:param pulumi.Input['ExportOCIArgs'] oci: Identical to the Docker exporter but uses OCI media types by default.
|
|
:param pulumi.Input[_builtins.str] raw: A raw string as you would provide it to the Docker CLI (e.g.,
|
|
`type=docker`)
|
|
:param pulumi.Input['ExportRegistryArgs'] registry: Identical to the Image exporter, but pushes by default.
|
|
:param pulumi.Input['ExportTarArgs'] tar: Export to a local directory as a tarball.
|
|
"""
|
|
if cacheonly is not None:
|
|
pulumi.set(__self__, "cacheonly", cacheonly)
|
|
if disabled is not None:
|
|
pulumi.set(__self__, "disabled", disabled)
|
|
if docker is not None:
|
|
pulumi.set(__self__, "docker", docker)
|
|
if image is not None:
|
|
pulumi.set(__self__, "image", image)
|
|
if local is not None:
|
|
pulumi.set(__self__, "local", local)
|
|
if oci is not None:
|
|
pulumi.set(__self__, "oci", oci)
|
|
if raw is not None:
|
|
pulumi.set(__self__, "raw", raw)
|
|
if registry is not None:
|
|
pulumi.set(__self__, "registry", registry)
|
|
if tar is not None:
|
|
pulumi.set(__self__, "tar", tar)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def cacheonly(self) -> pulumi.Input[Optional['ExportCacheOnlyArgs']]:
|
|
"""
|
|
A no-op export. Helpful for silencing the 'no exports' warning if you
|
|
just want to populate caches.
|
|
"""
|
|
return pulumi.get(self, "cacheonly")
|
|
|
|
@cacheonly.setter
|
|
def cacheonly(self, value: pulumi.Input[Optional['ExportCacheOnlyArgs']]):
|
|
pulumi.set(self, "cacheonly", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def disabled(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
When `true` this entry will be excluded. Defaults to `false`.
|
|
"""
|
|
return pulumi.get(self, "disabled")
|
|
|
|
@disabled.setter
|
|
def disabled(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "disabled", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def docker(self) -> pulumi.Input[Optional['ExportDockerArgs']]:
|
|
"""
|
|
Export as a Docker image layout.
|
|
"""
|
|
return pulumi.get(self, "docker")
|
|
|
|
@docker.setter
|
|
def docker(self, value: pulumi.Input[Optional['ExportDockerArgs']]):
|
|
pulumi.set(self, "docker", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def image(self) -> pulumi.Input[Optional['ExportImageArgs']]:
|
|
"""
|
|
Outputs the build result into a container image format.
|
|
"""
|
|
return pulumi.get(self, "image")
|
|
|
|
@image.setter
|
|
def image(self, value: pulumi.Input[Optional['ExportImageArgs']]):
|
|
pulumi.set(self, "image", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def local(self) -> pulumi.Input[Optional['ExportLocalArgs']]:
|
|
"""
|
|
Export to a local directory as files and directories.
|
|
"""
|
|
return pulumi.get(self, "local")
|
|
|
|
@local.setter
|
|
def local(self, value: pulumi.Input[Optional['ExportLocalArgs']]):
|
|
pulumi.set(self, "local", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def oci(self) -> pulumi.Input[Optional['ExportOCIArgs']]:
|
|
"""
|
|
Identical to the Docker exporter but uses OCI media types by default.
|
|
"""
|
|
return pulumi.get(self, "oci")
|
|
|
|
@oci.setter
|
|
def oci(self, value: pulumi.Input[Optional['ExportOCIArgs']]):
|
|
pulumi.set(self, "oci", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def raw(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
A raw string as you would provide it to the Docker CLI (e.g.,
|
|
`type=docker`)
|
|
"""
|
|
return pulumi.get(self, "raw")
|
|
|
|
@raw.setter
|
|
def raw(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "raw", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def registry(self) -> pulumi.Input[Optional['ExportRegistryArgs']]:
|
|
"""
|
|
Identical to the Image exporter, but pushes by default.
|
|
"""
|
|
return pulumi.get(self, "registry")
|
|
|
|
@registry.setter
|
|
def registry(self, value: pulumi.Input[Optional['ExportRegistryArgs']]):
|
|
pulumi.set(self, "registry", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def tar(self) -> pulumi.Input[Optional['ExportTarArgs']]:
|
|
"""
|
|
Export to a local directory as a tarball.
|
|
"""
|
|
return pulumi.get(self, "tar")
|
|
|
|
@tar.setter
|
|
def tar(self, value: pulumi.Input[Optional['ExportTarArgs']]):
|
|
pulumi.set(self, "tar", value)
|
|
|
|
|
|
class RegistryArgsDict(TypedDict):
|
|
address: pulumi.Input[_builtins.str]
|
|
"""
|
|
The registry's address (e.g. "docker.io").
|
|
"""
|
|
password: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Password or token for the registry.
|
|
"""
|
|
username: NotRequired[pulumi.Input[Optional[_builtins.str]]]
|
|
"""
|
|
Username for the registry.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class RegistryArgs:
|
|
def __init__(__self__, *,
|
|
address: pulumi.Input[_builtins.str],
|
|
password: pulumi.Input[Optional[_builtins.str]] = None,
|
|
username: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] address: The registry's address (e.g. "docker.io").
|
|
:param pulumi.Input[_builtins.str] password: Password or token for the registry.
|
|
:param pulumi.Input[_builtins.str] username: Username for the registry.
|
|
"""
|
|
pulumi.set(__self__, "address", address)
|
|
if password is not None:
|
|
pulumi.set(__self__, "password", password)
|
|
if username is not None:
|
|
pulumi.set(__self__, "username", username)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def address(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
The registry's address (e.g. "docker.io").
|
|
"""
|
|
return pulumi.get(self, "address")
|
|
|
|
@address.setter
|
|
def address(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "address", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def password(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Password or token for the registry.
|
|
"""
|
|
return pulumi.get(self, "password")
|
|
|
|
@password.setter
|
|
def password(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "password", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def username(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Username for the registry.
|
|
"""
|
|
return pulumi.get(self, "username")
|
|
|
|
@username.setter
|
|
def username(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "username", value)
|
|
|
|
|
|
class SSHArgsDict(TypedDict):
|
|
id: pulumi.Input[_builtins.str]
|
|
"""
|
|
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.
|
|
"""
|
|
paths: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]]
|
|
"""
|
|
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.
|
|
"""
|
|
|
|
@pulumi.input_type
|
|
class SSHArgs:
|
|
def __init__(__self__, *,
|
|
id: pulumi.Input[_builtins.str],
|
|
paths: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None):
|
|
"""
|
|
:param pulumi.Input[_builtins.str] id: 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.
|
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] paths: 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.
|
|
"""
|
|
pulumi.set(__self__, "id", id)
|
|
if paths is not None:
|
|
pulumi.set(__self__, "paths", paths)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def id(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
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.
|
|
"""
|
|
return pulumi.get(self, "id")
|
|
|
|
@id.setter
|
|
def id(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def paths(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
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.
|
|
"""
|
|
return pulumi.get(self, "paths")
|
|
|
|
@paths.setter
|
|
def paths(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "paths", value)
|
|
|
|
|