# 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 copy 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[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[str], named: Optional[pulumi.Input[Mapping[str, pulumi.Input['ContextArgs']]]] = None): """ :param pulumi.Input[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) @property @pulumi.getter def location(self) -> pulumi.Input[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[str]): pulumi.set(self, "location", value) @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[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[str]] = None): """ :param pulumi.Input[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) @property @pulumi.getter def name(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "name", value) if not MYPY: class CacheFromAzureBlobArgsDict(TypedDict): name: pulumi.Input[str] """ The name of the cache image. """ account_url: NotRequired[pulumi.Input[str]] """ Base URL of the storage account. """ secret_access_key: NotRequired[pulumi.Input[str]] """ Blob storage account key. """ elif False: CacheFromAzureBlobArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class CacheFromAzureBlobArgs: def __init__(__self__, *, name: pulumi.Input[str], account_url: Optional[pulumi.Input[str]] = None, secret_access_key: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] name: The name of the cache image. :param pulumi.Input[str] account_url: Base URL of the storage account. :param pulumi.Input[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) @property @pulumi.getter def name(self) -> pulumi.Input[str]: """ The name of the cache image. """ return pulumi.get(self, "name") @name.setter def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) @property @pulumi.getter(name="accountUrl") def account_url(self) -> Optional[pulumi.Input[str]]: """ Base URL of the storage account. """ return pulumi.get(self, "account_url") @account_url.setter def account_url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_url", value) @property @pulumi.getter(name="secretAccessKey") def secret_access_key(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "secret_access_key", value) if not MYPY: class CacheFromGitHubActionsArgsDict(TypedDict): scope: NotRequired[pulumi.Input[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[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[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[str]] = None, token: Optional[pulumi.Input[str]] = None, url: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[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[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[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 = (_utilities.get_env('buildkit') or '') 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) @property @pulumi.getter def scope(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "scope", value) @property @pulumi.getter def token(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "token", value) @property @pulumi.getter def url(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "url", value) if not MYPY: class CacheFromLocalArgsDict(TypedDict): src: pulumi.Input[str] """ Path of the local directory where cache gets imported from. """ digest: NotRequired[pulumi.Input[str]] """ Digest of manifest to import. """ elif False: CacheFromLocalArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class CacheFromLocalArgs: def __init__(__self__, *, src: pulumi.Input[str], digest: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] src: Path of the local directory where cache gets imported from. :param pulumi.Input[str] digest: Digest of manifest to import. """ pulumi.set(__self__, "src", src) if digest is not None: pulumi.set(__self__, "digest", digest) @property @pulumi.getter def src(self) -> pulumi.Input[str]: """ Path of the local directory where cache gets imported from. """ return pulumi.get(self, "src") @src.setter def src(self, value: pulumi.Input[str]): pulumi.set(self, "src", value) @property @pulumi.getter def digest(self) -> Optional[pulumi.Input[str]]: """ Digest of manifest to import. """ return pulumi.get(self, "digest") @digest.setter def digest(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "digest", value) if not MYPY: class CacheFromRegistryArgsDict(TypedDict): ref: pulumi.Input[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[str]): """ :param pulumi.Input[str] ref: Fully qualified name of the cache image to import. """ pulumi.set(__self__, "ref", ref) @property @pulumi.getter def ref(self) -> pulumi.Input[str]: """ Fully qualified name of the cache image to import. """ return pulumi.get(self, "ref") @ref.setter def ref(self, value: pulumi.Input[str]): pulumi.set(self, "ref", value) if not MYPY: class CacheFromS3ArgsDict(TypedDict): bucket: pulumi.Input[str] """ Name of the S3 bucket. """ region: pulumi.Input[str] """ The geographic location of the bucket. Defaults to `$AWS_REGION`. """ access_key_id: NotRequired[pulumi.Input[str]] """ Defaults to `$AWS_ACCESS_KEY_ID`. """ blobs_prefix: NotRequired[pulumi.Input[str]] """ Prefix to prepend to blob filenames. """ endpoint_url: NotRequired[pulumi.Input[str]] """ Endpoint of the S3 bucket. """ manifests_prefix: NotRequired[pulumi.Input[str]] """ Prefix to prepend on manifest filenames. """ name: NotRequired[pulumi.Input[str]] """ Name of the cache image. """ secret_access_key: NotRequired[pulumi.Input[str]] """ Defaults to `$AWS_SECRET_ACCESS_KEY`. """ session_token: NotRequired[pulumi.Input[str]] """ Defaults to `$AWS_SESSION_TOKEN`. """ use_path_style: NotRequired[pulumi.Input[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[str], region: Optional[pulumi.Input[str]] = None, access_key_id: Optional[pulumi.Input[str]] = None, blobs_prefix: Optional[pulumi.Input[str]] = None, endpoint_url: Optional[pulumi.Input[str]] = None, manifests_prefix: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, secret_access_key: Optional[pulumi.Input[str]] = None, session_token: Optional[pulumi.Input[str]] = None, use_path_style: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] bucket: Name of the S3 bucket. :param pulumi.Input[str] region: The geographic location of the bucket. Defaults to `$AWS_REGION`. :param pulumi.Input[str] access_key_id: Defaults to `$AWS_ACCESS_KEY_ID`. :param pulumi.Input[str] blobs_prefix: Prefix to prepend to blob filenames. :param pulumi.Input[str] endpoint_url: Endpoint of the S3 bucket. :param pulumi.Input[str] manifests_prefix: Prefix to prepend on manifest filenames. :param pulumi.Input[str] name: Name of the cache image. :param pulumi.Input[str] secret_access_key: Defaults to `$AWS_SECRET_ACCESS_KEY`. :param pulumi.Input[str] session_token: Defaults to `$AWS_SESSION_TOKEN`. :param pulumi.Input[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) @property @pulumi.getter def bucket(self) -> pulumi.Input[str]: """ Name of the S3 bucket. """ return pulumi.get(self, "bucket") @bucket.setter def bucket(self, value: pulumi.Input[str]): pulumi.set(self, "bucket", value) @property @pulumi.getter def region(self) -> pulumi.Input[str]: """ The geographic location of the bucket. Defaults to `$AWS_REGION`. """ return pulumi.get(self, "region") @region.setter def region(self, value: pulumi.Input[str]): pulumi.set(self, "region", value) @property @pulumi.getter(name="accessKeyId") def access_key_id(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "access_key_id", value) @property @pulumi.getter(name="blobsPrefix") def blobs_prefix(self) -> Optional[pulumi.Input[str]]: """ Prefix to prepend to blob filenames. """ return pulumi.get(self, "blobs_prefix") @blobs_prefix.setter def blobs_prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "blobs_prefix", value) @property @pulumi.getter(name="endpointUrl") def endpoint_url(self) -> Optional[pulumi.Input[str]]: """ Endpoint of the S3 bucket. """ return pulumi.get(self, "endpoint_url") @endpoint_url.setter def endpoint_url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "endpoint_url", value) @property @pulumi.getter(name="manifestsPrefix") def manifests_prefix(self) -> Optional[pulumi.Input[str]]: """ Prefix to prepend on manifest filenames. """ return pulumi.get(self, "manifests_prefix") @manifests_prefix.setter def manifests_prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "manifests_prefix", value) @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ Name of the cache image. """ return pulumi.get(self, "name") @name.setter def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property @pulumi.getter(name="secretAccessKey") def secret_access_key(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "secret_access_key", value) @property @pulumi.getter(name="sessionToken") def session_token(self) -> Optional[pulumi.Input[str]]: """ Defaults to `$AWS_SESSION_TOKEN`. """ return pulumi.get(self, "session_token") @session_token.setter def session_token(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "session_token", value) @property @pulumi.getter(name="usePathStyle") def use_path_style(self) -> Optional[pulumi.Input[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[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[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[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[bool]] = None, gha: Optional[pulumi.Input['CacheFromGitHubActionsArgs']] = None, local: Optional[pulumi.Input['CacheFromLocalArgs']] = None, raw: Optional[pulumi.Input[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[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[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) @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) @property @pulumi.getter def disabled(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "disabled", value) @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) @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) @property @pulumi.getter def raw(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "raw", value) @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) @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[str] """ The name of the cache image. """ account_url: NotRequired[pulumi.Input[str]] """ Base URL of the storage account. """ ignore_error: NotRequired[pulumi.Input[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[str]] """ Blob storage account key. """ elif False: CacheToAzureBlobArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class CacheToAzureBlobArgs: def __init__(__self__, *, name: pulumi.Input[str], account_url: Optional[pulumi.Input[str]] = None, ignore_error: Optional[pulumi.Input[bool]] = None, mode: Optional[pulumi.Input['CacheMode']] = None, secret_access_key: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] name: The name of the cache image. :param pulumi.Input[str] account_url: Base URL of the storage account. :param pulumi.Input[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[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) @property @pulumi.getter def name(self) -> pulumi.Input[str]: """ The name of the cache image. """ return pulumi.get(self, "name") @name.setter def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) @property @pulumi.getter(name="accountUrl") def account_url(self) -> Optional[pulumi.Input[str]]: """ Base URL of the storage account. """ return pulumi.get(self, "account_url") @account_url.setter def account_url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_url", value) @property @pulumi.getter(name="ignoreError") def ignore_error(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "ignore_error", value) @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) @property @pulumi.getter(name="secretAccessKey") def secret_access_key(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "secret_access_key", value) if not MYPY: class CacheToGitHubActionsArgsDict(TypedDict): ignore_error: NotRequired[pulumi.Input[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[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[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[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[bool]] = None, mode: Optional[pulumi.Input['CacheMode']] = None, scope: Optional[pulumi.Input[str]] = None, token: Optional[pulumi.Input[str]] = None, url: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[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[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[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[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 = (_utilities.get_env('buildkit') or '') 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) @property @pulumi.getter(name="ignoreError") def ignore_error(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "ignore_error", value) @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) @property @pulumi.getter def scope(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "scope", value) @property @pulumi.getter def token(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "token", value) @property @pulumi.getter def url(self) -> Optional[pulumi.Input[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[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[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[int]] """ Compression level from 0 to 22. """ force_compression: NotRequired[pulumi.Input[bool]] """ Forcefully apply compression. """ ignore_error: NotRequired[pulumi.Input[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[str], compression: Optional[pulumi.Input['CompressionType']] = None, compression_level: Optional[pulumi.Input[int]] = None, force_compression: Optional[pulumi.Input[bool]] = None, ignore_error: Optional[pulumi.Input[bool]] = None, mode: Optional[pulumi.Input['CacheMode']] = None): """ :param pulumi.Input[str] dest: Path of the local directory to export the cache. :param pulumi.Input['CompressionType'] compression: The compression type to use. :param pulumi.Input[int] compression_level: Compression level from 0 to 22. :param pulumi.Input[bool] force_compression: Forcefully apply compression. :param pulumi.Input[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) @property @pulumi.getter def dest(self) -> pulumi.Input[str]: """ Path of the local directory to export the cache. """ return pulumi.get(self, "dest") @dest.setter def dest(self, value: pulumi.Input[str]): pulumi.set(self, "dest", value) @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) @property @pulumi.getter(name="compressionLevel") def compression_level(self) -> Optional[pulumi.Input[int]]: """ Compression level from 0 to 22. """ return pulumi.get(self, "compression_level") @compression_level.setter def compression_level(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "compression_level", value) @property @pulumi.getter(name="forceCompression") def force_compression(self) -> Optional[pulumi.Input[bool]]: """ Forcefully apply compression. """ return pulumi.get(self, "force_compression") @force_compression.setter def force_compression(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "force_compression", value) @property @pulumi.getter(name="ignoreError") def ignore_error(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "ignore_error", value) @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[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[int]] """ Compression level from 0 to 22. """ force_compression: NotRequired[pulumi.Input[bool]] """ Forcefully apply compression. """ ignore_error: NotRequired[pulumi.Input[bool]] """ Ignore errors caused by failed cache exports. """ image_manifest: NotRequired[pulumi.Input[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[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[str], compression: Optional[pulumi.Input['CompressionType']] = None, compression_level: Optional[pulumi.Input[int]] = None, force_compression: Optional[pulumi.Input[bool]] = None, ignore_error: Optional[pulumi.Input[bool]] = None, image_manifest: Optional[pulumi.Input[bool]] = None, mode: Optional[pulumi.Input['CacheMode']] = None, oci_media_types: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] ref: Fully qualified name of the cache image to import. :param pulumi.Input['CompressionType'] compression: The compression type to use. :param pulumi.Input[int] compression_level: Compression level from 0 to 22. :param pulumi.Input[bool] force_compression: Forcefully apply compression. :param pulumi.Input[bool] ignore_error: Ignore errors caused by failed cache exports. :param pulumi.Input[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[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) @property @pulumi.getter def ref(self) -> pulumi.Input[str]: """ Fully qualified name of the cache image to import. """ return pulumi.get(self, "ref") @ref.setter def ref(self, value: pulumi.Input[str]): pulumi.set(self, "ref", value) @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) @property @pulumi.getter(name="compressionLevel") def compression_level(self) -> Optional[pulumi.Input[int]]: """ Compression level from 0 to 22. """ return pulumi.get(self, "compression_level") @compression_level.setter def compression_level(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "compression_level", value) @property @pulumi.getter(name="forceCompression") def force_compression(self) -> Optional[pulumi.Input[bool]]: """ Forcefully apply compression. """ return pulumi.get(self, "force_compression") @force_compression.setter def force_compression(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "force_compression", value) @property @pulumi.getter(name="ignoreError") def ignore_error(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "ignore_error", value) @property @pulumi.getter(name="imageManifest") def image_manifest(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "image_manifest", value) @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) @property @pulumi.getter(name="ociMediaTypes") def oci_media_types(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "oci_media_types", value) if not MYPY: class CacheToS3ArgsDict(TypedDict): bucket: pulumi.Input[str] """ Name of the S3 bucket. """ region: pulumi.Input[str] """ The geographic location of the bucket. Defaults to `$AWS_REGION`. """ access_key_id: NotRequired[pulumi.Input[str]] """ Defaults to `$AWS_ACCESS_KEY_ID`. """ blobs_prefix: NotRequired[pulumi.Input[str]] """ Prefix to prepend to blob filenames. """ endpoint_url: NotRequired[pulumi.Input[str]] """ Endpoint of the S3 bucket. """ ignore_error: NotRequired[pulumi.Input[bool]] """ Ignore errors caused by failed cache exports. """ manifests_prefix: NotRequired[pulumi.Input[str]] """ Prefix to prepend on manifest filenames. """ mode: NotRequired[pulumi.Input['CacheMode']] """ The cache mode to use. Defaults to `min`. """ name: NotRequired[pulumi.Input[str]] """ Name of the cache image. """ secret_access_key: NotRequired[pulumi.Input[str]] """ Defaults to `$AWS_SECRET_ACCESS_KEY`. """ session_token: NotRequired[pulumi.Input[str]] """ Defaults to `$AWS_SESSION_TOKEN`. """ use_path_style: NotRequired[pulumi.Input[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[str], region: Optional[pulumi.Input[str]] = None, access_key_id: Optional[pulumi.Input[str]] = None, blobs_prefix: Optional[pulumi.Input[str]] = None, endpoint_url: Optional[pulumi.Input[str]] = None, ignore_error: Optional[pulumi.Input[bool]] = None, manifests_prefix: Optional[pulumi.Input[str]] = None, mode: Optional[pulumi.Input['CacheMode']] = None, name: Optional[pulumi.Input[str]] = None, secret_access_key: Optional[pulumi.Input[str]] = None, session_token: Optional[pulumi.Input[str]] = None, use_path_style: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] bucket: Name of the S3 bucket. :param pulumi.Input[str] region: The geographic location of the bucket. Defaults to `$AWS_REGION`. :param pulumi.Input[str] access_key_id: Defaults to `$AWS_ACCESS_KEY_ID`. :param pulumi.Input[str] blobs_prefix: Prefix to prepend to blob filenames. :param pulumi.Input[str] endpoint_url: Endpoint of the S3 bucket. :param pulumi.Input[bool] ignore_error: Ignore errors caused by failed cache exports. :param pulumi.Input[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[str] name: Name of the cache image. :param pulumi.Input[str] secret_access_key: Defaults to `$AWS_SECRET_ACCESS_KEY`. :param pulumi.Input[str] session_token: Defaults to `$AWS_SESSION_TOKEN`. :param pulumi.Input[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) @property @pulumi.getter def bucket(self) -> pulumi.Input[str]: """ Name of the S3 bucket. """ return pulumi.get(self, "bucket") @bucket.setter def bucket(self, value: pulumi.Input[str]): pulumi.set(self, "bucket", value) @property @pulumi.getter def region(self) -> pulumi.Input[str]: """ The geographic location of the bucket. Defaults to `$AWS_REGION`. """ return pulumi.get(self, "region") @region.setter def region(self, value: pulumi.Input[str]): pulumi.set(self, "region", value) @property @pulumi.getter(name="accessKeyId") def access_key_id(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "access_key_id", value) @property @pulumi.getter(name="blobsPrefix") def blobs_prefix(self) -> Optional[pulumi.Input[str]]: """ Prefix to prepend to blob filenames. """ return pulumi.get(self, "blobs_prefix") @blobs_prefix.setter def blobs_prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "blobs_prefix", value) @property @pulumi.getter(name="endpointUrl") def endpoint_url(self) -> Optional[pulumi.Input[str]]: """ Endpoint of the S3 bucket. """ return pulumi.get(self, "endpoint_url") @endpoint_url.setter def endpoint_url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "endpoint_url", value) @property @pulumi.getter(name="ignoreError") def ignore_error(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "ignore_error", value) @property @pulumi.getter(name="manifestsPrefix") def manifests_prefix(self) -> Optional[pulumi.Input[str]]: """ Prefix to prepend on manifest filenames. """ return pulumi.get(self, "manifests_prefix") @manifests_prefix.setter def manifests_prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "manifests_prefix", value) @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) @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ Name of the cache image. """ return pulumi.get(self, "name") @name.setter def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property @pulumi.getter(name="secretAccessKey") def secret_access_key(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "secret_access_key", value) @property @pulumi.getter(name="sessionToken") def session_token(self) -> Optional[pulumi.Input[str]]: """ Defaults to `$AWS_SESSION_TOKEN`. """ return pulumi.get(self, "session_token") @session_token.setter def session_token(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "session_token", value) @property @pulumi.getter(name="usePathStyle") def use_path_style(self) -> Optional[pulumi.Input[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[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[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[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[bool]] = None, gha: Optional[pulumi.Input['CacheToGitHubActionsArgs']] = None, inline: Optional[pulumi.Input['CacheToInlineArgs']] = None, local: Optional[pulumi.Input['CacheToLocalArgs']] = None, raw: Optional[pulumi.Input[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[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[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) @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) @property @pulumi.getter def disabled(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "disabled", value) @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) @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) @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) @property @pulumi.getter def raw(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "raw", value) @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) @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[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[str]): """ :param pulumi.Input[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) @property @pulumi.getter def location(self) -> pulumi.Input[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[str]): pulumi.set(self, "location", value) if not MYPY: class DockerfileArgsDict(TypedDict): inline: NotRequired[pulumi.Input[str]] """ Raw Dockerfile contents. Conflicts with `location`. Equivalent to invoking Docker with `-f -`. """ location: NotRequired[pulumi.Input[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[str]] = None, location: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] inline: Raw Dockerfile contents. Conflicts with `location`. Equivalent to invoking Docker with `-f -`. :param pulumi.Input[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) @property @pulumi.getter def inline(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "inline", value) @property @pulumi.getter def location(self) -> Optional[pulumi.Input[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[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[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[int]] """ Compression level from 0 to 22. """ dest: NotRequired[pulumi.Input[str]] """ The local export path. """ force_compression: NotRequired[pulumi.Input[bool]] """ Forcefully apply compression. """ names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ Specify images names to export. This is overridden if tags are already specified. """ oci_media_types: NotRequired[pulumi.Input[bool]] """ Use OCI media types in exporter manifests. """ tar: NotRequired[pulumi.Input[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[str]]]] = None, compression: Optional[pulumi.Input['CompressionType']] = None, compression_level: Optional[pulumi.Input[int]] = None, dest: Optional[pulumi.Input[str]] = None, force_compression: Optional[pulumi.Input[bool]] = None, names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, oci_media_types: Optional[pulumi.Input[bool]] = None, tar: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Attach an arbitrary key/value annotation to the image. :param pulumi.Input['CompressionType'] compression: The compression type to use. :param pulumi.Input[int] compression_level: Compression level from 0 to 22. :param pulumi.Input[str] dest: The local export path. :param pulumi.Input[bool] force_compression: Forcefully apply compression. :param pulumi.Input[Sequence[pulumi.Input[str]]] names: Specify images names to export. This is overridden if tags are already specified. :param pulumi.Input[bool] oci_media_types: Use OCI media types in exporter manifests. :param pulumi.Input[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) @property @pulumi.getter def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[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[str]]]]): pulumi.set(self, "annotations", value) @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) @property @pulumi.getter(name="compressionLevel") def compression_level(self) -> Optional[pulumi.Input[int]]: """ Compression level from 0 to 22. """ return pulumi.get(self, "compression_level") @compression_level.setter def compression_level(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "compression_level", value) @property @pulumi.getter def dest(self) -> Optional[pulumi.Input[str]]: """ The local export path. """ return pulumi.get(self, "dest") @dest.setter def dest(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "dest", value) @property @pulumi.getter(name="forceCompression") def force_compression(self) -> Optional[pulumi.Input[bool]]: """ Forcefully apply compression. """ return pulumi.get(self, "force_compression") @force_compression.setter def force_compression(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "force_compression", value) @property @pulumi.getter def names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[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[str]]]]): pulumi.set(self, "names", value) @property @pulumi.getter(name="ociMediaTypes") def oci_media_types(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "oci_media_types", value) @property @pulumi.getter def tar(self) -> Optional[pulumi.Input[bool]]: """ Bundle the output into a tarball layout. """ return pulumi.get(self, "tar") @tar.setter def tar(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "tar", value) if not MYPY: class ExportImageArgsDict(TypedDict): annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[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[int]] """ Compression level from 0 to 22. """ dangling_name_prefix: NotRequired[pulumi.Input[str]] """ Name image with `prefix@`, used for anonymous images. """ force_compression: NotRequired[pulumi.Input[bool]] """ Forcefully apply compression. """ insecure: NotRequired[pulumi.Input[bool]] """ Allow pushing to an insecure registry. """ name_canonical: NotRequired[pulumi.Input[bool]] """ Add additional canonical name (`name@`). """ names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ Specify images names to export. This is overridden if tags are already specified. """ oci_media_types: NotRequired[pulumi.Input[bool]] """ Use OCI media types in exporter manifests. """ push: NotRequired[pulumi.Input[bool]] """ Push after creating the image. Defaults to `false`. """ push_by_digest: NotRequired[pulumi.Input[bool]] """ Push image without name. """ store: NotRequired[pulumi.Input[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[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[str]]]] = None, compression: Optional[pulumi.Input['CompressionType']] = None, compression_level: Optional[pulumi.Input[int]] = None, dangling_name_prefix: Optional[pulumi.Input[str]] = None, force_compression: Optional[pulumi.Input[bool]] = None, insecure: Optional[pulumi.Input[bool]] = None, name_canonical: Optional[pulumi.Input[bool]] = None, names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, oci_media_types: Optional[pulumi.Input[bool]] = None, push: Optional[pulumi.Input[bool]] = None, push_by_digest: Optional[pulumi.Input[bool]] = None, store: Optional[pulumi.Input[bool]] = None, unpack: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Attach an arbitrary key/value annotation to the image. :param pulumi.Input['CompressionType'] compression: The compression type to use. :param pulumi.Input[int] compression_level: Compression level from 0 to 22. :param pulumi.Input[str] dangling_name_prefix: Name image with `prefix@`, used for anonymous images. :param pulumi.Input[bool] force_compression: Forcefully apply compression. :param pulumi.Input[bool] insecure: Allow pushing to an insecure registry. :param pulumi.Input[bool] name_canonical: Add additional canonical name (`name@`). :param pulumi.Input[Sequence[pulumi.Input[str]]] names: Specify images names to export. This is overridden if tags are already specified. :param pulumi.Input[bool] oci_media_types: Use OCI media types in exporter manifests. :param pulumi.Input[bool] push: Push after creating the image. Defaults to `false`. :param pulumi.Input[bool] push_by_digest: Push image without name. :param pulumi.Input[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[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) @property @pulumi.getter def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[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[str]]]]): pulumi.set(self, "annotations", value) @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) @property @pulumi.getter(name="compressionLevel") def compression_level(self) -> Optional[pulumi.Input[int]]: """ Compression level from 0 to 22. """ return pulumi.get(self, "compression_level") @compression_level.setter def compression_level(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "compression_level", value) @property @pulumi.getter(name="danglingNamePrefix") def dangling_name_prefix(self) -> Optional[pulumi.Input[str]]: """ Name image with `prefix@`, used for anonymous images. """ return pulumi.get(self, "dangling_name_prefix") @dangling_name_prefix.setter def dangling_name_prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "dangling_name_prefix", value) @property @pulumi.getter(name="forceCompression") def force_compression(self) -> Optional[pulumi.Input[bool]]: """ Forcefully apply compression. """ return pulumi.get(self, "force_compression") @force_compression.setter def force_compression(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "force_compression", value) @property @pulumi.getter def insecure(self) -> Optional[pulumi.Input[bool]]: """ Allow pushing to an insecure registry. """ return pulumi.get(self, "insecure") @insecure.setter def insecure(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "insecure", value) @property @pulumi.getter(name="nameCanonical") def name_canonical(self) -> Optional[pulumi.Input[bool]]: """ Add additional canonical name (`name@`). """ return pulumi.get(self, "name_canonical") @name_canonical.setter def name_canonical(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "name_canonical", value) @property @pulumi.getter def names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[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[str]]]]): pulumi.set(self, "names", value) @property @pulumi.getter(name="ociMediaTypes") def oci_media_types(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "oci_media_types", value) @property @pulumi.getter def push(self) -> Optional[pulumi.Input[bool]]: """ Push after creating the image. Defaults to `false`. """ return pulumi.get(self, "push") @push.setter def push(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "push", value) @property @pulumi.getter(name="pushByDigest") def push_by_digest(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "push_by_digest", value) @property @pulumi.getter def store(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "store", value) @property @pulumi.getter def unpack(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "unpack", value) if not MYPY: class ExportLocalArgsDict(TypedDict): dest: pulumi.Input[str] """ Output path. """ elif False: ExportLocalArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class ExportLocalArgs: def __init__(__self__, *, dest: pulumi.Input[str]): """ :param pulumi.Input[str] dest: Output path. """ pulumi.set(__self__, "dest", dest) @property @pulumi.getter def dest(self) -> pulumi.Input[str]: """ Output path. """ return pulumi.get(self, "dest") @dest.setter def dest(self, value: pulumi.Input[str]): pulumi.set(self, "dest", value) if not MYPY: class ExportOCIArgsDict(TypedDict): annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[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[int]] """ Compression level from 0 to 22. """ dest: NotRequired[pulumi.Input[str]] """ The local export path. """ force_compression: NotRequired[pulumi.Input[bool]] """ Forcefully apply compression. """ names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ Specify images names to export. This is overridden if tags are already specified. """ oci_media_types: NotRequired[pulumi.Input[bool]] """ Use OCI media types in exporter manifests. """ tar: NotRequired[pulumi.Input[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[str]]]] = None, compression: Optional[pulumi.Input['CompressionType']] = None, compression_level: Optional[pulumi.Input[int]] = None, dest: Optional[pulumi.Input[str]] = None, force_compression: Optional[pulumi.Input[bool]] = None, names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, oci_media_types: Optional[pulumi.Input[bool]] = None, tar: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Attach an arbitrary key/value annotation to the image. :param pulumi.Input['CompressionType'] compression: The compression type to use. :param pulumi.Input[int] compression_level: Compression level from 0 to 22. :param pulumi.Input[str] dest: The local export path. :param pulumi.Input[bool] force_compression: Forcefully apply compression. :param pulumi.Input[Sequence[pulumi.Input[str]]] names: Specify images names to export. This is overridden if tags are already specified. :param pulumi.Input[bool] oci_media_types: Use OCI media types in exporter manifests. :param pulumi.Input[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) @property @pulumi.getter def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[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[str]]]]): pulumi.set(self, "annotations", value) @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) @property @pulumi.getter(name="compressionLevel") def compression_level(self) -> Optional[pulumi.Input[int]]: """ Compression level from 0 to 22. """ return pulumi.get(self, "compression_level") @compression_level.setter def compression_level(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "compression_level", value) @property @pulumi.getter def dest(self) -> Optional[pulumi.Input[str]]: """ The local export path. """ return pulumi.get(self, "dest") @dest.setter def dest(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "dest", value) @property @pulumi.getter(name="forceCompression") def force_compression(self) -> Optional[pulumi.Input[bool]]: """ Forcefully apply compression. """ return pulumi.get(self, "force_compression") @force_compression.setter def force_compression(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "force_compression", value) @property @pulumi.getter def names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[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[str]]]]): pulumi.set(self, "names", value) @property @pulumi.getter(name="ociMediaTypes") def oci_media_types(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "oci_media_types", value) @property @pulumi.getter def tar(self) -> Optional[pulumi.Input[bool]]: """ Bundle the output into a tarball layout. """ return pulumi.get(self, "tar") @tar.setter def tar(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "tar", value) if not MYPY: class ExportRegistryArgsDict(TypedDict): annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[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[int]] """ Compression level from 0 to 22. """ dangling_name_prefix: NotRequired[pulumi.Input[str]] """ Name image with `prefix@`, used for anonymous images. """ force_compression: NotRequired[pulumi.Input[bool]] """ Forcefully apply compression. """ insecure: NotRequired[pulumi.Input[bool]] """ Allow pushing to an insecure registry. """ name_canonical: NotRequired[pulumi.Input[bool]] """ Add additional canonical name (`name@`). """ names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ Specify images names to export. This is overridden if tags are already specified. """ oci_media_types: NotRequired[pulumi.Input[bool]] """ Use OCI media types in exporter manifests. """ push: NotRequired[pulumi.Input[bool]] """ Push after creating the image. Defaults to `true`. """ push_by_digest: NotRequired[pulumi.Input[bool]] """ Push image without name. """ store: NotRequired[pulumi.Input[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[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[str]]]] = None, compression: Optional[pulumi.Input['CompressionType']] = None, compression_level: Optional[pulumi.Input[int]] = None, dangling_name_prefix: Optional[pulumi.Input[str]] = None, force_compression: Optional[pulumi.Input[bool]] = None, insecure: Optional[pulumi.Input[bool]] = None, name_canonical: Optional[pulumi.Input[bool]] = None, names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, oci_media_types: Optional[pulumi.Input[bool]] = None, push: Optional[pulumi.Input[bool]] = None, push_by_digest: Optional[pulumi.Input[bool]] = None, store: Optional[pulumi.Input[bool]] = None, unpack: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Attach an arbitrary key/value annotation to the image. :param pulumi.Input['CompressionType'] compression: The compression type to use. :param pulumi.Input[int] compression_level: Compression level from 0 to 22. :param pulumi.Input[str] dangling_name_prefix: Name image with `prefix@`, used for anonymous images. :param pulumi.Input[bool] force_compression: Forcefully apply compression. :param pulumi.Input[bool] insecure: Allow pushing to an insecure registry. :param pulumi.Input[bool] name_canonical: Add additional canonical name (`name@`). :param pulumi.Input[Sequence[pulumi.Input[str]]] names: Specify images names to export. This is overridden if tags are already specified. :param pulumi.Input[bool] oci_media_types: Use OCI media types in exporter manifests. :param pulumi.Input[bool] push: Push after creating the image. Defaults to `true`. :param pulumi.Input[bool] push_by_digest: Push image without name. :param pulumi.Input[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[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) @property @pulumi.getter def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[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[str]]]]): pulumi.set(self, "annotations", value) @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) @property @pulumi.getter(name="compressionLevel") def compression_level(self) -> Optional[pulumi.Input[int]]: """ Compression level from 0 to 22. """ return pulumi.get(self, "compression_level") @compression_level.setter def compression_level(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "compression_level", value) @property @pulumi.getter(name="danglingNamePrefix") def dangling_name_prefix(self) -> Optional[pulumi.Input[str]]: """ Name image with `prefix@`, used for anonymous images. """ return pulumi.get(self, "dangling_name_prefix") @dangling_name_prefix.setter def dangling_name_prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "dangling_name_prefix", value) @property @pulumi.getter(name="forceCompression") def force_compression(self) -> Optional[pulumi.Input[bool]]: """ Forcefully apply compression. """ return pulumi.get(self, "force_compression") @force_compression.setter def force_compression(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "force_compression", value) @property @pulumi.getter def insecure(self) -> Optional[pulumi.Input[bool]]: """ Allow pushing to an insecure registry. """ return pulumi.get(self, "insecure") @insecure.setter def insecure(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "insecure", value) @property @pulumi.getter(name="nameCanonical") def name_canonical(self) -> Optional[pulumi.Input[bool]]: """ Add additional canonical name (`name@`). """ return pulumi.get(self, "name_canonical") @name_canonical.setter def name_canonical(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "name_canonical", value) @property @pulumi.getter def names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[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[str]]]]): pulumi.set(self, "names", value) @property @pulumi.getter(name="ociMediaTypes") def oci_media_types(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "oci_media_types", value) @property @pulumi.getter def push(self) -> Optional[pulumi.Input[bool]]: """ Push after creating the image. Defaults to `true`. """ return pulumi.get(self, "push") @push.setter def push(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "push", value) @property @pulumi.getter(name="pushByDigest") def push_by_digest(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "push_by_digest", value) @property @pulumi.getter def store(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "store", value) @property @pulumi.getter def unpack(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "unpack", value) if not MYPY: class ExportTarArgsDict(TypedDict): dest: pulumi.Input[str] """ Output path. """ elif False: ExportTarArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class ExportTarArgs: def __init__(__self__, *, dest: pulumi.Input[str]): """ :param pulumi.Input[str] dest: Output path. """ pulumi.set(__self__, "dest", dest) @property @pulumi.getter def dest(self) -> pulumi.Input[str]: """ Output path. """ return pulumi.get(self, "dest") @dest.setter def dest(self, value: pulumi.Input[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[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[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[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[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[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[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) @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) @property @pulumi.getter def disabled(self) -> Optional[pulumi.Input[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[bool]]): pulumi.set(self, "disabled", value) @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) @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) @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) @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) @property @pulumi.getter def raw(self) -> Optional[pulumi.Input[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[str]]): pulumi.set(self, "raw", value) @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) @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[str] """ The registry's address (e.g. "docker.io"). """ password: NotRequired[pulumi.Input[str]] """ Password or token for the registry. """ username: NotRequired[pulumi.Input[str]] """ Username for the registry. """ elif False: RegistryArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class RegistryArgs: def __init__(__self__, *, address: pulumi.Input[str], password: Optional[pulumi.Input[str]] = None, username: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] address: The registry's address (e.g. "docker.io"). :param pulumi.Input[str] password: Password or token for the registry. :param pulumi.Input[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) @property @pulumi.getter def address(self) -> pulumi.Input[str]: """ The registry's address (e.g. "docker.io"). """ return pulumi.get(self, "address") @address.setter def address(self, value: pulumi.Input[str]): pulumi.set(self, "address", value) @property @pulumi.getter def password(self) -> Optional[pulumi.Input[str]]: """ Password or token for the registry. """ return pulumi.get(self, "password") @password.setter def password(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "password", value) @property @pulumi.getter def username(self) -> Optional[pulumi.Input[str]]: """ Username for the registry. """ return pulumi.get(self, "username") @username.setter def username(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "username", value) if not MYPY: class SSHArgsDict(TypedDict): id: pulumi.Input[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[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[str], paths: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ :param pulumi.Input[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[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) @property @pulumi.getter def id(self) -> pulumi.Input[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[str]): pulumi.set(self, "id", value) @property @pulumi.getter def paths(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[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[str]]]]): pulumi.set(self, "paths", value)