Files
pulumi-docker-build/sdk/python/pulumi_docker_build/_inputs.py
pulumi-renovate[bot] 0110626c42 Update first-party Pulumi dependencies (#819)
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 (@&#8203;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
[#&#8203;22523](https://redirect.github.com/pulumi/pulumi/pull/22523)

-   \[cli] Bundle the `hcl` language host (from pulumi-labs/pulumi-hcl)
[#&#8203;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`
[#&#8203;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
[#&#8203;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`

[#&#8203;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).

[#&#8203;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.
[#&#8203;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…`
[#&#8203;22825](https://redirect.github.com/pulumi/pulumi/pull/22825)

- \[codegen/go] Correctly generate `[]pulumi.Asset` & `[]pulumi.Archive`
[#&#8203;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
[#&#8203;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
[#&#8203;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
[#&#8203;22834](https://redirect.github.com/pulumi/pulumi/pull/22834)

- \[programgen/{nodejs,python}] Fix programgen to emit the right
`length` check for string length
[#&#8203;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.
[#&#8203;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

[#&#8203;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

[#&#8203;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`
[#&#8203;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
[#&#8203;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.

[#&#8203;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.

[#&#8203;22697](https://redirect.github.com/pulumi/pulumi/pull/22697)

-   \[engine] Add `List` to the provider protocol and schema
[#&#8203;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!"
[#&#8203;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`).

[#&#8203;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
[#&#8203;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>`.

[#&#8203;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.

[#&#8203;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.

[#&#8203;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.

[#&#8203;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.

[#&#8203;22696](https://redirect.github.com/pulumi/pulumi/pull/22696)

- \[sdk/python] Reduce internal `Output[T]` data to a single
`asyncio.Future`
[#&#8203;22661](https://redirect.github.com/pulumi/pulumi/pull/22661)

- \[sdkgen/{nodejs,python}] Generate optional input types that accept
undefined/None values
[#&#8203;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
[#&#8203;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.

[#&#8203;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.

[#&#8203;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.

[#&#8203;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()`

[#&#8203;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.

[#&#8203;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.

[#&#8203;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.

[#&#8203;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.

[#&#8203;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.

[#&#8203;22635](https://redirect.github.com/pulumi/pulumi/pull/22635)

- \[cli/policy] Fix `policy ls` to use the default org name, not
username
[#&#8203;22656](https://redirect.github.com/pulumi/pulumi/pull/22656)

- \[engine] Fix provider registry race condition in parallel
delete-before-replace
[#&#8203;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
[#&#8203;22636](https://redirect.github.com/pulumi/pulumi/pull/22636)

- \[programgen/python] Add necessary casts between types in generated
programs
[#&#8203;22567](https://redirect.github.com/pulumi/pulumi/pull/22567)

- \[sdkgen/go] Fix caching of package references to be per-deployment
not per-process
[#&#8203;22170](https://redirect.github.com/pulumi/pulumi/pull/22170)

##### Miscellaneous

-   \[java] Upgrade java to v1.25.0
[#&#8203;22673](https://redirect.github.com/pulumi/pulumi/pull/22673)

- \[auto/go] Generate command methods for the Go Automation API codegen
[#&#8203;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
[#&#8203;22603](https://redirect.github.com/pulumi/pulumi/pull/22603)

-   \[sdk/dotnet] Upgrade dotnet to v3.103.1
[#&#8203;22676](https://redirect.github.com/pulumi/pulumi/pull/22676)

-   \[yaml] Upgrade yaml to v1.32.0
[#&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[#&#8203;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
[#&#8203;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.
[#&#8203;969](https://redirect.github.com/pulumi/pulumi-dotnet/pull/969)

- \[runtime] Fix codegen for nested `InputMap` literals so the produced
C# compiles
([#&#8203;833](https://redirect.github.com/pulumi/pulumi-dotnet/issues/833))
[#&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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>
2026-05-06 16:57:43 +00:00

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)