Files
pulumi-docker-build/sdk/python/pulumi_docker_build/_inputs.py
Matthew (Matt) Jeffryes b7d239127c Update pulumi/pulumi dependency to 3.187.0 (#568)
Fixes https://github.com/pulumi/pulumi-docker-build/issues/551
(sort of - the underlying problem that this repo pins SDK dependencies
that don't get automatically update by the workflow still exists, but it
should at least work until the codegen APIs change again.)
2025-08-12 14:47:58 -07:00

3486 lines
128 KiB
Python
Generated

# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
from typing import NotRequired, TypedDict, TypeAlias
else:
from typing_extensions import NotRequired, TypedDict, TypeAlias
from . import _utilities
from ._enums import *
__all__ = [
'BuildContextArgs',
'BuildContextArgsDict',
'BuilderConfigArgs',
'BuilderConfigArgsDict',
'CacheFromAzureBlobArgs',
'CacheFromAzureBlobArgsDict',
'CacheFromGitHubActionsArgs',
'CacheFromGitHubActionsArgsDict',
'CacheFromLocalArgs',
'CacheFromLocalArgsDict',
'CacheFromRegistryArgs',
'CacheFromRegistryArgsDict',
'CacheFromS3Args',
'CacheFromS3ArgsDict',
'CacheFromArgs',
'CacheFromArgsDict',
'CacheToAzureBlobArgs',
'CacheToAzureBlobArgsDict',
'CacheToGitHubActionsArgs',
'CacheToGitHubActionsArgsDict',
'CacheToInlineArgs',
'CacheToInlineArgsDict',
'CacheToLocalArgs',
'CacheToLocalArgsDict',
'CacheToRegistryArgs',
'CacheToRegistryArgsDict',
'CacheToS3Args',
'CacheToS3ArgsDict',
'CacheToArgs',
'CacheToArgsDict',
'ContextArgs',
'ContextArgsDict',
'DockerfileArgs',
'DockerfileArgsDict',
'ExportCacheOnlyArgs',
'ExportCacheOnlyArgsDict',
'ExportDockerArgs',
'ExportDockerArgsDict',
'ExportImageArgs',
'ExportImageArgsDict',
'ExportLocalArgs',
'ExportLocalArgsDict',
'ExportOCIArgs',
'ExportOCIArgsDict',
'ExportRegistryArgs',
'ExportRegistryArgsDict',
'ExportTarArgs',
'ExportTarArgsDict',
'ExportArgs',
'ExportArgsDict',
'RegistryArgs',
'RegistryArgsDict',
'SSHArgs',
'SSHArgsDict',
]
MYPY = False
if not MYPY:
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[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.
"""
elif False:
BuildContextArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class BuildContextArgs:
def __init__(__self__, *,
location: pulumi.Input[_builtins.str],
named: Optional[pulumi.Input[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) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Mapping[str, pulumi.Input['ContextArgs']]]]):
pulumi.set(self, "named", value)
if not MYPY:
class BuilderConfigArgsDict(TypedDict):
name: NotRequired[pulumi.Input[_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.
"""
elif False:
BuilderConfigArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class BuilderConfigArgs:
def __init__(__self__, *,
name: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "name", value)
if not MYPY:
class CacheFromAzureBlobArgsDict(TypedDict):
name: pulumi.Input[_builtins.str]
"""
The name of the cache image.
"""
account_url: NotRequired[pulumi.Input[_builtins.str]]
"""
Base URL of the storage account.
"""
secret_access_key: NotRequired[pulumi.Input[_builtins.str]]
"""
Blob storage account key.
"""
elif False:
CacheFromAzureBlobArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheFromAzureBlobArgs:
def __init__(__self__, *,
name: pulumi.Input[_builtins.str],
account_url: Optional[pulumi.Input[_builtins.str]] = None,
secret_access_key: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[_builtins.str]]:
"""
Base URL of the storage account.
"""
return pulumi.get(self, "account_url")
@account_url.setter
def account_url(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "account_url", value)
@_builtins.property
@pulumi.getter(name="secretAccessKey")
def secret_access_key(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Blob storage account key.
"""
return pulumi.get(self, "secret_access_key")
@secret_access_key.setter
def secret_access_key(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "secret_access_key", value)
if not MYPY:
class CacheFromGitHubActionsArgsDict(TypedDict):
scope: NotRequired[pulumi.Input[_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.
"""
token: NotRequired[pulumi.Input[_builtins.str]]
"""
The GitHub Actions token to use. This is not a personal access tokens
and is typically generated automatically as part of each job.
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
url: NotRequired[pulumi.Input[_builtins.str]]
"""
The cache server URL to use for artifacts.
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
elif False:
CacheFromGitHubActionsArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheFromGitHubActionsArgs:
def __init__(__self__, *,
scope: Optional[pulumi.Input[_builtins.str]] = None,
token: Optional[pulumi.Input[_builtins.str]] = None,
url: Optional[pulumi.Input[_builtins.str]] = None):
"""
: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.
:param pulumi.Input[_builtins.str] token: The GitHub Actions token to use. This is not a personal access tokens
and is typically generated automatically as part of each job.
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
:param pulumi.Input[_builtins.str] url: The cache server URL to use for artifacts.
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
if scope is None:
scope = 'buildkit'
if scope is not None:
pulumi.set(__self__, "scope", scope)
if token is None:
token = (_utilities.get_env('ACTIONS_RUNTIME_TOKEN') or '')
if token is not None:
pulumi.set(__self__, "token", token)
if url is None:
url = (_utilities.get_env('ACTIONS_CACHE_URL') or '')
if url is not None:
pulumi.set(__self__, "url", url)
@_builtins.property
@pulumi.getter
def scope(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "scope", value)
@_builtins.property
@pulumi.getter
def token(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
The GitHub Actions token to use. This is not a personal access tokens
and is typically generated automatically as part of each job.
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
return pulumi.get(self, "token")
@token.setter
def token(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "token", value)
@_builtins.property
@pulumi.getter
def url(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
The cache server URL to use for artifacts.
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
return pulumi.get(self, "url")
@url.setter
def url(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "url", value)
if not MYPY:
class CacheFromLocalArgsDict(TypedDict):
src: pulumi.Input[_builtins.str]
"""
Path of the local directory where cache gets imported from.
"""
digest: NotRequired[pulumi.Input[_builtins.str]]
"""
Digest of manifest to import.
"""
elif False:
CacheFromLocalArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheFromLocalArgs:
def __init__(__self__, *,
src: pulumi.Input[_builtins.str],
digest: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[_builtins.str]]:
"""
Digest of manifest to import.
"""
return pulumi.get(self, "digest")
@digest.setter
def digest(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "digest", value)
if not MYPY:
class CacheFromRegistryArgsDict(TypedDict):
ref: pulumi.Input[_builtins.str]
"""
Fully qualified name of the cache image to import.
"""
elif False:
CacheFromRegistryArgsDict: TypeAlias = Mapping[str, Any]
@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)
if not MYPY:
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[_builtins.str]]
"""
Defaults to `$AWS_ACCESS_KEY_ID`.
"""
blobs_prefix: NotRequired[pulumi.Input[_builtins.str]]
"""
Prefix to prepend to blob filenames.
"""
endpoint_url: NotRequired[pulumi.Input[_builtins.str]]
"""
Endpoint of the S3 bucket.
"""
manifests_prefix: NotRequired[pulumi.Input[_builtins.str]]
"""
Prefix to prepend on manifest filenames.
"""
name: NotRequired[pulumi.Input[_builtins.str]]
"""
Name of the cache image.
"""
secret_access_key: NotRequired[pulumi.Input[_builtins.str]]
"""
Defaults to `$AWS_SECRET_ACCESS_KEY`.
"""
session_token: NotRequired[pulumi.Input[_builtins.str]]
"""
Defaults to `$AWS_SESSION_TOKEN`.
"""
use_path_style: NotRequired[pulumi.Input[_builtins.bool]]
"""
Uses `bucket` in the URL instead of hostname when `true`.
"""
elif False:
CacheFromS3ArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheFromS3Args:
def __init__(__self__, *,
bucket: pulumi.Input[_builtins.str],
region: Optional[pulumi.Input[_builtins.str]] = None,
access_key_id: Optional[pulumi.Input[_builtins.str]] = None,
blobs_prefix: Optional[pulumi.Input[_builtins.str]] = None,
endpoint_url: Optional[pulumi.Input[_builtins.str]] = None,
manifests_prefix: Optional[pulumi.Input[_builtins.str]] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
session_token: Optional[pulumi.Input[_builtins.str]] = None,
use_path_style: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "access_key_id", value)
@_builtins.property
@pulumi.getter(name="blobsPrefix")
def blobs_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Prefix to prepend to blob filenames.
"""
return pulumi.get(self, "blobs_prefix")
@blobs_prefix.setter
def blobs_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "blobs_prefix", value)
@_builtins.property
@pulumi.getter(name="endpointUrl")
def endpoint_url(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Endpoint of the S3 bucket.
"""
return pulumi.get(self, "endpoint_url")
@endpoint_url.setter
def endpoint_url(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "endpoint_url", value)
@_builtins.property
@pulumi.getter(name="manifestsPrefix")
def manifests_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Prefix to prepend on manifest filenames.
"""
return pulumi.get(self, "manifests_prefix")
@manifests_prefix.setter
def manifests_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "manifests_prefix", value)
@_builtins.property
@pulumi.getter
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Name of the cache image.
"""
return pulumi.get(self, "name")
@name.setter
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "name", value)
@_builtins.property
@pulumi.getter(name="secretAccessKey")
def secret_access_key(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "secret_access_key", value)
@_builtins.property
@pulumi.getter(name="sessionToken")
def session_token(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Defaults to `$AWS_SESSION_TOKEN`.
"""
return pulumi.get(self, "session_token")
@session_token.setter
def session_token(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "session_token", value)
@_builtins.property
@pulumi.getter(name="usePathStyle")
def use_path_style(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "use_path_style", value)
if not MYPY:
class CacheFromArgsDict(TypedDict):
azblob: NotRequired[pulumi.Input['CacheFromAzureBlobArgsDict']]
"""
Upload build caches to Azure's blob storage service.
"""
disabled: NotRequired[pulumi.Input[_builtins.bool]]
"""
When `true` this entry will be excluded. Defaults to `false`.
"""
gha: NotRequired[pulumi.Input['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['CacheFromLocalArgsDict']]
"""
A simple backend which caches images on your local filesystem.
"""
raw: NotRequired[pulumi.Input[_builtins.str]]
"""
A raw string as you would provide it to the Docker CLI (e.g.,
`type=inline`).
"""
registry: NotRequired[pulumi.Input['CacheFromRegistryArgsDict']]
"""
Upload build caches to remote registries.
"""
s3: NotRequired[pulumi.Input['CacheFromS3ArgsDict']]
"""
Upload build caches to AWS S3 or an S3-compatible services such as
MinIO.
"""
elif False:
CacheFromArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheFromArgs:
def __init__(__self__, *,
azblob: Optional[pulumi.Input['CacheFromAzureBlobArgs']] = None,
disabled: Optional[pulumi.Input[_builtins.bool]] = None,
gha: Optional[pulumi.Input['CacheFromGitHubActionsArgs']] = None,
local: Optional[pulumi.Input['CacheFromLocalArgs']] = None,
raw: Optional[pulumi.Input[_builtins.str]] = None,
registry: Optional[pulumi.Input['CacheFromRegistryArgs']] = None,
s3: Optional[pulumi.Input['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) -> Optional[pulumi.Input['CacheFromAzureBlobArgs']]:
"""
Upload build caches to Azure's blob storage service.
"""
return pulumi.get(self, "azblob")
@azblob.setter
def azblob(self, value: Optional[pulumi.Input['CacheFromAzureBlobArgs']]):
pulumi.set(self, "azblob", value)
@_builtins.property
@pulumi.getter
def disabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
When `true` this entry will be excluded. Defaults to `false`.
"""
return pulumi.get(self, "disabled")
@disabled.setter
def disabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "disabled", value)
@_builtins.property
@pulumi.getter
def gha(self) -> Optional[pulumi.Input['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: Optional[pulumi.Input['CacheFromGitHubActionsArgs']]):
pulumi.set(self, "gha", value)
@_builtins.property
@pulumi.getter
def local(self) -> Optional[pulumi.Input['CacheFromLocalArgs']]:
"""
A simple backend which caches images on your local filesystem.
"""
return pulumi.get(self, "local")
@local.setter
def local(self, value: Optional[pulumi.Input['CacheFromLocalArgs']]):
pulumi.set(self, "local", value)
@_builtins.property
@pulumi.getter
def raw(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "raw", value)
@_builtins.property
@pulumi.getter
def registry(self) -> Optional[pulumi.Input['CacheFromRegistryArgs']]:
"""
Upload build caches to remote registries.
"""
return pulumi.get(self, "registry")
@registry.setter
def registry(self, value: Optional[pulumi.Input['CacheFromRegistryArgs']]):
pulumi.set(self, "registry", value)
@_builtins.property
@pulumi.getter
def s3(self) -> Optional[pulumi.Input['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: Optional[pulumi.Input['CacheFromS3Args']]):
pulumi.set(self, "s3", value)
if not MYPY:
class CacheToAzureBlobArgsDict(TypedDict):
name: pulumi.Input[_builtins.str]
"""
The name of the cache image.
"""
account_url: NotRequired[pulumi.Input[_builtins.str]]
"""
Base URL of the storage account.
"""
ignore_error: NotRequired[pulumi.Input[_builtins.bool]]
"""
Ignore errors caused by failed cache exports.
"""
mode: NotRequired[pulumi.Input['CacheMode']]
"""
The cache mode to use. Defaults to `min`.
"""
secret_access_key: NotRequired[pulumi.Input[_builtins.str]]
"""
Blob storage account key.
"""
elif False:
CacheToAzureBlobArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheToAzureBlobArgs:
def __init__(__self__, *,
name: pulumi.Input[_builtins.str],
account_url: Optional[pulumi.Input[_builtins.str]] = None,
ignore_error: Optional[pulumi.Input[_builtins.bool]] = None,
mode: Optional[pulumi.Input['CacheMode']] = None,
secret_access_key: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[_builtins.str]]:
"""
Base URL of the storage account.
"""
return pulumi.get(self, "account_url")
@account_url.setter
def account_url(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "account_url", value)
@_builtins.property
@pulumi.getter(name="ignoreError")
def ignore_error(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Ignore errors caused by failed cache exports.
"""
return pulumi.get(self, "ignore_error")
@ignore_error.setter
def ignore_error(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "ignore_error", value)
@_builtins.property
@pulumi.getter
def mode(self) -> Optional[pulumi.Input['CacheMode']]:
"""
The cache mode to use. Defaults to `min`.
"""
return pulumi.get(self, "mode")
@mode.setter
def mode(self, value: Optional[pulumi.Input['CacheMode']]):
pulumi.set(self, "mode", value)
@_builtins.property
@pulumi.getter(name="secretAccessKey")
def secret_access_key(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Blob storage account key.
"""
return pulumi.get(self, "secret_access_key")
@secret_access_key.setter
def secret_access_key(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "secret_access_key", value)
if not MYPY:
class CacheToGitHubActionsArgsDict(TypedDict):
ignore_error: NotRequired[pulumi.Input[_builtins.bool]]
"""
Ignore errors caused by failed cache exports.
"""
mode: NotRequired[pulumi.Input['CacheMode']]
"""
The cache mode to use. Defaults to `min`.
"""
scope: NotRequired[pulumi.Input[_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.
"""
token: NotRequired[pulumi.Input[_builtins.str]]
"""
The GitHub Actions token to use. This is not a personal access tokens
and is typically generated automatically as part of each job.
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
url: NotRequired[pulumi.Input[_builtins.str]]
"""
The cache server URL to use for artifacts.
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
elif False:
CacheToGitHubActionsArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheToGitHubActionsArgs:
def __init__(__self__, *,
ignore_error: Optional[pulumi.Input[_builtins.bool]] = None,
mode: Optional[pulumi.Input['CacheMode']] = None,
scope: Optional[pulumi.Input[_builtins.str]] = None,
token: Optional[pulumi.Input[_builtins.str]] = None,
url: Optional[pulumi.Input[_builtins.str]] = None):
"""
: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.
:param pulumi.Input[_builtins.str] token: The GitHub Actions token to use. This is not a personal access tokens
and is typically generated automatically as part of each job.
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
:param pulumi.Input[_builtins.str] url: The cache server URL to use for artifacts.
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
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)
if token is None:
token = (_utilities.get_env('ACTIONS_RUNTIME_TOKEN') or '')
if token is not None:
pulumi.set(__self__, "token", token)
if url is None:
url = (_utilities.get_env('ACTIONS_CACHE_URL') or '')
if url is not None:
pulumi.set(__self__, "url", url)
@_builtins.property
@pulumi.getter(name="ignoreError")
def ignore_error(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Ignore errors caused by failed cache exports.
"""
return pulumi.get(self, "ignore_error")
@ignore_error.setter
def ignore_error(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "ignore_error", value)
@_builtins.property
@pulumi.getter
def mode(self) -> Optional[pulumi.Input['CacheMode']]:
"""
The cache mode to use. Defaults to `min`.
"""
return pulumi.get(self, "mode")
@mode.setter
def mode(self, value: Optional[pulumi.Input['CacheMode']]):
pulumi.set(self, "mode", value)
@_builtins.property
@pulumi.getter
def scope(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "scope", value)
@_builtins.property
@pulumi.getter
def token(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
The GitHub Actions token to use. This is not a personal access tokens
and is typically generated automatically as part of each job.
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
return pulumi.get(self, "token")
@token.setter
def token(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "token", value)
@_builtins.property
@pulumi.getter
def url(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
The cache server URL to use for artifacts.
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
`crazy-max/ghaction-github-runtime` is recommended to expose this
environment variable to your jobs.
"""
return pulumi.get(self, "url")
@url.setter
def url(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "url", value)
if not MYPY:
class CacheToInlineArgsDict(TypedDict):
"""
Include an inline cache with the exported image.
"""
pass
elif False:
CacheToInlineArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheToInlineArgs:
def __init__(__self__):
"""
Include an inline cache with the exported image.
"""
pass
if not MYPY:
class CacheToLocalArgsDict(TypedDict):
dest: pulumi.Input[_builtins.str]
"""
Path of the local directory to export the cache.
"""
compression: NotRequired[pulumi.Input['CompressionType']]
"""
The compression type to use.
"""
compression_level: NotRequired[pulumi.Input[_builtins.int]]
"""
Compression level from 0 to 22.
"""
force_compression: NotRequired[pulumi.Input[_builtins.bool]]
"""
Forcefully apply compression.
"""
ignore_error: NotRequired[pulumi.Input[_builtins.bool]]
"""
Ignore errors caused by failed cache exports.
"""
mode: NotRequired[pulumi.Input['CacheMode']]
"""
The cache mode to use. Defaults to `min`.
"""
elif False:
CacheToLocalArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheToLocalArgs:
def __init__(__self__, *,
dest: pulumi.Input[_builtins.str],
compression: Optional[pulumi.Input['CompressionType']] = None,
compression_level: Optional[pulumi.Input[_builtins.int]] = None,
force_compression: Optional[pulumi.Input[_builtins.bool]] = None,
ignore_error: Optional[pulumi.Input[_builtins.bool]] = None,
mode: Optional[pulumi.Input['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) -> Optional[pulumi.Input['CompressionType']]:
"""
The compression type to use.
"""
return pulumi.get(self, "compression")
@compression.setter
def compression(self, value: Optional[pulumi.Input['CompressionType']]):
pulumi.set(self, "compression", value)
@_builtins.property
@pulumi.getter(name="compressionLevel")
def compression_level(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Compression level from 0 to 22.
"""
return pulumi.get(self, "compression_level")
@compression_level.setter
def compression_level(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "compression_level", value)
@_builtins.property
@pulumi.getter(name="forceCompression")
def force_compression(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Forcefully apply compression.
"""
return pulumi.get(self, "force_compression")
@force_compression.setter
def force_compression(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "force_compression", value)
@_builtins.property
@pulumi.getter(name="ignoreError")
def ignore_error(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Ignore errors caused by failed cache exports.
"""
return pulumi.get(self, "ignore_error")
@ignore_error.setter
def ignore_error(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "ignore_error", value)
@_builtins.property
@pulumi.getter
def mode(self) -> Optional[pulumi.Input['CacheMode']]:
"""
The cache mode to use. Defaults to `min`.
"""
return pulumi.get(self, "mode")
@mode.setter
def mode(self, value: Optional[pulumi.Input['CacheMode']]):
pulumi.set(self, "mode", value)
if not MYPY:
class CacheToRegistryArgsDict(TypedDict):
ref: pulumi.Input[_builtins.str]
"""
Fully qualified name of the cache image to import.
"""
compression: NotRequired[pulumi.Input['CompressionType']]
"""
The compression type to use.
"""
compression_level: NotRequired[pulumi.Input[_builtins.int]]
"""
Compression level from 0 to 22.
"""
force_compression: NotRequired[pulumi.Input[_builtins.bool]]
"""
Forcefully apply compression.
"""
ignore_error: NotRequired[pulumi.Input[_builtins.bool]]
"""
Ignore errors caused by failed cache exports.
"""
image_manifest: NotRequired[pulumi.Input[_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['CacheMode']]
"""
The cache mode to use. Defaults to `min`.
"""
oci_media_types: NotRequired[pulumi.Input[_builtins.bool]]
"""
Whether to use OCI media types in exported manifests. Defaults to
`true`.
"""
elif False:
CacheToRegistryArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheToRegistryArgs:
def __init__(__self__, *,
ref: pulumi.Input[_builtins.str],
compression: Optional[pulumi.Input['CompressionType']] = None,
compression_level: Optional[pulumi.Input[_builtins.int]] = None,
force_compression: Optional[pulumi.Input[_builtins.bool]] = None,
ignore_error: Optional[pulumi.Input[_builtins.bool]] = None,
image_manifest: Optional[pulumi.Input[_builtins.bool]] = None,
mode: Optional[pulumi.Input['CacheMode']] = None,
oci_media_types: Optional[pulumi.Input[_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) -> Optional[pulumi.Input['CompressionType']]:
"""
The compression type to use.
"""
return pulumi.get(self, "compression")
@compression.setter
def compression(self, value: Optional[pulumi.Input['CompressionType']]):
pulumi.set(self, "compression", value)
@_builtins.property
@pulumi.getter(name="compressionLevel")
def compression_level(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Compression level from 0 to 22.
"""
return pulumi.get(self, "compression_level")
@compression_level.setter
def compression_level(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "compression_level", value)
@_builtins.property
@pulumi.getter(name="forceCompression")
def force_compression(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Forcefully apply compression.
"""
return pulumi.get(self, "force_compression")
@force_compression.setter
def force_compression(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "force_compression", value)
@_builtins.property
@pulumi.getter(name="ignoreError")
def ignore_error(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Ignore errors caused by failed cache exports.
"""
return pulumi.get(self, "ignore_error")
@ignore_error.setter
def ignore_error(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "ignore_error", value)
@_builtins.property
@pulumi.getter(name="imageManifest")
def image_manifest(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "image_manifest", value)
@_builtins.property
@pulumi.getter
def mode(self) -> Optional[pulumi.Input['CacheMode']]:
"""
The cache mode to use. Defaults to `min`.
"""
return pulumi.get(self, "mode")
@mode.setter
def mode(self, value: Optional[pulumi.Input['CacheMode']]):
pulumi.set(self, "mode", value)
@_builtins.property
@pulumi.getter(name="ociMediaTypes")
def oci_media_types(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "oci_media_types", value)
if not MYPY:
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[_builtins.str]]
"""
Defaults to `$AWS_ACCESS_KEY_ID`.
"""
blobs_prefix: NotRequired[pulumi.Input[_builtins.str]]
"""
Prefix to prepend to blob filenames.
"""
endpoint_url: NotRequired[pulumi.Input[_builtins.str]]
"""
Endpoint of the S3 bucket.
"""
ignore_error: NotRequired[pulumi.Input[_builtins.bool]]
"""
Ignore errors caused by failed cache exports.
"""
manifests_prefix: NotRequired[pulumi.Input[_builtins.str]]
"""
Prefix to prepend on manifest filenames.
"""
mode: NotRequired[pulumi.Input['CacheMode']]
"""
The cache mode to use. Defaults to `min`.
"""
name: NotRequired[pulumi.Input[_builtins.str]]
"""
Name of the cache image.
"""
secret_access_key: NotRequired[pulumi.Input[_builtins.str]]
"""
Defaults to `$AWS_SECRET_ACCESS_KEY`.
"""
session_token: NotRequired[pulumi.Input[_builtins.str]]
"""
Defaults to `$AWS_SESSION_TOKEN`.
"""
use_path_style: NotRequired[pulumi.Input[_builtins.bool]]
"""
Uses `bucket` in the URL instead of hostname when `true`.
"""
elif False:
CacheToS3ArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheToS3Args:
def __init__(__self__, *,
bucket: pulumi.Input[_builtins.str],
region: Optional[pulumi.Input[_builtins.str]] = None,
access_key_id: Optional[pulumi.Input[_builtins.str]] = None,
blobs_prefix: Optional[pulumi.Input[_builtins.str]] = None,
endpoint_url: Optional[pulumi.Input[_builtins.str]] = None,
ignore_error: Optional[pulumi.Input[_builtins.bool]] = None,
manifests_prefix: Optional[pulumi.Input[_builtins.str]] = None,
mode: Optional[pulumi.Input['CacheMode']] = None,
name: Optional[pulumi.Input[_builtins.str]] = None,
secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
session_token: Optional[pulumi.Input[_builtins.str]] = None,
use_path_style: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "access_key_id", value)
@_builtins.property
@pulumi.getter(name="blobsPrefix")
def blobs_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Prefix to prepend to blob filenames.
"""
return pulumi.get(self, "blobs_prefix")
@blobs_prefix.setter
def blobs_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "blobs_prefix", value)
@_builtins.property
@pulumi.getter(name="endpointUrl")
def endpoint_url(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Endpoint of the S3 bucket.
"""
return pulumi.get(self, "endpoint_url")
@endpoint_url.setter
def endpoint_url(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "endpoint_url", value)
@_builtins.property
@pulumi.getter(name="ignoreError")
def ignore_error(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Ignore errors caused by failed cache exports.
"""
return pulumi.get(self, "ignore_error")
@ignore_error.setter
def ignore_error(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "ignore_error", value)
@_builtins.property
@pulumi.getter(name="manifestsPrefix")
def manifests_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Prefix to prepend on manifest filenames.
"""
return pulumi.get(self, "manifests_prefix")
@manifests_prefix.setter
def manifests_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "manifests_prefix", value)
@_builtins.property
@pulumi.getter
def mode(self) -> Optional[pulumi.Input['CacheMode']]:
"""
The cache mode to use. Defaults to `min`.
"""
return pulumi.get(self, "mode")
@mode.setter
def mode(self, value: Optional[pulumi.Input['CacheMode']]):
pulumi.set(self, "mode", value)
@_builtins.property
@pulumi.getter
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Name of the cache image.
"""
return pulumi.get(self, "name")
@name.setter
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "name", value)
@_builtins.property
@pulumi.getter(name="secretAccessKey")
def secret_access_key(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "secret_access_key", value)
@_builtins.property
@pulumi.getter(name="sessionToken")
def session_token(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Defaults to `$AWS_SESSION_TOKEN`.
"""
return pulumi.get(self, "session_token")
@session_token.setter
def session_token(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "session_token", value)
@_builtins.property
@pulumi.getter(name="usePathStyle")
def use_path_style(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "use_path_style", value)
if not MYPY:
class CacheToArgsDict(TypedDict):
azblob: NotRequired[pulumi.Input['CacheToAzureBlobArgsDict']]
"""
Push cache to Azure's blob storage service.
"""
disabled: NotRequired[pulumi.Input[_builtins.bool]]
"""
When `true` this entry will be excluded. Defaults to `false`.
"""
gha: NotRequired[pulumi.Input['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['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['CacheToLocalArgsDict']]
"""
A simple backend which caches imagines on your local filesystem.
"""
raw: NotRequired[pulumi.Input[_builtins.str]]
"""
A raw string as you would provide it to the Docker CLI (e.g.,
`type=inline`)
"""
registry: NotRequired[pulumi.Input['CacheToRegistryArgsDict']]
"""
Push caches to remote registries. Incompatible with the `docker` build
driver.
"""
s3: NotRequired[pulumi.Input['CacheToS3ArgsDict']]
"""
Push cache to AWS S3 or S3-compatible services such as MinIO.
"""
elif False:
CacheToArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class CacheToArgs:
def __init__(__self__, *,
azblob: Optional[pulumi.Input['CacheToAzureBlobArgs']] = None,
disabled: Optional[pulumi.Input[_builtins.bool]] = None,
gha: Optional[pulumi.Input['CacheToGitHubActionsArgs']] = None,
inline: Optional[pulumi.Input['CacheToInlineArgs']] = None,
local: Optional[pulumi.Input['CacheToLocalArgs']] = None,
raw: Optional[pulumi.Input[_builtins.str]] = None,
registry: Optional[pulumi.Input['CacheToRegistryArgs']] = None,
s3: Optional[pulumi.Input['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) -> Optional[pulumi.Input['CacheToAzureBlobArgs']]:
"""
Push cache to Azure's blob storage service.
"""
return pulumi.get(self, "azblob")
@azblob.setter
def azblob(self, value: Optional[pulumi.Input['CacheToAzureBlobArgs']]):
pulumi.set(self, "azblob", value)
@_builtins.property
@pulumi.getter
def disabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
When `true` this entry will be excluded. Defaults to `false`.
"""
return pulumi.get(self, "disabled")
@disabled.setter
def disabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "disabled", value)
@_builtins.property
@pulumi.getter
def gha(self) -> Optional[pulumi.Input['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: Optional[pulumi.Input['CacheToGitHubActionsArgs']]):
pulumi.set(self, "gha", value)
@_builtins.property
@pulumi.getter
def inline(self) -> Optional[pulumi.Input['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: Optional[pulumi.Input['CacheToInlineArgs']]):
pulumi.set(self, "inline", value)
@_builtins.property
@pulumi.getter
def local(self) -> Optional[pulumi.Input['CacheToLocalArgs']]:
"""
A simple backend which caches imagines on your local filesystem.
"""
return pulumi.get(self, "local")
@local.setter
def local(self, value: Optional[pulumi.Input['CacheToLocalArgs']]):
pulumi.set(self, "local", value)
@_builtins.property
@pulumi.getter
def raw(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "raw", value)
@_builtins.property
@pulumi.getter
def registry(self) -> Optional[pulumi.Input['CacheToRegistryArgs']]:
"""
Push caches to remote registries. Incompatible with the `docker` build
driver.
"""
return pulumi.get(self, "registry")
@registry.setter
def registry(self, value: Optional[pulumi.Input['CacheToRegistryArgs']]):
pulumi.set(self, "registry", value)
@_builtins.property
@pulumi.getter
def s3(self) -> Optional[pulumi.Input['CacheToS3Args']]:
"""
Push cache to AWS S3 or S3-compatible services such as MinIO.
"""
return pulumi.get(self, "s3")
@s3.setter
def s3(self, value: Optional[pulumi.Input['CacheToS3Args']]):
pulumi.set(self, "s3", value)
if not MYPY:
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.).
"""
elif False:
ContextArgsDict: TypeAlias = Mapping[str, Any]
@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)
if not MYPY:
class DockerfileArgsDict(TypedDict):
inline: NotRequired[pulumi.Input[_builtins.str]]
"""
Raw Dockerfile contents.
Conflicts with `location`.
Equivalent to invoking Docker with `-f -`.
"""
location: NotRequired[pulumi.Input[_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`.
"""
elif False:
DockerfileArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class DockerfileArgs:
def __init__(__self__, *,
inline: Optional[pulumi.Input[_builtins.str]] = None,
location: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "inline", value)
@_builtins.property
@pulumi.getter
def location(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "location", value)
if not MYPY:
class ExportCacheOnlyArgsDict(TypedDict):
pass
elif False:
ExportCacheOnlyArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class ExportCacheOnlyArgs:
def __init__(__self__):
pass
if not MYPY:
class ExportDockerArgsDict(TypedDict):
annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
"""
Attach an arbitrary key/value annotation to the image.
"""
compression: NotRequired[pulumi.Input['CompressionType']]
"""
The compression type to use.
"""
compression_level: NotRequired[pulumi.Input[_builtins.int]]
"""
Compression level from 0 to 22.
"""
dest: NotRequired[pulumi.Input[_builtins.str]]
"""
The local export path.
"""
force_compression: NotRequired[pulumi.Input[_builtins.bool]]
"""
Forcefully apply compression.
"""
names: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
"""
Specify images names to export. This is overridden if tags are already specified.
"""
oci_media_types: NotRequired[pulumi.Input[_builtins.bool]]
"""
Use OCI media types in exporter manifests.
"""
tar: NotRequired[pulumi.Input[_builtins.bool]]
"""
Bundle the output into a tarball layout.
"""
elif False:
ExportDockerArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class ExportDockerArgs:
def __init__(__self__, *,
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
compression: Optional[pulumi.Input['CompressionType']] = None,
compression_level: Optional[pulumi.Input[_builtins.int]] = None,
dest: Optional[pulumi.Input[_builtins.str]] = None,
force_compression: Optional[pulumi.Input[_builtins.bool]] = None,
names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
oci_media_types: Optional[pulumi.Input[_builtins.bool]] = None,
tar: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "annotations", value)
@_builtins.property
@pulumi.getter
def compression(self) -> Optional[pulumi.Input['CompressionType']]:
"""
The compression type to use.
"""
return pulumi.get(self, "compression")
@compression.setter
def compression(self, value: Optional[pulumi.Input['CompressionType']]):
pulumi.set(self, "compression", value)
@_builtins.property
@pulumi.getter(name="compressionLevel")
def compression_level(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Compression level from 0 to 22.
"""
return pulumi.get(self, "compression_level")
@compression_level.setter
def compression_level(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "compression_level", value)
@_builtins.property
@pulumi.getter
def dest(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
The local export path.
"""
return pulumi.get(self, "dest")
@dest.setter
def dest(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "dest", value)
@_builtins.property
@pulumi.getter(name="forceCompression")
def force_compression(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Forcefully apply compression.
"""
return pulumi.get(self, "force_compression")
@force_compression.setter
def force_compression(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "force_compression", value)
@_builtins.property
@pulumi.getter
def names(self) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "names", value)
@_builtins.property
@pulumi.getter(name="ociMediaTypes")
def oci_media_types(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "oci_media_types", value)
@_builtins.property
@pulumi.getter
def tar(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Bundle the output into a tarball layout.
"""
return pulumi.get(self, "tar")
@tar.setter
def tar(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "tar", value)
if not MYPY:
class ExportImageArgsDict(TypedDict):
annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
"""
Attach an arbitrary key/value annotation to the image.
"""
compression: NotRequired[pulumi.Input['CompressionType']]
"""
The compression type to use.
"""
compression_level: NotRequired[pulumi.Input[_builtins.int]]
"""
Compression level from 0 to 22.
"""
dangling_name_prefix: NotRequired[pulumi.Input[_builtins.str]]
"""
Name image with `prefix@<digest>`, used for anonymous images.
"""
force_compression: NotRequired[pulumi.Input[_builtins.bool]]
"""
Forcefully apply compression.
"""
insecure: NotRequired[pulumi.Input[_builtins.bool]]
"""
Allow pushing to an insecure registry.
"""
name_canonical: NotRequired[pulumi.Input[_builtins.bool]]
"""
Add additional canonical name (`name@<digest>`).
"""
names: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
"""
Specify images names to export. This is overridden if tags are already specified.
"""
oci_media_types: NotRequired[pulumi.Input[_builtins.bool]]
"""
Use OCI media types in exporter manifests.
"""
push: NotRequired[pulumi.Input[_builtins.bool]]
"""
Push after creating the image. Defaults to `false`.
"""
push_by_digest: NotRequired[pulumi.Input[_builtins.bool]]
"""
Push image without name.
"""
store: NotRequired[pulumi.Input[_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[_builtins.bool]]
"""
Unpack image after creation (for use with containerd). Defaults to
`false`.
"""
elif False:
ExportImageArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class ExportImageArgs:
def __init__(__self__, *,
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
compression: Optional[pulumi.Input['CompressionType']] = None,
compression_level: Optional[pulumi.Input[_builtins.int]] = None,
dangling_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
force_compression: Optional[pulumi.Input[_builtins.bool]] = None,
insecure: Optional[pulumi.Input[_builtins.bool]] = None,
name_canonical: Optional[pulumi.Input[_builtins.bool]] = None,
names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
oci_media_types: Optional[pulumi.Input[_builtins.bool]] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None,
push_by_digest: Optional[pulumi.Input[_builtins.bool]] = None,
store: Optional[pulumi.Input[_builtins.bool]] = None,
unpack: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "annotations", value)
@_builtins.property
@pulumi.getter
def compression(self) -> Optional[pulumi.Input['CompressionType']]:
"""
The compression type to use.
"""
return pulumi.get(self, "compression")
@compression.setter
def compression(self, value: Optional[pulumi.Input['CompressionType']]):
pulumi.set(self, "compression", value)
@_builtins.property
@pulumi.getter(name="compressionLevel")
def compression_level(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Compression level from 0 to 22.
"""
return pulumi.get(self, "compression_level")
@compression_level.setter
def compression_level(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "compression_level", value)
@_builtins.property
@pulumi.getter(name="danglingNamePrefix")
def dangling_name_prefix(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "dangling_name_prefix", value)
@_builtins.property
@pulumi.getter(name="forceCompression")
def force_compression(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Forcefully apply compression.
"""
return pulumi.get(self, "force_compression")
@force_compression.setter
def force_compression(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "force_compression", value)
@_builtins.property
@pulumi.getter
def insecure(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Allow pushing to an insecure registry.
"""
return pulumi.get(self, "insecure")
@insecure.setter
def insecure(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "insecure", value)
@_builtins.property
@pulumi.getter(name="nameCanonical")
def name_canonical(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Add additional canonical name (`name@<digest>`).
"""
return pulumi.get(self, "name_canonical")
@name_canonical.setter
def name_canonical(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "name_canonical", value)
@_builtins.property
@pulumi.getter
def names(self) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "names", value)
@_builtins.property
@pulumi.getter(name="ociMediaTypes")
def oci_media_types(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "oci_media_types", value)
@_builtins.property
@pulumi.getter
def push(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Push after creating the image. Defaults to `false`.
"""
return pulumi.get(self, "push")
@push.setter
def push(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "push", value)
@_builtins.property
@pulumi.getter(name="pushByDigest")
def push_by_digest(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Push image without name.
"""
return pulumi.get(self, "push_by_digest")
@push_by_digest.setter
def push_by_digest(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "push_by_digest", value)
@_builtins.property
@pulumi.getter
def store(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "store", value)
@_builtins.property
@pulumi.getter
def unpack(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Unpack image after creation (for use with containerd). Defaults to
`false`.
"""
return pulumi.get(self, "unpack")
@unpack.setter
def unpack(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "unpack", value)
if not MYPY:
class ExportLocalArgsDict(TypedDict):
dest: pulumi.Input[_builtins.str]
"""
Output path.
"""
elif False:
ExportLocalArgsDict: TypeAlias = Mapping[str, Any]
@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)
if not MYPY:
class ExportOCIArgsDict(TypedDict):
annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
"""
Attach an arbitrary key/value annotation to the image.
"""
compression: NotRequired[pulumi.Input['CompressionType']]
"""
The compression type to use.
"""
compression_level: NotRequired[pulumi.Input[_builtins.int]]
"""
Compression level from 0 to 22.
"""
dest: NotRequired[pulumi.Input[_builtins.str]]
"""
The local export path.
"""
force_compression: NotRequired[pulumi.Input[_builtins.bool]]
"""
Forcefully apply compression.
"""
names: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
"""
Specify images names to export. This is overridden if tags are already specified.
"""
oci_media_types: NotRequired[pulumi.Input[_builtins.bool]]
"""
Use OCI media types in exporter manifests.
"""
tar: NotRequired[pulumi.Input[_builtins.bool]]
"""
Bundle the output into a tarball layout.
"""
elif False:
ExportOCIArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class ExportOCIArgs:
def __init__(__self__, *,
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
compression: Optional[pulumi.Input['CompressionType']] = None,
compression_level: Optional[pulumi.Input[_builtins.int]] = None,
dest: Optional[pulumi.Input[_builtins.str]] = None,
force_compression: Optional[pulumi.Input[_builtins.bool]] = None,
names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
oci_media_types: Optional[pulumi.Input[_builtins.bool]] = None,
tar: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "annotations", value)
@_builtins.property
@pulumi.getter
def compression(self) -> Optional[pulumi.Input['CompressionType']]:
"""
The compression type to use.
"""
return pulumi.get(self, "compression")
@compression.setter
def compression(self, value: Optional[pulumi.Input['CompressionType']]):
pulumi.set(self, "compression", value)
@_builtins.property
@pulumi.getter(name="compressionLevel")
def compression_level(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Compression level from 0 to 22.
"""
return pulumi.get(self, "compression_level")
@compression_level.setter
def compression_level(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "compression_level", value)
@_builtins.property
@pulumi.getter
def dest(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
The local export path.
"""
return pulumi.get(self, "dest")
@dest.setter
def dest(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "dest", value)
@_builtins.property
@pulumi.getter(name="forceCompression")
def force_compression(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Forcefully apply compression.
"""
return pulumi.get(self, "force_compression")
@force_compression.setter
def force_compression(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "force_compression", value)
@_builtins.property
@pulumi.getter
def names(self) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "names", value)
@_builtins.property
@pulumi.getter(name="ociMediaTypes")
def oci_media_types(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "oci_media_types", value)
@_builtins.property
@pulumi.getter
def tar(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Bundle the output into a tarball layout.
"""
return pulumi.get(self, "tar")
@tar.setter
def tar(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "tar", value)
if not MYPY:
class ExportRegistryArgsDict(TypedDict):
annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
"""
Attach an arbitrary key/value annotation to the image.
"""
compression: NotRequired[pulumi.Input['CompressionType']]
"""
The compression type to use.
"""
compression_level: NotRequired[pulumi.Input[_builtins.int]]
"""
Compression level from 0 to 22.
"""
dangling_name_prefix: NotRequired[pulumi.Input[_builtins.str]]
"""
Name image with `prefix@<digest>`, used for anonymous images.
"""
force_compression: NotRequired[pulumi.Input[_builtins.bool]]
"""
Forcefully apply compression.
"""
insecure: NotRequired[pulumi.Input[_builtins.bool]]
"""
Allow pushing to an insecure registry.
"""
name_canonical: NotRequired[pulumi.Input[_builtins.bool]]
"""
Add additional canonical name (`name@<digest>`).
"""
names: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
"""
Specify images names to export. This is overridden if tags are already specified.
"""
oci_media_types: NotRequired[pulumi.Input[_builtins.bool]]
"""
Use OCI media types in exporter manifests.
"""
push: NotRequired[pulumi.Input[_builtins.bool]]
"""
Push after creating the image. Defaults to `true`.
"""
push_by_digest: NotRequired[pulumi.Input[_builtins.bool]]
"""
Push image without name.
"""
store: NotRequired[pulumi.Input[_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[_builtins.bool]]
"""
Unpack image after creation (for use with containerd). Defaults to
`false`.
"""
elif False:
ExportRegistryArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class ExportRegistryArgs:
def __init__(__self__, *,
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
compression: Optional[pulumi.Input['CompressionType']] = None,
compression_level: Optional[pulumi.Input[_builtins.int]] = None,
dangling_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
force_compression: Optional[pulumi.Input[_builtins.bool]] = None,
insecure: Optional[pulumi.Input[_builtins.bool]] = None,
name_canonical: Optional[pulumi.Input[_builtins.bool]] = None,
names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
oci_media_types: Optional[pulumi.Input[_builtins.bool]] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None,
push_by_digest: Optional[pulumi.Input[_builtins.bool]] = None,
store: Optional[pulumi.Input[_builtins.bool]] = None,
unpack: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "annotations", value)
@_builtins.property
@pulumi.getter
def compression(self) -> Optional[pulumi.Input['CompressionType']]:
"""
The compression type to use.
"""
return pulumi.get(self, "compression")
@compression.setter
def compression(self, value: Optional[pulumi.Input['CompressionType']]):
pulumi.set(self, "compression", value)
@_builtins.property
@pulumi.getter(name="compressionLevel")
def compression_level(self) -> Optional[pulumi.Input[_builtins.int]]:
"""
Compression level from 0 to 22.
"""
return pulumi.get(self, "compression_level")
@compression_level.setter
def compression_level(self, value: Optional[pulumi.Input[_builtins.int]]):
pulumi.set(self, "compression_level", value)
@_builtins.property
@pulumi.getter(name="danglingNamePrefix")
def dangling_name_prefix(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "dangling_name_prefix", value)
@_builtins.property
@pulumi.getter(name="forceCompression")
def force_compression(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Forcefully apply compression.
"""
return pulumi.get(self, "force_compression")
@force_compression.setter
def force_compression(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "force_compression", value)
@_builtins.property
@pulumi.getter
def insecure(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Allow pushing to an insecure registry.
"""
return pulumi.get(self, "insecure")
@insecure.setter
def insecure(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "insecure", value)
@_builtins.property
@pulumi.getter(name="nameCanonical")
def name_canonical(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Add additional canonical name (`name@<digest>`).
"""
return pulumi.get(self, "name_canonical")
@name_canonical.setter
def name_canonical(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "name_canonical", value)
@_builtins.property
@pulumi.getter
def names(self) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "names", value)
@_builtins.property
@pulumi.getter(name="ociMediaTypes")
def oci_media_types(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "oci_media_types", value)
@_builtins.property
@pulumi.getter
def push(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Push after creating the image. Defaults to `true`.
"""
return pulumi.get(self, "push")
@push.setter
def push(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "push", value)
@_builtins.property
@pulumi.getter(name="pushByDigest")
def push_by_digest(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Push image without name.
"""
return pulumi.get(self, "push_by_digest")
@push_by_digest.setter
def push_by_digest(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "push_by_digest", value)
@_builtins.property
@pulumi.getter
def store(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "store", value)
@_builtins.property
@pulumi.getter
def unpack(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
Unpack image after creation (for use with containerd). Defaults to
`false`.
"""
return pulumi.get(self, "unpack")
@unpack.setter
def unpack(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "unpack", value)
if not MYPY:
class ExportTarArgsDict(TypedDict):
dest: pulumi.Input[_builtins.str]
"""
Output path.
"""
elif False:
ExportTarArgsDict: TypeAlias = Mapping[str, Any]
@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)
if not MYPY:
class ExportArgsDict(TypedDict):
cacheonly: NotRequired[pulumi.Input['ExportCacheOnlyArgsDict']]
"""
A no-op export. Helpful for silencing the 'no exports' warning if you
just want to populate caches.
"""
disabled: NotRequired[pulumi.Input[_builtins.bool]]
"""
When `true` this entry will be excluded. Defaults to `false`.
"""
docker: NotRequired[pulumi.Input['ExportDockerArgsDict']]
"""
Export as a Docker image layout.
"""
image: NotRequired[pulumi.Input['ExportImageArgsDict']]
"""
Outputs the build result into a container image format.
"""
local: NotRequired[pulumi.Input['ExportLocalArgsDict']]
"""
Export to a local directory as files and directories.
"""
oci: NotRequired[pulumi.Input['ExportOCIArgsDict']]
"""
Identical to the Docker exporter but uses OCI media types by default.
"""
raw: NotRequired[pulumi.Input[_builtins.str]]
"""
A raw string as you would provide it to the Docker CLI (e.g.,
`type=docker`)
"""
registry: NotRequired[pulumi.Input['ExportRegistryArgsDict']]
"""
Identical to the Image exporter, but pushes by default.
"""
tar: NotRequired[pulumi.Input['ExportTarArgsDict']]
"""
Export to a local directory as a tarball.
"""
elif False:
ExportArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class ExportArgs:
def __init__(__self__, *,
cacheonly: Optional[pulumi.Input['ExportCacheOnlyArgs']] = None,
disabled: Optional[pulumi.Input[_builtins.bool]] = None,
docker: Optional[pulumi.Input['ExportDockerArgs']] = None,
image: Optional[pulumi.Input['ExportImageArgs']] = None,
local: Optional[pulumi.Input['ExportLocalArgs']] = None,
oci: Optional[pulumi.Input['ExportOCIArgs']] = None,
raw: Optional[pulumi.Input[_builtins.str]] = None,
registry: Optional[pulumi.Input['ExportRegistryArgs']] = None,
tar: Optional[pulumi.Input['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) -> Optional[pulumi.Input['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: Optional[pulumi.Input['ExportCacheOnlyArgs']]):
pulumi.set(self, "cacheonly", value)
@_builtins.property
@pulumi.getter
def disabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
"""
When `true` this entry will be excluded. Defaults to `false`.
"""
return pulumi.get(self, "disabled")
@disabled.setter
def disabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
pulumi.set(self, "disabled", value)
@_builtins.property
@pulumi.getter
def docker(self) -> Optional[pulumi.Input['ExportDockerArgs']]:
"""
Export as a Docker image layout.
"""
return pulumi.get(self, "docker")
@docker.setter
def docker(self, value: Optional[pulumi.Input['ExportDockerArgs']]):
pulumi.set(self, "docker", value)
@_builtins.property
@pulumi.getter
def image(self) -> Optional[pulumi.Input['ExportImageArgs']]:
"""
Outputs the build result into a container image format.
"""
return pulumi.get(self, "image")
@image.setter
def image(self, value: Optional[pulumi.Input['ExportImageArgs']]):
pulumi.set(self, "image", value)
@_builtins.property
@pulumi.getter
def local(self) -> Optional[pulumi.Input['ExportLocalArgs']]:
"""
Export to a local directory as files and directories.
"""
return pulumi.get(self, "local")
@local.setter
def local(self, value: Optional[pulumi.Input['ExportLocalArgs']]):
pulumi.set(self, "local", value)
@_builtins.property
@pulumi.getter
def oci(self) -> Optional[pulumi.Input['ExportOCIArgs']]:
"""
Identical to the Docker exporter but uses OCI media types by default.
"""
return pulumi.get(self, "oci")
@oci.setter
def oci(self, value: Optional[pulumi.Input['ExportOCIArgs']]):
pulumi.set(self, "oci", value)
@_builtins.property
@pulumi.getter
def raw(self) -> Optional[pulumi.Input[_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: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "raw", value)
@_builtins.property
@pulumi.getter
def registry(self) -> Optional[pulumi.Input['ExportRegistryArgs']]:
"""
Identical to the Image exporter, but pushes by default.
"""
return pulumi.get(self, "registry")
@registry.setter
def registry(self, value: Optional[pulumi.Input['ExportRegistryArgs']]):
pulumi.set(self, "registry", value)
@_builtins.property
@pulumi.getter
def tar(self) -> Optional[pulumi.Input['ExportTarArgs']]:
"""
Export to a local directory as a tarball.
"""
return pulumi.get(self, "tar")
@tar.setter
def tar(self, value: Optional[pulumi.Input['ExportTarArgs']]):
pulumi.set(self, "tar", value)
if not MYPY:
class RegistryArgsDict(TypedDict):
address: pulumi.Input[_builtins.str]
"""
The registry's address (e.g. "docker.io").
"""
password: NotRequired[pulumi.Input[_builtins.str]]
"""
Password or token for the registry.
"""
username: NotRequired[pulumi.Input[_builtins.str]]
"""
Username for the registry.
"""
elif False:
RegistryArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class RegistryArgs:
def __init__(__self__, *,
address: pulumi.Input[_builtins.str],
password: Optional[pulumi.Input[_builtins.str]] = None,
username: Optional[pulumi.Input[_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) -> Optional[pulumi.Input[_builtins.str]]:
"""
Password or token for the registry.
"""
return pulumi.get(self, "password")
@password.setter
def password(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "password", value)
@_builtins.property
@pulumi.getter
def username(self) -> Optional[pulumi.Input[_builtins.str]]:
"""
Username for the registry.
"""
return pulumi.get(self, "username")
@username.setter
def username(self, value: Optional[pulumi.Input[_builtins.str]]):
pulumi.set(self, "username", value)
if not MYPY:
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[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.
"""
elif False:
SSHArgsDict: TypeAlias = Mapping[str, Any]
@pulumi.input_type
class SSHArgs:
def __init__(__self__, *,
id: pulumi.Input[_builtins.str],
paths: Optional[pulumi.Input[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) -> Optional[pulumi.Input[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: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
pulumi.set(self, "paths", value)