Files
pulumi-docker-build/sdk/python/pulumi_docker_build/_inputs.py
pulumi-renovate[bot] a5a7760dda Update first-party Pulumi dependencies (#868)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild](https://redirect.github.com/pulumi/pulumi-docker-build)
| require | patch | `v0.0.17` -> `v0.0.18` |
|
[github.com/pulumi/pulumi/pkg/v3](https://redirect.github.com/pulumi/pulumi)
| require | minor | `v3.242.0` -> `v3.243.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>pulumi/pulumi-docker-build
(github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild)</summary>

###
[`v0.0.18`](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.17...v0.0.18)

[Compare
Source](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.17...v0.0.18)

</details>

<details>
<summary>pulumi/pulumi (github.com/pulumi/pulumi/pkg/v3)</summary>

###
[`v3.243.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.243.0)

[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.242.0...v3.243.0)

#### 3.243.0 (2026-05-22)

##### Features

- \[cli] Make the `pulumi project new -y` command write a minimal
project file with no template
[#&#8203;22847](https://redirect.github.com/pulumi/pulumi/pull/22847)

- \[cli] Allow coding agents to create claimable temporary accounts when
not authenticated

- \[cli] Suggest `pulumi neo` in `pulumi preview` and `pulumi up`
diagnostics output
[#&#8203;23326](https://redirect.github.com/pulumi/pulumi/pull/23326)

- \[sdk] Add `List` to the Go `plugin.Provider` interface, wired to the
streaming `ResourceProvider.List` RPC
[#&#8203;23287](https://redirect.github.com/pulumi/pulumi/pull/23287)

- \[sdkgen] Reserve the package names 'pulumi' and 'input' for internal
use
[#&#8203;23321](https://redirect.github.com/pulumi/pulumi/pull/23321)

- \[cli/cloud] Prefer text/markdown over JSON in `pulumi api` when an
endpoint produces both
[#&#8203;22963](https://redirect.github.com/pulumi/pulumi/pull/22963)

-   \[cli/do] Add resource support to `pulumi do`
[#&#8203;23215](https://redirect.github.com/pulumi/pulumi/pull/23215)

- \[cli/neo] Pressing Esc in `pulumi neo` now clears the input box when
it has text; with an empty box, Esc still cancels the agent's current
turn
[#&#8203;23299](https://redirect.github.com/pulumi/pulumi/pull/23299)

-   \[cli/new] Alias `pulumi new` to `pulumi project new`
[#&#8203;23265](https://redirect.github.com/pulumi/pulumi/pull/23265)

##### Bug Fixes

- \[cli] Require `--yes` to confirm `pulumi deployment cancel`, `pulumi
stack schedule remove`, `pulumi org webhook remove`, and `pulumi stack
webhook remove` when running non-interactively
[#&#8203;23264](https://redirect.github.com/pulumi/pulumi/pull/23264)

-   \[pcl] Don't silently ignore `...` in function arguments
[#&#8203;23309](https://redirect.github.com/pulumi/pulumi/pull/23309)

- \[sdkgen/nodejs] Cache package references per-deployment in generated
SDKs to fix concurrent inline programs
[#&#8203;23068](https://redirect.github.com/pulumi/pulumi/pull/23068)

-   \[backend/service] Error out when setting up journaler fails
[#&#8203;22671](https://redirect.github.com/pulumi/pulumi/pull/22671)

##### Miscellaneous

- \[cli/package] Update the `pulumi package add --agent` documentation
hint to use `<type-token>` as the placeholder for the `/docs/...` URL
[#&#8203;23294](https://redirect.github.com/pulumi/pulumi/pull/23294)

-   \[cli/plugin] Rename plugin ls to list and rm to remove
[#&#8203;23291](https://redirect.github.com/pulumi/pulumi/pull/23291)

</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: pulumi-bot <bot@pulumi.com>
2026-05-28 00:35:07 +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',
'CacheFromArgs',
'CacheFromArgsDict',
'CacheFromAzureBlobArgs',
'CacheFromAzureBlobArgsDict',
'CacheFromGitHubActionsArgs',
'CacheFromGitHubActionsArgsDict',
'CacheFromLocalArgs',
'CacheFromLocalArgsDict',
'CacheFromRegistryArgs',
'CacheFromRegistryArgsDict',
'CacheFromS3Args',
'CacheFromS3ArgsDict',
'CacheToArgs',
'CacheToArgsDict',
'CacheToAzureBlobArgs',
'CacheToAzureBlobArgsDict',
'CacheToGitHubActionsArgs',
'CacheToGitHubActionsArgsDict',
'CacheToInlineArgs',
'CacheToInlineArgsDict',
'CacheToLocalArgs',
'CacheToLocalArgsDict',
'CacheToRegistryArgs',
'CacheToRegistryArgsDict',
'CacheToS3Args',
'CacheToS3ArgsDict',
'ContextArgs',
'ContextArgsDict',
'DockerfileArgs',
'DockerfileArgsDict',
'ExportArgs',
'ExportArgsDict',
'ExportCacheOnlyArgs',
'ExportCacheOnlyArgsDict',
'ExportDockerArgs',
'ExportDockerArgsDict',
'ExportImageArgs',
'ExportImageArgsDict',
'ExportLocalArgs',
'ExportLocalArgsDict',
'ExportOCIArgs',
'ExportOCIArgsDict',
'ExportRegistryArgs',
'ExportRegistryArgsDict',
'ExportTarArgs',
'ExportTarArgsDict',
'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['ContextArgsDict']]]]]
"""
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 CacheFromArgsDict(TypedDict):
azblob: NotRequired[pulumi.Input[Optional['CacheFromAzureBlobArgsDict']]]
"""
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['CacheFromGitHubActionsArgsDict']]]
"""
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['CacheFromLocalArgsDict']]]
"""
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['CacheFromRegistryArgsDict']]]
"""
Upload build caches to remote registries.
"""
s3: NotRequired[pulumi.Input[Optional['CacheFromS3ArgsDict']]]
"""
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 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 CacheToArgsDict(TypedDict):
azblob: NotRequired[pulumi.Input[Optional['CacheToAzureBlobArgsDict']]]
"""
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['CacheToGitHubActionsArgsDict']]]
"""
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['CacheToInlineArgsDict']]]
"""
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['CacheToLocalArgsDict']]]
"""
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['CacheToRegistryArgsDict']]]
"""
Push caches to remote registries. Incompatible with the `docker` build
driver.
"""
s3: NotRequired[pulumi.Input[Optional['CacheToS3ArgsDict']]]
"""
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 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 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 ExportArgsDict(TypedDict):
cacheonly: NotRequired[pulumi.Input[Optional['ExportCacheOnlyArgsDict']]]
"""
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['ExportDockerArgsDict']]]
"""
Export as a Docker image layout.
"""
image: NotRequired[pulumi.Input[Optional['ExportImageArgsDict']]]
"""
Outputs the build result into a container image format.
"""
local: NotRequired[pulumi.Input[Optional['ExportLocalArgsDict']]]
"""
Export to a local directory as files and directories.
"""
oci: NotRequired[pulumi.Input[Optional['ExportOCIArgsDict']]]
"""
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['ExportRegistryArgsDict']]]
"""
Identical to the Image exporter, but pushes by default.
"""
tar: NotRequired[pulumi.Input[Optional['ExportTarArgsDict']]]
"""
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 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 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)