{"name":"docker","version":"4.11.0","description":"A Pulumi package for interacting with Docker in Pulumi programs","keywords":["pulumi","docker"],"homepage":"https://pulumi.io","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`docker` Terraform Provider](https://github.com/kreuzwerker/terraform-provider-docker).","repository":"https://github.com/pulumi/pulumi-docker","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"namespaces":{"docker":"Docker"},"compatibility":"tfbridge20","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-docker/sdk/v4/go/docker","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageDescription":"A Pulumi package for interacting with Docker in Pulumi programs","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/kreuzwerker/terraform-provider-docker)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-docker` repo](https://github.com/pulumi/pulumi-docker/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-docker` repo](https://github.com/kreuzwerker/terraform-provider-docker/issues).","dependencies":{"semver":"^5.4.0"},"devDependencies":{"@types/node":"^10.0.0","@types/semver":"^5.4.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/kreuzwerker/terraform-provider-docker)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-docker` repo](https://github.com/pulumi/pulumi-docker/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-docker` repo](https://github.com/kreuzwerker/terraform-provider-docker/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{"variables":{"caMaterial":{"type":"string","description":"PEM-encoded content of Docker host CA certificate"},"certMaterial":{"type":"string","description":"PEM-encoded content of Docker client certificate"},"certPath":{"type":"string","description":"Path to directory with Docker TLS config"},"context":{"type":"string","description":"The name of the Docker context to use. Can also be set via `DOCKER_CONTEXT` environment variable. Overrides the \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e if set."},"disableDockerDaemonCheck":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the provider will not check if the Docker daemon is running. This is useful for resources/data_sourcess that do not require a running Docker daemon, such as the data source \u003cspan pulumi-lang-nodejs=\"`docker.RegistryImage`\" pulumi-lang-dotnet=\"`docker.RegistryImage`\" pulumi-lang-go=\"`RegistryImage`\" pulumi-lang-python=\"`RegistryImage`\" pulumi-lang-yaml=\"`docker.RegistryImage`\" pulumi-lang-java=\"`docker.RegistryImage`\"\u003e`docker.RegistryImage`\u003c/span\u003e."},"host":{"type":"string","description":"The Docker daemon address","defaultInfo":{"environment":["DOCKER_HOST"]}},"keyMaterial":{"type":"string","description":"PEM-encoded content of Docker client private key"},"registryAuth":{"type":"array","items":{"$ref":"#/types/docker:config/registryAuth:registryAuth"}},"sshOpts":{"type":"array","items":{"type":"string"},"description":"Additional SSH option flags to be appended when using `ssh://` protocol"}},"defaults":["host"]},"types":{"docker:config/registryAuth:registryAuth":{"properties":{"address":{"type":"string","description":"Address of the registry\n"},"authDisabled":{"type":"boolean"},"configFile":{"type":"string","description":"Path to docker json file for registry auth. Defaults to `~/.docker/config.json`. If `DOCKER_CONFIG` is set, the value of `DOCKER_CONFIG` is used as the path. \u003cspan pulumi-lang-nodejs=\"`configFile`\" pulumi-lang-dotnet=\"`ConfigFile`\" pulumi-lang-go=\"`configFile`\" pulumi-lang-python=\"`config_file`\" pulumi-lang-yaml=\"`configFile`\" pulumi-lang-java=\"`configFile`\"\u003e`config_file`\u003c/span\u003e has predencen over all other options.\n"},"configFileContent":{"type":"string","description":"Plain content of the docker json file for registry auth. \u003cspan pulumi-lang-nodejs=\"`configFileContent`\" pulumi-lang-dotnet=\"`ConfigFileContent`\" pulumi-lang-go=\"`configFileContent`\" pulumi-lang-python=\"`config_file_content`\" pulumi-lang-yaml=\"`configFileContent`\" pulumi-lang-java=\"`configFileContent`\"\u003e`config_file_content`\u003c/span\u003e has precedence over username/password.\n"},"password":{"type":"string","description":"Password for the registry. Defaults to `DOCKER_REGISTRY_PASS` env variable if set.\n","secret":true},"username":{"type":"string","description":"Username for the registry. Defaults to `DOCKER_REGISTRY_USER` env variable if set.\n"}},"type":"object","required":["address"],"language":{"nodejs":{"requiredInputs":[]}}},"docker:index/BuildxBuilderDockerContainer:BuildxBuilderDockerContainer":{"properties":{"cgroupParent":{"type":"string","description":"Sets the cgroup parent of the container if Docker is using the \"cgroupfs\" driver.\n"},"cpuPeriod":{"type":"string","description":"Sets the CPU CFS scheduler period for the container.\n"},"cpuQuota":{"type":"string","description":"Imposes a CPU CFS quota on the container.\n"},"cpuShares":{"type":"string","description":"Configures CPU shares (relative weight) of the container.\n"},"cpusetCpus":{"type":"string","description":"Limits the set of CPU cores the container can use.\n"},"cpusetMems":{"type":"string","description":"Limits the set of CPU memory nodes the container can use.\n"},"defaultLoad":{"type":"boolean","description":"Automatically load images to the Docker Engine image store. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"env":{"type":"object","additionalProperties":{"type":"string"},"description":"Sets environment variables in the container.\n"},"image":{"type":"string","description":"Sets the BuildKit image to use for the container.\n"},"memory":{"type":"string","description":"Sets the amount of memory the container can use.\n"},"memorySwap":{"type":"string","description":"Sets the memory swap limit for the container.\n"},"network":{"type":"string","description":"Sets the network mode for the container.\n"},"restartPolicy":{"type":"string","description":"Sets the container's restart policy.\n"}},"type":"object"},"docker:index/BuildxBuilderKubernetes:BuildxBuilderKubernetes":{"properties":{"annotations":{"type":"string","description":"Sets additional annotations on the deployments and pods.\n"},"defaultLoad":{"type":"boolean","description":"Automatically load images to the Docker Engine image store. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"image":{"type":"string","description":"Sets the image to use for running BuildKit.\n"},"labels":{"type":"string","description":"Sets additional labels on the deployments and pods.\n"},"limits":{"$ref":"#/types/docker:index/BuildxBuilderKubernetesLimits:BuildxBuilderKubernetesLimits","description":"Resource limits for CPU, memory, and ephemeral storage.\n"},"loadbalance":{"type":"string","description":"Load-balancing strategy (sticky or random).\n"},"namespace":{"type":"string","description":"Sets the Kubernetes namespace.\n"},"nodeselector":{"type":"string","description":"Sets the pod's nodeSelector label(s).\n"},"qemu":{"$ref":"#/types/docker:index/BuildxBuilderKubernetesQemu:BuildxBuilderKubernetesQemu","description":"QEMU emulation configuration.\n"},"replicas":{"type":"integer","description":"Sets the number of Pod replicas to create.\n"},"requests":{"$ref":"#/types/docker:index/BuildxBuilderKubernetesRequests:BuildxBuilderKubernetesRequests","description":"Resource requests for CPU, memory, and ephemeral storage.\n"},"rootless":{"type":"boolean","description":"Run the container as a non-root user.\n"},"schedulername":{"type":"string","description":"Sets the scheduler responsible for scheduling the pod.\n"},"serviceaccount":{"type":"string","description":"Sets the pod's serviceAccountName.\n"},"timeout":{"type":"string","description":"Set the timeout limit for pod provisioning.\n"},"tolerations":{"type":"string","description":"Configures the pod's taint toleration.\n"}},"type":"object"},"docker:index/BuildxBuilderKubernetesLimits:BuildxBuilderKubernetesLimits":{"properties":{"cpu":{"type":"string","description":"CPU limit for the Kubernetes pod.\n"},"ephemeralStorage":{"type":"string","description":"Ephemeral storage limit for the Kubernetes pod.\n"},"memory":{"type":"string","description":"Memory limit for the Kubernetes pod.\n"}},"type":"object"},"docker:index/BuildxBuilderKubernetesQemu:BuildxBuilderKubernetesQemu":{"properties":{"image":{"type":"string","description":"Sets the QEMU emulation image.\n"},"install":{"type":"boolean","description":"Install QEMU emulation for multi-platform support.\n"}},"type":"object"},"docker:index/BuildxBuilderKubernetesRequests:BuildxBuilderKubernetesRequests":{"properties":{"cpu":{"type":"string","description":"CPU limit for the Kubernetes pod.\n"},"ephemeralStorage":{"type":"string","description":"Ephemeral storage limit for the Kubernetes pod.\n"},"memory":{"type":"string","description":"Memory limit for the Kubernetes pod.\n"}},"type":"object"},"docker:index/BuildxBuilderRemote:BuildxBuilderRemote":{"properties":{"cacert":{"type":"string","description":"Absolute path to the TLS certificate authority used for validation.\n"},"cert":{"type":"string","description":"Absolute path to the TLS client certificate to present to buildkitd.\n"},"defaultLoad":{"type":"boolean","description":"Automatically load images to the Docker Engine image store. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"key":{"type":"string","description":"Sets the TLS client key.\n"},"servername":{"type":"string","description":"TLS server name used in requests.\n"}},"type":"object"},"docker:index/ContainerCapabilities:ContainerCapabilities":{"properties":{"adds":{"type":"array","items":{"type":"string"},"description":"List of linux capabilities to add.\n","willReplaceOnChanges":true},"drops":{"type":"array","items":{"type":"string"},"description":"List of linux capabilities to drop.\n","willReplaceOnChanges":true}},"type":"object"},"docker:index/ContainerDevice:ContainerDevice":{"properties":{"containerPath":{"type":"string","description":"The path in the container where the device will be bound.\n","willReplaceOnChanges":true},"hostPath":{"type":"string","description":"The path on the host where the device is located.\n","willReplaceOnChanges":true},"permissions":{"type":"string","description":"The cgroup permissions given to the container to access the device. Defaults to \u003cspan pulumi-lang-nodejs=\"`rwm`\" pulumi-lang-dotnet=\"`Rwm`\" pulumi-lang-go=\"`rwm`\" pulumi-lang-python=\"`rwm`\" pulumi-lang-yaml=\"`rwm`\" pulumi-lang-java=\"`rwm`\"\u003e`rwm`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object","required":["hostPath"]},"docker:index/ContainerHealthcheck:ContainerHealthcheck":{"properties":{"interval":{"type":"string","description":"Time between running the check (ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"},"retries":{"type":"integer","description":"Consecutive failures needed to report unhealthy. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"startInterval":{"type":"string","description":"Interval before the healthcheck starts (ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"},"startPeriod":{"type":"string","description":"Start period for the container to initialize before counting retries towards unstable (ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"},"tests":{"type":"array","items":{"type":"string"},"description":"Command to run to check health. For example, to run `curl -f localhost/health` set the command to be `[\"CMD\", \"curl\", \"-f\", \"localhost/health\"]`.\n"},"timeout":{"type":"string","description":"Maximum time to allow one check to run (ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"}},"type":"object","required":["tests"]},"docker:index/ContainerHost:ContainerHost":{"properties":{"host":{"type":"string","description":"Hostname to add\n","willReplaceOnChanges":true},"ip":{"type":"string","description":"IP address this hostname should resolve to.\n","willReplaceOnChanges":true}},"type":"object","required":["host","ip"]},"docker:index/ContainerLabel:ContainerLabel":{"properties":{"label":{"type":"string","description":"Name of the label\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Value of the label\n","willReplaceOnChanges":true}},"type":"object","required":["label","value"]},"docker:index/ContainerMount:ContainerMount":{"properties":{"bindOptions":{"$ref":"#/types/docker:index/ContainerMountBindOptions:ContainerMountBindOptions","description":"Optional configuration for the bind type.\n"},"readOnly":{"type":"boolean","description":"Whether the mount should be read-only.\n"},"source":{"type":"string","description":"Mount source (e.g. a volume name, a host path).\n"},"target":{"type":"string","description":"Container path\n"},"tmpfsOptions":{"$ref":"#/types/docker:index/ContainerMountTmpfsOptions:ContainerMountTmpfsOptions","description":"Optional configuration for the tmpfs type.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The mount type\n"},"volumeOptions":{"$ref":"#/types/docker:index/ContainerMountVolumeOptions:ContainerMountVolumeOptions","description":"Optional configuration for the volume type.\n"}},"type":"object","required":["target","type"]},"docker:index/ContainerMountBindOptions:ContainerMountBindOptions":{"properties":{"propagation":{"type":"string","description":"A propagation mode with the value.\n"}},"type":"object"},"docker:index/ContainerMountTmpfsOptions:ContainerMountTmpfsOptions":{"properties":{"mode":{"type":"integer","description":"The permission mode for the tmpfs mount in an integer.\n"},"sizeBytes":{"type":"integer","description":"The size for the tmpfs mount in bytes.\n"}},"type":"object"},"docker:index/ContainerMountVolumeOptions:ContainerMountVolumeOptions":{"properties":{"driverName":{"type":"string","description":"Name of the driver to use to create the volume.\n"},"driverOptions":{"type":"object","additionalProperties":{"type":"string"},"description":"key/value map of driver specific options.\n"},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerMountVolumeOptionsLabel:ContainerMountVolumeOptionsLabel"},"description":"User-defined key/value metadata.\n"},"noCopy":{"type":"boolean","description":"Populate volume with data from the target.\n"},"subpath":{"type":"string","description":"Path within the volume to mount. Requires docker server version 1.45 or higher.\n","willReplaceOnChanges":true}},"type":"object"},"docker:index/ContainerMountVolumeOptionsLabel:ContainerMountVolumeOptionsLabel":{"properties":{"label":{"type":"string","description":"Name of the label\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Value of the label\n","willReplaceOnChanges":true}},"type":"object","required":["label","value"]},"docker:index/ContainerNetworkData:ContainerNetworkData":{"properties":{"gateway":{"type":"string","description":"The network gateway of the container.\n"},"globalIpv6Address":{"type":"string","description":"The IPV6 address of the container.\n"},"globalIpv6PrefixLength":{"type":"integer","description":"The IPV6 prefix length address of the container.\n"},"ipAddress":{"type":"string","description":"The IP address of the container.\n"},"ipPrefixLength":{"type":"integer","description":"The IP prefix length of the container.\n"},"ipv6Gateway":{"type":"string","description":"The IPV6 gateway of the container.\n"},"macAddress":{"type":"string","description":"The MAC address of the container.\n"},"networkName":{"type":"string","description":"The name of the network\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["gateway","globalIpv6Address","globalIpv6PrefixLength","ipAddress","ipPrefixLength","ipv6Gateway","macAddress","networkName"]}}},"docker:index/ContainerNetworksAdvanced:ContainerNetworksAdvanced":{"properties":{"aliases":{"type":"array","items":{"type":"string"},"description":"The network aliases of the container in the specific network.\n","willReplaceOnChanges":true},"ipv4Address":{"type":"string","description":"The IPV4 address of the container in the specific network.\n","willReplaceOnChanges":true},"ipv6Address":{"type":"string","description":"The IPV6 address of the container in the specific network.\n","willReplaceOnChanges":true},"macAddress":{"type":"string","description":"The MAC address of the container in the specific network.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name or id of the network to use. You can use \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e attribute from a \u003cspan pulumi-lang-nodejs=\"`docker.Network`\" pulumi-lang-dotnet=\"`docker.Network`\" pulumi-lang-go=\"`Network`\" pulumi-lang-python=\"`Network`\" pulumi-lang-yaml=\"`docker.Network`\" pulumi-lang-java=\"`docker.Network`\"\u003e`docker.Network`\u003c/span\u003e resource.\n","willReplaceOnChanges":true}},"type":"object","required":["name"]},"docker:index/ContainerPort:ContainerPort":{"properties":{"external":{"type":"integer","description":"Port exposed out of the container. If not given a free random port `\u003e= 32768` will be used.\n","willReplaceOnChanges":true},"internal":{"type":"integer","description":"Port within the container.\n","willReplaceOnChanges":true},"ip":{"type":"string","description":"IP address/mask that can access this port. Defaults to `0.0.0.0`.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"Protocol that can be used over this port. Defaults to \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object","required":["internal"],"language":{"nodejs":{"requiredOutputs":["external","internal"]}}},"docker:index/ContainerUlimit:ContainerUlimit":{"properties":{"hard":{"type":"integer","description":"The hard limit\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the ulimit\n","willReplaceOnChanges":true},"soft":{"type":"integer","description":"The soft limit\n","willReplaceOnChanges":true}},"type":"object","required":["hard","name","soft"]},"docker:index/ContainerUpload:ContainerUpload":{"properties":{"content":{"type":"string","description":"Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text. Conflicts with \u003cspan pulumi-lang-nodejs=\"`contentBase64`\" pulumi-lang-dotnet=\"`ContentBase64`\" pulumi-lang-go=\"`contentBase64`\" pulumi-lang-python=\"`content_base64`\" pulumi-lang-yaml=\"`contentBase64`\" pulumi-lang-java=\"`contentBase64`\"\u003e`content_base64`\u003c/span\u003e \u0026 \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e\n","willReplaceOnChanges":true},"contentBase64":{"type":"string","description":"Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for larger binary content such as the result of the \u003cspan pulumi-lang-nodejs=\"`base64encode`\" pulumi-lang-dotnet=\"`Base64encode`\" pulumi-lang-go=\"`base64encode`\" pulumi-lang-python=\"`base64encode`\" pulumi-lang-yaml=\"`base64encode`\" pulumi-lang-java=\"`base64encode`\"\u003e`base64encode`\u003c/span\u003e interpolation function. See here for the reason. Conflicts with \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e \u0026 \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e\n","willReplaceOnChanges":true},"executable":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the file will be uploaded with user executable permission. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"file":{"type":"string","description":"Path to the file in the container where is upload goes to\n","willReplaceOnChanges":true},"permissions":{"type":"string","description":"The permission mode for the file in the container. Has precedence over \u003cspan pulumi-lang-nodejs=\"`executable`\" pulumi-lang-dotnet=\"`Executable`\" pulumi-lang-go=\"`executable`\" pulumi-lang-python=\"`executable`\" pulumi-lang-yaml=\"`executable`\" pulumi-lang-java=\"`executable`\"\u003e`executable`\u003c/span\u003e.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"A filename that references a file which will be uploaded as the object content. This allows for large file uploads that do not get stored in state. Conflicts with \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e \u0026 \u003cspan pulumi-lang-nodejs=\"`contentBase64`\" pulumi-lang-dotnet=\"`ContentBase64`\" pulumi-lang-go=\"`contentBase64`\" pulumi-lang-python=\"`content_base64`\" pulumi-lang-yaml=\"`contentBase64`\" pulumi-lang-java=\"`contentBase64`\"\u003e`content_base64`\u003c/span\u003e\n","willReplaceOnChanges":true},"sourceHash":{"type":"string","description":"If using \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e, this will force an update if the file content has updated but the filename has not.\n","willReplaceOnChanges":true}},"type":"object","required":["file"]},"docker:index/ContainerVolume:ContainerVolume":{"properties":{"containerPath":{"type":"string","description":"The path in the container where the volume will be mounted.\n","willReplaceOnChanges":true},"fromContainer":{"type":"string","description":"The container where the volume is coming from.\n","willReplaceOnChanges":true},"hostPath":{"type":"string","description":"The path on the host where the volume is coming from.\n","willReplaceOnChanges":true},"readOnly":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, this volume will be readonly. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"volumeName":{"type":"string","description":"The name of the docker volume which should be mounted.\n","willReplaceOnChanges":true}},"type":"object"},"docker:index/NetworkIpamConfig:NetworkIpamConfig":{"properties":{"auxAddress":{"type":"object","additionalProperties":{"type":"string"},"description":"Auxiliary IPv4 or IPv6 addresses used by Network driver\n","willReplaceOnChanges":true},"gateway":{"type":"string","description":"The IP address of the gateway\n","willReplaceOnChanges":true},"ipRange":{"type":"string","description":"The ip range in CIDR form\n","willReplaceOnChanges":true},"subnet":{"type":"string","description":"The subnet in CIDR form\n","willReplaceOnChanges":true}},"type":"object"},"docker:index/NetworkLabel:NetworkLabel":{"properties":{"label":{"type":"string","description":"Name of the label\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Value of the label\n","willReplaceOnChanges":true}},"type":"object","required":["label","value"]},"docker:index/PluginGrantPermission:PluginGrantPermission":{"properties":{"name":{"type":"string","description":"The name of the permission\n"},"values":{"type":"array","items":{"type":"string"},"description":"The value of the permission\n"}},"type":"object","required":["name","values"]},"docker:index/ProviderRegistryAuth:ProviderRegistryAuth":{"properties":{"address":{"type":"string","description":"Address of the registry\n"},"authDisabled":{"type":"boolean"},"configFile":{"type":"string","description":"Path to docker json file for registry auth. Defaults to `~/.docker/config.json`. If `DOCKER_CONFIG` is set, the value of `DOCKER_CONFIG` is used as the path. \u003cspan pulumi-lang-nodejs=\"`configFile`\" pulumi-lang-dotnet=\"`ConfigFile`\" pulumi-lang-go=\"`configFile`\" pulumi-lang-python=\"`config_file`\" pulumi-lang-yaml=\"`configFile`\" pulumi-lang-java=\"`configFile`\"\u003e`config_file`\u003c/span\u003e has predencen over all other options.\n"},"configFileContent":{"type":"string","description":"Plain content of the docker json file for registry auth. \u003cspan pulumi-lang-nodejs=\"`configFileContent`\" pulumi-lang-dotnet=\"`ConfigFileContent`\" pulumi-lang-go=\"`configFileContent`\" pulumi-lang-python=\"`config_file_content`\" pulumi-lang-yaml=\"`configFileContent`\" pulumi-lang-java=\"`configFileContent`\"\u003e`config_file_content`\u003c/span\u003e has precedence over username/password.\n"},"password":{"type":"string","description":"Password for the registry. Defaults to `DOCKER_REGISTRY_PASS` env variable if set.\n","secret":true},"username":{"type":"string","description":"Username for the registry. Defaults to `DOCKER_REGISTRY_USER` env variable if set.\n"}},"type":"object","required":["address"],"language":{"nodejs":{"requiredOutputs":[]}}},"docker:index/RegistryImageAuthConfig:RegistryImageAuthConfig":{"properties":{"address":{"type":"string","description":"The address of the Docker registry.\n"},"password":{"type":"string","description":"The password for the Docker registry.\n","secret":true},"username":{"type":"string","description":"The username for the Docker registry.\n"}},"type":"object","required":["address","password","username"]},"docker:index/RegistryImageBuild:RegistryImageBuild":{"properties":{"additionalContexts":{"type":"array","items":{"type":"string"},"description":"A list of additional build contexts. Only supported when using a buildx builder. Example: `[\"name=path\", \"src = https://example.org\"}`. Please see https://docs.docker.com/reference/cli/docker/buildx/build/#build-context for more information.\n","willReplaceOnChanges":true},"authConfigs":{"type":"array","items":{"$ref":"#/types/docker:index/RegistryImageBuildAuthConfig:RegistryImageBuildAuthConfig"},"description":"The configuration for the authentication\n"},"buildArgs":{"type":"object","additionalProperties":{"type":"string"},"description":"Pairs for build-time variables in the form of `ENDPOINT : \"https://example.com\"`\n","willReplaceOnChanges":true},"buildId":{"type":"string","description":"BuildID is an optional identifier that can be passed together with the build request. The same identifier can be used to gracefully cancel the build with the cancel request.\n","willReplaceOnChanges":true},"buildLogFile":{"type":"string","description":"Path to a file where the buildx log are written to. Only available when \u003cspan pulumi-lang-nodejs=\"`builder`\" pulumi-lang-dotnet=\"`Builder`\" pulumi-lang-go=\"`builder`\" pulumi-lang-python=\"`builder`\" pulumi-lang-yaml=\"`builder`\" pulumi-lang-java=\"`builder`\"\u003e`builder`\u003c/span\u003e is set. If not set, no logs are available. The path is taken as is, so make sure to use a path that is available.\n","willReplaceOnChanges":true},"builder":{"type":"string","description":"Set the name of the buildx builder to use. If not set, the legacy builder is used.\n","willReplaceOnChanges":true},"cacheFroms":{"type":"array","items":{"type":"string"},"description":"External cache sources (e.g., `user/app:cache`, `type=local,src=path/to/dir`). Only supported when using a buildx builder.\n","willReplaceOnChanges":true},"cacheTos":{"type":"array","items":{"type":"string"},"description":"Cache export destinations (e.g., `user/app:cache`, `type=local,dest=path/to/dir`). Only supported when using a buildx builder.\n","willReplaceOnChanges":true},"cgroupParent":{"type":"string","description":"Optional parent cgroup for the container\n","willReplaceOnChanges":true},"context":{"type":"string","description":"Value to specify the build context. Currently, only a `PATH` context is supported. You can use the helper function '${path.cwd}/context-dir'. This always refers to the local working directory, even when building images on remote hosts. Please see https://docs.docker.com/build/building/context/ for more information about build contexts.\n","willReplaceOnChanges":true},"cpuPeriod":{"type":"integer","description":"The length of a CPU period in microseconds\n","willReplaceOnChanges":true},"cpuQuota":{"type":"integer","description":"Microseconds of CPU time that the container can get in a CPU period\n","willReplaceOnChanges":true},"cpuSetCpus":{"type":"string","description":"CPUs in which to allow execution (e.g., `0-3`, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e)\n","willReplaceOnChanges":true},"cpuSetMems":{"type":"string","description":"MEMs in which to allow execution (`0-3`, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e)\n","willReplaceOnChanges":true},"cpuShares":{"type":"integer","description":"CPU shares (relative weight)\n","willReplaceOnChanges":true},"dockerfile":{"type":"string","description":"Name of the Dockerfile. Defaults to `Dockerfile`.\n","willReplaceOnChanges":true},"extraHosts":{"type":"array","items":{"type":"string"},"description":"A list of hostnames/IP mappings to add to the container’s /etc/hosts file. Specified in the form [\"hostname:IP\"]\n","willReplaceOnChanges":true},"forceRemove":{"type":"boolean","description":"Always remove intermediate containers\n","willReplaceOnChanges":true},"isolation":{"type":"string","description":"Isolation represents the isolation technology of a container. The supported values are\n","willReplaceOnChanges":true},"label":{"type":"object","additionalProperties":{"type":"string"},"description":"Set metadata for an image\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"memory":{"type":"integer","description":"Set memory limit for build\n","willReplaceOnChanges":true},"memorySwap":{"type":"integer","description":"Total memory (memory + swap), -1 to enable unlimited swap\n","willReplaceOnChanges":true},"networkMode":{"type":"string","description":"Set the networking mode for the RUN instructions during build\n","willReplaceOnChanges":true},"noCache":{"type":"boolean","description":"Do not use the cache when building the image\n","willReplaceOnChanges":true},"platform":{"type":"string","description":"Set the target platform for the build. Defaults to `GOOS/GOARCH`. For more information see the [docker documentation](https://github.com/docker/buildx/blob/master/docs/reference/buildx.md#-set-the-target-platforms-for-the-build---platform)\n","willReplaceOnChanges":true},"pullParent":{"type":"boolean","description":"Attempt to pull the image even if an older image exists locally\n","willReplaceOnChanges":true},"remoteContext":{"type":"string","description":"A Git repository URI or HTTP/HTTPS context URI. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`builder`\" pulumi-lang-dotnet=\"`Builder`\" pulumi-lang-go=\"`builder`\" pulumi-lang-python=\"`builder`\" pulumi-lang-yaml=\"`builder`\" pulumi-lang-java=\"`builder`\"\u003e`builder`\u003c/span\u003e is set.\n","willReplaceOnChanges":true},"remove":{"type":"boolean","description":"Remove intermediate containers after a successful build. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/docker:index/RegistryImageBuildSecret:RegistryImageBuildSecret"},"description":"Set build-time secrets. Only available when you use a buildx builder.\n"},"securityOpts":{"type":"array","items":{"type":"string"},"description":"The security options\n","willReplaceOnChanges":true},"sessionId":{"type":"string","description":"Set an ID for the build session\n","willReplaceOnChanges":true},"shmSize":{"type":"integer","description":"Size of /dev/shm in bytes. The size must be greater than 0\n","willReplaceOnChanges":true},"squash":{"type":"boolean","description":"If true the new layers are squashed into a new image with a single new layer\n","willReplaceOnChanges":true},"suppressOutput":{"type":"boolean","description":"Suppress the build output and print image ID on success\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Name and optionally a tag in the 'name:tag' format\n"},"target":{"type":"string","description":"Set the target build stage to build\n","willReplaceOnChanges":true},"ulimits":{"type":"array","items":{"$ref":"#/types/docker:index/RegistryImageBuildUlimit:RegistryImageBuildUlimit"},"description":"Configuration for ulimits\n"},"version":{"type":"string","description":"Version of the underlying builder to use\n","willReplaceOnChanges":true}},"type":"object","required":["context"]},"docker:index/RegistryImageBuildAuthConfig:RegistryImageBuildAuthConfig":{"properties":{"auth":{"type":"string","description":"the auth token\n"},"email":{"type":"string","description":"the user emal\n"},"hostName":{"type":"string","description":"hostname of the registry\n"},"identityToken":{"type":"string","description":"the identity token\n"},"password":{"type":"string","description":"the registry password\n"},"registryToken":{"type":"string","description":"the registry token\n"},"serverAddress":{"type":"string","description":"the server address\n"},"userName":{"type":"string","description":"the registry user name\n"}},"type":"object","required":["hostName"]},"docker:index/RegistryImageBuildSecret:RegistryImageBuildSecret":{"properties":{"env":{"type":"string","description":"Environment variable source of the secret\n","willReplaceOnChanges":true},"id":{"type":"string","description":"ID of the secret. By default, secrets are mounted to /run/secrets/\\n\\n\n","willReplaceOnChanges":true},"src":{"type":"string","description":"File source of the secret. Takes precedence over \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\"\u003e`env`\u003c/span\u003e\n","willReplaceOnChanges":true}},"type":"object","required":["id"]},"docker:index/RegistryImageBuildUlimit:RegistryImageBuildUlimit":{"properties":{"hard":{"type":"integer","description":"soft limit\n","willReplaceOnChanges":true},"name":{"type":"string","description":"type of ulimit, e.g. \u003cspan pulumi-lang-nodejs=\"`nofile`\" pulumi-lang-dotnet=\"`Nofile`\" pulumi-lang-go=\"`nofile`\" pulumi-lang-python=\"`nofile`\" pulumi-lang-yaml=\"`nofile`\" pulumi-lang-java=\"`nofile`\"\u003e`nofile`\u003c/span\u003e\n","willReplaceOnChanges":true},"soft":{"type":"integer","description":"hard limit\n","willReplaceOnChanges":true}},"type":"object","required":["hard","name","soft"]},"docker:index/RemoteImageBuild:RemoteImageBuild":{"properties":{"additionalContexts":{"type":"array","items":{"type":"string"},"description":"A list of additional build contexts. Only supported when using a buildx builder. Example: `[\"name=path\", \"src = https://example.org\"}`. Please see https://docs.docker.com/reference/cli/docker/buildx/build/#build-context for more information.\n","willReplaceOnChanges":true},"authConfigs":{"type":"array","items":{"$ref":"#/types/docker:index/RemoteImageBuildAuthConfig:RemoteImageBuildAuthConfig"},"description":"The configuration for the authentication\n"},"buildArgs":{"type":"object","additionalProperties":{"type":"string"},"description":"Pairs for build-time variables in the form of `ENDPOINT : \"https://example.com\"`\n","willReplaceOnChanges":true},"buildId":{"type":"string","description":"BuildID is an optional identifier that can be passed together with the build request. The same identifier can be used to gracefully cancel the build with the cancel request.\n","willReplaceOnChanges":true},"buildLogFile":{"type":"string","description":"Path to a file where the buildx log are written to. Only available when \u003cspan pulumi-lang-nodejs=\"`builder`\" pulumi-lang-dotnet=\"`Builder`\" pulumi-lang-go=\"`builder`\" pulumi-lang-python=\"`builder`\" pulumi-lang-yaml=\"`builder`\" pulumi-lang-java=\"`builder`\"\u003e`builder`\u003c/span\u003e is set. If not set, no logs are available. The path is taken as is, so make sure to use a path that is available.\n","willReplaceOnChanges":true},"builder":{"type":"string","description":"Set the name of the buildx builder to use. If not set, the legacy builder is used.\n","willReplaceOnChanges":true},"cacheFroms":{"type":"array","items":{"type":"string"},"description":"External cache sources (e.g., `user/app:cache`, `type=local,src=path/to/dir`). Only supported when using a buildx builder.\n","willReplaceOnChanges":true},"cacheTos":{"type":"array","items":{"type":"string"},"description":"Cache export destinations (e.g., `user/app:cache`, `type=local,dest=path/to/dir`). Only supported when using a buildx builder.\n","willReplaceOnChanges":true},"cgroupParent":{"type":"string","description":"Optional parent cgroup for the container\n","willReplaceOnChanges":true},"context":{"type":"string","description":"Value to specify the build context. Currently, only a `PATH` context is supported. You can use the helper function '${path.cwd}/context-dir'. This always refers to the local working directory, even when building images on remote hosts. Please see https://docs.docker.com/build/building/context/ for more information about build contexts.\n","willReplaceOnChanges":true},"cpuPeriod":{"type":"integer","description":"The length of a CPU period in microseconds\n","willReplaceOnChanges":true},"cpuQuota":{"type":"integer","description":"Microseconds of CPU time that the container can get in a CPU period\n","willReplaceOnChanges":true},"cpuSetCpus":{"type":"string","description":"CPUs in which to allow execution (e.g., `0-3`, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e)\n","willReplaceOnChanges":true},"cpuSetMems":{"type":"string","description":"MEMs in which to allow execution (`0-3`, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e)\n","willReplaceOnChanges":true},"cpuShares":{"type":"integer","description":"CPU shares (relative weight)\n","willReplaceOnChanges":true},"dockerfile":{"type":"string","description":"Name of the Dockerfile. Defaults to `Dockerfile`.\n","willReplaceOnChanges":true},"extraHosts":{"type":"array","items":{"type":"string"},"description":"A list of hostnames/IP mappings to add to the container’s /etc/hosts file. Specified in the form [\"hostname:IP\"]\n","willReplaceOnChanges":true},"forceRemove":{"type":"boolean","description":"Always remove intermediate containers\n","willReplaceOnChanges":true},"isolation":{"type":"string","description":"Isolation represents the isolation technology of a container. The supported values are\n","willReplaceOnChanges":true},"label":{"type":"object","additionalProperties":{"type":"string"},"description":"Set metadata for an image\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"memory":{"type":"integer","description":"Set memory limit for build\n","willReplaceOnChanges":true},"memorySwap":{"type":"integer","description":"Total memory (memory + swap), -1 to enable unlimited swap\n","willReplaceOnChanges":true},"networkMode":{"type":"string","description":"Set the networking mode for the RUN instructions during build\n","willReplaceOnChanges":true},"noCache":{"type":"boolean","description":"Do not use the cache when building the image\n","willReplaceOnChanges":true},"platform":{"type":"string","description":"Set the target platform for the build. Defaults to `GOOS/GOARCH`. For more information see the [docker documentation](https://github.com/docker/buildx/blob/master/docs/reference/buildx.md#-set-the-target-platforms-for-the-build---platform)\n","willReplaceOnChanges":true},"pullParent":{"type":"boolean","description":"Attempt to pull the image even if an older image exists locally\n","willReplaceOnChanges":true},"remoteContext":{"type":"string","description":"A Git repository URI or HTTP/HTTPS context URI. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`builder`\" pulumi-lang-dotnet=\"`Builder`\" pulumi-lang-go=\"`builder`\" pulumi-lang-python=\"`builder`\" pulumi-lang-yaml=\"`builder`\" pulumi-lang-java=\"`builder`\"\u003e`builder`\u003c/span\u003e is set.\n","willReplaceOnChanges":true},"remove":{"type":"boolean","description":"Remove intermediate containers after a successful build. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/docker:index/RemoteImageBuildSecret:RemoteImageBuildSecret"},"description":"Set build-time secrets. Only available when you use a buildx builder.\n"},"securityOpts":{"type":"array","items":{"type":"string"},"description":"The security options\n","willReplaceOnChanges":true},"sessionId":{"type":"string","description":"Set an ID for the build session\n","willReplaceOnChanges":true},"shmSize":{"type":"integer","description":"Size of /dev/shm in bytes. The size must be greater than 0\n","willReplaceOnChanges":true},"squash":{"type":"boolean","description":"If true the new layers are squashed into a new image with a single new layer\n","willReplaceOnChanges":true},"suppressOutput":{"type":"boolean","description":"Suppress the build output and print image ID on success\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Name and optionally a tag in the 'name:tag' format\n"},"target":{"type":"string","description":"Set the target build stage to build\n","willReplaceOnChanges":true},"ulimits":{"type":"array","items":{"$ref":"#/types/docker:index/RemoteImageBuildUlimit:RemoteImageBuildUlimit"},"description":"Configuration for ulimits\n"},"version":{"type":"string","description":"Version of the underlying builder to use\n","willReplaceOnChanges":true}},"type":"object","required":["context"]},"docker:index/RemoteImageBuildAuthConfig:RemoteImageBuildAuthConfig":{"properties":{"auth":{"type":"string","description":"the auth token\n"},"email":{"type":"string","description":"the user emal\n"},"hostName":{"type":"string","description":"hostname of the registry\n"},"identityToken":{"type":"string","description":"the identity token\n"},"password":{"type":"string","description":"the registry password\n"},"registryToken":{"type":"string","description":"the registry token\n"},"serverAddress":{"type":"string","description":"the server address\n"},"userName":{"type":"string","description":"the registry user name\n"}},"type":"object","required":["hostName"]},"docker:index/RemoteImageBuildSecret:RemoteImageBuildSecret":{"properties":{"env":{"type":"string","description":"Environment variable source of the secret\n","willReplaceOnChanges":true},"id":{"type":"string","description":"ID of the secret. By default, secrets are mounted to /run/secrets/\\n\\n\n","willReplaceOnChanges":true},"src":{"type":"string","description":"File source of the secret. Takes precedence over \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\"\u003e`env`\u003c/span\u003e\n","willReplaceOnChanges":true}},"type":"object","required":["id"]},"docker:index/RemoteImageBuildUlimit:RemoteImageBuildUlimit":{"properties":{"hard":{"type":"integer","description":"soft limit\n","willReplaceOnChanges":true},"name":{"type":"string","description":"type of ulimit, e.g. \u003cspan pulumi-lang-nodejs=\"`nofile`\" pulumi-lang-dotnet=\"`Nofile`\" pulumi-lang-go=\"`nofile`\" pulumi-lang-python=\"`nofile`\" pulumi-lang-yaml=\"`nofile`\" pulumi-lang-java=\"`nofile`\"\u003e`nofile`\u003c/span\u003e\n","willReplaceOnChanges":true},"soft":{"type":"integer","description":"hard limit\n","willReplaceOnChanges":true}},"type":"object","required":["hard","name","soft"]},"docker:index/SecretLabel:SecretLabel":{"properties":{"label":{"type":"string","description":"Name of the label\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Value of the label\n","willReplaceOnChanges":true}},"type":"object","required":["label","value"]},"docker:index/ServiceAuth:ServiceAuth":{"properties":{"password":{"type":"string","description":"The password\n","secret":true,"willReplaceOnChanges":true},"serverAddress":{"type":"string","description":"The address of the server for the authentication\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The username\n","willReplaceOnChanges":true}},"type":"object","required":["serverAddress"]},"docker:index/ServiceConvergeConfig:ServiceConvergeConfig":{"properties":{"delay":{"type":"string","description":"The interval to check if the desired state is reached `(ms|s)`. Defaults to \u003cspan pulumi-lang-nodejs=\"`7s`\" pulumi-lang-dotnet=\"`7s`\" pulumi-lang-go=\"`7s`\" pulumi-lang-python=\"`7s`\" pulumi-lang-yaml=\"`7s`\" pulumi-lang-java=\"`7s`\"\u003e`7s`\u003c/span\u003e.\n"},"timeout":{"type":"string","description":"The timeout of the service to reach the desired state `(s|m)`. Defaults to \u003cspan pulumi-lang-nodejs=\"`3m`\" pulumi-lang-dotnet=\"`3m`\" pulumi-lang-go=\"`3m`\" pulumi-lang-python=\"`3m`\" pulumi-lang-yaml=\"`3m`\" pulumi-lang-java=\"`3m`\"\u003e`3m`\u003c/span\u003e\n"}},"type":"object"},"docker:index/ServiceEndpointSpec:ServiceEndpointSpec":{"properties":{"mode":{"type":"string","description":"The mode of resolution to use for internal load balancing between tasks\n"},"ports":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceEndpointSpecPort:ServiceEndpointSpecPort"},"description":"List of exposed ports that this service is accessible on from the outside. Ports can only be provided if 'vip' resolution mode is used\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["mode"]}}},"docker:index/ServiceEndpointSpecPort:ServiceEndpointSpecPort":{"properties":{"name":{"type":"string","description":"A random name for the port\n"},"protocol":{"type":"string","description":"Rrepresents the protocol of a port: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sctp`\" pulumi-lang-dotnet=\"`Sctp`\" pulumi-lang-go=\"`sctp`\" pulumi-lang-python=\"`sctp`\" pulumi-lang-yaml=\"`sctp`\" pulumi-lang-java=\"`sctp`\"\u003e`sctp`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e.\n"},"publishMode":{"type":"string","description":"Represents the mode in which the port is to be published: 'ingress' or 'host'. Defaults to \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e.\n"},"publishedPort":{"type":"integer","description":"The port on the swarm hosts\n"},"targetPort":{"type":"integer","description":"The port inside the container\n"}},"type":"object","required":["targetPort"],"language":{"nodejs":{"requiredOutputs":["publishedPort","targetPort"]}}},"docker:index/ServiceLabel:ServiceLabel":{"properties":{"label":{"type":"string","description":"Name of the label\n"},"value":{"type":"string","description":"Value of the label\n"}},"type":"object","required":["label","value"]},"docker:index/ServiceMode:ServiceMode":{"properties":{"global":{"type":"boolean","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, tasks will run on every worker node. Conflicts with \u003cspan pulumi-lang-nodejs=\"`replicated`\" pulumi-lang-dotnet=\"`Replicated`\" pulumi-lang-go=\"`replicated`\" pulumi-lang-python=\"`replicated`\" pulumi-lang-yaml=\"`replicated`\" pulumi-lang-java=\"`replicated`\"\u003e`replicated`\u003c/span\u003e\n"},"replicated":{"$ref":"#/types/docker:index/ServiceModeReplicated:ServiceModeReplicated","description":"The replicated service mode\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["replicated"]}}},"docker:index/ServiceModeReplicated:ServiceModeReplicated":{"properties":{"replicas":{"type":"integer","description":"The amount of replicas of the service. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e\n"}},"type":"object"},"docker:index/ServiceRollbackConfig:ServiceRollbackConfig":{"properties":{"delay":{"type":"string","description":"Delay between task rollbacks (ns|us|ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"},"failureAction":{"type":"string","description":"Action on rollback failure: pause | continue. Defaults to \u003cspan pulumi-lang-nodejs=\"`pause`\" pulumi-lang-dotnet=\"`Pause`\" pulumi-lang-go=\"`pause`\" pulumi-lang-python=\"`pause`\" pulumi-lang-yaml=\"`pause`\" pulumi-lang-java=\"`pause`\"\u003e`pause`\u003c/span\u003e.\n"},"maxFailureRatio":{"type":"string","description":"Failure rate to tolerate during a rollback. Defaults to `0.0`.\n"},"monitor":{"type":"string","description":"Duration after each task rollback to monitor for failure (ns|us|ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e.\n"},"order":{"type":"string","description":"Rollback order: either 'stop-first' or 'start-first'. Defaults to `stop-first`.\n"},"parallelism":{"type":"integer","description":"Maximum number of tasks to be rollbacked in one iteration. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e\n"}},"type":"object"},"docker:index/ServiceTaskSpec:ServiceTaskSpec":{"properties":{"containerSpec":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpec:ServiceTaskSpecContainerSpec","description":"The spec for each container\n"},"forceUpdate":{"type":"integer","description":"A counter that triggers an update even if no relevant parameters have been changed. See the [spec](https://github.com/docker/swarmkit/blob/master/api/specs.proto#L126).\n"},"logDriver":{"$ref":"#/types/docker:index/ServiceTaskSpecLogDriver:ServiceTaskSpecLogDriver","description":"Specifies the log driver to use for tasks created from this spec. If not present, the default one for the swarm will be used, finally falling back to the engine default if not specified\n"},"networksAdvanceds":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceTaskSpecNetworksAdvanced:ServiceTaskSpecNetworksAdvanced"},"description":"The networks the container is attached to\n"},"placement":{"$ref":"#/types/docker:index/ServiceTaskSpecPlacement:ServiceTaskSpecPlacement","description":"The placement preferences\n"},"resources":{"$ref":"#/types/docker:index/ServiceTaskSpecResources:ServiceTaskSpecResources","description":"Resource requirements which apply to each individual container created as part of the service\n"},"restartPolicy":{"$ref":"#/types/docker:index/ServiceTaskSpecRestartPolicy:ServiceTaskSpecRestartPolicy","description":"Specification for the restart policy which applies to containers created as part of this service.\n"},"runtime":{"type":"string","description":"Runtime is the type of runtime specified for the task executor. See the [types](https://github.com/moby/moby/blob/master/api/types/swarm/runtime.go).\n"}},"type":"object","required":["containerSpec"],"language":{"nodejs":{"requiredOutputs":["containerSpec","forceUpdate","placement","resources","restartPolicy","runtime"]}}},"docker:index/ServiceTaskSpecContainerSpec:ServiceTaskSpecContainerSpec":{"properties":{"args":{"type":"array","items":{"type":"string"},"description":"Arguments to the command\n"},"capAdds":{"type":"array","items":{"type":"string"},"description":"List of Linux capabilities to add to the container\n"},"capDrops":{"type":"array","items":{"type":"string"},"description":"List of Linux capabilities to drop from the container\n"},"commands":{"type":"array","items":{"type":"string"},"description":"The command/entrypoint to be run in the image. According to the [docker cli](https://github.com/docker/cli/blob/v20.10.7/cli/command/service/opts.go#L705) the override of the entrypoint is also passed to the \u003cspan pulumi-lang-nodejs=\"`command`\" pulumi-lang-dotnet=\"`Command`\" pulumi-lang-go=\"`command`\" pulumi-lang-python=\"`command`\" pulumi-lang-yaml=\"`command`\" pulumi-lang-java=\"`command`\"\u003e`command`\u003c/span\u003e property and there is no \u003cspan pulumi-lang-nodejs=\"`entrypoint`\" pulumi-lang-dotnet=\"`Entrypoint`\" pulumi-lang-go=\"`entrypoint`\" pulumi-lang-python=\"`entrypoint`\" pulumi-lang-yaml=\"`entrypoint`\" pulumi-lang-java=\"`entrypoint`\"\u003e`entrypoint`\u003c/span\u003e attribute in the `ContainerSpec` of the service.\n"},"configs":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecConfig:ServiceTaskSpecContainerSpecConfig"},"description":"References to zero or more configs that will be exposed to the service\n"},"dir":{"type":"string","description":"The working directory for commands to run in\n"},"dnsConfig":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecDnsConfig:ServiceTaskSpecContainerSpecDnsConfig","description":"Specification for DNS related configurations in resolver configuration file (`resolv.conf`)\n"},"env":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of environment variables in the form VAR=\"value\"\n"},"groups":{"type":"array","items":{"type":"string"},"description":"A list of additional groups that the container process will run as\n"},"healthcheck":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecHealthcheck:ServiceTaskSpecContainerSpecHealthcheck","description":"A test to perform to check that the container is healthy. It works in the same way, and has the same default values, as the HEALTHCHECK Dockerfile instruction set by the service's Docker image. Your Compose file can override the values set in the Dockerfile.\n"},"hostname":{"type":"string","description":"The hostname to use for the container, as a valid RFC 1123 hostname\n"},"hosts":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecHost:ServiceTaskSpecContainerSpecHost"},"description":"A list of hostname/IP mappings to add to the container's hosts file\n","willReplaceOnChanges":true},"image":{"type":"string","description":"The image name to use for the containers of the service, like `nginx:1.17.6`. Also use the data-source or resource of \u003cspan pulumi-lang-nodejs=\"`docker.RemoteImage`\" pulumi-lang-dotnet=\"`docker.RemoteImage`\" pulumi-lang-go=\"`RemoteImage`\" pulumi-lang-python=\"`RemoteImage`\" pulumi-lang-yaml=\"`docker.RemoteImage`\" pulumi-lang-java=\"`docker.RemoteImage`\"\u003e`docker.RemoteImage`\u003c/span\u003e with the \u003cspan pulumi-lang-nodejs=\"`repoDigest`\" pulumi-lang-dotnet=\"`RepoDigest`\" pulumi-lang-go=\"`repoDigest`\" pulumi-lang-python=\"`repo_digest`\" pulumi-lang-yaml=\"`repoDigest`\" pulumi-lang-java=\"`repoDigest`\"\u003e`repo_digest`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`docker.RegistryImage`\" pulumi-lang-dotnet=\"`docker.RegistryImage`\" pulumi-lang-go=\"`RegistryImage`\" pulumi-lang-python=\"`RegistryImage`\" pulumi-lang-yaml=\"`docker.RegistryImage`\" pulumi-lang-java=\"`docker.RegistryImage`\"\u003e`docker.RegistryImage`\u003c/span\u003e with the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e attribute for this, as shown in the examples.\n"},"isolation":{"type":"string","description":"Isolation technology of the containers running the service. (Windows only). Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecLabel:ServiceTaskSpecContainerSpecLabel"},"description":"User-defined key/value metadata\n"},"mounts":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecMount:ServiceTaskSpecContainerSpecMount"},"description":"Specification for mounts to be added to containers created as part of the service\n"},"privileges":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecPrivileges:ServiceTaskSpecContainerSpecPrivileges","description":"Security options for the container\n"},"readOnly":{"type":"boolean","description":"Mount the container's root filesystem as read only\n"},"secrets":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecSecret:ServiceTaskSpecContainerSpecSecret"},"description":"References to zero or more secrets that will be exposed to the service\n"},"stopGracePeriod":{"type":"string","description":"Amount of time to wait for the container to terminate before forcefully removing it (ms|s|m|h). If not specified or '0s' the destroy will not check if all tasks/containers of the service terminate.\n"},"stopSignal":{"type":"string","description":"Signal to stop the container\n"},"sysctl":{"type":"object","additionalProperties":{"type":"string"},"description":"Sysctls config (Linux only)\n","willReplaceOnChanges":true},"user":{"type":"string","description":"The user inside the container\n"}},"type":"object","required":["image"],"language":{"nodejs":{"requiredOutputs":["dnsConfig","healthcheck","image","stopGracePeriod"]}}},"docker:index/ServiceTaskSpecContainerSpecConfig:ServiceTaskSpecContainerSpecConfig":{"properties":{"configId":{"type":"string","description":"ID of the specific config that we're referencing\n"},"configName":{"type":"string","description":"Name of the config that this references, but this is just provided for lookup/display purposes. The config in the reference will be identified by its ID\n"},"fileGid":{"type":"string","description":"Represents the file GID. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"fileMode":{"type":"integer","description":"Represents represents the FileMode of the file. Defaults to \u003cspan pulumi-lang-nodejs=\"`0o444`\" pulumi-lang-dotnet=\"`0o444`\" pulumi-lang-go=\"`0o444`\" pulumi-lang-python=\"`0o444`\" pulumi-lang-yaml=\"`0o444`\" pulumi-lang-java=\"`0o444`\"\u003e`0o444`\u003c/span\u003e.\n"},"fileName":{"type":"string","description":"Represents the final filename in the filesystem\n"},"fileUid":{"type":"string","description":"Represents the file UID. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object","required":["configId","fileName"]},"docker:index/ServiceTaskSpecContainerSpecDnsConfig:ServiceTaskSpecContainerSpecDnsConfig":{"properties":{"nameservers":{"type":"array","items":{"type":"string"},"description":"The IP addresses of the name servers\n"},"options":{"type":"array","items":{"type":"string"},"description":"A list of internal resolver variables to be modified (e.g., \u003cspan pulumi-lang-nodejs=\"`debug`\" pulumi-lang-dotnet=\"`Debug`\" pulumi-lang-go=\"`debug`\" pulumi-lang-python=\"`debug`\" pulumi-lang-yaml=\"`debug`\" pulumi-lang-java=\"`debug`\"\u003e`debug`\u003c/span\u003e, `ndots:3`, etc.)\n"},"searches":{"type":"array","items":{"type":"string"},"description":"A search list for host-name lookup\n"}},"type":"object","required":["nameservers"]},"docker:index/ServiceTaskSpecContainerSpecHealthcheck:ServiceTaskSpecContainerSpecHealthcheck":{"properties":{"interval":{"type":"string","description":"Time between running the check (ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"},"retries":{"type":"integer","description":"Consecutive failures needed to report unhealthy. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e\n"},"startPeriod":{"type":"string","description":"Start period for the container to initialize before counting retries towards unstable (ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"},"tests":{"type":"array","items":{"type":"string"},"description":"The test to perform as list\n"},"timeout":{"type":"string","description":"Maximum time to allow one check to run (ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"}},"type":"object"},"docker:index/ServiceTaskSpecContainerSpecHost:ServiceTaskSpecContainerSpecHost":{"properties":{"host":{"type":"string","description":"The name of the host\n","willReplaceOnChanges":true},"ip":{"type":"string","description":"The ip of the host\n","willReplaceOnChanges":true}},"type":"object","required":["host","ip"]},"docker:index/ServiceTaskSpecContainerSpecLabel:ServiceTaskSpecContainerSpecLabel":{"properties":{"label":{"type":"string","description":"Name of the label\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Value of the label\n","willReplaceOnChanges":true}},"type":"object","required":["label","value"]},"docker:index/ServiceTaskSpecContainerSpecMount:ServiceTaskSpecContainerSpecMount":{"properties":{"bindOptions":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecMountBindOptions:ServiceTaskSpecContainerSpecMountBindOptions","description":"Optional configuration for the bind type\n"},"readOnly":{"type":"boolean","description":"Whether the mount should be read-only\n"},"source":{"type":"string","description":"Mount source (e.g. a volume name, a host path)\n"},"target":{"type":"string","description":"Container path\n"},"tmpfsOptions":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecMountTmpfsOptions:ServiceTaskSpecContainerSpecMountTmpfsOptions","description":"Optional configuration for the tmpfs type\n"},"type":{"type":"string","description":"The mount type\n"},"volumeOptions":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecMountVolumeOptions:ServiceTaskSpecContainerSpecMountVolumeOptions","description":"Optional configuration for the volume type\n"}},"type":"object","required":["target","type"]},"docker:index/ServiceTaskSpecContainerSpecMountBindOptions:ServiceTaskSpecContainerSpecMountBindOptions":{"properties":{"propagation":{"type":"string","description":"Bind propagation refers to whether or not mounts created within a given bind-mount or named volume can be propagated to replicas of that mount. See the [docs](https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation) for details. Defaults to \u003cspan pulumi-lang-nodejs=\"`rprivate`\" pulumi-lang-dotnet=\"`Rprivate`\" pulumi-lang-go=\"`rprivate`\" pulumi-lang-python=\"`rprivate`\" pulumi-lang-yaml=\"`rprivate`\" pulumi-lang-java=\"`rprivate`\"\u003e`rprivate`\u003c/span\u003e\n"}},"type":"object"},"docker:index/ServiceTaskSpecContainerSpecMountTmpfsOptions:ServiceTaskSpecContainerSpecMountTmpfsOptions":{"properties":{"mode":{"type":"integer","description":"The permission mode for the tmpfs mount in an integer\n"},"sizeBytes":{"type":"integer","description":"The size for the tmpfs mount in bytes\n"}},"type":"object"},"docker:index/ServiceTaskSpecContainerSpecMountVolumeOptions:ServiceTaskSpecContainerSpecMountVolumeOptions":{"properties":{"driverName":{"type":"string","description":"Name of the driver to use to create the volume\n"},"driverOptions":{"type":"object","additionalProperties":{"type":"string"},"description":"key/value map of driver specific options\n"},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecMountVolumeOptionsLabel:ServiceTaskSpecContainerSpecMountVolumeOptionsLabel"},"description":"User-defined key/value metadata\n"},"noCopy":{"type":"boolean","description":"Populate volume with data from the target\n"}},"type":"object"},"docker:index/ServiceTaskSpecContainerSpecMountVolumeOptionsLabel:ServiceTaskSpecContainerSpecMountVolumeOptionsLabel":{"properties":{"label":{"type":"string","description":"Name of the label\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Value of the label\n","willReplaceOnChanges":true}},"type":"object","required":["label","value"]},"docker:index/ServiceTaskSpecContainerSpecPrivileges:ServiceTaskSpecContainerSpecPrivileges":{"properties":{"credentialSpec":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecPrivilegesCredentialSpec:ServiceTaskSpecContainerSpecPrivilegesCredentialSpec","description":"CredentialSpec for managed service account (Windows only)\n"},"seLinuxContext":{"$ref":"#/types/docker:index/ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext:ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext","description":"SELinux labels of the container\n"}},"type":"object"},"docker:index/ServiceTaskSpecContainerSpecPrivilegesCredentialSpec:ServiceTaskSpecContainerSpecPrivilegesCredentialSpec":{"properties":{"file":{"type":"string","description":"Load credential spec from this file\n"},"registry":{"type":"string","description":"Load credential spec from this value in the Windows registry\n"}},"type":"object"},"docker:index/ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext:ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext":{"properties":{"disable":{"type":"boolean","description":"Disable SELinux\n"},"level":{"type":"string","description":"SELinux level label\n"},"role":{"type":"string","description":"SELinux role label\n"},"type":{"type":"string","description":"SELinux type label\n"},"user":{"type":"string","description":"SELinux user label\n"}},"type":"object"},"docker:index/ServiceTaskSpecContainerSpecSecret:ServiceTaskSpecContainerSpecSecret":{"properties":{"fileGid":{"type":"string","description":"Represents the file GID. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e\n"},"fileMode":{"type":"integer","description":"Represents represents the FileMode of the file. Defaults to \u003cspan pulumi-lang-nodejs=\"`0o444`\" pulumi-lang-dotnet=\"`0o444`\" pulumi-lang-go=\"`0o444`\" pulumi-lang-python=\"`0o444`\" pulumi-lang-yaml=\"`0o444`\" pulumi-lang-java=\"`0o444`\"\u003e`0o444`\u003c/span\u003e\n"},"fileName":{"type":"string","description":"Represents the final filename in the filesystem\n"},"fileUid":{"type":"string","description":"Represents the file UID. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e\n"},"secretId":{"type":"string","description":"ID of the specific secret that we're referencing\n"},"secretName":{"type":"string","description":"Name of the secret that this references, but this is just provided for lookup/display purposes. The config in the reference will be identified by its ID\n"}},"type":"object","required":["fileName","secretId"]},"docker:index/ServiceTaskSpecLogDriver:ServiceTaskSpecLogDriver":{"properties":{"name":{"type":"string","description":"The logging driver to use\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"The options for the logging driver\n"}},"type":"object","required":["name"]},"docker:index/ServiceTaskSpecNetworksAdvanced:ServiceTaskSpecNetworksAdvanced":{"properties":{"aliases":{"type":"array","items":{"type":"string"},"description":"The network aliases of the container in the specific network.\n","willReplaceOnChanges":true},"driverOpts":{"type":"array","items":{"type":"string"},"description":"An array of driver options for the network, e.g. `opts1=value`\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name/id of the network.\n","willReplaceOnChanges":true}},"type":"object","required":["name"]},"docker:index/ServiceTaskSpecPlacement:ServiceTaskSpecPlacement":{"properties":{"constraints":{"type":"array","items":{"type":"string"},"description":"An array of constraints. e.g.: `node.role==manager`\n"},"maxReplicas":{"type":"integer","description":"Maximum number of replicas for per node (default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, which is unlimited)\n"},"platforms":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceTaskSpecPlacementPlatform:ServiceTaskSpecPlacementPlatform"},"description":"Platforms stores all the platforms that the service's image can run on\n"},"prefs":{"type":"array","items":{"type":"string"},"description":"Preferences provide a way to make the scheduler aware of factors such as topology. They are provided in order from highest to lowest precedence, e.g.: `spread=node.role.manager`\n"}},"type":"object"},"docker:index/ServiceTaskSpecPlacementPlatform:ServiceTaskSpecPlacementPlatform":{"properties":{"architecture":{"type":"string","description":"The architecture, e.g. \u003cspan pulumi-lang-nodejs=\"`amd64`\" pulumi-lang-dotnet=\"`Amd64`\" pulumi-lang-go=\"`amd64`\" pulumi-lang-python=\"`amd64`\" pulumi-lang-yaml=\"`amd64`\" pulumi-lang-java=\"`amd64`\"\u003e`amd64`\u003c/span\u003e\n"},"os":{"type":"string","description":"The operation system, e.g. \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e\n"}},"type":"object","required":["architecture","os"]},"docker:index/ServiceTaskSpecResources:ServiceTaskSpecResources":{"properties":{"limits":{"$ref":"#/types/docker:index/ServiceTaskSpecResourcesLimits:ServiceTaskSpecResourcesLimits","description":"Describes the resources which can be advertised by a node and requested by a task\n"},"reservation":{"$ref":"#/types/docker:index/ServiceTaskSpecResourcesReservation:ServiceTaskSpecResourcesReservation","description":"An object describing the resources which can be advertised by a node and requested by a task\n"}},"type":"object"},"docker:index/ServiceTaskSpecResourcesLimits:ServiceTaskSpecResourcesLimits":{"properties":{"memoryBytes":{"type":"integer","description":"The amounf of memory in bytes the container allocates\n"},"nanoCpus":{"type":"integer","description":"CPU shares in units of `1/1e9` (or `10^-9`) of the CPU. Should be at least \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e\n"}},"type":"object"},"docker:index/ServiceTaskSpecResourcesReservation:ServiceTaskSpecResourcesReservation":{"properties":{"genericResources":{"$ref":"#/types/docker:index/ServiceTaskSpecResourcesReservationGenericResources:ServiceTaskSpecResourcesReservationGenericResources","description":"User-defined resources can be either Integer resources (e.g, `SSD=3`) or String resources (e.g, GPU=UUID1)\n"},"memoryBytes":{"type":"integer","description":"The amounf of memory in bytes the container allocates\n"},"nanoCpus":{"type":"integer","description":"CPU shares in units of 1/1e9 (or 10^-9) of the CPU. Should be at least \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e\n"}},"type":"object"},"docker:index/ServiceTaskSpecResourcesReservationGenericResources:ServiceTaskSpecResourcesReservationGenericResources":{"properties":{"discreteResourcesSpecs":{"type":"array","items":{"type":"string"},"description":"The Integer resources\n"},"namedResourcesSpecs":{"type":"array","items":{"type":"string"},"description":"The String resources\n"}},"type":"object"},"docker:index/ServiceTaskSpecRestartPolicy:ServiceTaskSpecRestartPolicy":{"properties":{"condition":{"type":"string","description":"Condition for restart\n"},"delay":{"type":"string","description":"Delay between restart attempts (ms|s|m|h)\n"},"maxAttempts":{"type":"integer","description":"Maximum attempts to restart a given container before giving up (default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, which is ignored)\n"},"window":{"type":"string","description":"The time window used to evaluate the restart policy (default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, which is unbounded) (ms|s|m|h)\n"}},"type":"object"},"docker:index/ServiceUpdateConfig:ServiceUpdateConfig":{"properties":{"delay":{"type":"string","description":"Delay between task updates `(ns|us|ms|s|m|h)`. Defaults to \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"},"failureAction":{"type":"string","description":"Action on update failure: \u003cspan pulumi-lang-nodejs=\"`pause`\" pulumi-lang-dotnet=\"`Pause`\" pulumi-lang-go=\"`pause`\" pulumi-lang-python=\"`pause`\" pulumi-lang-yaml=\"`pause`\" pulumi-lang-java=\"`pause`\"\u003e`pause`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`continue`\" pulumi-lang-dotnet=\"`Continue`\" pulumi-lang-go=\"`continue`\" pulumi-lang-python=\"`continue`\" pulumi-lang-yaml=\"`continue`\" pulumi-lang-java=\"`continue`\"\u003e`continue`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`rollback`\" pulumi-lang-dotnet=\"`Rollback`\" pulumi-lang-go=\"`rollback`\" pulumi-lang-python=\"`rollback`\" pulumi-lang-yaml=\"`rollback`\" pulumi-lang-java=\"`rollback`\"\u003e`rollback`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`pause`\" pulumi-lang-dotnet=\"`Pause`\" pulumi-lang-go=\"`pause`\" pulumi-lang-python=\"`pause`\" pulumi-lang-yaml=\"`pause`\" pulumi-lang-java=\"`pause`\"\u003e`pause`\u003c/span\u003e.\n"},"maxFailureRatio":{"type":"string","description":"Failure rate to tolerate during an update. Defaults to `0.0`.\n"},"monitor":{"type":"string","description":"Duration after each task update to monitor for failure (ns|us|ms|s|m|h). Defaults to \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e.\n"},"order":{"type":"string","description":"Update order: either 'stop-first' or 'start-first'. Defaults to `stop-first`.\n"},"parallelism":{"type":"integer","description":"Maximum number of tasks to be updated in one iteration. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e\n"}},"type":"object"},"docker:index/VolumeCluster:VolumeCluster":{"properties":{"availability":{"type":"string","description":"Availability of the volume. Can be \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e (default), \u003cspan pulumi-lang-nodejs=\"`pause`\" pulumi-lang-dotnet=\"`Pause`\" pulumi-lang-go=\"`pause`\" pulumi-lang-python=\"`pause`\" pulumi-lang-yaml=\"`pause`\" pulumi-lang-java=\"`pause`\"\u003e`pause`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`drain`\" pulumi-lang-dotnet=\"`Drain`\" pulumi-lang-go=\"`drain`\" pulumi-lang-python=\"`drain`\" pulumi-lang-yaml=\"`drain`\" pulumi-lang-java=\"`drain`\"\u003e`drain`\u003c/span\u003e.\n"},"group":{"type":"string","description":"Cluster Volume group\n","willReplaceOnChanges":true},"id":{"type":"string","description":"The ID of the cluster volume.\n"},"limitBytes":{"type":"string","description":"Minimum size of the Cluster Volume in human readable memory bytes (like 128MiB, 2GiB, etc). Must be in format of KiB, MiB, Gib, Tib or PiB.\n","willReplaceOnChanges":true},"requiredBytes":{"type":"string","description":"Maximum size of the Cluster Volume in human readable memory bytes (like 128MiB, 2GiB, etc). Must be in format of KiB, MiB, Gib, Tib or PiB.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope of the volume. Can be \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e (default) or \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\"\u003e`multi`\u003c/span\u003e.\n","willReplaceOnChanges":true},"sharing":{"type":"string","description":"The sharing mode. Can be \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e (default), \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`onewriter`\" pulumi-lang-dotnet=\"`Onewriter`\" pulumi-lang-go=\"`onewriter`\" pulumi-lang-python=\"`onewriter`\" pulumi-lang-yaml=\"`onewriter`\" pulumi-lang-java=\"`onewriter`\"\u003e`onewriter`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n","willReplaceOnChanges":true},"topologyPreferred":{"type":"string","description":"A topology that the Cluster Volume would be preferred in\n","willReplaceOnChanges":true},"topologyRequired":{"type":"string","description":"A topology that the Cluster Volume must be accessible from\n","willReplaceOnChanges":true},"type":{"type":"string","description":"Cluster Volume access type. Can be \u003cspan pulumi-lang-nodejs=\"`mount`\" pulumi-lang-dotnet=\"`Mount`\" pulumi-lang-go=\"`mount`\" pulumi-lang-python=\"`mount`\" pulumi-lang-yaml=\"`mount`\" pulumi-lang-java=\"`mount`\"\u003e`mount`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e (default).\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["id"]}}},"docker:index/VolumeLabel:VolumeLabel":{"properties":{"label":{"type":"string","description":"Name of the label\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Value of the label\n","willReplaceOnChanges":true}},"type":"object","required":["label","value"]},"docker:index/builderVersion:BuilderVersion":{"description":"The version of the Docker builder.","type":"string","enum":[{"name":"BuilderV1","description":"The first generation builder for Docker Daemon","value":"BuilderV1"},{"name":"BuilderBuildKit","description":"The builder based on moby/buildkit project","value":"BuilderBuildKit"}]},"docker:index/cacheFrom:CacheFrom":{"description":"Contains a list of images to reference when building using a cache","properties":{"images":{"type":"array","items":{"type":"string"},"description":"Specifies cached images"}},"type":"object"},"docker:index/dockerBuild:DockerBuild":{"description":"The Docker build context","properties":{"addHosts":{"type":"array","items":{"type":"string"},"description":"Custom host-to-IP mappings to use while building (format: \"host:ip\")"},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"An optional map of named build-time argument variables to set during the Docker build. This flag allows you to pass build-time variables that can be accessed like environment variables inside the RUN instruction."},"builderVersion":{"$ref":"#/types/docker:index/builderVersion:BuilderVersion","description":"The version of the Docker builder."},"cacheFrom":{"$ref":"#/types/docker:index/cacheFrom:CacheFrom","description":"A list of image names to use as build cache. Images provided must have a cache manifest. Must provide authentication to cache registry."},"context":{"type":"string","description":"The path to the build context to use."},"dockerfile":{"type":"string","description":"The path to the Dockerfile to use."},"network":{"type":"string","description":"Set the networking mode for RUN instructions"},"platform":{"type":"string","description":"The architecture of the platform you want to build this image for, e.g. `linux/arm64`."},"target":{"type":"string","description":"The target of the Dockerfile to build"}},"type":"object"},"docker:index/getNetworkIpamConfig:getNetworkIpamConfig":{"properties":{"auxAddress":{"type":"object","additionalProperties":{"type":"string"},"description":"Auxiliary IPv4 or IPv6 addresses used by Network driver\n"},"gateway":{"type":"string","description":"The IP address of the gateway\n"},"ipRange":{"type":"string","description":"The ip range in CIDR form\n"},"subnet":{"type":"string","description":"The subnet in CIDR form\n"}},"type":"object"},"docker:index/getRegistryImageManifestsAuthConfig:getRegistryImageManifestsAuthConfig":{"properties":{"address":{"type":"string","description":"The address of the Docker registry.\n"},"password":{"type":"string","description":"The password for the Docker registry.\n","secret":true},"username":{"type":"string","description":"The username for the Docker registry.\n"}},"type":"object","required":["address","password","username"]},"docker:index/getRegistryImageManifestsManifest:getRegistryImageManifestsManifest":{"properties":{"architecture":{"type":"string","description":"The platform architecture supported by the manifest.\n"},"mediaType":{"type":"string","description":"The media type of the manifest.\n"},"os":{"type":"string","description":"The operating system supported by the manifest.\n"},"sha256Digest":{"type":"string","description":"The content digest of the manifest, as stored in the registry.\n"}},"type":"object","required":["architecture","mediaType","os","sha256Digest"],"language":{"nodejs":{"requiredInputs":[]}}},"docker:index/registry:Registry":{"description":"Describes a Docker container registry","properties":{"password":{"type":"string","description":"The password to authenticate to the registry. Does not cause image rebuild when changed.","secret":true},"server":{"type":"string","description":"The URL of the Docker registry server"},"username":{"type":"string","description":"The username to authenticate to the registry. Does not cause image rebuild when changed."}},"type":"object"}},"provider":{"description":"The provider type for the docker package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"caMaterial":{"type":"string","description":"PEM-encoded content of Docker host CA certificate"},"certMaterial":{"type":"string","description":"PEM-encoded content of Docker client certificate"},"certPath":{"type":"string","description":"Path to directory with Docker TLS config"},"context":{"type":"string","description":"The name of the Docker context to use. Can also be set via `DOCKER_CONTEXT` environment variable. Overrides the \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e if set."},"disableDockerDaemonCheck":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the provider will not check if the Docker daemon is running. This is useful for resources/data_sourcess that do not require a running Docker daemon, such as the data source \u003cspan pulumi-lang-nodejs=\"`docker.RegistryImage`\" pulumi-lang-dotnet=\"`docker.RegistryImage`\" pulumi-lang-go=\"`RegistryImage`\" pulumi-lang-python=\"`RegistryImage`\" pulumi-lang-yaml=\"`docker.RegistryImage`\" pulumi-lang-java=\"`docker.RegistryImage`\"\u003e`docker.RegistryImage`\u003c/span\u003e."},"host":{"type":"string","description":"The Docker daemon address"},"keyMaterial":{"type":"string","description":"PEM-encoded content of Docker client private key"},"registryAuth":{"type":"array","items":{"$ref":"#/types/docker:index/ProviderRegistryAuth:ProviderRegistryAuth"}},"sshOpts":{"type":"array","items":{"type":"string"},"description":"Additional SSH option flags to be appended when using `ssh://` protocol"}},"inputProperties":{"caMaterial":{"type":"string","description":"PEM-encoded content of Docker host CA certificate"},"certMaterial":{"type":"string","description":"PEM-encoded content of Docker client certificate"},"certPath":{"type":"string","description":"Path to directory with Docker TLS config"},"context":{"type":"string","description":"The name of the Docker context to use. Can also be set via `DOCKER_CONTEXT` environment variable. Overrides the \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e if set."},"disableDockerDaemonCheck":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the provider will not check if the Docker daemon is running. This is useful for resources/data_sourcess that do not require a running Docker daemon, such as the data source \u003cspan pulumi-lang-nodejs=\"`docker.RegistryImage`\" pulumi-lang-dotnet=\"`docker.RegistryImage`\" pulumi-lang-go=\"`RegistryImage`\" pulumi-lang-python=\"`RegistryImage`\" pulumi-lang-yaml=\"`docker.RegistryImage`\" pulumi-lang-java=\"`docker.RegistryImage`\"\u003e`docker.RegistryImage`\u003c/span\u003e."},"host":{"type":"string","description":"The Docker daemon address","defaultInfo":{"environment":["DOCKER_HOST"]}},"keyMaterial":{"type":"string","description":"PEM-encoded content of Docker client private key"},"registryAuth":{"type":"array","items":{"$ref":"#/types/docker:index/ProviderRegistryAuth:ProviderRegistryAuth"}},"sshOpts":{"type":"array","items":{"type":"string"},"description":"Additional SSH option flags to be appended when using `ssh://` protocol"}},"methods":{"terraformConfig":"pulumi:providers:docker/terraformConfig"}},"resources":{"docker:index/buildxBuilder:BuildxBuilder":{"description":"Manages a Docker Buildx builder instance. This resource allows you to create a  buildx builder with various configurations such as driver, nodes, and platform settings. Please see https://github.com/docker/buildx/blob/master/docs/reference/buildx_create.md for more documentation\n","properties":{"append":{"type":"boolean","description":"Append a node to builder instead of changing it\n"},"bootstrap":{"type":"boolean","description":"Automatically boot the builder after creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"buildkitConfig":{"type":"string","description":"BuildKit daemon config file\n"},"buildkitFlags":{"type":"string","description":"BuildKit flags to set for the builder.\n"},"dockerContainer":{"$ref":"#/types/docker:index/BuildxBuilderDockerContainer:BuildxBuilderDockerContainer","description":"Configuration block for the Docker-Container driver.\n"},"driver":{"type":"string","description":"The driver to use for the Buildx builder (e.g., docker-container, kubernetes).\n"},"driverOptions":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional options for the Buildx driver in the form of `key=value,...`. These options are driver-specific.\n"},"endpoint":{"type":"string","description":"The endpoint or context to use for the Buildx builder, where context is the name of a context from docker context ls and endpoint is the address for Docker socket (eg. DOCKER_HOST value). By default, the current Docker configuration is used for determining the context/endpoint value.\n"},"kubernetes":{"$ref":"#/types/docker:index/BuildxBuilderKubernetes:BuildxBuilderKubernetes","description":"Configuration block for the Kubernetes driver.\n"},"name":{"type":"string","description":"The name of the Buildx builder. IF not specified, a random name will be generated.\n"},"node":{"type":"string","description":"Create/modify node with given name\n"},"platforms":{"type":"array","items":{"type":"string"},"description":"Fixed platforms for current node\n"},"remote":{"$ref":"#/types/docker:index/BuildxBuilderRemote:BuildxBuilderRemote","description":"Configuration block for the Remote driver.\n"},"use":{"type":"boolean","description":"Set the current builder instance as the default for the current context.\n"}},"required":["name"],"inputProperties":{"append":{"type":"boolean","description":"Append a node to builder instead of changing it\n","willReplaceOnChanges":true},"bootstrap":{"type":"boolean","description":"Automatically boot the builder after creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","willReplaceOnChanges":true},"buildkitConfig":{"type":"string","description":"BuildKit daemon config file\n","willReplaceOnChanges":true},"buildkitFlags":{"type":"string","description":"BuildKit flags to set for the builder.\n","willReplaceOnChanges":true},"dockerContainer":{"$ref":"#/types/docker:index/BuildxBuilderDockerContainer:BuildxBuilderDockerContainer","description":"Configuration block for the Docker-Container driver.\n","willReplaceOnChanges":true},"driver":{"type":"string","description":"The driver to use for the Buildx builder (e.g., docker-container, kubernetes).\n","willReplaceOnChanges":true},"driverOptions":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional options for the Buildx driver in the form of `key=value,...`. These options are driver-specific.\n","willReplaceOnChanges":true},"endpoint":{"type":"string","description":"The endpoint or context to use for the Buildx builder, where context is the name of a context from docker context ls and endpoint is the address for Docker socket (eg. DOCKER_HOST value). By default, the current Docker configuration is used for determining the context/endpoint value.\n","willReplaceOnChanges":true},"kubernetes":{"$ref":"#/types/docker:index/BuildxBuilderKubernetes:BuildxBuilderKubernetes","description":"Configuration block for the Kubernetes driver.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Buildx builder. IF not specified, a random name will be generated.\n","willReplaceOnChanges":true},"node":{"type":"string","description":"Create/modify node with given name\n","willReplaceOnChanges":true},"platforms":{"type":"array","items":{"type":"string"},"description":"Fixed platforms for current node\n","willReplaceOnChanges":true},"remote":{"$ref":"#/types/docker:index/BuildxBuilderRemote:BuildxBuilderRemote","description":"Configuration block for the Remote driver.\n","willReplaceOnChanges":true},"use":{"type":"boolean","description":"Set the current builder instance as the default for the current context.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering BuildxBuilder resources.\n","properties":{"append":{"type":"boolean","description":"Append a node to builder instead of changing it\n","willReplaceOnChanges":true},"bootstrap":{"type":"boolean","description":"Automatically boot the builder after creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","willReplaceOnChanges":true},"buildkitConfig":{"type":"string","description":"BuildKit daemon config file\n","willReplaceOnChanges":true},"buildkitFlags":{"type":"string","description":"BuildKit flags to set for the builder.\n","willReplaceOnChanges":true},"dockerContainer":{"$ref":"#/types/docker:index/BuildxBuilderDockerContainer:BuildxBuilderDockerContainer","description":"Configuration block for the Docker-Container driver.\n","willReplaceOnChanges":true},"driver":{"type":"string","description":"The driver to use for the Buildx builder (e.g., docker-container, kubernetes).\n","willReplaceOnChanges":true},"driverOptions":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional options for the Buildx driver in the form of `key=value,...`. These options are driver-specific.\n","willReplaceOnChanges":true},"endpoint":{"type":"string","description":"The endpoint or context to use for the Buildx builder, where context is the name of a context from docker context ls and endpoint is the address for Docker socket (eg. DOCKER_HOST value). By default, the current Docker configuration is used for determining the context/endpoint value.\n","willReplaceOnChanges":true},"kubernetes":{"$ref":"#/types/docker:index/BuildxBuilderKubernetes:BuildxBuilderKubernetes","description":"Configuration block for the Kubernetes driver.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Buildx builder. IF not specified, a random name will be generated.\n","willReplaceOnChanges":true},"node":{"type":"string","description":"Create/modify node with given name\n","willReplaceOnChanges":true},"platforms":{"type":"array","items":{"type":"string"},"description":"Fixed platforms for current node\n","willReplaceOnChanges":true},"remote":{"$ref":"#/types/docker:index/BuildxBuilderRemote:BuildxBuilderRemote","description":"Configuration block for the Remote driver.\n","willReplaceOnChanges":true},"use":{"type":"boolean","description":"Set the current builder instance as the default for the current context.\n","willReplaceOnChanges":true}},"type":"object"}},"docker:index/container:Container":{"description":"\u003c!-- Bug: Type and Name are switched --\u003e\nManages the lifecycle of a Docker container.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\n// Find the latest Ubuntu precise image.\nconst ubuntuRemoteImage = new docker.RemoteImage(\"ubuntu\", {name: \"ubuntu:precise\"});\n// Start a container\nconst ubuntu = new docker.Container(\"ubuntu\", {\n    name: \"foo\",\n    image: ubuntuRemoteImage.imageId,\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\n# Find the latest Ubuntu precise image.\nubuntu_remote_image = docker.RemoteImage(\"ubuntu\", name=\"ubuntu:precise\")\n# Start a container\nubuntu = docker.Container(\"ubuntu\",\n    name=\"foo\",\n    image=ubuntu_remote_image.image_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Find the latest Ubuntu precise image.\n    var ubuntuRemoteImage = new Docker.RemoteImage(\"ubuntu\", new()\n    {\n        Name = \"ubuntu:precise\",\n    });\n\n    // Start a container\n    var ubuntu = new Docker.Container(\"ubuntu\", new()\n    {\n        Name = \"foo\",\n        Image = ubuntuRemoteImage.ImageId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Find the latest Ubuntu precise image.\n\t\tubuntuRemoteImage, err := docker.NewRemoteImage(ctx, \"ubuntu\", \u0026docker.RemoteImageArgs{\n\t\t\tName: pulumi.String(\"ubuntu:precise\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Start a container\n\t\t_, err = docker.NewContainer(ctx, \"ubuntu\", \u0026docker.ContainerArgs{\n\t\t\tName:  pulumi.String(\"foo\"),\n\t\t\tImage: ubuntuRemoteImage.ImageId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.docker.RemoteImage;\nimport com.pulumi.docker.RemoteImageArgs;\nimport com.pulumi.docker.Container;\nimport com.pulumi.docker.ContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Find the latest Ubuntu precise image.\n        var ubuntuRemoteImage = new RemoteImage(\"ubuntuRemoteImage\", RemoteImageArgs.builder()\n            .name(\"ubuntu:precise\")\n            .build());\n\n        // Start a container\n        var ubuntu = new Container(\"ubuntu\", ContainerArgs.builder()\n            .name(\"foo\")\n            .image(ubuntuRemoteImage.imageId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Start a container\n  ubuntu:\n    type: docker:Container\n    properties:\n      name: foo\n      image: ${ubuntuRemoteImage.imageId}\n  # Find the latest Ubuntu precise image.\n  ubuntuRemoteImage:\n    type: docker:RemoteImage\n    name: ubuntu\n    properties:\n      name: ubuntu:precise\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n### Example\n\nAssuming you created a `container` as follows\n\n#!/bin/bash\n\ndocker run --name foo -p8080:80 -d nginx \n\nprints the container ID \n\n9a550c0f0163d39d77222d3efd58701b625d47676c25c686c95b5b92d1cba6fd\n\nyou provide the definition for the resource as follows\n\nterraform\n\nresource \"docker_container\" \"foo\" {\n\n  name  = \"foo\"\n\n  image = \"nginx\"\n\n  ports {\n\n    internal = \"80\"\n\n    external = \"8080\"\n\n  }\n\n}\n\nthen the import command is as follows\n\n#!/bin/bash\n\n```sh\n$ pulumi import docker:index/container:Container foo 9a550c0f0163d39d77222d3efd58701b625d47676c25c686c95b5b92d1cba6fd\n```\n\n","properties":{"attach":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e attach to the container after its creation and waits the end of its execution. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bridge":{"type":"string","description":"The network bridge of the container as read from its NetworkSettings.\n"},"capabilities":{"$ref":"#/types/docker:index/ContainerCapabilities:ContainerCapabilities","description":"Add or drop certrain linux capabilities.\n"},"cgroupParent":{"type":"string","description":"Optional parent cgroup for the container\n"},"cgroupnsMode":{"type":"string","description":"Cgroup namespace mode to use for the container. Possible values are: \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n"},"command":{"type":"array","items":{"type":"string"},"description":"The command to use to start the container. For example, to run `/usr/bin/myprogram -f baz.conf` set the command to be `[\"/usr/bin/myprogram\",\"-f\",\"baz.conf\"]`.\n"},"containerLogs":{"type":"string","description":"The logs of the container if its execution is done (\u003cspan pulumi-lang-nodejs=\"`attach`\" pulumi-lang-dotnet=\"`Attach`\" pulumi-lang-go=\"`attach`\" pulumi-lang-python=\"`attach`\" pulumi-lang-yaml=\"`attach`\" pulumi-lang-java=\"`attach`\"\u003e`attach`\u003c/span\u003e must be disabled).\n"},"containerReadRefreshTimeoutMilliseconds":{"type":"integer","description":"The total number of milliseconds to wait for the container to reach status 'running'\n"},"cpuPeriod":{"type":"integer","description":"Specify the CPU CFS scheduler period (in microseconds), which is used alongside `cpu-quota`. Is ignored if \u003cspan pulumi-lang-nodejs=\"`cpus`\" pulumi-lang-dotnet=\"`Cpus`\" pulumi-lang-go=\"`cpus`\" pulumi-lang-python=\"`cpus`\" pulumi-lang-yaml=\"`cpus`\" pulumi-lang-java=\"`cpus`\"\u003e`cpus`\u003c/span\u003e is set.\n"},"cpuQuota":{"type":"integer","description":"Impose a CPU CFS quota on the container (in microseconds). The number of microseconds per `cpu-period` that the container is limited to before throttled. Is ignored if \u003cspan pulumi-lang-nodejs=\"`cpus`\" pulumi-lang-dotnet=\"`Cpus`\" pulumi-lang-go=\"`cpus`\" pulumi-lang-python=\"`cpus`\" pulumi-lang-yaml=\"`cpus`\" pulumi-lang-java=\"`cpus`\"\u003e`cpus`\u003c/span\u003e is set.\n"},"cpuSet":{"type":"string","description":"A comma-separated list or hyphen-separated range of CPUs a container can use, e.g. `0-1`.\n"},"cpuShares":{"type":"integer","description":"CPU shares (relative weight) for the container.\n"},"cpus":{"type":"string","description":"Specify how much of the available CPU resources a container can use. e.g a value of 1.5 means the container is guaranteed at most one and a half of the CPUs. Has precedence over \u003cspan pulumi-lang-nodejs=\"`cpuPeriod`\" pulumi-lang-dotnet=\"`CpuPeriod`\" pulumi-lang-go=\"`cpuPeriod`\" pulumi-lang-python=\"`cpu_period`\" pulumi-lang-yaml=\"`cpuPeriod`\" pulumi-lang-java=\"`cpuPeriod`\"\u003e`cpu_period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cpuQuota`\" pulumi-lang-dotnet=\"`CpuQuota`\" pulumi-lang-go=\"`cpuQuota`\" pulumi-lang-python=\"`cpu_quota`\" pulumi-lang-yaml=\"`cpuQuota`\" pulumi-lang-java=\"`cpuQuota`\"\u003e`cpu_quota`\u003c/span\u003e.\n"},"destroyGraceSeconds":{"type":"integer","description":"If defined will attempt to stop the container before destroying. Container will be destroyed after \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds or on successful stop.\n"},"devices":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerDevice:ContainerDevice"},"description":"Bind devices to the container.\n"},"dns":{"type":"array","items":{"type":"string"},"description":"DNS servers to use.\n"},"dnsOpts":{"type":"array","items":{"type":"string"},"description":"DNS options used by the DNS provider(s), see `resolv.conf` documentation for valid list of options.\n"},"dnsSearches":{"type":"array","items":{"type":"string"},"description":"DNS search domains that are used when bare unqualified hostnames are used inside of the container.\n"},"domainname":{"type":"string","description":"Domain name of the container.\n"},"entrypoints":{"type":"array","items":{"type":"string"},"description":"The command to use as the Entrypoint for the container. The Entrypoint allows you to configure a container to run as an executable. For example, to run `/usr/bin/myprogram` when starting a container, set the entrypoint to be `\"/usr/bin/myprogram\"]`.\n"},"envs":{"type":"array","items":{"type":"string"},"description":"Environment variables to set in the form of `KEY=VALUE`, e.g. `DEBUG=0`\n"},"exitCode":{"type":"integer","description":"The exit code of the container if its execution is done (\u003cspan pulumi-lang-nodejs=\"`mustRun`\" pulumi-lang-dotnet=\"`MustRun`\" pulumi-lang-go=\"`mustRun`\" pulumi-lang-python=\"`must_run`\" pulumi-lang-yaml=\"`mustRun`\" pulumi-lang-java=\"`mustRun`\"\u003e`must_run`\u003c/span\u003e must be disabled).\n"},"gpus":{"type":"string","description":"GPU devices to add to the container. Currently, only the value \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e is supported. Passing any other value will result in unexpected behavior.\n"},"groupAdds":{"type":"array","items":{"type":"string"},"description":"Additional groups for the container user\n"},"healthcheck":{"$ref":"#/types/docker:index/ContainerHealthcheck:ContainerHealthcheck","description":"A test to perform to check that the container is healthy\n"},"hostname":{"type":"string","description":"Hostname of the container.\n"},"hosts":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerHost:ContainerHost"},"description":"Additional hosts to add to the container.\n"},"image":{"type":"string","description":"The ID of the image to back this container. The easiest way to get this value is to use the \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e attribute of the \u003cspan pulumi-lang-nodejs=\"`docker.RemoteImage`\" pulumi-lang-dotnet=\"`docker.RemoteImage`\" pulumi-lang-go=\"`RemoteImage`\" pulumi-lang-python=\"`RemoteImage`\" pulumi-lang-yaml=\"`docker.RemoteImage`\" pulumi-lang-java=\"`docker.RemoteImage`\"\u003e`docker.RemoteImage`\u003c/span\u003e resource as is shown in the example.\n"},"init":{"type":"boolean","description":"Configured whether an init process should be injected for this container. If unset this will default to the \u003cspan pulumi-lang-nodejs=\"`dockerd`\" pulumi-lang-dotnet=\"`Dockerd`\" pulumi-lang-go=\"`dockerd`\" pulumi-lang-python=\"`dockerd`\" pulumi-lang-yaml=\"`dockerd`\" pulumi-lang-java=\"`dockerd`\"\u003e`dockerd`\u003c/span\u003e defaults.\n"},"ipcMode":{"type":"string","description":"IPC sharing mode for the container. Possible values are: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shareable`\" pulumi-lang-dotnet=\"`Shareable`\" pulumi-lang-go=\"`shareable`\" pulumi-lang-python=\"`shareable`\" pulumi-lang-yaml=\"`shareable`\" pulumi-lang-java=\"`shareable`\"\u003e`shareable`\u003c/span\u003e, `container:\u003cname|id\u003e` or \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n"},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerLabel:ContainerLabel"},"description":"User-defined key/value metadata\n"},"logDriver":{"type":"string","description":"The logging driver to use for the container.\n"},"logOpts":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs to use as options for the logging driver.\n"},"logs":{"type":"boolean","description":"Save the container logs (\u003cspan pulumi-lang-nodejs=\"`attach`\" pulumi-lang-dotnet=\"`Attach`\" pulumi-lang-go=\"`attach`\" pulumi-lang-python=\"`attach`\" pulumi-lang-yaml=\"`attach`\" pulumi-lang-java=\"`attach`\"\u003e`attach`\u003c/span\u003e must be enabled). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"maxRetryCount":{"type":"integer","description":"The maximum amount of times to an attempt a restart when \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e is set to 'on-failure'.\n"},"memory":{"type":"integer","description":"The memory limit for the container in MBs.\n"},"memoryReservation":{"type":"integer","description":"The memory-resveration for the container in MBs. Defaults to 0. Allows you to specify a soft limit smaller than \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e which is activated when Docker detects contention or low memory on the host machine. If you use `memory-reservation`, it must be set lower than \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e for it to take precedence. Because it is a soft limit, it doesn't guarantee that the container doesn't exceed the limit.\n"},"memorySwap":{"type":"integer","description":"The total memory limit (memory + swap) for the container in MBs. This setting may compute to `-1` after `pulumi up` if the target host doesn't support memory swap, when that is the case docker will use a soft limitation.\n"},"mounts":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerMount:ContainerMount"},"description":"Specification for mounts to be added to containers created as part of the service.\n"},"mustRun":{"type":"boolean"},"name":{"type":"string","description":"The name of the container.\n"},"networkDatas":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerNetworkData:ContainerNetworkData"},"description":"The data of the networks the container is connected to.\n"},"networkMode":{"type":"string","description":"Network mode of the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`bridge`\" pulumi-lang-dotnet=\"`Bridge`\" pulumi-lang-go=\"`bridge`\" pulumi-lang-python=\"`bridge`\" pulumi-lang-yaml=\"`bridge`\" pulumi-lang-java=\"`bridge`\"\u003e`bridge`\u003c/span\u003e. If your host OS is any other OS, you need to set this value explicitly, e.g. \u003cspan pulumi-lang-nodejs=\"`nat`\" pulumi-lang-dotnet=\"`Nat`\" pulumi-lang-go=\"`nat`\" pulumi-lang-python=\"`nat`\" pulumi-lang-yaml=\"`nat`\" pulumi-lang-java=\"`nat`\"\u003e`nat`\u003c/span\u003e when your container will be running on an Windows host. See https://docs.docker.com/engine/network/ for more information.\n"},"networksAdvanced":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerNetworksAdvanced:ContainerNetworksAdvanced"},"description":"The networks the container is attached to\n"},"pidMode":{"type":"string","description":"he PID (Process) Namespace mode for the container. Either `container:\u003cname|id\u003e` or \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n"},"ports":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerPort:ContainerPort"},"description":"Publish a container's port(s) to the host.\n"},"privileged":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the container runs in privileged mode.\n"},"publishAllPorts":{"type":"boolean","description":"Publish all ports of the container.\n"},"readOnly":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the container will be started as readonly. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"removeVolumes":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it will remove anonymous volumes associated with the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"restart":{"type":"string","description":"The restart policy for the container. Must be one of 'no', 'on-failure', 'always', 'unless-stopped'. Defaults to \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e.\n"},"rm":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then the container will be automatically removed when it exits. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"runtime":{"type":"string","description":"Runtime to use for the container.\n"},"securityOpts":{"type":"array","items":{"type":"string"},"description":"List of string values to customize labels for MLS systems, such as SELinux. See https://docs.docker.com/engine/reference/run/#security-configuration.\n"},"shmSize":{"type":"integer","description":"Size of `/dev/shm` in MBs.\n"},"start":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then the Docker container will be started after creation. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, then the container is only created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"stdinOpen":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, keep STDIN open even if not attached (`docker run -i`). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"stopSignal":{"type":"string","description":"Signal to stop a container (default `SIGTERM`).\n"},"stopTimeout":{"type":"integer","description":"Timeout (in seconds) to stop a container.\n"},"storageOpts":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs for the storage driver options, e.g. \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e: `120G`\n"},"sysctls":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of kernel parameters (sysctls) to set in the container.\n"},"tmpfs":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of container directories which should be replaced by `tmpfs mounts`, and their corresponding mount options.\n"},"tty":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, allocate a pseudo-tty (`docker run -t`). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ulimits":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerUlimit:ContainerUlimit"},"description":"Ulimit options to add.\n"},"uploads":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerUpload:ContainerUpload"},"description":"Specifies files to upload to the container before starting it. Only one of \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`contentBase64`\" pulumi-lang-dotnet=\"`ContentBase64`\" pulumi-lang-go=\"`contentBase64`\" pulumi-lang-python=\"`content_base64`\" pulumi-lang-yaml=\"`contentBase64`\" pulumi-lang-java=\"`contentBase64`\"\u003e`content_base64`\u003c/span\u003e can be set and at least one of them has to be set.\n"},"user":{"type":"string","description":"User used for run the first process. Format is \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e or `user:group` which user and group can be passed literraly or by name.\n"},"usernsMode":{"type":"string","description":"Sets the usernamespace mode for the container when usernamespace remapping option is enabled.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerVolume:ContainerVolume"},"description":"Spec for mounting volumes in the container.\n"},"wait":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then the Docker container is waited for being healthy state after creation. This requires your container to have a healthcheck, otherwise this provider will error. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, then the container health state is not checked. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"waitTimeout":{"type":"integer","description":"The timeout in seconds to wait the container to be healthy after creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"workingDir":{"type":"string","description":"The working directory for commands to run in.\n"}},"required":["bridge","command","containerLogs","entrypoints","envs","exitCode","healthcheck","hostname","image","init","ipcMode","labels","logDriver","name","networkDatas","runtime","securityOpts","shmSize","stopSignal","stopTimeout"],"inputProperties":{"attach":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e attach to the container after its creation and waits the end of its execution. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"capabilities":{"$ref":"#/types/docker:index/ContainerCapabilities:ContainerCapabilities","description":"Add or drop certrain linux capabilities.\n","willReplaceOnChanges":true},"cgroupParent":{"type":"string","description":"Optional parent cgroup for the container\n","willReplaceOnChanges":true},"cgroupnsMode":{"type":"string","description":"Cgroup namespace mode to use for the container. Possible values are: \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n","willReplaceOnChanges":true},"command":{"type":"array","items":{"type":"string"},"description":"The command to use to start the container. For example, to run `/usr/bin/myprogram -f baz.conf` set the command to be `[\"/usr/bin/myprogram\",\"-f\",\"baz.conf\"]`.\n","willReplaceOnChanges":true},"containerReadRefreshTimeoutMilliseconds":{"type":"integer","description":"The total number of milliseconds to wait for the container to reach status 'running'\n"},"cpuPeriod":{"type":"integer","description":"Specify the CPU CFS scheduler period (in microseconds), which is used alongside `cpu-quota`. Is ignored if \u003cspan pulumi-lang-nodejs=\"`cpus`\" pulumi-lang-dotnet=\"`Cpus`\" pulumi-lang-go=\"`cpus`\" pulumi-lang-python=\"`cpus`\" pulumi-lang-yaml=\"`cpus`\" pulumi-lang-java=\"`cpus`\"\u003e`cpus`\u003c/span\u003e is set.\n"},"cpuQuota":{"type":"integer","description":"Impose a CPU CFS quota on the container (in microseconds). The number of microseconds per `cpu-period` that the container is limited to before throttled. Is ignored if \u003cspan pulumi-lang-nodejs=\"`cpus`\" pulumi-lang-dotnet=\"`Cpus`\" pulumi-lang-go=\"`cpus`\" pulumi-lang-python=\"`cpus`\" pulumi-lang-yaml=\"`cpus`\" pulumi-lang-java=\"`cpus`\"\u003e`cpus`\u003c/span\u003e is set.\n"},"cpuSet":{"type":"string","description":"A comma-separated list or hyphen-separated range of CPUs a container can use, e.g. `0-1`.\n"},"cpuShares":{"type":"integer","description":"CPU shares (relative weight) for the container.\n"},"cpus":{"type":"string","description":"Specify how much of the available CPU resources a container can use. e.g a value of 1.5 means the container is guaranteed at most one and a half of the CPUs. Has precedence over \u003cspan pulumi-lang-nodejs=\"`cpuPeriod`\" pulumi-lang-dotnet=\"`CpuPeriod`\" pulumi-lang-go=\"`cpuPeriod`\" pulumi-lang-python=\"`cpu_period`\" pulumi-lang-yaml=\"`cpuPeriod`\" pulumi-lang-java=\"`cpuPeriod`\"\u003e`cpu_period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cpuQuota`\" pulumi-lang-dotnet=\"`CpuQuota`\" pulumi-lang-go=\"`cpuQuota`\" pulumi-lang-python=\"`cpu_quota`\" pulumi-lang-yaml=\"`cpuQuota`\" pulumi-lang-java=\"`cpuQuota`\"\u003e`cpu_quota`\u003c/span\u003e.\n","willReplaceOnChanges":true},"destroyGraceSeconds":{"type":"integer","description":"If defined will attempt to stop the container before destroying. Container will be destroyed after \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds or on successful stop.\n"},"devices":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerDevice:ContainerDevice"},"description":"Bind devices to the container.\n","willReplaceOnChanges":true},"dns":{"type":"array","items":{"type":"string"},"description":"DNS servers to use.\n","willReplaceOnChanges":true},"dnsOpts":{"type":"array","items":{"type":"string"},"description":"DNS options used by the DNS provider(s), see `resolv.conf` documentation for valid list of options.\n","willReplaceOnChanges":true},"dnsSearches":{"type":"array","items":{"type":"string"},"description":"DNS search domains that are used when bare unqualified hostnames are used inside of the container.\n","willReplaceOnChanges":true},"domainname":{"type":"string","description":"Domain name of the container.\n","willReplaceOnChanges":true},"entrypoints":{"type":"array","items":{"type":"string"},"description":"The command to use as the Entrypoint for the container. The Entrypoint allows you to configure a container to run as an executable. For example, to run `/usr/bin/myprogram` when starting a container, set the entrypoint to be `\"/usr/bin/myprogram\"]`.\n","willReplaceOnChanges":true},"envs":{"type":"array","items":{"type":"string"},"description":"Environment variables to set in the form of `KEY=VALUE`, e.g. `DEBUG=0`\n","willReplaceOnChanges":true},"gpus":{"type":"string","description":"GPU devices to add to the container. Currently, only the value \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e is supported. Passing any other value will result in unexpected behavior.\n","willReplaceOnChanges":true},"groupAdds":{"type":"array","items":{"type":"string"},"description":"Additional groups for the container user\n","willReplaceOnChanges":true},"healthcheck":{"$ref":"#/types/docker:index/ContainerHealthcheck:ContainerHealthcheck","description":"A test to perform to check that the container is healthy\n"},"hostname":{"type":"string","description":"Hostname of the container.\n","willReplaceOnChanges":true},"hosts":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerHost:ContainerHost"},"description":"Additional hosts to add to the container.\n","willReplaceOnChanges":true},"image":{"type":"string","description":"The ID of the image to back this container. The easiest way to get this value is to use the \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e attribute of the \u003cspan pulumi-lang-nodejs=\"`docker.RemoteImage`\" pulumi-lang-dotnet=\"`docker.RemoteImage`\" pulumi-lang-go=\"`RemoteImage`\" pulumi-lang-python=\"`RemoteImage`\" pulumi-lang-yaml=\"`docker.RemoteImage`\" pulumi-lang-java=\"`docker.RemoteImage`\"\u003e`docker.RemoteImage`\u003c/span\u003e resource as is shown in the example.\n","willReplaceOnChanges":true},"init":{"type":"boolean","description":"Configured whether an init process should be injected for this container. If unset this will default to the \u003cspan pulumi-lang-nodejs=\"`dockerd`\" pulumi-lang-dotnet=\"`Dockerd`\" pulumi-lang-go=\"`dockerd`\" pulumi-lang-python=\"`dockerd`\" pulumi-lang-yaml=\"`dockerd`\" pulumi-lang-java=\"`dockerd`\"\u003e`dockerd`\u003c/span\u003e defaults.\n"},"ipcMode":{"type":"string","description":"IPC sharing mode for the container. Possible values are: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shareable`\" pulumi-lang-dotnet=\"`Shareable`\" pulumi-lang-go=\"`shareable`\" pulumi-lang-python=\"`shareable`\" pulumi-lang-yaml=\"`shareable`\" pulumi-lang-java=\"`shareable`\"\u003e`shareable`\u003c/span\u003e, `container:\u003cname|id\u003e` or \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n","willReplaceOnChanges":true},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerLabel:ContainerLabel"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"logDriver":{"type":"string","description":"The logging driver to use for the container.\n","willReplaceOnChanges":true},"logOpts":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs to use as options for the logging driver.\n","willReplaceOnChanges":true},"logs":{"type":"boolean","description":"Save the container logs (\u003cspan pulumi-lang-nodejs=\"`attach`\" pulumi-lang-dotnet=\"`Attach`\" pulumi-lang-go=\"`attach`\" pulumi-lang-python=\"`attach`\" pulumi-lang-yaml=\"`attach`\" pulumi-lang-java=\"`attach`\"\u003e`attach`\u003c/span\u003e must be enabled). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"maxRetryCount":{"type":"integer","description":"The maximum amount of times to an attempt a restart when \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e is set to 'on-failure'.\n"},"memory":{"type":"integer","description":"The memory limit for the container in MBs.\n"},"memoryReservation":{"type":"integer","description":"The memory-resveration for the container in MBs. Defaults to 0. Allows you to specify a soft limit smaller than \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e which is activated when Docker detects contention or low memory on the host machine. If you use `memory-reservation`, it must be set lower than \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e for it to take precedence. Because it is a soft limit, it doesn't guarantee that the container doesn't exceed the limit.\n"},"memorySwap":{"type":"integer","description":"The total memory limit (memory + swap) for the container in MBs. This setting may compute to `-1` after `pulumi up` if the target host doesn't support memory swap, when that is the case docker will use a soft limitation.\n"},"mounts":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerMount:ContainerMount"},"description":"Specification for mounts to be added to containers created as part of the service.\n","willReplaceOnChanges":true},"mustRun":{"type":"boolean"},"name":{"type":"string","description":"The name of the container.\n","willReplaceOnChanges":true},"networkMode":{"type":"string","description":"Network mode of the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`bridge`\" pulumi-lang-dotnet=\"`Bridge`\" pulumi-lang-go=\"`bridge`\" pulumi-lang-python=\"`bridge`\" pulumi-lang-yaml=\"`bridge`\" pulumi-lang-java=\"`bridge`\"\u003e`bridge`\u003c/span\u003e. If your host OS is any other OS, you need to set this value explicitly, e.g. \u003cspan pulumi-lang-nodejs=\"`nat`\" pulumi-lang-dotnet=\"`Nat`\" pulumi-lang-go=\"`nat`\" pulumi-lang-python=\"`nat`\" pulumi-lang-yaml=\"`nat`\" pulumi-lang-java=\"`nat`\"\u003e`nat`\u003c/span\u003e when your container will be running on an Windows host. See https://docs.docker.com/engine/network/ for more information.\n","willReplaceOnChanges":true},"networksAdvanced":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerNetworksAdvanced:ContainerNetworksAdvanced"},"description":"The networks the container is attached to\n","willReplaceOnChanges":true},"pidMode":{"type":"string","description":"he PID (Process) Namespace mode for the container. Either `container:\u003cname|id\u003e` or \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n","willReplaceOnChanges":true},"ports":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerPort:ContainerPort"},"description":"Publish a container's port(s) to the host.\n","willReplaceOnChanges":true},"privileged":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the container runs in privileged mode.\n","willReplaceOnChanges":true},"publishAllPorts":{"type":"boolean","description":"Publish all ports of the container.\n","willReplaceOnChanges":true},"readOnly":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the container will be started as readonly. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"removeVolumes":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it will remove anonymous volumes associated with the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"restart":{"type":"string","description":"The restart policy for the container. Must be one of 'no', 'on-failure', 'always', 'unless-stopped'. Defaults to \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e.\n"},"rm":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then the container will be automatically removed when it exits. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"runtime":{"type":"string","description":"Runtime to use for the container.\n","willReplaceOnChanges":true},"securityOpts":{"type":"array","items":{"type":"string"},"description":"List of string values to customize labels for MLS systems, such as SELinux. See https://docs.docker.com/engine/reference/run/#security-configuration.\n","willReplaceOnChanges":true},"shmSize":{"type":"integer","description":"Size of `/dev/shm` in MBs.\n","willReplaceOnChanges":true},"start":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then the Docker container will be started after creation. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, then the container is only created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"stdinOpen":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, keep STDIN open even if not attached (`docker run -i`). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"stopSignal":{"type":"string","description":"Signal to stop a container (default `SIGTERM`).\n","willReplaceOnChanges":true},"stopTimeout":{"type":"integer","description":"Timeout (in seconds) to stop a container.\n","willReplaceOnChanges":true},"storageOpts":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs for the storage driver options, e.g. \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e: `120G`\n","willReplaceOnChanges":true},"sysctls":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of kernel parameters (sysctls) to set in the container.\n","willReplaceOnChanges":true},"tmpfs":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of container directories which should be replaced by `tmpfs mounts`, and their corresponding mount options.\n"},"tty":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, allocate a pseudo-tty (`docker run -t`). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"ulimits":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerUlimit:ContainerUlimit"},"description":"Ulimit options to add.\n","willReplaceOnChanges":true},"uploads":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerUpload:ContainerUpload"},"description":"Specifies files to upload to the container before starting it. Only one of \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`contentBase64`\" pulumi-lang-dotnet=\"`ContentBase64`\" pulumi-lang-go=\"`contentBase64`\" pulumi-lang-python=\"`content_base64`\" pulumi-lang-yaml=\"`contentBase64`\" pulumi-lang-java=\"`contentBase64`\"\u003e`content_base64`\u003c/span\u003e can be set and at least one of them has to be set.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"User used for run the first process. Format is \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e or `user:group` which user and group can be passed literraly or by name.\n","willReplaceOnChanges":true},"usernsMode":{"type":"string","description":"Sets the usernamespace mode for the container when usernamespace remapping option is enabled.\n","willReplaceOnChanges":true},"volumes":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerVolume:ContainerVolume"},"description":"Spec for mounting volumes in the container.\n","willReplaceOnChanges":true},"wait":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then the Docker container is waited for being healthy state after creation. This requires your container to have a healthcheck, otherwise this provider will error. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, then the container health state is not checked. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"waitTimeout":{"type":"integer","description":"The timeout in seconds to wait the container to be healthy after creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"workingDir":{"type":"string","description":"The working directory for commands to run in.\n","willReplaceOnChanges":true}},"requiredInputs":["image"],"stateInputs":{"description":"Input properties used for looking up and filtering Container resources.\n","properties":{"attach":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e attach to the container after its creation and waits the end of its execution. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bridge":{"type":"string","description":"The network bridge of the container as read from its NetworkSettings.\n"},"capabilities":{"$ref":"#/types/docker:index/ContainerCapabilities:ContainerCapabilities","description":"Add or drop certrain linux capabilities.\n","willReplaceOnChanges":true},"cgroupParent":{"type":"string","description":"Optional parent cgroup for the container\n","willReplaceOnChanges":true},"cgroupnsMode":{"type":"string","description":"Cgroup namespace mode to use for the container. Possible values are: \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n","willReplaceOnChanges":true},"command":{"type":"array","items":{"type":"string"},"description":"The command to use to start the container. For example, to run `/usr/bin/myprogram -f baz.conf` set the command to be `[\"/usr/bin/myprogram\",\"-f\",\"baz.conf\"]`.\n","willReplaceOnChanges":true},"containerLogs":{"type":"string","description":"The logs of the container if its execution is done (\u003cspan pulumi-lang-nodejs=\"`attach`\" pulumi-lang-dotnet=\"`Attach`\" pulumi-lang-go=\"`attach`\" pulumi-lang-python=\"`attach`\" pulumi-lang-yaml=\"`attach`\" pulumi-lang-java=\"`attach`\"\u003e`attach`\u003c/span\u003e must be disabled).\n"},"containerReadRefreshTimeoutMilliseconds":{"type":"integer","description":"The total number of milliseconds to wait for the container to reach status 'running'\n"},"cpuPeriod":{"type":"integer","description":"Specify the CPU CFS scheduler period (in microseconds), which is used alongside `cpu-quota`. Is ignored if \u003cspan pulumi-lang-nodejs=\"`cpus`\" pulumi-lang-dotnet=\"`Cpus`\" pulumi-lang-go=\"`cpus`\" pulumi-lang-python=\"`cpus`\" pulumi-lang-yaml=\"`cpus`\" pulumi-lang-java=\"`cpus`\"\u003e`cpus`\u003c/span\u003e is set.\n"},"cpuQuota":{"type":"integer","description":"Impose a CPU CFS quota on the container (in microseconds). The number of microseconds per `cpu-period` that the container is limited to before throttled. Is ignored if \u003cspan pulumi-lang-nodejs=\"`cpus`\" pulumi-lang-dotnet=\"`Cpus`\" pulumi-lang-go=\"`cpus`\" pulumi-lang-python=\"`cpus`\" pulumi-lang-yaml=\"`cpus`\" pulumi-lang-java=\"`cpus`\"\u003e`cpus`\u003c/span\u003e is set.\n"},"cpuSet":{"type":"string","description":"A comma-separated list or hyphen-separated range of CPUs a container can use, e.g. `0-1`.\n"},"cpuShares":{"type":"integer","description":"CPU shares (relative weight) for the container.\n"},"cpus":{"type":"string","description":"Specify how much of the available CPU resources a container can use. e.g a value of 1.5 means the container is guaranteed at most one and a half of the CPUs. Has precedence over \u003cspan pulumi-lang-nodejs=\"`cpuPeriod`\" pulumi-lang-dotnet=\"`CpuPeriod`\" pulumi-lang-go=\"`cpuPeriod`\" pulumi-lang-python=\"`cpu_period`\" pulumi-lang-yaml=\"`cpuPeriod`\" pulumi-lang-java=\"`cpuPeriod`\"\u003e`cpu_period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cpuQuota`\" pulumi-lang-dotnet=\"`CpuQuota`\" pulumi-lang-go=\"`cpuQuota`\" pulumi-lang-python=\"`cpu_quota`\" pulumi-lang-yaml=\"`cpuQuota`\" pulumi-lang-java=\"`cpuQuota`\"\u003e`cpu_quota`\u003c/span\u003e.\n","willReplaceOnChanges":true},"destroyGraceSeconds":{"type":"integer","description":"If defined will attempt to stop the container before destroying. Container will be destroyed after \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds or on successful stop.\n"},"devices":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerDevice:ContainerDevice"},"description":"Bind devices to the container.\n","willReplaceOnChanges":true},"dns":{"type":"array","items":{"type":"string"},"description":"DNS servers to use.\n","willReplaceOnChanges":true},"dnsOpts":{"type":"array","items":{"type":"string"},"description":"DNS options used by the DNS provider(s), see `resolv.conf` documentation for valid list of options.\n","willReplaceOnChanges":true},"dnsSearches":{"type":"array","items":{"type":"string"},"description":"DNS search domains that are used when bare unqualified hostnames are used inside of the container.\n","willReplaceOnChanges":true},"domainname":{"type":"string","description":"Domain name of the container.\n","willReplaceOnChanges":true},"entrypoints":{"type":"array","items":{"type":"string"},"description":"The command to use as the Entrypoint for the container. The Entrypoint allows you to configure a container to run as an executable. For example, to run `/usr/bin/myprogram` when starting a container, set the entrypoint to be `\"/usr/bin/myprogram\"]`.\n","willReplaceOnChanges":true},"envs":{"type":"array","items":{"type":"string"},"description":"Environment variables to set in the form of `KEY=VALUE`, e.g. `DEBUG=0`\n","willReplaceOnChanges":true},"exitCode":{"type":"integer","description":"The exit code of the container if its execution is done (\u003cspan pulumi-lang-nodejs=\"`mustRun`\" pulumi-lang-dotnet=\"`MustRun`\" pulumi-lang-go=\"`mustRun`\" pulumi-lang-python=\"`must_run`\" pulumi-lang-yaml=\"`mustRun`\" pulumi-lang-java=\"`mustRun`\"\u003e`must_run`\u003c/span\u003e must be disabled).\n"},"gpus":{"type":"string","description":"GPU devices to add to the container. Currently, only the value \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e is supported. Passing any other value will result in unexpected behavior.\n","willReplaceOnChanges":true},"groupAdds":{"type":"array","items":{"type":"string"},"description":"Additional groups for the container user\n","willReplaceOnChanges":true},"healthcheck":{"$ref":"#/types/docker:index/ContainerHealthcheck:ContainerHealthcheck","description":"A test to perform to check that the container is healthy\n"},"hostname":{"type":"string","description":"Hostname of the container.\n","willReplaceOnChanges":true},"hosts":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerHost:ContainerHost"},"description":"Additional hosts to add to the container.\n","willReplaceOnChanges":true},"image":{"type":"string","description":"The ID of the image to back this container. The easiest way to get this value is to use the \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e attribute of the \u003cspan pulumi-lang-nodejs=\"`docker.RemoteImage`\" pulumi-lang-dotnet=\"`docker.RemoteImage`\" pulumi-lang-go=\"`RemoteImage`\" pulumi-lang-python=\"`RemoteImage`\" pulumi-lang-yaml=\"`docker.RemoteImage`\" pulumi-lang-java=\"`docker.RemoteImage`\"\u003e`docker.RemoteImage`\u003c/span\u003e resource as is shown in the example.\n","willReplaceOnChanges":true},"init":{"type":"boolean","description":"Configured whether an init process should be injected for this container. If unset this will default to the \u003cspan pulumi-lang-nodejs=\"`dockerd`\" pulumi-lang-dotnet=\"`Dockerd`\" pulumi-lang-go=\"`dockerd`\" pulumi-lang-python=\"`dockerd`\" pulumi-lang-yaml=\"`dockerd`\" pulumi-lang-java=\"`dockerd`\"\u003e`dockerd`\u003c/span\u003e defaults.\n"},"ipcMode":{"type":"string","description":"IPC sharing mode for the container. Possible values are: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shareable`\" pulumi-lang-dotnet=\"`Shareable`\" pulumi-lang-go=\"`shareable`\" pulumi-lang-python=\"`shareable`\" pulumi-lang-yaml=\"`shareable`\" pulumi-lang-java=\"`shareable`\"\u003e`shareable`\u003c/span\u003e, `container:\u003cname|id\u003e` or \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n","willReplaceOnChanges":true},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerLabel:ContainerLabel"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"logDriver":{"type":"string","description":"The logging driver to use for the container.\n","willReplaceOnChanges":true},"logOpts":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs to use as options for the logging driver.\n","willReplaceOnChanges":true},"logs":{"type":"boolean","description":"Save the container logs (\u003cspan pulumi-lang-nodejs=\"`attach`\" pulumi-lang-dotnet=\"`Attach`\" pulumi-lang-go=\"`attach`\" pulumi-lang-python=\"`attach`\" pulumi-lang-yaml=\"`attach`\" pulumi-lang-java=\"`attach`\"\u003e`attach`\u003c/span\u003e must be enabled). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"maxRetryCount":{"type":"integer","description":"The maximum amount of times to an attempt a restart when \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e is set to 'on-failure'.\n"},"memory":{"type":"integer","description":"The memory limit for the container in MBs.\n"},"memoryReservation":{"type":"integer","description":"The memory-resveration for the container in MBs. Defaults to 0. Allows you to specify a soft limit smaller than \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e which is activated when Docker detects contention or low memory on the host machine. If you use `memory-reservation`, it must be set lower than \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e for it to take precedence. Because it is a soft limit, it doesn't guarantee that the container doesn't exceed the limit.\n"},"memorySwap":{"type":"integer","description":"The total memory limit (memory + swap) for the container in MBs. This setting may compute to `-1` after `pulumi up` if the target host doesn't support memory swap, when that is the case docker will use a soft limitation.\n"},"mounts":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerMount:ContainerMount"},"description":"Specification for mounts to be added to containers created as part of the service.\n","willReplaceOnChanges":true},"mustRun":{"type":"boolean"},"name":{"type":"string","description":"The name of the container.\n","willReplaceOnChanges":true},"networkDatas":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerNetworkData:ContainerNetworkData"},"description":"The data of the networks the container is connected to.\n"},"networkMode":{"type":"string","description":"Network mode of the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`bridge`\" pulumi-lang-dotnet=\"`Bridge`\" pulumi-lang-go=\"`bridge`\" pulumi-lang-python=\"`bridge`\" pulumi-lang-yaml=\"`bridge`\" pulumi-lang-java=\"`bridge`\"\u003e`bridge`\u003c/span\u003e. If your host OS is any other OS, you need to set this value explicitly, e.g. \u003cspan pulumi-lang-nodejs=\"`nat`\" pulumi-lang-dotnet=\"`Nat`\" pulumi-lang-go=\"`nat`\" pulumi-lang-python=\"`nat`\" pulumi-lang-yaml=\"`nat`\" pulumi-lang-java=\"`nat`\"\u003e`nat`\u003c/span\u003e when your container will be running on an Windows host. See https://docs.docker.com/engine/network/ for more information.\n","willReplaceOnChanges":true},"networksAdvanced":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerNetworksAdvanced:ContainerNetworksAdvanced"},"description":"The networks the container is attached to\n","willReplaceOnChanges":true},"pidMode":{"type":"string","description":"he PID (Process) Namespace mode for the container. Either `container:\u003cname|id\u003e` or \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n","willReplaceOnChanges":true},"ports":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerPort:ContainerPort"},"description":"Publish a container's port(s) to the host.\n","willReplaceOnChanges":true},"privileged":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the container runs in privileged mode.\n","willReplaceOnChanges":true},"publishAllPorts":{"type":"boolean","description":"Publish all ports of the container.\n","willReplaceOnChanges":true},"readOnly":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the container will be started as readonly. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"removeVolumes":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it will remove anonymous volumes associated with the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"restart":{"type":"string","description":"The restart policy for the container. Must be one of 'no', 'on-failure', 'always', 'unless-stopped'. Defaults to \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e.\n"},"rm":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then the container will be automatically removed when it exits. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"runtime":{"type":"string","description":"Runtime to use for the container.\n","willReplaceOnChanges":true},"securityOpts":{"type":"array","items":{"type":"string"},"description":"List of string values to customize labels for MLS systems, such as SELinux. See https://docs.docker.com/engine/reference/run/#security-configuration.\n","willReplaceOnChanges":true},"shmSize":{"type":"integer","description":"Size of `/dev/shm` in MBs.\n","willReplaceOnChanges":true},"start":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then the Docker container will be started after creation. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, then the container is only created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"stdinOpen":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, keep STDIN open even if not attached (`docker run -i`). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"stopSignal":{"type":"string","description":"Signal to stop a container (default `SIGTERM`).\n","willReplaceOnChanges":true},"stopTimeout":{"type":"integer","description":"Timeout (in seconds) to stop a container.\n","willReplaceOnChanges":true},"storageOpts":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs for the storage driver options, e.g. \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e: `120G`\n","willReplaceOnChanges":true},"sysctls":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of kernel parameters (sysctls) to set in the container.\n","willReplaceOnChanges":true},"tmpfs":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of container directories which should be replaced by `tmpfs mounts`, and their corresponding mount options.\n"},"tty":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, allocate a pseudo-tty (`docker run -t`). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"ulimits":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerUlimit:ContainerUlimit"},"description":"Ulimit options to add.\n","willReplaceOnChanges":true},"uploads":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerUpload:ContainerUpload"},"description":"Specifies files to upload to the container before starting it. Only one of \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`contentBase64`\" pulumi-lang-dotnet=\"`ContentBase64`\" pulumi-lang-go=\"`contentBase64`\" pulumi-lang-python=\"`content_base64`\" pulumi-lang-yaml=\"`contentBase64`\" pulumi-lang-java=\"`contentBase64`\"\u003e`content_base64`\u003c/span\u003e can be set and at least one of them has to be set.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"User used for run the first process. Format is \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e or `user:group` which user and group can be passed literraly or by name.\n","willReplaceOnChanges":true},"usernsMode":{"type":"string","description":"Sets the usernamespace mode for the container when usernamespace remapping option is enabled.\n","willReplaceOnChanges":true},"volumes":{"type":"array","items":{"$ref":"#/types/docker:index/ContainerVolume:ContainerVolume"},"description":"Spec for mounting volumes in the container.\n","willReplaceOnChanges":true},"wait":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then the Docker container is waited for being healthy state after creation. This requires your container to have a healthcheck, otherwise this provider will error. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, then the container health state is not checked. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"waitTimeout":{"type":"integer","description":"The timeout in seconds to wait the container to be healthy after creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"workingDir":{"type":"string","description":"The working directory for commands to run in.\n","willReplaceOnChanges":true}},"type":"object"}},"docker:index/image:Image":{"description":"`Image` builds a Docker image and pushes it Docker and OCI compatible registries.\nThis resource enables running Docker builds as part of a Pulumi deployment.\n\nNote: We recommend you migrate your images to the more modern [Docker\nBuild](https://www.pulumi.com/registry/packages/docker-build/) provider to get\nthe best possible support, features, and performance.\n\nNote: This resource does not delete tags, locally or remotely, when destroyed.\n\n## Image name\n\nThe Image resource uses `imageName` to refer to a fully qualified Docker image name, by the format `repository:tag`.\nNote that this does not include any digest information and thus will not cause any updates when passed to dependencies,\neven when using `latest` tag. To trigger such updates, e.g. when referencing pushed images in container orchestration \nand management resources, please use the `repoDigest` Output instead, which is of the format \n`repository@\u003calgorithm\u003e:\u003chash\u003e` and unique per build/push. \nAs of Docker v4.4, `repoDigest` is now available for local Images.\n\n## Cross-platform builds\n\nThe Image resource supports cross-platform builds when the [Docker engine has cross-platform support enabled via emulators](https://docs.docker.com/build/building/multi-platform/#building-multi-platform-images).\nThe Image resource currently supports providing only a single operating system and architecture in the `platform` field, e.g.: `linux/amd64`.\nTo enable this support, you may need to install the emulators in the environment running your Pulumi program.\n\nIf you are using Linux, you may be using Docker Engine or Docker Desktop for Linux, depending on how you have installed Docker. The [FAQ for Docker Desktop for Linux](https://docs.docker.com/desktop/faqs/linuxfaqs/#context) describes the differences and how to select which Docker context is in use.\n\n* For local development using Docker Desktop, this is enabled by default.\n* For systems using Docker Engine, install the QEMU binaries and register them with using the docker image from [github.com/tonistiigi/binfmt](https://github.com/tonistiigi/binfmt):\n\n  ```shell\n  docker run --privileged --rm tonistiigi/binfmt --install all\n  ```\n* In a GitHub Actions workflow, the [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) can be used instead by adding this step to your workflow file. Example workflow usage:\n\n  ```yaml\n  name: Pulumi\n  on:\n    push:\n      branches:\n        - master\n  jobs:\n    up:\n      name: Preview\n      runs-on: ubuntu-latest\n      steps:\n          # This is the step added:\n        - name: Set up QEMU\n          uses: docker/setup-qemu-action@v2\n          # The ordinary pulumi/actions workflow:\n        - uses: actions/checkout@v3\n        - uses: pulumi/actions@v4\n          with:\n            command: preview\n            stack-name: org-name/stack-name\n          env:\n            PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}\n  ```\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### A Docker image build\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst demoImage = new docker.Image(\"demo-image\", {\n    build: {\n        context: \".\",\n        dockerfile: \"Dockerfile\",\n        platform: \"linux/amd64\",\n    },\n    imageName: \"username/image:tag1\",\n    skipPush: true,\n});\nexport const imageName = demoImage.imageName;\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\ndemo_image = docker.Image(\"demo-image\",\n    build={\n        \"context\": \".\",\n        \"dockerfile\": \"Dockerfile\",\n        \"platform\": \"linux/amd64\",\n    },\n    image_name=\"username/image:tag1\",\n    skip_push=True)\npulumi.export(\"imageName\", demo_image.image_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var demoImage = new Docker.Image(\"demo-image\", new()\n    {\n        Build = new Docker.Inputs.DockerBuildArgs\n        {\n            Context = \".\",\n            Dockerfile = \"Dockerfile\",\n            Platform = \"linux/amd64\",\n        },\n        ImageName = \"username/image:tag1\",\n        SkipPush = true,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"imageName\"] = demoImage.ImageName,\n    };\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemoImage, err := docker.NewImage(ctx, \"demo-image\", \u0026docker.ImageArgs{\n\t\t\tBuild: \u0026docker.DockerBuildArgs{\n\t\t\t\tContext:    pulumi.String(\".\"),\n\t\t\t\tDockerfile: pulumi.String(\"Dockerfile\"),\n\t\t\t\tPlatform:   pulumi.String(\"linux/amd64\"),\n\t\t\t},\n\t\t\tImageName: pulumi.String(\"username/image:tag1\"),\n\t\t\tSkipPush:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"imageName\", demoImage.ImageName)\n\t\treturn nil\n\t})\n}\n```\n```yaml\nconfig: {}\ndescription: A Docker image build\nname: image-yaml\noutputs:\n    imageName: ${demo-image.imageName}\nresources:\n    demo-image:\n        options:\n            version: v4.4.0\n        properties:\n            build:\n                context: .\n                dockerfile: Dockerfile\n                platform: linux/amd64\n            imageName: username/image:tag1\n            skipPush: true\n        type: docker:Image\nruntime: yaml\nvariables: {}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.docker.Image;\nimport com.pulumi.docker.ImageArgs;\nimport com.pulumi.docker.inputs.DockerBuildArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var demoImage = new Image(\"demoImage\", ImageArgs.builder()\n            .build(DockerBuildArgs.builder()\n                .context(\".\")\n                .dockerfile(\"Dockerfile\")\n                .platform(\"linux/amd64\")\n                .build())\n            .imageName(\"username/image:tag1\")\n            .skipPush(true)\n            .build());\n\n        ctx.export(\"imageName\", demoImage.imageName());\n    }\n}\n```\n{{% /example %}}\n{{% example %}}\n### A Docker image build and push\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst demoPushImage = new docker.Image(\"demo-push-image\", {\n    build: {\n        context: \".\",\n        dockerfile: \"Dockerfile\",\n    },\n    imageName: \"docker.io/username/push-image:tag1\",\n});\nexport const imageName = demoPushImage.imageName;\nexport const repoDigest = demoPushImage.repoDigest;\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\ndemo_push_image = docker.Image(\"demo-push-image\",\n    build={\n        \"context\": \".\",\n        \"dockerfile\": \"Dockerfile\",\n    },\n    image_name=\"docker.io/username/push-image:tag1\")\npulumi.export(\"imageName\", demo_push_image.image_name)\npulumi.export(\"repoDigest\", demo_push_image.repo_digest)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var demoPushImage = new Docker.Image(\"demo-push-image\", new()\n    {\n        Build = new Docker.Inputs.DockerBuildArgs\n        {\n            Context = \".\",\n            Dockerfile = \"Dockerfile\",\n        },\n        ImageName = \"docker.io/username/push-image:tag1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"imageName\"] = demoPushImage.ImageName,\n        [\"repoDigest\"] = demoPushImage.RepoDigest,\n    };\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemoPushImage, err := docker.NewImage(ctx, \"demo-push-image\", \u0026docker.ImageArgs{\n\t\t\tBuild: \u0026docker.DockerBuildArgs{\n\t\t\t\tContext:    pulumi.String(\".\"),\n\t\t\t\tDockerfile: pulumi.String(\"Dockerfile\"),\n\t\t\t},\n\t\t\tImageName: pulumi.String(\"docker.io/username/push-image:tag1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"imageName\", demoPushImage.ImageName)\n\t\tctx.Export(\"repoDigest\", demoPushImage.RepoDigest)\n\t\treturn nil\n\t})\n}\n```\n```yaml\nconfig: {}\ndescription: A Docker image build and push\nname: image-push-yaml\noutputs:\n    imageName: ${demo-push-image.imageName}\n    repoDigest: ${demo-push-image.repoDigest}\nresources:\n    demo-push-image:\n        options:\n            version: v4.4.0\n        properties:\n            build:\n                context: .\n                dockerfile: Dockerfile\n            imageName: docker.io/username/push-image:tag1\n        type: docker:Image\nruntime: yaml\nvariables: {}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.docker.Image;\nimport com.pulumi.docker.ImageArgs;\nimport com.pulumi.docker.inputs.DockerBuildArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var demoPushImage = new Image(\"demoPushImage\", ImageArgs.builder()\n            .build(DockerBuildArgs.builder()\n                .context(\".\")\n                .dockerfile(\"Dockerfile\")\n                .build())\n            .imageName(\"docker.io/username/push-image:tag1\")\n            .build());\n\n        ctx.export(\"imageName\", demoPushImage.imageName());\n        ctx.export(\"repoDigest\", demoPushImage.repoDigest());\n    }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Docker image build using caching with AWS Elastic Container Registry\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as docker from \"@pulumi/docker\";\n\nconst ecrRepository = new aws.ecr.Repository(\"ecr-repository\", {name: \"docker-repository\"});\nconst authToken = aws.ecr.getAuthorizationTokenOutput({\n    registryId: ecrRepository.registryId,\n});\nconst myAppImage = new docker.Image(\"my-app-image\", {\n    build: {\n        args: {\n            BUILDKIT_INLINE_CACHE: \"1\",\n        },\n        cacheFrom: {\n            images: [pulumi.interpolate`${ecrRepository.repositoryUrl}:latest`],\n        },\n        context: \"app/\",\n        dockerfile: \"app/Dockerfile\",\n    },\n    imageName: pulumi.interpolate`${ecrRepository.repositoryUrl}:latest`,\n    registry: {\n        password: pulumi.secret(authToken.apply(authToken =\u003e authToken.password)),\n        server: ecrRepository.repositoryUrl,\n        username: authToken.apply(authToken =\u003e authToken.userName),\n    },\n});\nexport const imageName = myAppImage.imageName;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_docker as docker\n\necr_repository = aws.ecr.Repository(\"ecr-repository\", name=\"docker-repository\")\nauth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)\nmy_app_image = docker.Image(\"my-app-image\",\n    build={\n        \"args\": {\n            \"BUILDKIT_INLINE_CACHE\": \"1\",\n        },\n        \"cache_from\": {\n            \"images\": [ecr_repository.repository_url.apply(lambda repository_url: f\"{repository_url}:latest\")],\n        },\n        \"context\": \"app/\",\n        \"dockerfile\": \"app/Dockerfile\",\n    },\n    image_name=ecr_repository.repository_url.apply(lambda repository_url: f\"{repository_url}:latest\"),\n    registry={\n        \"password\": pulumi.Output.secret(auth_token.password),\n        \"server\": ecr_repository.repository_url,\n        \"username\": auth_token.user_name,\n    })\npulumi.export(\"imageName\", my_app_image.image_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ecrRepository = new Aws.Ecr.Repository(\"ecr-repository\", new()\n    {\n        Name = \"docker-repository\",\n    });\n\n    var authToken = Aws.Ecr.GetAuthorizationToken.Invoke(new()\n    {\n        RegistryId = ecrRepository.RegistryId,\n    });\n\n    var myAppImage = new Docker.Image(\"my-app-image\", new()\n    {\n        Build = new Docker.Inputs.DockerBuildArgs\n        {\n            Args = \n            {\n                { \"BUILDKIT_INLINE_CACHE\", \"1\" },\n            },\n            CacheFrom = new Docker.Inputs.CacheFromArgs\n            {\n                Images = new[]\n                {\n                    ecrRepository.RepositoryUrl.Apply(repositoryUrl =\u003e $\"{repositoryUrl}:latest\"),\n                },\n            },\n            Context = \"app/\",\n            Dockerfile = \"app/Dockerfile\",\n        },\n        ImageName = ecrRepository.RepositoryUrl.Apply(repositoryUrl =\u003e $\"{repositoryUrl}:latest\"),\n        Registry = new Docker.Inputs.RegistryArgs\n        {\n            Password = Output.CreateSecret(authToken.Apply(getAuthorizationTokenResult =\u003e getAuthorizationTokenResult.Password)),\n            Server = ecrRepository.RepositoryUrl,\n            Username = authToken.Apply(getAuthorizationTokenResult =\u003e getAuthorizationTokenResult.UserName),\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"imageName\"] = myAppImage.ImageName,\n    };\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tecrRepository, err := ecr.NewRepository(ctx, \"ecr-repository\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"docker-repository\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthToken := ecr.GetAuthorizationTokenOutput(ctx, ecr.GetAuthorizationTokenOutputArgs{\n\t\t\tRegistryId: ecrRepository.RegistryId,\n\t\t}, nil)\n\t\tmyAppImage, err := docker.NewImage(ctx, \"my-app-image\", \u0026docker.ImageArgs{\n\t\t\tBuild: \u0026docker.DockerBuildArgs{\n\t\t\t\tArgs: pulumi.StringMap{\n\t\t\t\t\t\"BUILDKIT_INLINE_CACHE\": pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\tCacheFrom: \u0026docker.CacheFromArgs{\n\t\t\t\t\tImages: pulumi.StringArray{\n\t\t\t\t\t\tecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:latest\", repositoryUrl), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tContext:    pulumi.String(\"app/\"),\n\t\t\t\tDockerfile: pulumi.String(\"app/Dockerfile\"),\n\t\t\t},\n\t\t\tImageName: ecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:latest\", repositoryUrl), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRegistry: \u0026docker.RegistryArgs{\n\t\t\t\tPassword: pulumi.ToSecret(authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {\n\t\t\t\t\treturn \u0026authToken.Password, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)).(pulumi.StringOutput),\n\t\t\t\tServer: ecrRepository.RepositoryUrl,\n\t\t\t\tUsername: authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {\n\t\t\t\t\treturn \u0026authToken.UserName, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"imageName\", myAppImage.ImageName)\n\t\treturn nil\n\t})\n}\n```\n```yaml\nconfig: {}\ndescription: Docker image build using caching with AWS Elastic Container Registry\nname: image-caching-yaml\noutputs:\n    imageName: ${my-app-image.imageName}\nresources:\n    ecr-repository:\n        properties:\n            name: docker-repository\n        type: aws:ecr:Repository\n    my-app-image:\n        options:\n            version: v4.1.2\n        properties:\n            build:\n                args:\n                    BUILDKIT_INLINE_CACHE: \"1\"\n                cacheFrom:\n                    images:\n                        - ${ecr-repository.repositoryUrl}:latest\n                context: app/\n                dockerfile: app/Dockerfile\n            imageName: ${ecr-repository.repositoryUrl}:latest\n            registry:\n                password:\n                    fn::secret: ${authToken.password}\n                server: ${ecr-repository.repositoryUrl}\n                username: ${authToken.userName}\n        type: docker:Image\nruntime: yaml\nvariables:\n    authToken:\n        fn::aws:ecr:getAuthorizationToken:\n            registryId: ${ecr-repository.registryId}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetAuthorizationTokenArgs;\nimport com.pulumi.docker.Image;\nimport com.pulumi.docker.ImageArgs;\nimport com.pulumi.docker.inputs.DockerBuildArgs;\nimport com.pulumi.docker.inputs.CacheFromArgs;\nimport com.pulumi.docker.inputs.RegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ecrRepository = new Repository(\"ecrRepository\", RepositoryArgs.builder()\n            .name(\"docker-repository\")\n            .build());\n\n        final var authToken = EcrFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()\n            .registryId(ecrRepository.registryId())\n            .build());\n\n        var myAppImage = new Image(\"myAppImage\", ImageArgs.builder()\n            .build(DockerBuildArgs.builder()\n                .args(Map.of(\"BUILDKIT_INLINE_CACHE\", \"1\"))\n                .cacheFrom(CacheFromArgs.builder()\n                    .images(ecrRepository.repositoryUrl().applyValue(_repositoryUrl -\u003e String.format(\"%s:latest\", _repositoryUrl)))\n                    .build())\n                .context(\"app/\")\n                .dockerfile(\"app/Dockerfile\")\n                .build())\n            .imageName(ecrRepository.repositoryUrl().applyValue(_repositoryUrl -\u003e String.format(\"%s:latest\", _repositoryUrl)))\n            .registry(RegistryArgs.builder()\n                .password(Output.ofSecret(authToken.applyValue(_authToken -\u003e _authToken.password())))\n                .server(ecrRepository.repositoryUrl())\n                .username(authToken.applyValue(_authToken -\u003e _authToken.userName()))\n                .build())\n            .build());\n\n        ctx.export(\"imageName\", myAppImage.imageName());\n    }\n}\n```\n{{% /example %}}\n{{% /examples %}}","properties":{"baseImageName":{"type":"string","description":"The fully qualified image name that was pushed to the registry."},"context":{"type":"string","description":"The path to the build context to use."},"dockerfile":{"type":"string","description":"The location of the Dockerfile relative to the docker build context."},"imageName":{"type":"string","description":"The fully qualified image name"},"platform":{"type":"string","description":"The image's architecture and OS"},"registryServer":{"type":"string","description":"The name of the registry server hosting the image."},"repoDigest":{"type":"string","description":"**For pushed images:**\nThe manifest digest of an image pushed to a registry, of the format repository@\u003calgorithm\u003e:\u003chash\u003e, e.g. `username/demo-image@sha256:a6ae6dd8d39c5bb02320e41abf00cd4cb35905fec540e37d306c878be8d38bd3`.\nThis reference is unique per image build and push. \nOnly available for images pushed to a registry.\nUse when passing a reference to a pushed image to container management resources.\n\n**Local-only images**For local images, this field is the image ID of the built local image, of the format \u003calgorithm\u003e:\u003chash\u003e, e.g `sha256:826a130323165bb0ccb0374ae774f885c067a951b51a6ee133577f4e5dbc4119` \n"}},"type":"object","required":["dockerfile","context","baseImageName","registryServer","imageName","repoDigest"],"inputProperties":{"build":{"$ref":"#/types/docker:index/dockerBuild:DockerBuild","description":"The Docker build context"},"buildOnPreview":{"type":"boolean","description":"A flag to build an image on preview","default":false},"imageName":{"type":"string","description":"The image name, of the format repository[:tag], e.g. `docker.io/username/demo-image:v1`.\nThis reference is not unique to each build and push.For the unique manifest SHA of a pushed docker image, or the local image ID, please use `repoDigest`."},"registry":{"$ref":"#/types/docker:index/registry:Registry","description":"The registry to push the image to"},"skipPush":{"type":"boolean","description":"A flag to skip a registry push.","default":false}},"requiredInputs":["imageName"],"aliases":[{"type":"docker:image:Image"}]},"docker:index/network:Network":{"description":"\u003c!-- Bug: Type and Name are switched --\u003e\n\u003cspan pulumi-lang-nodejs=\"`docker.Network`\" pulumi-lang-dotnet=\"`docker.Network`\" pulumi-lang-go=\"`Network`\" pulumi-lang-python=\"`Network`\" pulumi-lang-yaml=\"`docker.Network`\" pulumi-lang-java=\"`docker.Network`\"\u003e`docker.Network`\u003c/span\u003e provides a docker network resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst privateNetwork = new docker.Network(\"private_network\", {name: \"my_network\"});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nprivate_network = docker.Network(\"private_network\", name=\"my_network\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var privateNetwork = new Docker.Network(\"private_network\", new()\n    {\n        Name = \"my_network\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docker.NewNetwork(ctx, \"private_network\", \u0026docker.NetworkArgs{\n\t\t\tName: pulumi.String(\"my_network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.docker.Network;\nimport com.pulumi.docker.NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var privateNetwork = new Network(\"privateNetwork\", NetworkArgs.builder()\n            .name(\"my_network\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  privateNetwork:\n    type: docker:Network\n    name: private_network\n    properties:\n      name: my_network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n### Example\n\nAssuming you created a `network` as follows\n\n#!/bin/bash\n\ndocker network create foo\n\nprints the long ID\n\n87b57a9b91ecab2db2a6dbf38df74c67d7c7108cbe479d6576574ec2cd8c2d73\n\nyou provide the definition for the resource as follows\n\nterraform\n\nresource \"docker_network\" \"foo\" {\n\n  name = \"foo\"\n\n}\n\nthen the import command is as follows\n\n#!/bin/bash\n\n```sh\n$ pulumi import docker:index/network:Network foo 87b57a9b91ecab2db2a6dbf38df74c67d7c7108cbe479d6576574ec2cd8c2d73\n```\n\n","properties":{"attachable":{"type":"boolean","description":"Enable manual container attachment to the network.\n"},"checkDuplicate":{"type":"boolean","description":"Requests daemon to check for networks with same name.\n","deprecationMessage":"This option is deprecated and will be removed in a future version. The Docker daemon will always check for duplicate networks."},"driver":{"type":"string","description":"The driver of the Docker network. Possible values are \u003cspan pulumi-lang-nodejs=\"`bridge`\" pulumi-lang-dotnet=\"`Bridge`\" pulumi-lang-go=\"`bridge`\" pulumi-lang-python=\"`bridge`\" pulumi-lang-yaml=\"`bridge`\" pulumi-lang-java=\"`bridge`\"\u003e`bridge`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`overlay`\" pulumi-lang-dotnet=\"`Overlay`\" pulumi-lang-go=\"`overlay`\" pulumi-lang-python=\"`overlay`\" pulumi-lang-yaml=\"`overlay`\" pulumi-lang-java=\"`overlay`\"\u003e`overlay`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`macvlan`\" pulumi-lang-dotnet=\"`Macvlan`\" pulumi-lang-go=\"`macvlan`\" pulumi-lang-python=\"`macvlan`\" pulumi-lang-yaml=\"`macvlan`\" pulumi-lang-java=\"`macvlan`\"\u003e`macvlan`\u003c/span\u003e. See [network docs](https://docs.docker.com/network/#network-drivers) for more details.\n"},"ingress":{"type":"boolean","description":"Create swarm routing-mesh network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"internal":{"type":"boolean","description":"Whether the network is internal.\n"},"ipamConfigs":{"type":"array","items":{"$ref":"#/types/docker:index/NetworkIpamConfig:NetworkIpamConfig"},"description":"The IPAM configuration options\n"},"ipamDriver":{"type":"string","description":"Driver used by the custom IP scheme of the network. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n"},"ipamOptions":{"type":"object","additionalProperties":{"type":"string"},"description":"Provide explicit options to the IPAM driver. Valid options vary with \u003cspan pulumi-lang-nodejs=\"`ipamDriver`\" pulumi-lang-dotnet=\"`IpamDriver`\" pulumi-lang-go=\"`ipamDriver`\" pulumi-lang-python=\"`ipam_driver`\" pulumi-lang-yaml=\"`ipamDriver`\" pulumi-lang-java=\"`ipamDriver`\"\u003e`ipam_driver`\u003c/span\u003e and refer to that driver's documentation for more details.\n"},"ipv6":{"type":"boolean","description":"Enable IPv6 networking. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/NetworkLabel:NetworkLabel"},"description":"User-defined key/value metadata\n"},"name":{"type":"string","description":"The name of the Docker network.\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"Only available with bridge networks. See [bridge options docs](https://docs.docker.com/engine/reference/commandline/network_create/#bridge-driver-options) for more details.\n"},"scope":{"type":"string","description":"Scope of the network. One of \u003cspan pulumi-lang-nodejs=\"`swarm`\" pulumi-lang-dotnet=\"`Swarm`\" pulumi-lang-go=\"`swarm`\" pulumi-lang-python=\"`swarm`\" pulumi-lang-yaml=\"`swarm`\" pulumi-lang-java=\"`swarm`\"\u003e`swarm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e.\n"}},"required":["driver","internal","ipamConfigs","name","options","scope"],"inputProperties":{"attachable":{"type":"boolean","description":"Enable manual container attachment to the network.\n","willReplaceOnChanges":true},"checkDuplicate":{"type":"boolean","description":"Requests daemon to check for networks with same name.\n","deprecationMessage":"This option is deprecated and will be removed in a future version. The Docker daemon will always check for duplicate networks.","willReplaceOnChanges":true},"driver":{"type":"string","description":"The driver of the Docker network. Possible values are \u003cspan pulumi-lang-nodejs=\"`bridge`\" pulumi-lang-dotnet=\"`Bridge`\" pulumi-lang-go=\"`bridge`\" pulumi-lang-python=\"`bridge`\" pulumi-lang-yaml=\"`bridge`\" pulumi-lang-java=\"`bridge`\"\u003e`bridge`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`overlay`\" pulumi-lang-dotnet=\"`Overlay`\" pulumi-lang-go=\"`overlay`\" pulumi-lang-python=\"`overlay`\" pulumi-lang-yaml=\"`overlay`\" pulumi-lang-java=\"`overlay`\"\u003e`overlay`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`macvlan`\" pulumi-lang-dotnet=\"`Macvlan`\" pulumi-lang-go=\"`macvlan`\" pulumi-lang-python=\"`macvlan`\" pulumi-lang-yaml=\"`macvlan`\" pulumi-lang-java=\"`macvlan`\"\u003e`macvlan`\u003c/span\u003e. See [network docs](https://docs.docker.com/network/#network-drivers) for more details.\n","willReplaceOnChanges":true},"ingress":{"type":"boolean","description":"Create swarm routing-mesh network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"internal":{"type":"boolean","description":"Whether the network is internal.\n","willReplaceOnChanges":true},"ipamConfigs":{"type":"array","items":{"$ref":"#/types/docker:index/NetworkIpamConfig:NetworkIpamConfig"},"description":"The IPAM configuration options\n","willReplaceOnChanges":true},"ipamDriver":{"type":"string","description":"Driver used by the custom IP scheme of the network. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n","willReplaceOnChanges":true},"ipamOptions":{"type":"object","additionalProperties":{"type":"string"},"description":"Provide explicit options to the IPAM driver. Valid options vary with \u003cspan pulumi-lang-nodejs=\"`ipamDriver`\" pulumi-lang-dotnet=\"`IpamDriver`\" pulumi-lang-go=\"`ipamDriver`\" pulumi-lang-python=\"`ipam_driver`\" pulumi-lang-yaml=\"`ipamDriver`\" pulumi-lang-java=\"`ipamDriver`\"\u003e`ipam_driver`\u003c/span\u003e and refer to that driver's documentation for more details.\n","willReplaceOnChanges":true},"ipv6":{"type":"boolean","description":"Enable IPv6 networking. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/NetworkLabel:NetworkLabel"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Docker network.\n","willReplaceOnChanges":true},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"Only available with bridge networks. See [bridge options docs](https://docs.docker.com/engine/reference/commandline/network_create/#bridge-driver-options) for more details.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering Network resources.\n","properties":{"attachable":{"type":"boolean","description":"Enable manual container attachment to the network.\n","willReplaceOnChanges":true},"checkDuplicate":{"type":"boolean","description":"Requests daemon to check for networks with same name.\n","deprecationMessage":"This option is deprecated and will be removed in a future version. The Docker daemon will always check for duplicate networks.","willReplaceOnChanges":true},"driver":{"type":"string","description":"The driver of the Docker network. Possible values are \u003cspan pulumi-lang-nodejs=\"`bridge`\" pulumi-lang-dotnet=\"`Bridge`\" pulumi-lang-go=\"`bridge`\" pulumi-lang-python=\"`bridge`\" pulumi-lang-yaml=\"`bridge`\" pulumi-lang-java=\"`bridge`\"\u003e`bridge`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`overlay`\" pulumi-lang-dotnet=\"`Overlay`\" pulumi-lang-go=\"`overlay`\" pulumi-lang-python=\"`overlay`\" pulumi-lang-yaml=\"`overlay`\" pulumi-lang-java=\"`overlay`\"\u003e`overlay`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`macvlan`\" pulumi-lang-dotnet=\"`Macvlan`\" pulumi-lang-go=\"`macvlan`\" pulumi-lang-python=\"`macvlan`\" pulumi-lang-yaml=\"`macvlan`\" pulumi-lang-java=\"`macvlan`\"\u003e`macvlan`\u003c/span\u003e. See [network docs](https://docs.docker.com/network/#network-drivers) for more details.\n","willReplaceOnChanges":true},"ingress":{"type":"boolean","description":"Create swarm routing-mesh network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"internal":{"type":"boolean","description":"Whether the network is internal.\n","willReplaceOnChanges":true},"ipamConfigs":{"type":"array","items":{"$ref":"#/types/docker:index/NetworkIpamConfig:NetworkIpamConfig"},"description":"The IPAM configuration options\n","willReplaceOnChanges":true},"ipamDriver":{"type":"string","description":"Driver used by the custom IP scheme of the network. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n","willReplaceOnChanges":true},"ipamOptions":{"type":"object","additionalProperties":{"type":"string"},"description":"Provide explicit options to the IPAM driver. Valid options vary with \u003cspan pulumi-lang-nodejs=\"`ipamDriver`\" pulumi-lang-dotnet=\"`IpamDriver`\" pulumi-lang-go=\"`ipamDriver`\" pulumi-lang-python=\"`ipam_driver`\" pulumi-lang-yaml=\"`ipamDriver`\" pulumi-lang-java=\"`ipamDriver`\"\u003e`ipam_driver`\u003c/span\u003e and refer to that driver's documentation for more details.\n","willReplaceOnChanges":true},"ipv6":{"type":"boolean","description":"Enable IPv6 networking. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/NetworkLabel:NetworkLabel"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Docker network.\n","willReplaceOnChanges":true},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"Only available with bridge networks. See [bridge options docs](https://docs.docker.com/engine/reference/commandline/network_create/#bridge-driver-options) for more details.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Scope of the network. One of \u003cspan pulumi-lang-nodejs=\"`swarm`\" pulumi-lang-dotnet=\"`Swarm`\" pulumi-lang-go=\"`swarm`\" pulumi-lang-python=\"`swarm`\" pulumi-lang-yaml=\"`swarm`\" pulumi-lang-java=\"`swarm`\"\u003e`swarm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e.\n"}},"type":"object"}},"docker:index/plugin:Plugin":{"description":"\u003c!-- Bug: Type and Name are switched --\u003e\nManages the lifecycle of a Docker plugin.\n\n## Import\n\n#!/bin/bash\n\n```sh\n$ pulumi import docker:index/plugin:Plugin sample-volume-plugin \"$(docker plugin inspect -f {{.ID}} tiborvass/sample-volume-plugin:latest)\"\n```\n\n","properties":{"alias":{"type":"string","description":"Docker Plugin alias\n"},"enableTimeout":{"type":"integer","description":"HTTP client timeout to enable the plugin\n"},"enabled":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the plugin is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"envs":{"type":"array","items":{"type":"string"},"description":"The environment variables in the form of `KEY=VALUE`, e.g. `DEBUG=0`\n"},"forceDestroy":{"type":"boolean","description":"If true, then the plugin is destroyed forcibly\n"},"forceDisable":{"type":"boolean","description":"If true, then the plugin is disabled forcibly\n"},"grantAllPermissions":{"type":"boolean","description":"If true, grant all permissions necessary to run the plugin\n"},"grantPermissions":{"type":"array","items":{"$ref":"#/types/docker:index/PluginGrantPermission:PluginGrantPermission"},"description":"Grant specific permissions only\n"},"name":{"type":"string","description":"Docker Plugin name\n"},"pluginReference":{"type":"string","description":"Docker Plugin Reference\n"}},"required":["alias","envs","name","pluginReference"],"inputProperties":{"alias":{"type":"string","description":"Docker Plugin alias\n","willReplaceOnChanges":true},"enableTimeout":{"type":"integer","description":"HTTP client timeout to enable the plugin\n"},"enabled":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the plugin is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"envs":{"type":"array","items":{"type":"string"},"description":"The environment variables in the form of `KEY=VALUE`, e.g. `DEBUG=0`\n"},"forceDestroy":{"type":"boolean","description":"If true, then the plugin is destroyed forcibly\n"},"forceDisable":{"type":"boolean","description":"If true, then the plugin is disabled forcibly\n"},"grantAllPermissions":{"type":"boolean","description":"If true, grant all permissions necessary to run the plugin\n"},"grantPermissions":{"type":"array","items":{"$ref":"#/types/docker:index/PluginGrantPermission:PluginGrantPermission"},"description":"Grant specific permissions only\n"},"name":{"type":"string","description":"Docker Plugin name\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering Plugin resources.\n","properties":{"alias":{"type":"string","description":"Docker Plugin alias\n","willReplaceOnChanges":true},"enableTimeout":{"type":"integer","description":"HTTP client timeout to enable the plugin\n"},"enabled":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the plugin is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"envs":{"type":"array","items":{"type":"string"},"description":"The environment variables in the form of `KEY=VALUE`, e.g. `DEBUG=0`\n"},"forceDestroy":{"type":"boolean","description":"If true, then the plugin is destroyed forcibly\n"},"forceDisable":{"type":"boolean","description":"If true, then the plugin is disabled forcibly\n"},"grantAllPermissions":{"type":"boolean","description":"If true, grant all permissions necessary to run the plugin\n"},"grantPermissions":{"type":"array","items":{"$ref":"#/types/docker:index/PluginGrantPermission:PluginGrantPermission"},"description":"Grant specific permissions only\n"},"name":{"type":"string","description":"Docker Plugin name\n","willReplaceOnChanges":true},"pluginReference":{"type":"string","description":"Docker Plugin Reference\n"}},"type":"object"}},"docker:index/registryImage:RegistryImage":{"description":"\u003c!-- Bug: Type and Name are switched --\u003e\nManages the lifecycle of docker image in a registry. You can upload images to a registry (= `docker push`) and also delete them again\n\n## Example Usage\n\nBuild an image with the \u003cspan pulumi-lang-nodejs=\"`docker.RemoteImage`\" pulumi-lang-dotnet=\"`docker.RemoteImage`\" pulumi-lang-go=\"`RemoteImage`\" pulumi-lang-python=\"`RemoteImage`\" pulumi-lang-yaml=\"`docker.RemoteImage`\" pulumi-lang-java=\"`docker.RemoteImage`\"\u003e`docker.RemoteImage`\u003c/span\u003e resource and then push it to a registry:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst image = new docker.RemoteImage(\"image\", {\n    name: \"registry.com/somename:1.0\",\n    build: {\n        context: `${process.cwd()}/absolutePathToContextFolder`,\n    },\n});\nconst helloworld = new docker.RegistryImage(\"helloworld\", {\n    name: image.name,\n    keepRemotely: true,\n});\n```\n```python\nimport pulumi\nimport os\nimport pulumi_docker as docker\n\nimage = docker.RemoteImage(\"image\",\n    name=\"registry.com/somename:1.0\",\n    build={\n        \"context\": f\"{os.getcwd()}/absolutePathToContextFolder\",\n    })\nhelloworld = docker.RegistryImage(\"helloworld\",\n    name=image.name,\n    keep_remotely=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var image = new Docker.RemoteImage(\"image\", new()\n    {\n        Name = \"registry.com/somename:1.0\",\n        Build = new Docker.Inputs.RemoteImageBuildArgs\n        {\n            Context = $\"{Directory.GetCurrentDirectory()}/absolutePathToContextFolder\",\n        },\n    });\n\n    var helloworld = new Docker.RegistryImage(\"helloworld\", new()\n    {\n        Name = image.Name,\n        KeepRemotely = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timage, err := docker.NewRemoteImage(ctx, \"image\", \u0026docker.RemoteImageArgs{\n\t\t\tName: pulumi.String(\"registry.com/somename:1.0\"),\n\t\t\tBuild: \u0026docker.RemoteImageBuildArgs{\n\t\t\t\tContext: pulumi.Sprintf(\"%v/absolutePathToContextFolder\", func(cwd string, err error) string {\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\tpanic(err)\n\t\t\t\t\t}\n\t\t\t\t\treturn cwd\n\t\t\t\t}(os.Getwd())),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docker.NewRegistryImage(ctx, \"helloworld\", \u0026docker.RegistryImageArgs{\n\t\t\tName:         image.Name,\n\t\t\tKeepRemotely: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"authConfig":{"$ref":"#/types/docker:index/RegistryImageAuthConfig:RegistryImageAuthConfig","description":"Authentication configuration for the Docker registry. It is only used for this resource.\n"},"build":{"$ref":"#/types/docker:index/RegistryImageBuild:RegistryImageBuild"},"insecureSkipVerify":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the verification of TLS certificates of the server/registry is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"keepRemotely":{"type":"boolean","description":"If true, then the Docker image won't be deleted on destroy operation. If this is false, it will delete the image from the docker registry on destroy operation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"name":{"type":"string","description":"The name of the Docker image.\n"},"sha256Digest":{"type":"string","description":"The sha256 digest of the image.\n"},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of arbitrary strings that, when changed, will force the \u003cspan pulumi-lang-nodejs=\"`docker.RegistryImage`\" pulumi-lang-dotnet=\"`docker.RegistryImage`\" pulumi-lang-go=\"`RegistryImage`\" pulumi-lang-python=\"`RegistryImage`\" pulumi-lang-yaml=\"`docker.RegistryImage`\" pulumi-lang-java=\"`docker.RegistryImage`\"\u003e`docker.RegistryImage`\u003c/span\u003e resource to be replaced. This can be used to repush a local image\n"}},"required":["name","sha256Digest"],"inputProperties":{"authConfig":{"$ref":"#/types/docker:index/RegistryImageAuthConfig:RegistryImageAuthConfig","description":"Authentication configuration for the Docker registry. It is only used for this resource.\n"},"build":{"$ref":"#/types/docker:index/RegistryImageBuild:RegistryImageBuild"},"insecureSkipVerify":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the verification of TLS certificates of the server/registry is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"keepRemotely":{"type":"boolean","description":"If true, then the Docker image won't be deleted on destroy operation. If this is false, it will delete the image from the docker registry on destroy operation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"name":{"type":"string","description":"The name of the Docker image.\n","willReplaceOnChanges":true},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of arbitrary strings that, when changed, will force the \u003cspan pulumi-lang-nodejs=\"`docker.RegistryImage`\" pulumi-lang-dotnet=\"`docker.RegistryImage`\" pulumi-lang-go=\"`RegistryImage`\" pulumi-lang-python=\"`RegistryImage`\" pulumi-lang-yaml=\"`docker.RegistryImage`\" pulumi-lang-java=\"`docker.RegistryImage`\"\u003e`docker.RegistryImage`\u003c/span\u003e resource to be replaced. This can be used to repush a local image\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering RegistryImage resources.\n","properties":{"authConfig":{"$ref":"#/types/docker:index/RegistryImageAuthConfig:RegistryImageAuthConfig","description":"Authentication configuration for the Docker registry. It is only used for this resource.\n"},"build":{"$ref":"#/types/docker:index/RegistryImageBuild:RegistryImageBuild"},"insecureSkipVerify":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the verification of TLS certificates of the server/registry is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"keepRemotely":{"type":"boolean","description":"If true, then the Docker image won't be deleted on destroy operation. If this is false, it will delete the image from the docker registry on destroy operation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"name":{"type":"string","description":"The name of the Docker image.\n","willReplaceOnChanges":true},"sha256Digest":{"type":"string","description":"The sha256 digest of the image.\n"},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of arbitrary strings that, when changed, will force the \u003cspan pulumi-lang-nodejs=\"`docker.RegistryImage`\" pulumi-lang-dotnet=\"`docker.RegistryImage`\" pulumi-lang-go=\"`RegistryImage`\" pulumi-lang-python=\"`RegistryImage`\" pulumi-lang-yaml=\"`docker.RegistryImage`\" pulumi-lang-java=\"`docker.RegistryImage`\"\u003e`docker.RegistryImage`\u003c/span\u003e resource to be replaced. This can be used to repush a local image\n","willReplaceOnChanges":true}},"type":"object"}},"docker:index/remoteImage:RemoteImage":{"properties":{"build":{"$ref":"#/types/docker:index/RemoteImageBuild:RemoteImageBuild"},"forceRemove":{"type":"boolean","description":"If true, then the image is removed forcibly when the resource is destroyed.\n"},"imageId":{"type":"string","description":"The ID of the image (as seen when executing `docker inspect` on the image). Can be used to reference the image via its ID in other resources.\n"},"keepLocally":{"type":"boolean","description":"If true, then the Docker image won't be deleted on destroy operation. If this is false, it will delete the image from the docker local storage on destroy operation.\n"},"name":{"type":"string","description":"The name of the Docker image, including any tags or SHA256 repo digests.\n"},"platform":{"type":"string","description":"The platform to use when pulling the image. Defaults to the platform of the current machine.\n"},"pullTriggers":{"type":"array","items":{"type":"string"},"description":"List of values which cause an image pull when changed. This is used to store the image digest from the registry when using the docker*registry*image.\n"},"repoDigest":{"type":"string","description":"The image sha256 digest in the form of `repo[:tag]@sha256:\u003chash\u003e`. This may not be populated when building an image, because it is read from the local Docker client and so may be available only when the image was either pulled from the repo or pushed to the repo (perhaps using \u003cspan pulumi-lang-nodejs=\"`docker.RegistryImage`\" pulumi-lang-dotnet=\"`docker.RegistryImage`\" pulumi-lang-go=\"`RegistryImage`\" pulumi-lang-python=\"`RegistryImage`\" pulumi-lang-yaml=\"`docker.RegistryImage`\" pulumi-lang-java=\"`docker.RegistryImage`\"\u003e`docker.RegistryImage`\u003c/span\u003e) in a previous run.\n"},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of arbitrary strings that, when changed, will force the \u003cspan pulumi-lang-nodejs=\"`docker.RemoteImage`\" pulumi-lang-dotnet=\"`docker.RemoteImage`\" pulumi-lang-go=\"`RemoteImage`\" pulumi-lang-python=\"`RemoteImage`\" pulumi-lang-yaml=\"`docker.RemoteImage`\" pulumi-lang-java=\"`docker.RemoteImage`\"\u003e`docker.RemoteImage`\u003c/span\u003e resource to be replaced. This can be used to rebuild an image when contents of source code folders change\n"}},"required":["imageId","name","repoDigest"],"inputProperties":{"build":{"$ref":"#/types/docker:index/RemoteImageBuild:RemoteImageBuild"},"forceRemove":{"type":"boolean","description":"If true, then the image is removed forcibly when the resource is destroyed.\n"},"keepLocally":{"type":"boolean","description":"If true, then the Docker image won't be deleted on destroy operation. If this is false, it will delete the image from the docker local storage on destroy operation.\n"},"name":{"type":"string","description":"The name of the Docker image, including any tags or SHA256 repo digests.\n","willReplaceOnChanges":true},"platform":{"type":"string","description":"The platform to use when pulling the image. Defaults to the platform of the current machine.\n","willReplaceOnChanges":true},"pullTriggers":{"type":"array","items":{"type":"string"},"description":"List of values which cause an image pull when changed. This is used to store the image digest from the registry when using the docker*registry*image.\n","willReplaceOnChanges":true},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of arbitrary strings that, when changed, will force the \u003cspan pulumi-lang-nodejs=\"`docker.RemoteImage`\" pulumi-lang-dotnet=\"`docker.RemoteImage`\" pulumi-lang-go=\"`RemoteImage`\" pulumi-lang-python=\"`RemoteImage`\" pulumi-lang-yaml=\"`docker.RemoteImage`\" pulumi-lang-java=\"`docker.RemoteImage`\"\u003e`docker.RemoteImage`\u003c/span\u003e resource to be replaced. This can be used to rebuild an image when contents of source code folders change\n","willReplaceOnChanges":true}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering RemoteImage resources.\n","properties":{"build":{"$ref":"#/types/docker:index/RemoteImageBuild:RemoteImageBuild"},"forceRemove":{"type":"boolean","description":"If true, then the image is removed forcibly when the resource is destroyed.\n"},"imageId":{"type":"string","description":"The ID of the image (as seen when executing `docker inspect` on the image). Can be used to reference the image via its ID in other resources.\n"},"keepLocally":{"type":"boolean","description":"If true, then the Docker image won't be deleted on destroy operation. If this is false, it will delete the image from the docker local storage on destroy operation.\n"},"name":{"type":"string","description":"The name of the Docker image, including any tags or SHA256 repo digests.\n","willReplaceOnChanges":true},"platform":{"type":"string","description":"The platform to use when pulling the image. Defaults to the platform of the current machine.\n","willReplaceOnChanges":true},"pullTriggers":{"type":"array","items":{"type":"string"},"description":"List of values which cause an image pull when changed. This is used to store the image digest from the registry when using the docker*registry*image.\n","willReplaceOnChanges":true},"repoDigest":{"type":"string","description":"The image sha256 digest in the form of `repo[:tag]@sha256:\u003chash\u003e`. This may not be populated when building an image, because it is read from the local Docker client and so may be available only when the image was either pulled from the repo or pushed to the repo (perhaps using \u003cspan pulumi-lang-nodejs=\"`docker.RegistryImage`\" pulumi-lang-dotnet=\"`docker.RegistryImage`\" pulumi-lang-go=\"`RegistryImage`\" pulumi-lang-python=\"`RegistryImage`\" pulumi-lang-yaml=\"`docker.RegistryImage`\" pulumi-lang-java=\"`docker.RegistryImage`\"\u003e`docker.RegistryImage`\u003c/span\u003e) in a previous run.\n"},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of arbitrary strings that, when changed, will force the \u003cspan pulumi-lang-nodejs=\"`docker.RemoteImage`\" pulumi-lang-dotnet=\"`docker.RemoteImage`\" pulumi-lang-go=\"`RemoteImage`\" pulumi-lang-python=\"`RemoteImage`\" pulumi-lang-yaml=\"`docker.RemoteImage`\" pulumi-lang-java=\"`docker.RemoteImage`\"\u003e`docker.RemoteImage`\u003c/span\u003e resource to be replaced. This can be used to rebuild an image when contents of source code folders change\n","willReplaceOnChanges":true}},"type":"object"}},"docker:index/secret:Secret":{"description":"\n\n## Import\n\n#!/bin/bash\n\nDocker secret cannot be imported as the secret data, once set, is never exposed again.\n\n","properties":{"data":{"type":"string","description":"Base64-url-safe-encoded secret data\n","secret":true},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/SecretLabel:SecretLabel"},"description":"User-defined key/value metadata\n"},"name":{"type":"string","description":"User-defined name of the secret\n"}},"required":["data","name"],"inputProperties":{"data":{"type":"string","description":"Base64-url-safe-encoded secret data\n","secret":true,"willReplaceOnChanges":true},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/SecretLabel:SecretLabel"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"name":{"type":"string","description":"User-defined name of the secret\n","willReplaceOnChanges":true}},"requiredInputs":["data"],"stateInputs":{"description":"Input properties used for looking up and filtering Secret resources.\n","properties":{"data":{"type":"string","description":"Base64-url-safe-encoded secret data\n","secret":true,"willReplaceOnChanges":true},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/SecretLabel:SecretLabel"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"name":{"type":"string","description":"User-defined name of the secret\n","willReplaceOnChanges":true}},"type":"object"}},"docker:index/service:Service":{"description":"\n\n## Import\n\n### Example\n\nAssuming you created a `service` as follows\n\n#!/bin/bash\n\ndocker service create --name foo -p 8080:80 nginx\n\nprints th ID\n\n4pcphbxkfn2rffhbhe6czytgi\n\nyou provide the definition for the resource as follows\n\nterraform\n\nresource \"docker_service\" \"foo\" {\n\n  name = \"foo\"\n\n  task_spec {\n\n    container_spec {\n\n      image = \"nginx\"\n\n    }\n\n  }\n\n  endpoint_spec {\n\n    ports {\n\n      target_port    = \"80\"\n\n      published_port = \"8080\"\n\n    }\n\n  }\n\n}\n\nthen the import command is as follows\n\n#!/bin/bash\n\n```sh\n$ pulumi import docker:index/service:Service foo 4pcphbxkfn2rffhbhe6czytgi\n```\n\n","properties":{"auth":{"$ref":"#/types/docker:index/ServiceAuth:ServiceAuth","description":"Configuration for the authentication for pulling the images of the service\n"},"convergeConfig":{"$ref":"#/types/docker:index/ServiceConvergeConfig:ServiceConvergeConfig","description":"A configuration to ensure that a service converges aka reaches the desired that of all task up and running\n"},"endpointSpec":{"$ref":"#/types/docker:index/ServiceEndpointSpec:ServiceEndpointSpec","description":"Properties that can be configured to access and load balance a service\n"},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceLabel:ServiceLabel"},"description":"User-defined key/value metadata\n"},"mode":{"$ref":"#/types/docker:index/ServiceMode:ServiceMode","description":"Scheduling mode for the service\n"},"name":{"type":"string","description":"Name of the service\n"},"rollbackConfig":{"$ref":"#/types/docker:index/ServiceRollbackConfig:ServiceRollbackConfig","description":"Specification for the rollback strategy of the service\n"},"taskSpec":{"$ref":"#/types/docker:index/ServiceTaskSpec:ServiceTaskSpec","description":"User modifiable task configuration\n"},"updateConfig":{"$ref":"#/types/docker:index/ServiceUpdateConfig:ServiceUpdateConfig","description":"Specification for the update strategy of the service\n"}},"required":["endpointSpec","labels","mode","name","taskSpec"],"inputProperties":{"auth":{"$ref":"#/types/docker:index/ServiceAuth:ServiceAuth","description":"Configuration for the authentication for pulling the images of the service\n","willReplaceOnChanges":true},"convergeConfig":{"$ref":"#/types/docker:index/ServiceConvergeConfig:ServiceConvergeConfig","description":"A configuration to ensure that a service converges aka reaches the desired that of all task up and running\n"},"endpointSpec":{"$ref":"#/types/docker:index/ServiceEndpointSpec:ServiceEndpointSpec","description":"Properties that can be configured to access and load balance a service\n"},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceLabel:ServiceLabel"},"description":"User-defined key/value metadata\n"},"mode":{"$ref":"#/types/docker:index/ServiceMode:ServiceMode","description":"Scheduling mode for the service\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the service\n","willReplaceOnChanges":true},"rollbackConfig":{"$ref":"#/types/docker:index/ServiceRollbackConfig:ServiceRollbackConfig","description":"Specification for the rollback strategy of the service\n"},"taskSpec":{"$ref":"#/types/docker:index/ServiceTaskSpec:ServiceTaskSpec","description":"User modifiable task configuration\n"},"updateConfig":{"$ref":"#/types/docker:index/ServiceUpdateConfig:ServiceUpdateConfig","description":"Specification for the update strategy of the service\n"}},"requiredInputs":["taskSpec"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"auth":{"$ref":"#/types/docker:index/ServiceAuth:ServiceAuth","description":"Configuration for the authentication for pulling the images of the service\n","willReplaceOnChanges":true},"convergeConfig":{"$ref":"#/types/docker:index/ServiceConvergeConfig:ServiceConvergeConfig","description":"A configuration to ensure that a service converges aka reaches the desired that of all task up and running\n"},"endpointSpec":{"$ref":"#/types/docker:index/ServiceEndpointSpec:ServiceEndpointSpec","description":"Properties that can be configured to access and load balance a service\n"},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/ServiceLabel:ServiceLabel"},"description":"User-defined key/value metadata\n"},"mode":{"$ref":"#/types/docker:index/ServiceMode:ServiceMode","description":"Scheduling mode for the service\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the service\n","willReplaceOnChanges":true},"rollbackConfig":{"$ref":"#/types/docker:index/ServiceRollbackConfig:ServiceRollbackConfig","description":"Specification for the rollback strategy of the service\n"},"taskSpec":{"$ref":"#/types/docker:index/ServiceTaskSpec:ServiceTaskSpec","description":"User modifiable task configuration\n"},"updateConfig":{"$ref":"#/types/docker:index/ServiceUpdateConfig:ServiceUpdateConfig","description":"Specification for the update strategy of the service\n"}},"type":"object"}},"docker:index/serviceConfig:ServiceConfig":{"description":"\n\n## Import\n\n### Example\n\nAssuming you created a `config` as follows\n\n#!/bin/bash\n\nprintf '{\"a\":\"b\"}' | docker config create foo -\n\nprints the id \n\n08c26c477474478d971139f750984775a7f019dbe8a2e7f09d66a187c009e66d\n\nyou provide the definition for the resource as follows\n\nterraform\n\nresource \"docker_config\" \"foo\" {\n\n  name = \"foo\"\n\n  data = base64encode(\"{\\\"a\\\": \\\"b\\\"}\")\n\n}\n\nthen the import command is as follows\n\n#!/bin/bash\n\n```sh\n$ pulumi import docker:index/serviceConfig:ServiceConfig foo 08c26c477474478d971139f750984775a7f019dbe8a2e7f09d66a187c009e66d\n```\n\n","properties":{"data":{"type":"string","description":"Base64-url-safe-encoded config data\n"},"name":{"type":"string","description":"User-defined name of the config\n"}},"required":["data","name"],"inputProperties":{"data":{"type":"string","description":"Base64-url-safe-encoded config data\n","willReplaceOnChanges":true},"name":{"type":"string","description":"User-defined name of the config\n","willReplaceOnChanges":true}},"requiredInputs":["data"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceConfig resources.\n","properties":{"data":{"type":"string","description":"Base64-url-safe-encoded config data\n","willReplaceOnChanges":true},"name":{"type":"string","description":"User-defined name of the config\n","willReplaceOnChanges":true}},"type":"object"}},"docker:index/tag:Tag":{"description":"Creates a docker tag. It has the exact same functionality as the `docker tag` command. Deleting the resource will neither delete the source nor target images. The source image must exist on the machine running the docker daemon.\n","properties":{"sourceImage":{"type":"string","description":"Name of the source image.\n"},"sourceImageId":{"type":"string","description":"ImageID of the source image in the format of `sha256:\u003c\u003cID\u003e\u003e`\n"},"tagTriggers":{"type":"array","items":{"type":"string"},"description":"List of values which cause the tag to be (re)created. This is useful for triggering a new tag when the source image changes.\n"},"targetImage":{"type":"string","description":"Name of the target image.\n"}},"required":["sourceImage","sourceImageId","targetImage"],"inputProperties":{"sourceImage":{"type":"string","description":"Name of the source image.\n","willReplaceOnChanges":true},"tagTriggers":{"type":"array","items":{"type":"string"},"description":"List of values which cause the tag to be (re)created. This is useful for triggering a new tag when the source image changes.\n","willReplaceOnChanges":true},"targetImage":{"type":"string","description":"Name of the target image.\n","willReplaceOnChanges":true}},"requiredInputs":["sourceImage","targetImage"],"stateInputs":{"description":"Input properties used for looking up and filtering Tag resources.\n","properties":{"sourceImage":{"type":"string","description":"Name of the source image.\n","willReplaceOnChanges":true},"sourceImageId":{"type":"string","description":"ImageID of the source image in the format of `sha256:\u003c\u003cID\u003e\u003e`\n"},"tagTriggers":{"type":"array","items":{"type":"string"},"description":"List of values which cause the tag to be (re)created. This is useful for triggering a new tag when the source image changes.\n","willReplaceOnChanges":true},"targetImage":{"type":"string","description":"Name of the target image.\n","willReplaceOnChanges":true}},"type":"object"}},"docker:index/volume:Volume":{"description":"\u003c!-- Bug: Type and Name are switched --\u003e\nCreates and destroys a volume in Docker. This can be used alongside\u003cspan pulumi-lang-nodejs=\" docker.Container \" pulumi-lang-dotnet=\" docker.Container \" pulumi-lang-go=\" Container \" pulumi-lang-python=\" Container \" pulumi-lang-yaml=\" docker.Container \" pulumi-lang-java=\" docker.Container \"\u003e docker.Container \u003c/span\u003eto prepare volumes that can be shared across containers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst sharedVolume = new docker.Volume(\"shared_volume\", {name: \"shared_volume\"});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nshared_volume = docker.Volume(\"shared_volume\", name=\"shared_volume\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sharedVolume = new Docker.Volume(\"shared_volume\", new()\n    {\n        Name = \"shared_volume\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docker.NewVolume(ctx, \"shared_volume\", \u0026docker.VolumeArgs{\n\t\t\tName: pulumi.String(\"shared_volume\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.docker.Volume;\nimport com.pulumi.docker.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sharedVolume = new Volume(\"sharedVolume\", VolumeArgs.builder()\n            .name(\"shared_volume\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sharedVolume:\n    type: docker:Volume\n    name: shared_volume\n    properties:\n      name: shared_volume\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n### Example\n\nAssuming you created a `volume` as follows\n\n#!/bin/bash\n\ndocker volume create\n\nprints the long ID\n\n524b0457aa2a87dd2b75c74c3e4e53f406974249e63ab3ed9bf21e5644f9dc7d\n\nyou provide the definition for the resource as follows\n\nterraform\n\nresource \"docker_volume\" \"foo\" {\n\n  name = \"524b0457aa2a87dd2b75c74c3e4e53f406974249e63ab3ed9bf21e5644f9dc7d\"\n\n}\n\nthen the import command is as follows\n\n#!/bin/bash\n\n```sh\n$ pulumi import docker:index/volume:Volume foo 524b0457aa2a87dd2b75c74c3e4e53f406974249e63ab3ed9bf21e5644f9dc7d\n```\n\n","properties":{"cluster":{"$ref":"#/types/docker:index/VolumeCluster:VolumeCluster","description":"Cluster-specific options for volume creation. Only works if the Docker daemon is running in swarm mode and is the swarm manager.\n"},"driver":{"type":"string","description":"Driver type for the volume. Defaults to \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e.\n"},"driverOpts":{"type":"object","additionalProperties":{"type":"string"},"description":"Options specific to the driver.\n"},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/VolumeLabel:VolumeLabel"},"description":"User-defined key/value metadata\n"},"mountpoint":{"type":"string","description":"The mountpoint of the volume.\n"},"name":{"type":"string","description":"The name of the Docker volume (will be generated if not provided).\n"}},"required":["driver","mountpoint","name"],"inputProperties":{"cluster":{"$ref":"#/types/docker:index/VolumeCluster:VolumeCluster","description":"Cluster-specific options for volume creation. Only works if the Docker daemon is running in swarm mode and is the swarm manager.\n"},"driver":{"type":"string","description":"Driver type for the volume. Defaults to \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e.\n","willReplaceOnChanges":true},"driverOpts":{"type":"object","additionalProperties":{"type":"string"},"description":"Options specific to the driver.\n","willReplaceOnChanges":true},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/VolumeLabel:VolumeLabel"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Docker volume (will be generated if not provided).\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering Volume resources.\n","properties":{"cluster":{"$ref":"#/types/docker:index/VolumeCluster:VolumeCluster","description":"Cluster-specific options for volume creation. Only works if the Docker daemon is running in swarm mode and is the swarm manager.\n"},"driver":{"type":"string","description":"Driver type for the volume. Defaults to \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e.\n","willReplaceOnChanges":true},"driverOpts":{"type":"object","additionalProperties":{"type":"string"},"description":"Options specific to the driver.\n","willReplaceOnChanges":true},"labels":{"type":"array","items":{"$ref":"#/types/docker:index/VolumeLabel:VolumeLabel"},"description":"User-defined key/value metadata\n","willReplaceOnChanges":true},"mountpoint":{"type":"string","description":"The mountpoint of the volume.\n"},"name":{"type":"string","description":"The name of the Docker volume (will be generated if not provided).\n","willReplaceOnChanges":true}},"type":"object"}}},"functions":{"docker:index/getLogs:getLogs":{"description":"\u003cspan pulumi-lang-nodejs=\"`docker.getLogs`\" pulumi-lang-dotnet=\"`docker.getLogs`\" pulumi-lang-go=\"`getLogs`\" pulumi-lang-python=\"`get_logs`\" pulumi-lang-yaml=\"`docker.getLogs`\" pulumi-lang-java=\"`docker.getLogs`\"\u003e`docker.getLogs`\u003c/span\u003e provides logs from specific container\n","inputs":{"description":"A collection of arguments for invoking getLogs.\n","properties":{"details":{"type":"boolean"},"discardHeaders":{"type":"boolean","description":"Discard headers that docker appends to each log entry\n"},"follow":{"type":"boolean"},"logsListStringEnabled":{"type":"boolean","description":"If true populate computed value \u003cspan pulumi-lang-nodejs=\"`logsListString`\" pulumi-lang-dotnet=\"`LogsListString`\" pulumi-lang-go=\"`logsListString`\" pulumi-lang-python=\"`logs_list_string`\" pulumi-lang-yaml=\"`logsListString`\" pulumi-lang-java=\"`logsListString`\"\u003e`logs_list_string`\u003c/span\u003e\n"},"name":{"type":"string","description":"The name of the Docker Container\n"},"showStderr":{"type":"boolean"},"showStdout":{"type":"boolean"},"since":{"type":"string"},"tail":{"type":"string"},"timestamps":{"type":"boolean"},"until":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getLogs.\n","properties":{"details":{"type":"boolean"},"discardHeaders":{"description":"Discard headers that docker appends to each log entry\n","type":"boolean"},"follow":{"type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"logsListStringEnabled":{"description":"If true populate computed value \u003cspan pulumi-lang-nodejs=\"`logsListString`\" pulumi-lang-dotnet=\"`LogsListString`\" pulumi-lang-go=\"`logsListString`\" pulumi-lang-python=\"`logs_list_string`\" pulumi-lang-yaml=\"`logsListString`\" pulumi-lang-java=\"`logsListString`\"\u003e`logs_list_string`\u003c/span\u003e\n","type":"boolean"},"logsListStrings":{"description":"List of container logs, each element is a line.\n","items":{"type":"string"},"type":"array"},"name":{"description":"The name of the Docker Container\n","type":"string"},"showStderr":{"type":"boolean"},"showStdout":{"type":"boolean"},"since":{"type":"string"},"tail":{"type":"string"},"timestamps":{"type":"boolean"},"until":{"type":"string"}},"required":["logsListStrings","name","id"],"type":"object"}},"docker:index/getNetwork:getNetwork":{"description":"\u003cspan pulumi-lang-nodejs=\"`docker.Network`\" pulumi-lang-dotnet=\"`docker.Network`\" pulumi-lang-go=\"`Network`\" pulumi-lang-python=\"`Network`\" pulumi-lang-yaml=\"`docker.Network`\" pulumi-lang-java=\"`docker.Network`\"\u003e`docker.Network`\u003c/span\u003e provides details about a specific Docker Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst main = docker.getNetwork({\n    name: \"main\",\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nmain = docker.get_network(name=\"main\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = Docker.GetNetwork.Invoke(new()\n    {\n        Name = \"main\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docker.LookupNetwork(ctx, \u0026docker.LookupNetworkArgs{\n\t\t\tName: \"main\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.docker.DockerFunctions;\nimport com.pulumi.docker.inputs.GetNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var main = DockerFunctions.getNetwork(GetNetworkArgs.builder()\n            .name(\"main\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  main:\n    fn::invoke:\n      function: docker:getNetwork\n      arguments:\n        name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetwork.\n","properties":{"name":{"type":"string","description":"The name of the Docker network.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getNetwork.\n","properties":{"driver":{"description":"The driver of the Docker network. Possible values are \u003cspan pulumi-lang-nodejs=\"`bridge`\" pulumi-lang-dotnet=\"`Bridge`\" pulumi-lang-go=\"`bridge`\" pulumi-lang-python=\"`bridge`\" pulumi-lang-yaml=\"`bridge`\" pulumi-lang-java=\"`bridge`\"\u003e`bridge`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`overlay`\" pulumi-lang-dotnet=\"`Overlay`\" pulumi-lang-go=\"`overlay`\" pulumi-lang-python=\"`overlay`\" pulumi-lang-yaml=\"`overlay`\" pulumi-lang-java=\"`overlay`\"\u003e`overlay`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`macvlan`\" pulumi-lang-dotnet=\"`Macvlan`\" pulumi-lang-go=\"`macvlan`\" pulumi-lang-python=\"`macvlan`\" pulumi-lang-yaml=\"`macvlan`\" pulumi-lang-java=\"`macvlan`\"\u003e`macvlan`\u003c/span\u003e. See [network docs](https://docs.docker.com/network/#network-drivers) for more details.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"internal":{"description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the network is internal.\n","type":"boolean"},"ipamConfigs":{"description":"The IPAM configuration options\n","items":{"$ref":"#/types/docker:index/getNetworkIpamConfig:getNetworkIpamConfig"},"type":"array"},"name":{"description":"The name of the Docker network.\n","type":"string"},"options":{"additionalProperties":{"type":"string"},"description":"Only available with bridge networks. See [bridge options docs](https://docs.docker.com/engine/reference/commandline/network_create/#bridge-driver-options) for more details.\n","type":"object"},"scope":{"description":"Scope of the network. One of \u003cspan pulumi-lang-nodejs=\"`swarm`\" pulumi-lang-dotnet=\"`Swarm`\" pulumi-lang-go=\"`swarm`\" pulumi-lang-python=\"`swarm`\" pulumi-lang-yaml=\"`swarm`\" pulumi-lang-java=\"`swarm`\"\u003e`swarm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e.\n","type":"string"}},"required":["driver","id","internal","ipamConfigs","name","options","scope"],"type":"object"}},"docker:index/getPlugin:getPlugin":{"description":"Reads the local Docker plugin. The plugin must be installed locally.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\n//## With alias\nconst byAlias = docker.getPlugin({\n    alias: \"sample-volume-plugin:latest\",\n});\n//## With ID\nconst byId = docker.getPlugin({\n    id: \"e9a9db917b3bfd6706b5d3a66d4bceb9f\",\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\n### With alias\nby_alias = docker.get_plugin(alias=\"sample-volume-plugin:latest\")\n### With ID\nby_id = docker.get_plugin(id=\"e9a9db917b3bfd6706b5d3a66d4bceb9f\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    //## With alias\n    var byAlias = Docker.GetPlugin.Invoke(new()\n    {\n        Alias = \"sample-volume-plugin:latest\",\n    });\n\n    //## With ID\n    var byId = Docker.GetPlugin.Invoke(new()\n    {\n        Id = \"e9a9db917b3bfd6706b5d3a66d4bceb9f\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ## With alias\n\t\t_, err := docker.LookupPlugin(ctx, \u0026docker.LookupPluginArgs{\n\t\t\tAlias: pulumi.StringRef(\"sample-volume-plugin:latest\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ## With ID\n\t\t_, err = docker.LookupPlugin(ctx, \u0026docker.LookupPluginArgs{\n\t\t\tId: pulumi.StringRef(\"e9a9db917b3bfd6706b5d3a66d4bceb9f\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.docker.DockerFunctions;\nimport com.pulumi.docker.inputs.GetPluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //## With alias\n        final var byAlias = DockerFunctions.getPlugin(GetPluginArgs.builder()\n            .alias(\"sample-volume-plugin:latest\")\n            .build());\n\n        //## With ID\n        final var byId = DockerFunctions.getPlugin(GetPluginArgs.builder()\n            .id(\"e9a9db917b3bfd6706b5d3a66d4bceb9f\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  ### With alias\n  byAlias:\n    fn::invoke:\n      function: docker:getPlugin\n      arguments:\n        alias: sample-volume-plugin:latest\n  ### With ID\n  byId:\n    fn::invoke:\n      function: docker:getPlugin\n      arguments:\n        id: e9a9db917b3bfd6706b5d3a66d4bceb9f\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPlugin.\n","properties":{"alias":{"type":"string","description":"The alias of the Docker plugin. If the tag is omitted, `:latest` is complemented to the attribute value.\n"},"id":{"type":"string","description":"The ID of the plugin, which has precedence over the \u003cspan pulumi-lang-nodejs=\"`alias`\" pulumi-lang-dotnet=\"`Alias`\" pulumi-lang-go=\"`alias`\" pulumi-lang-python=\"`alias`\" pulumi-lang-yaml=\"`alias`\" pulumi-lang-java=\"`alias`\"\u003e`alias`\u003c/span\u003e of both are given\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPlugin.\n","properties":{"alias":{"description":"The alias of the Docker plugin. If the tag is omitted, `:latest` is complemented to the attribute value.\n","type":"string"},"enabled":{"description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the plugin is enabled\n","type":"boolean"},"envs":{"description":"The environment variables in the form of `KEY=VALUE`, e.g. `DEBUG=0`\n","items":{"type":"string"},"type":"array"},"grantAllPermissions":{"description":"If true, grant all permissions necessary to run the plugin\n","type":"boolean"},"id":{"description":"The ID of the plugin, which has precedence over the \u003cspan pulumi-lang-nodejs=\"`alias`\" pulumi-lang-dotnet=\"`Alias`\" pulumi-lang-go=\"`alias`\" pulumi-lang-python=\"`alias`\" pulumi-lang-yaml=\"`alias`\" pulumi-lang-java=\"`alias`\"\u003e`alias`\u003c/span\u003e of both are given\n","type":"string"},"name":{"description":"The plugin name. If the tag is omitted, `:latest` is complemented to the attribute value.\n","type":"string"},"pluginReference":{"description":"The Docker Plugin Reference\n","type":"string"}},"required":["enabled","envs","grantAllPermissions","name","pluginReference"],"type":"object"}},"docker:index/getRegistryImage:getRegistryImage":{"description":"Reads the image metadata from a Docker Registry. Used in conjunction with the\u003cspan pulumi-lang-nodejs=\" docker.RemoteImage \" pulumi-lang-dotnet=\" docker.RemoteImage \" pulumi-lang-go=\" RemoteImage \" pulumi-lang-python=\" RemoteImage \" pulumi-lang-yaml=\" docker.RemoteImage \" pulumi-lang-java=\" docker.RemoteImage \"\u003e docker.RemoteImage \u003c/span\u003eresource to keep an image up to date on the latest available version of the tag.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst ubuntu = docker.getRegistryImage({\n    name: \"ubuntu:precise\",\n});\nconst ubuntuRemoteImage = new docker.RemoteImage(\"ubuntu\", {\n    name: ubuntu.then(ubuntu =\u003e ubuntu.name),\n    pullTriggers: [ubuntu.then(ubuntu =\u003e ubuntu.sha256Digest)],\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nubuntu = docker.get_registry_image(name=\"ubuntu:precise\")\nubuntu_remote_image = docker.RemoteImage(\"ubuntu\",\n    name=ubuntu.name,\n    pull_triggers=[ubuntu.sha256_digest])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ubuntu = Docker.GetRegistryImage.Invoke(new()\n    {\n        Name = \"ubuntu:precise\",\n    });\n\n    var ubuntuRemoteImage = new Docker.RemoteImage(\"ubuntu\", new()\n    {\n        Name = ubuntu.Apply(getRegistryImageResult =\u003e getRegistryImageResult.Name),\n        PullTriggers = new[]\n        {\n            ubuntu.Apply(getRegistryImageResult =\u003e getRegistryImageResult.Sha256Digest),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := docker.LookupRegistryImage(ctx, \u0026docker.LookupRegistryImageArgs{\n\t\t\tName: \"ubuntu:precise\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docker.NewRemoteImage(ctx, \"ubuntu\", \u0026docker.RemoteImageArgs{\n\t\t\tName: pulumi.String(ubuntu.Name),\n\t\t\tPullTriggers: pulumi.StringArray{\n\t\t\t\tpulumi.String(ubuntu.Sha256Digest),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.docker.DockerFunctions;\nimport com.pulumi.docker.inputs.GetRegistryImageArgs;\nimport com.pulumi.docker.RemoteImage;\nimport com.pulumi.docker.RemoteImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var ubuntu = DockerFunctions.getRegistryImage(GetRegistryImageArgs.builder()\n            .name(\"ubuntu:precise\")\n            .build());\n\n        var ubuntuRemoteImage = new RemoteImage(\"ubuntuRemoteImage\", RemoteImageArgs.builder()\n            .name(ubuntu.name())\n            .pullTriggers(ubuntu.sha256Digest())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ubuntuRemoteImage:\n    type: docker:RemoteImage\n    name: ubuntu\n    properties:\n      name: ${ubuntu.name}\n      pullTriggers:\n        - ${ubuntu.sha256Digest}\nvariables:\n  ubuntu:\n    fn::invoke:\n      function: docker:getRegistryImage\n      arguments:\n        name: ubuntu:precise\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRegistryImage.\n","properties":{"insecureSkipVerify":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the verification of TLS certificates of the server/registry is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"name":{"type":"string","description":"The name of the Docker image, including any tags. e.g. `alpine:latest`. You can also specify a digest, e.g. `nginx:1.28.0@sha256:eaa7e36decc3421fc04478c586dfea0d931cebe47d5bc0b15d758a32ba51126f`.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRegistryImage.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"insecureSkipVerify":{"description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the verification of TLS certificates of the server/registry is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","type":"boolean"},"name":{"description":"The name of the Docker image, including any tags. e.g. `alpine:latest`. You can also specify a digest, e.g. `nginx:1.28.0@sha256:eaa7e36decc3421fc04478c586dfea0d931cebe47d5bc0b15d758a32ba51126f`.\n","type":"string"},"sha256Digest":{"description":"The content digest of the image, as stored in the registry.\n","type":"string"}},"required":["name","sha256Digest","id"],"type":"object"}},"docker:index/getRegistryImageManifests:getRegistryImageManifests":{"description":"Reads the image metadata for each manifest in a Docker multi-arch image from a Docker Registry.\n","inputs":{"description":"A collection of arguments for invoking getRegistryImageManifests.\n","properties":{"authConfig":{"$ref":"#/types/docker:index/getRegistryImageManifestsAuthConfig:getRegistryImageManifestsAuthConfig","description":"Authentication configuration for the Docker registry. It is only used for this resource.\n"},"insecureSkipVerify":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the verification of TLS certificates of the server/registry is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"name":{"type":"string","description":"The name of the Docker image, including any tags. e.g. `alpine:latest`\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRegistryImageManifests.\n","properties":{"authConfig":{"$ref":"#/types/docker:index/getRegistryImageManifestsAuthConfig:getRegistryImageManifestsAuthConfig","description":"Authentication configuration for the Docker registry. It is only used for this resource.\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"insecureSkipVerify":{"description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the verification of TLS certificates of the server/registry is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","type":"boolean"},"manifests":{"description":"The metadata for each manifest in the image\n","items":{"$ref":"#/types/docker:index/getRegistryImageManifestsManifest:getRegistryImageManifestsManifest"},"type":"array"},"name":{"description":"The name of the Docker image, including any tags. e.g. `alpine:latest`\n","type":"string"}},"required":["manifests","name","id"],"type":"object"}},"docker:index/getRemoteImage:getRemoteImage":{"description":"\u003cspan pulumi-lang-nodejs=\"`docker.RemoteImage`\" pulumi-lang-dotnet=\"`docker.RemoteImage`\" pulumi-lang-go=\"`RemoteImage`\" pulumi-lang-python=\"`RemoteImage`\" pulumi-lang-yaml=\"`docker.RemoteImage`\" pulumi-lang-java=\"`docker.RemoteImage`\"\u003e`docker.RemoteImage`\u003c/span\u003e provides details about a specific Docker Image which needs to be present on the Docker Host\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\n// uses the 'latest' tag\nconst latest = docker.getRemoteImage({\n    name: \"nginx\",\n});\n// uses a specific tag\nconst specific = docker.getRemoteImage({\n    name: \"nginx:1.17.6\",\n});\n// use the image digest\nconst digest = docker.getRemoteImage({\n    name: \"nginx@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n});\n// uses the tag and the image digest\nconst tagAndDigest = docker.getRemoteImage({\n    name: \"nginx:1.19.1@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\n# uses the 'latest' tag\nlatest = docker.get_remote_image(name=\"nginx\")\n# uses a specific tag\nspecific = docker.get_remote_image(name=\"nginx:1.17.6\")\n# use the image digest\ndigest = docker.get_remote_image(name=\"nginx@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\")\n# uses the tag and the image digest\ntag_and_digest = docker.get_remote_image(name=\"nginx:1.19.1@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // uses the 'latest' tag\n    var latest = Docker.GetRemoteImage.Invoke(new()\n    {\n        Name = \"nginx\",\n    });\n\n    // uses a specific tag\n    var specific = Docker.GetRemoteImage.Invoke(new()\n    {\n        Name = \"nginx:1.17.6\",\n    });\n\n    // use the image digest\n    var digest = Docker.GetRemoteImage.Invoke(new()\n    {\n        Name = \"nginx@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n    });\n\n    // uses the tag and the image digest\n    var tagAndDigest = Docker.GetRemoteImage.Invoke(new()\n    {\n        Name = \"nginx:1.19.1@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v4/go/docker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// uses the 'latest' tag\n\t\t_, err := docker.LookupRemoteImage(ctx, \u0026docker.LookupRemoteImageArgs{\n\t\t\tName: \"nginx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// uses a specific tag\n\t\t_, err = docker.LookupRemoteImage(ctx, \u0026docker.LookupRemoteImageArgs{\n\t\t\tName: \"nginx:1.17.6\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// use the image digest\n\t\t_, err = docker.LookupRemoteImage(ctx, \u0026docker.LookupRemoteImageArgs{\n\t\t\tName: \"nginx@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// uses the tag and the image digest\n\t\t_, err = docker.LookupRemoteImage(ctx, \u0026docker.LookupRemoteImageArgs{\n\t\t\tName: \"nginx:1.19.1@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.docker.DockerFunctions;\nimport com.pulumi.docker.inputs.GetRemoteImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // uses the 'latest' tag\n        final var latest = DockerFunctions.getRemoteImage(GetRemoteImageArgs.builder()\n            .name(\"nginx\")\n            .build());\n\n        // uses a specific tag\n        final var specific = DockerFunctions.getRemoteImage(GetRemoteImageArgs.builder()\n            .name(\"nginx:1.17.6\")\n            .build());\n\n        // use the image digest\n        final var digest = DockerFunctions.getRemoteImage(GetRemoteImageArgs.builder()\n            .name(\"nginx@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\")\n            .build());\n\n        // uses the tag and the image digest\n        final var tagAndDigest = DockerFunctions.getRemoteImage(GetRemoteImageArgs.builder()\n            .name(\"nginx:1.19.1@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # uses the 'latest' tag\n  latest:\n    fn::invoke:\n      function: docker:getRemoteImage\n      arguments:\n        name: nginx\n  # uses a specific tag\n  specific:\n    fn::invoke:\n      function: docker:getRemoteImage\n      arguments:\n        name: nginx:1.17.6\n  # use the image digest\n  digest:\n    fn::invoke:\n      function: docker:getRemoteImage\n      arguments:\n        name: nginx@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\n  # uses the tag and the image digest\n  tagAndDigest:\n    fn::invoke:\n      function: docker:getRemoteImage\n      arguments:\n        name: nginx:1.19.1@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRemoteImage.\n","properties":{"name":{"type":"string","description":"The name of the Docker image, including any tags or SHA256 repo digests.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRemoteImage.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name of the Docker image, including any tags or SHA256 repo digests.\n","type":"string"},"repoDigest":{"description":"The image sha256 digest in the form of `repo[:tag]@sha256:\u003chash\u003e`. It may be empty in the edge case where the local image was pulled from a repo, tagged locally, and then referred to in the data source by that local name/tag.\n","type":"string"}},"required":["name","repoDigest","id"],"type":"object"}},"pulumi:providers:docker/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:docker/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}