{ "name": "docker", "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/terraform-providers/terraform-provider-docker).", "repository": "https://github.com/pulumi/pulumi-docker", "meta": { "moduleFormat": "(.*)(?:/[^/]*)" }, "config": { "variables": { "caMaterial": { "type": "string", "description": "PEM-encoded content of Docker host CA certificate\n" }, "certMaterial": { "type": "string", "description": "PEM-encoded content of Docker client certificate\n" }, "certPath": { "type": "string", "description": "Path to directory with Docker TLS config\n" }, "host": { "type": "string", "description": "The Docker daemon address\n", "default": "unix:///var/run/docker.sock", "defaultInfo": { "environment": [ "DOCKER_HOST" ] } }, "keyMaterial": { "type": "string", "description": "PEM-encoded content of Docker client private key\n" }, "registryAuth": { "type": "array", "items": { "$ref": "#/types/docker:config/registryAuth:registryAuth" } } }, "defaults": [ "host" ] }, "types": { "docker:config/registryAuth:registryAuth": { "properties": { "address": { "type": "string" }, "configFile": { "type": "string" }, "configFileContent": { "type": "string" }, "password": { "type": "string" }, "username": { "type": "string" } }, "type": "object", "required": [ "address" ], "language": { "nodejs": { "requiredInputs": [] } } }, "docker:index/ContainerCapabilities:ContainerCapabilities": { "properties": { "adds": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "drops": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ContainerDevice:ContainerDevice": { "properties": { "containerPath": { "type": "string", "language": { "python": { "mapCase": false } } }, "hostPath": { "type": "string", "language": { "python": { "mapCase": false } } }, "permissions": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostPath" ] }, "docker:index/ContainerHealthcheck:ContainerHealthcheck": { "properties": { "interval": { "type": "string", "language": { "python": { "mapCase": false } } }, "retries": { "type": "integer", "language": { "python": { "mapCase": false } } }, "startPeriod": { "type": "string", "language": { "python": { "mapCase": false } } }, "tests": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "timeout": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "tests" ] }, "docker:index/ContainerHost:ContainerHost": { "properties": { "host": { "type": "string", "language": { "python": { "mapCase": false } } }, "ip": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "host", "ip" ] }, "docker:index/ContainerLabel:ContainerLabel": { "properties": { "label": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "label", "value" ] }, "docker:index/ContainerMount:ContainerMount": { "properties": { "bindOptions": { "$ref": "#/types/docker:index/ContainerMountBindOptions:ContainerMountBindOptions", "language": { "python": { "mapCase": false } } }, "readOnly": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "source": { "type": "string", "language": { "python": { "mapCase": false } } }, "target": { "type": "string", "language": { "python": { "mapCase": false } } }, "tmpfsOptions": { "$ref": "#/types/docker:index/ContainerMountTmpfsOptions:ContainerMountTmpfsOptions", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "language": { "python": { "mapCase": false } } }, "volumeOptions": { "$ref": "#/types/docker:index/ContainerMountVolumeOptions:ContainerMountVolumeOptions", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "target", "type" ] }, "docker:index/ContainerMountBindOptions:ContainerMountBindOptions": { "properties": { "propagation": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ContainerMountTmpfsOptions:ContainerMountTmpfsOptions": { "properties": { "mode": { "type": "integer", "language": { "python": { "mapCase": false } } }, "sizeBytes": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ContainerMountVolumeOptions:ContainerMountVolumeOptions": { "properties": { "driverName": { "type": "string", "language": { "python": { "mapCase": false } } }, "driverOptions": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "labels": { "type": "array", "items": { "$ref": "#/types/docker:index/ContainerMountVolumeOptionsLabel:ContainerMountVolumeOptionsLabel" }, "language": { "python": { "mapCase": false } } }, "noCopy": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ContainerMountVolumeOptionsLabel:ContainerMountVolumeOptionsLabel": { "properties": { "label": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "label", "value" ] }, "docker:index/ContainerNetworkData:ContainerNetworkData": { "properties": { "gateway": { "type": "string", "deprecationMessage": "Use `network_data` instead. The network gateway of the container as read from its NetworkSettings.", "language": { "python": { "mapCase": false } } }, "globalIpv6Address": { "type": "string", "language": { "python": { "mapCase": false } } }, "globalIpv6PrefixLength": { "type": "integer", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "deprecationMessage": "Use `network_data` instead. The IP address of the container's first network it.", "language": { "python": { "mapCase": false } } }, "ipPrefixLength": { "type": "integer", "deprecationMessage": "Use `network_data` instead. The IP prefix length of the container as read from its NetworkSettings.", "language": { "python": { "mapCase": false } } }, "ipv6Gateway": { "type": "string", "language": { "python": { "mapCase": false } } }, "networkName": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "gateway", "globalIpv6Address", "globalIpv6PrefixLength", "ipAddress", "ipPrefixLength", "ipv6Gateway", "networkName" ] } } }, "docker:index/ContainerNetworksAdvanced:ContainerNetworksAdvanced": { "properties": { "aliases": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "ipv4Address": { "type": "string", "language": { "python": { "mapCase": false } } }, "ipv6Address": { "type": "string", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "docker:index/ContainerPort:ContainerPort": { "properties": { "external": { "type": "integer", "language": { "python": { "mapCase": false } } }, "internal": { "type": "integer", "language": { "python": { "mapCase": false } } }, "ip": { "type": "string", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "internal" ], "language": { "nodejs": { "requiredOutputs": [ "external", "internal" ] } } }, "docker:index/ContainerUlimit:ContainerUlimit": { "properties": { "hard": { "type": "integer", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "language": { "python": { "mapCase": false } } }, "soft": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hard", "name", "soft" ] }, "docker:index/ContainerUpload:ContainerUpload": { "properties": { "content": { "type": "string", "language": { "python": { "mapCase": false } } }, "contentBase64": { "type": "string", "language": { "python": { "mapCase": false } } }, "executable": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "file": { "type": "string", "language": { "python": { "mapCase": false } } }, "source": { "type": "string", "language": { "python": { "mapCase": false } } }, "sourceHash": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "file" ] }, "docker:index/ContainerVolume:ContainerVolume": { "properties": { "containerPath": { "type": "string", "language": { "python": { "mapCase": false } } }, "fromContainer": { "type": "string", "language": { "python": { "mapCase": false } } }, "hostPath": { "type": "string", "language": { "python": { "mapCase": false } } }, "readOnly": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "volumeName": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/NetworkIpamConfig:NetworkIpamConfig": { "properties": { "auxAddress": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "language": { "python": { "mapCase": false } } }, "gateway": { "type": "string", "language": { "python": { "mapCase": false } } }, "ipRange": { "type": "string", "language": { "python": { "mapCase": false } } }, "subnet": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/NetworkLabel:NetworkLabel": { "properties": { "label": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "label", "value" ] }, "docker:index/PluginGrantPermission:PluginGrantPermission": { "properties": { "name": { "type": "string", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "values" ] }, "docker:index/ProviderRegistryAuth:ProviderRegistryAuth": { "properties": { "address": { "type": "string", "language": { "python": { "mapCase": false } } }, "configFile": { "type": "string", "language": { "python": { "mapCase": false } } }, "configFileContent": { "type": "string", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "address" ], "language": { "nodejs": { "requiredOutputs": [] } } }, "docker:index/RegistryImageBuild:RegistryImageBuild": { "properties": { "authConfigs": { "type": "array", "items": { "$ref": "#/types/docker:index/RegistryImageBuildAuthConfig:RegistryImageBuildAuthConfig" }, "language": { "python": { "mapCase": false } } }, "buildArgs": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "buildId": { "type": "string", "language": { "python": { "mapCase": false } } }, "cacheFroms": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "cgroupParent": { "type": "string", "language": { "python": { "mapCase": false } } }, "context": { "type": "string", "language": { "python": { "mapCase": false } } }, "cpuPeriod": { "type": "integer", "language": { "python": { "mapCase": false } } }, "cpuQuota": { "type": "integer", "language": { "python": { "mapCase": false } } }, "cpuSetCpus": { "type": "string", "language": { "python": { "mapCase": false } } }, "cpuSetMems": { "type": "string", "language": { "python": { "mapCase": false } } }, "cpuShares": { "type": "integer", "language": { "python": { "mapCase": false } } }, "dockerfile": { "type": "string", "language": { "python": { "mapCase": false } } }, "extraHosts": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "forceRemove": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "isolation": { "type": "string", "language": { "python": { "mapCase": false } } }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "memory": { "type": "integer", "language": { "python": { "mapCase": false } } }, "memorySwap": { "type": "integer", "language": { "python": { "mapCase": false } } }, "networkMode": { "type": "string", "language": { "python": { "mapCase": false } } }, "noCache": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "platform": { "type": "string", "language": { "python": { "mapCase": false } } }, "pullParent": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "remoteContext": { "type": "string", "language": { "python": { "mapCase": false } } }, "remove": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "securityOpts": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "sessionId": { "type": "string", "language": { "python": { "mapCase": false } } }, "shmSize": { "type": "integer", "language": { "python": { "mapCase": false } } }, "squash": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "suppressOutput": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "target": { "type": "string", "language": { "python": { "mapCase": false } } }, "ulimits": { "type": "array", "items": { "$ref": "#/types/docker:index/RegistryImageBuildUlimit:RegistryImageBuildUlimit" }, "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "context" ] }, "docker:index/RegistryImageBuildAuthConfig:RegistryImageBuildAuthConfig": { "properties": { "auth": { "type": "string", "language": { "python": { "mapCase": false } } }, "email": { "type": "string", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "language": { "python": { "mapCase": false } } }, "identityToken": { "type": "string", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "language": { "python": { "mapCase": false } } }, "registryToken": { "type": "string", "language": { "python": { "mapCase": false } } }, "serverAddress": { "type": "string", "language": { "python": { "mapCase": false } } }, "userName": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName" ] }, "docker:index/RegistryImageBuildUlimit:RegistryImageBuildUlimit": { "properties": { "hard": { "type": "integer", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "language": { "python": { "mapCase": false } } }, "soft": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hard", "name", "soft" ] }, "docker:index/RemoteImageBuild:RemoteImageBuild": { "properties": { "buildArg": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "dockerfile": { "type": "string", "language": { "python": { "mapCase": false } } }, "forceRemove": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "label": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "noCache": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "language": { "python": { "mapCase": false } } }, "remove": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "tags": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "target": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "path" ] }, "docker:index/SecretLabel:SecretLabel": { "properties": { "label": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "label", "value" ] }, "docker:index/ServiceAuth:ServiceAuth": { "properties": { "password": { "type": "string", "language": { "python": { "mapCase": false } } }, "serverAddress": { "type": "string", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "serverAddress" ] }, "docker:index/ServiceConvergeConfig:ServiceConvergeConfig": { "properties": { "delay": { "type": "string", "language": { "python": { "mapCase": false } } }, "timeout": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceEndpointSpec:ServiceEndpointSpec": { "properties": { "mode": { "type": "string", "language": { "python": { "mapCase": false } } }, "ports": { "type": "array", "items": { "$ref": "#/types/docker:index/ServiceEndpointSpecPort:ServiceEndpointSpecPort" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "mode" ] } } }, "docker:index/ServiceEndpointSpecPort:ServiceEndpointSpecPort": { "properties": { "name": { "type": "string", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "language": { "python": { "mapCase": false } } }, "publishMode": { "type": "string", "language": { "python": { "mapCase": false } } }, "publishedPort": { "type": "integer", "language": { "python": { "mapCase": false } } }, "targetPort": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "targetPort" ], "language": { "nodejs": { "requiredOutputs": [ "publishedPort", "targetPort" ] } } }, "docker:index/ServiceLabel:ServiceLabel": { "properties": { "label": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "label", "value" ] }, "docker:index/ServiceMode:ServiceMode": { "properties": { "global": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "replicated": { "$ref": "#/types/docker:index/ServiceModeReplicated:ServiceModeReplicated", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "replicated" ] } } }, "docker:index/ServiceModeReplicated:ServiceModeReplicated": { "properties": { "replicas": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceRollbackConfig:ServiceRollbackConfig": { "properties": { "delay": { "type": "string", "language": { "python": { "mapCase": false } } }, "failureAction": { "type": "string", "language": { "python": { "mapCase": false } } }, "maxFailureRatio": { "type": "string", "language": { "python": { "mapCase": false } } }, "monitor": { "type": "string", "language": { "python": { "mapCase": false } } }, "order": { "type": "string", "language": { "python": { "mapCase": false } } }, "parallelism": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpec:ServiceTaskSpec": { "properties": { "containerSpec": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpec:ServiceTaskSpecContainerSpec", "language": { "python": { "mapCase": false } } }, "forceUpdate": { "type": "integer", "language": { "python": { "mapCase": false } } }, "logDriver": { "$ref": "#/types/docker:index/ServiceTaskSpecLogDriver:ServiceTaskSpecLogDriver", "language": { "python": { "mapCase": false } } }, "networks": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "placement": { "$ref": "#/types/docker:index/ServiceTaskSpecPlacement:ServiceTaskSpecPlacement", "language": { "python": { "mapCase": false } } }, "resources": { "$ref": "#/types/docker:index/ServiceTaskSpecResources:ServiceTaskSpecResources", "language": { "python": { "mapCase": false } } }, "restartPolicy": { "$ref": "#/types/docker:index/ServiceTaskSpecRestartPolicy:ServiceTaskSpecRestartPolicy", "language": { "python": { "mapCase": false } } }, "runtime": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "containerSpec" ], "language": { "nodejs": { "requiredOutputs": [ "containerSpec", "forceUpdate", "placement", "resources", "restartPolicy", "runtime" ] } } }, "docker:index/ServiceTaskSpecContainerSpec:ServiceTaskSpecContainerSpec": { "properties": { "args": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "commands": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "configs": { "type": "array", "items": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecConfig:ServiceTaskSpecContainerSpecConfig" }, "language": { "python": { "mapCase": false } } }, "dir": { "type": "string", "language": { "python": { "mapCase": false } } }, "dnsConfig": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecDnsConfig:ServiceTaskSpecContainerSpecDnsConfig", "language": { "python": { "mapCase": false } } }, "env": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "groups": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "healthcheck": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecHealthcheck:ServiceTaskSpecContainerSpecHealthcheck", "language": { "python": { "mapCase": false } } }, "hostname": { "type": "string", "language": { "python": { "mapCase": false } } }, "hosts": { "type": "array", "items": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecHost:ServiceTaskSpecContainerSpecHost" }, "language": { "python": { "mapCase": false } } }, "image": { "type": "string", "language": { "python": { "mapCase": false } } }, "isolation": { "type": "string", "language": { "python": { "mapCase": false } } }, "labels": { "type": "array", "items": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecLabel:ServiceTaskSpecContainerSpecLabel" }, "language": { "python": { "mapCase": false } } }, "mounts": { "type": "array", "items": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecMount:ServiceTaskSpecContainerSpecMount" }, "language": { "python": { "mapCase": false } } }, "privileges": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecPrivileges:ServiceTaskSpecContainerSpecPrivileges", "language": { "python": { "mapCase": false } } }, "readOnly": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "secrets": { "type": "array", "items": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecSecret:ServiceTaskSpecContainerSpecSecret" }, "language": { "python": { "mapCase": false } } }, "stopGracePeriod": { "type": "string", "language": { "python": { "mapCase": false } } }, "stopSignal": { "type": "string", "language": { "python": { "mapCase": false } } }, "user": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "image" ], "language": { "nodejs": { "requiredOutputs": [ "dnsConfig", "healthcheck", "image", "stopGracePeriod" ] } } }, "docker:index/ServiceTaskSpecContainerSpecConfig:ServiceTaskSpecContainerSpecConfig": { "properties": { "configId": { "type": "string", "language": { "python": { "mapCase": false } } }, "configName": { "type": "string", "language": { "python": { "mapCase": false } } }, "fileGid": { "type": "string", "language": { "python": { "mapCase": false } } }, "fileMode": { "type": "integer", "language": { "python": { "mapCase": false } } }, "fileName": { "type": "string", "language": { "python": { "mapCase": false } } }, "fileUid": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "configId", "fileName" ] }, "docker:index/ServiceTaskSpecContainerSpecDnsConfig:ServiceTaskSpecContainerSpecDnsConfig": { "properties": { "nameservers": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "options": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "searches": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "nameservers" ] }, "docker:index/ServiceTaskSpecContainerSpecHealthcheck:ServiceTaskSpecContainerSpecHealthcheck": { "properties": { "interval": { "type": "string", "language": { "python": { "mapCase": false } } }, "retries": { "type": "integer", "language": { "python": { "mapCase": false } } }, "startPeriod": { "type": "string", "language": { "python": { "mapCase": false } } }, "tests": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "timeout": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "tests" ] }, "docker:index/ServiceTaskSpecContainerSpecHost:ServiceTaskSpecContainerSpecHost": { "properties": { "host": { "type": "string", "language": { "python": { "mapCase": false } } }, "ip": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "host", "ip" ] }, "docker:index/ServiceTaskSpecContainerSpecLabel:ServiceTaskSpecContainerSpecLabel": { "properties": { "label": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "label", "value" ] }, "docker:index/ServiceTaskSpecContainerSpecMount:ServiceTaskSpecContainerSpecMount": { "properties": { "bindOptions": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecMountBindOptions:ServiceTaskSpecContainerSpecMountBindOptions", "language": { "python": { "mapCase": false } } }, "readOnly": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "source": { "type": "string", "language": { "python": { "mapCase": false } } }, "target": { "type": "string", "language": { "python": { "mapCase": false } } }, "tmpfsOptions": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecMountTmpfsOptions:ServiceTaskSpecContainerSpecMountTmpfsOptions", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "language": { "python": { "mapCase": false } } }, "volumeOptions": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecMountVolumeOptions:ServiceTaskSpecContainerSpecMountVolumeOptions", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "target", "type" ] }, "docker:index/ServiceTaskSpecContainerSpecMountBindOptions:ServiceTaskSpecContainerSpecMountBindOptions": { "properties": { "propagation": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecContainerSpecMountTmpfsOptions:ServiceTaskSpecContainerSpecMountTmpfsOptions": { "properties": { "mode": { "type": "integer", "language": { "python": { "mapCase": false } } }, "sizeBytes": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecContainerSpecMountVolumeOptions:ServiceTaskSpecContainerSpecMountVolumeOptions": { "properties": { "driverName": { "type": "string", "language": { "python": { "mapCase": false } } }, "driverOptions": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "labels": { "type": "array", "items": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecMountVolumeOptionsLabel:ServiceTaskSpecContainerSpecMountVolumeOptionsLabel" }, "language": { "python": { "mapCase": false } } }, "noCopy": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecContainerSpecMountVolumeOptionsLabel:ServiceTaskSpecContainerSpecMountVolumeOptionsLabel": { "properties": { "label": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "label", "value" ] }, "docker:index/ServiceTaskSpecContainerSpecPrivileges:ServiceTaskSpecContainerSpecPrivileges": { "properties": { "credentialSpec": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecPrivilegesCredentialSpec:ServiceTaskSpecContainerSpecPrivilegesCredentialSpec", "language": { "python": { "mapCase": false } } }, "seLinuxContext": { "$ref": "#/types/docker:index/ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext:ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecContainerSpecPrivilegesCredentialSpec:ServiceTaskSpecContainerSpecPrivilegesCredentialSpec": { "properties": { "file": { "type": "string", "language": { "python": { "mapCase": false } } }, "registry": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext:ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext": { "properties": { "disable": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "level": { "type": "string", "language": { "python": { "mapCase": false } } }, "role": { "type": "string", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "language": { "python": { "mapCase": false } } }, "user": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecContainerSpecSecret:ServiceTaskSpecContainerSpecSecret": { "properties": { "fileGid": { "type": "string", "language": { "python": { "mapCase": false } } }, "fileMode": { "type": "integer", "language": { "python": { "mapCase": false } } }, "fileName": { "type": "string", "language": { "python": { "mapCase": false } } }, "fileUid": { "type": "string", "language": { "python": { "mapCase": false } } }, "secretId": { "type": "string", "language": { "python": { "mapCase": false } } }, "secretName": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "fileName", "secretId" ] }, "docker:index/ServiceTaskSpecLogDriver:ServiceTaskSpecLogDriver": { "properties": { "name": { "type": "string", "language": { "python": { "mapCase": false } } }, "options": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "docker:index/ServiceTaskSpecPlacement:ServiceTaskSpecPlacement": { "properties": { "constraints": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "maxReplicas": { "type": "integer", "language": { "python": { "mapCase": false } } }, "platforms": { "type": "array", "items": { "$ref": "#/types/docker:index/ServiceTaskSpecPlacementPlatform:ServiceTaskSpecPlacementPlatform" }, "language": { "python": { "mapCase": false } } }, "prefs": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecPlacementPlatform:ServiceTaskSpecPlacementPlatform": { "properties": { "architecture": { "type": "string", "language": { "python": { "mapCase": false } } }, "os": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "architecture", "os" ] }, "docker:index/ServiceTaskSpecResources:ServiceTaskSpecResources": { "properties": { "limits": { "$ref": "#/types/docker:index/ServiceTaskSpecResourcesLimits:ServiceTaskSpecResourcesLimits", "language": { "python": { "mapCase": false } } }, "reservation": { "$ref": "#/types/docker:index/ServiceTaskSpecResourcesReservation:ServiceTaskSpecResourcesReservation", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecResourcesLimits:ServiceTaskSpecResourcesLimits": { "properties": { "memoryBytes": { "type": "integer", "language": { "python": { "mapCase": false } } }, "nanoCpus": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecResourcesReservation:ServiceTaskSpecResourcesReservation": { "properties": { "genericResources": { "$ref": "#/types/docker:index/ServiceTaskSpecResourcesReservationGenericResources:ServiceTaskSpecResourcesReservationGenericResources", "language": { "python": { "mapCase": false } } }, "memoryBytes": { "type": "integer", "language": { "python": { "mapCase": false } } }, "nanoCpus": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecResourcesReservationGenericResources:ServiceTaskSpecResourcesReservationGenericResources": { "properties": { "discreteResourcesSpecs": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "namedResourcesSpecs": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceTaskSpecRestartPolicy:ServiceTaskSpecRestartPolicy": { "properties": { "condition": { "type": "string", "language": { "python": { "mapCase": false } } }, "delay": { "type": "string", "language": { "python": { "mapCase": false } } }, "maxAttempts": { "type": "integer", "language": { "python": { "mapCase": false } } }, "window": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/ServiceUpdateConfig:ServiceUpdateConfig": { "properties": { "delay": { "type": "string", "language": { "python": { "mapCase": false } } }, "failureAction": { "type": "string", "language": { "python": { "mapCase": false } } }, "maxFailureRatio": { "type": "string", "language": { "python": { "mapCase": false } } }, "monitor": { "type": "string", "language": { "python": { "mapCase": false } } }, "order": { "type": "string", "language": { "python": { "mapCase": false } } }, "parallelism": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "docker:index/VolumeLabel:VolumeLabel": { "properties": { "label": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "label", "value" ] }, "docker:index/getNetworkIpamConfig:getNetworkIpamConfig": { "properties": { "auxAddress": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "language": { "python": { "mapCase": false } } }, "gateway": { "type": "string", "language": { "python": { "mapCase": false } } }, "ipRange": { "type": "string", "language": { "python": { "mapCase": false } } }, "subnet": { "type": "string", "language": { "python": { "mapCase": false } } } }, "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", "inputProperties": { "caMaterial": { "type": "string", "description": "PEM-encoded content of Docker host CA certificate\n" }, "certMaterial": { "type": "string", "description": "PEM-encoded content of Docker client certificate\n" }, "certPath": { "type": "string", "description": "Path to directory with Docker TLS config\n" }, "host": { "type": "string", "description": "The Docker daemon address\n", "default": "unix:///var/run/docker.sock", "defaultInfo": { "environment": [ "DOCKER_HOST" ] } }, "keyMaterial": { "type": "string", "description": "PEM-encoded content of Docker client private key\n" }, "registryAuth": { "type": "array", "items": { "$ref": "#/types/docker:index/ProviderRegistryAuth:ProviderRegistryAuth" } } } }, "resources": { "docker:index/container:Container": { "description": "\n\n\n## Import\n\n### Example Assuming you created a `container` as follows #!/bin/bash docker run --name foo -p8080:80 -d nginx\n\n# prints the container ID\n\n9a550c0f0163d39d77222d3efd58701b625d47676c25c686c95b5b92d1cba6fd you provide the definition for the resource as follows terraform resource \"docker_container\" \"foo\" {\n\n name\n\n= \"foo\"\n\n image = \"nginx\"\n\n ports {\n\n\n\n internal = \"80\"\n\n\n\n external = \"8080\"\n\n } } then the import command is as follows #!/bin/bash\n\n```sh\n $ pulumi import docker:index/container:Container foo 9a550c0f0163d39d77222d3efd58701b625d47676c25c686c95b5b92d1cba6fd\n```\n\n ", "properties": { "attach": { "type": "boolean", "description": "If `true` attach to the container after its creation and waits the end of its execution. Defaults to `false`.\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" }, "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\n`[\"/usr/bin/myprogram\",\"-\",\"baz.con\"]`.\n" }, "containerLogs": { "type": "string", "description": "The logs of the container if its execution is done (`attach` must be disabled).\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" }, "destroyGraceSeconds": { "type": "integer", "description": "If defined will attempt to stop the container before destroying. Container will be destroyed after `n` seconds or on\nsuccessful 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\nexecutable. For example, to run `/usr/bin/myprogram` when starting a container, set the entrypoint to be\n`\"/usr/bin/myprogra\"]`.\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 (`must_run` must be disabled).\n" }, "gateway": { "type": "string", "description": "The network gateway of the container.\n", "deprecationMessage": "Use `network_data` instead. The network gateway of the container as read from its NetworkSettings." }, "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 `docker_image` resource as\nis 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 `dockerd`\ndefaults.\n" }, "ipAddress": { "type": "string", "description": "The IP address of the container.\n", "deprecationMessage": "Use `network_data` instead. The IP address of the container's first network it." }, "ipPrefixLength": { "type": "integer", "description": "The IP prefix length of the container.\n", "deprecationMessage": "Use `network_data` instead. The IP prefix length of the container as read from its NetworkSettings." }, "ipcMode": { "type": "string", "description": "IPC sharing mode for the container. Possible values are: `none`, `private`, `shareable`, `container:<name|id>` or\n`host`.\n" }, "labels": { "type": "array", "items": { "$ref": "#/types/docker:index/ContainerLabel:ContainerLabel" }, "description": "User-defined key/value metadata\n" }, "links": { "type": "array", "items": { "type": "string" }, "description": "Set of links for link based connectivity between containers that are running on the same host.\n", "deprecationMessage": "The --link flag is a legacy feature of Docker. It may eventually be removed." }, "logDriver": { "type": "string", "description": "The logging driver to use for the container. Defaults to `json-file`.\n" }, "logOpts": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "Key/value pairs to use as options for the logging driver.\n" }, "logs": { "type": "boolean", "description": "Save the container logs (`attach` must be enabled). Defaults to `false`.\n" }, "maxRetryCount": { "type": "integer", "description": "The maximum amount of times to an attempt a restart when `restart` is set to 'on-failure'.\n" }, "memory": { "type": "integer", "description": "The memory limit for the container in MBs.\n" }, "memorySwap": { "type": "integer", "description": "The total memory limit (memory + swap) for the container in MBs. This setting may compute to `-1` after `terraform\napply` 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", "description": "If `true`, then the Docker container will be kept running. If `false`, then as long as the container exists, Terraform\nassumes it is successful. Defaults to `true`.\n" }, "name": { "type": "string", "description": "The name of the container.\n" }, "networkAliases": { "type": "array", "items": { "type": "string" }, "description": "Set an alias for the container in all specified networks\n", "deprecationMessage": "Use networks_advanced instead. Will be removed in v3.0.0" }, "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.\n" }, "networks": { "type": "array", "items": { "type": "string" }, "description": "ID of the networks in which the container is.\n", "deprecationMessage": "Use networks_advanced instead. Will be removed in v3.0.0" }, "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:<name|id>` or `host`.\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 `true`, the container runs in privileged mode.\n" }, "publishAllPorts": { "type": "boolean", "description": "Publish all ports of the container.\n" }, "readOnly": { "type": "boolean", "description": "If `true`, the container will be started as readonly. Defaults to `false`.\n" }, "removeVolumes": { "type": "boolean", "description": "If `true`, it will remove anonymous volumes associated with the container. Defaults to `true`.\n" }, "restart": { "type": "string", "description": "The restart policy for the container. Must be one of 'no', 'on-failure', 'always', 'unless-stopped'. Defaults to `no`.\n" }, "rm": { "type": "boolean", "description": "If `true`, then the container will be automatically removed after his execution. Terraform won't check this container\nafter creation. Defaults to `false`.\n" }, "securityOpts": { "type": "array", "items": { "type": "string" }, "description": "List of string values to customize labels for MLS systems, such as SELinux. See\nhttps://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 `true`, then the Docker container will be started after creation. If `false`, then the container is only created.\nDefaults to `true`.\n" }, "stdinOpen": { "type": "boolean", "description": "If `true`, keep STDIN open even if not attached (`docker run -i`). Defaults to `false`.\n" }, "storageOpts": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "Key/value pairs for the storage driver options, e.g. `size`: `120G`\n" }, "sysctls": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "A map of kernel parameters (sysctls) to set in the container.\n" }, "tmpfs": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "A map of container directories which should be replaced by `tmpfs mounts`, and their corresponding mount options.\n" }, "tty": { "type": "boolean", "description": "If `true`, allocate a pseudo-tty (`docker run -t`). Defaults to `false`.\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 `content` or `content_base64` can be set and\nat least one of them has to be set.\n" }, "user": { "type": "string", "description": "User used for run the first process. Format is `user` or `user:group` which user and group can be passed literraly or by\nname.\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" }, "workingDir": { "type": "string", "description": "The working directory for commands to run in.\n" } }, "required": [ "bridge", "command", "containerLogs", "entrypoints", "envs", "exitCode", "gateway", "healthcheck", "hostname", "image", "init", "ipAddress", "ipPrefixLength", "ipcMode", "labels", "name", "networkDatas", "securityOpts", "shmSize" ], "inputProperties": { "attach": { "type": "boolean", "description": "If `true` attach to the container after its creation and waits the end of its execution. Defaults to `false`.\n" }, "capabilities": { "$ref": "#/types/docker:index/ContainerCapabilities:ContainerCapabilities", "description": "Add or drop certrain linux capabilities.\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\n`[\"/usr/bin/myprogram\",\"-\",\"baz.con\"]`.\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" }, "destroyGraceSeconds": { "type": "integer", "description": "If defined will attempt to stop the container before destroying. Container will be destroyed after `n` seconds or on\nsuccessful 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\nexecutable. For example, to run `/usr/bin/myprogram` when starting a container, set the entrypoint to be\n`\"/usr/bin/myprogra\"]`.\n" }, "envs": { "type": "array", "items": { "type": "string" }, "description": "Environment variables to set in the form of `KEY=VALUE`, e.g. `DEBUG=0`\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 `docker_image` resource as\nis 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 `dockerd`\ndefaults.\n" }, "ipcMode": { "type": "string", "description": "IPC sharing mode for the container. Possible values are: `none`, `private`, `shareable`, `container:<name|id>` or\n`host`.\n" }, "labels": { "type": "array", "items": { "$ref": "#/types/docker:index/ContainerLabel:ContainerLabel" }, "description": "User-defined key/value metadata\n" }, "links": { "type": "array", "items": { "type": "string" }, "description": "Set of links for link based connectivity between containers that are running on the same host.\n", "deprecationMessage": "The --link flag is a legacy feature of Docker. It may eventually be removed." }, "logDriver": { "type": "string", "description": "The logging driver to use for the container. Defaults to `json-file`.\n" }, "logOpts": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "Key/value pairs to use as options for the logging driver.\n" }, "logs": { "type": "boolean", "description": "Save the container logs (`attach` must be enabled). Defaults to `false`.\n" }, "maxRetryCount": { "type": "integer", "description": "The maximum amount of times to an attempt a restart when `restart` is set to 'on-failure'.\n" }, "memory": { "type": "integer", "description": "The memory limit for the container in MBs.\n" }, "memorySwap": { "type": "integer", "description": "The total memory limit (memory + swap) for the container in MBs. This setting may compute to `-1` after `terraform\napply` 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", "description": "If `true`, then the Docker container will be kept running. If `false`, then as long as the container exists, Terraform\nassumes it is successful. Defaults to `true`.\n" }, "name": { "type": "string", "description": "The name of the container.\n" }, "networkAliases": { "type": "array", "items": { "type": "string" }, "description": "Set an alias for the container in all specified networks\n", "deprecationMessage": "Use networks_advanced instead. Will be removed in v3.0.0" }, "networkMode": { "type": "string", "description": "Network mode of the container.\n" }, "networks": { "type": "array", "items": { "type": "string" }, "description": "ID of the networks in which the container is.\n", "deprecationMessage": "Use networks_advanced instead. Will be removed in v3.0.0" }, "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:<name|id>` or `host`.\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 `true`, the container runs in privileged mode.\n" }, "publishAllPorts": { "type": "boolean", "description": "Publish all ports of the container.\n" }, "readOnly": { "type": "boolean", "description": "If `true`, the container will be started as readonly. Defaults to `false`.\n" }, "removeVolumes": { "type": "boolean", "description": "If `true`, it will remove anonymous volumes associated with the container. Defaults to `true`.\n" }, "restart": { "type": "string", "description": "The restart policy for the container. Must be one of 'no', 'on-failure', 'always', 'unless-stopped'. Defaults to `no`.\n" }, "rm": { "type": "boolean", "description": "If `true`, then the container will be automatically removed after his execution. Terraform won't check this container\nafter creation. Defaults to `false`.\n" }, "securityOpts": { "type": "array", "items": { "type": "string" }, "description": "List of string values to customize labels for MLS systems, such as SELinux. See\nhttps://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 `true`, then the Docker container will be started after creation. If `false`, then the container is only created.\nDefaults to `true`.\n" }, "stdinOpen": { "type": "boolean", "description": "If `true`, keep STDIN open even if not attached (`docker run -i`). Defaults to `false`.\n" }, "storageOpts": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "Key/value pairs for the storage driver options, e.g. `size`: `120G`\n" }, "sysctls": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "A map of kernel parameters (sysctls) to set in the container.\n" }, "tmpfs": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "A map of container directories which should be replaced by `tmpfs mounts`, and their corresponding mount options.\n" }, "tty": { "type": "boolean", "description": "If `true`, allocate a pseudo-tty (`docker run -t`). Defaults to `false`.\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 `content` or `content_base64` can be set and\nat least one of them has to be set.\n" }, "user": { "type": "string", "description": "User used for run the first process. Format is `user` or `user:group` which user and group can be passed literraly or by\nname.\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" }, "workingDir": { "type": "string", "description": "The working directory for commands to run in.\n" } }, "requiredInputs": [ "image" ], "stateInputs": { "description": "Input properties used for looking up and filtering Container resources.\n", "properties": { "attach": { "type": "boolean", "description": "If `true` attach to the container after its creation and waits the end of its execution. Defaults to `false`.\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" }, "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\n`[\"/usr/bin/myprogram\",\"-\",\"baz.con\"]`.\n" }, "containerLogs": { "type": "string", "description": "The logs of the container if its execution is done (`attach` must be disabled).\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" }, "destroyGraceSeconds": { "type": "integer", "description": "If defined will attempt to stop the container before destroying. Container will be destroyed after `n` seconds or on\nsuccessful 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\nexecutable. For example, to run `/usr/bin/myprogram` when starting a container, set the entrypoint to be\n`\"/usr/bin/myprogra\"]`.\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 (`must_run` must be disabled).\n" }, "gateway": { "type": "string", "description": "The network gateway of the container.\n", "deprecationMessage": "Use `network_data` instead. The network gateway of the container as read from its NetworkSettings." }, "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 `docker_image` resource as\nis 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 `dockerd`\ndefaults.\n" }, "ipAddress": { "type": "string", "description": "The IP address of the container.\n", "deprecationMessage": "Use `network_data` instead. The IP address of the container's first network it." }, "ipPrefixLength": { "type": "integer", "description": "The IP prefix length of the container.\n", "deprecationMessage": "Use `network_data` instead. The IP prefix length of the container as read from its NetworkSettings." }, "ipcMode": { "type": "string", "description": "IPC sharing mode for the container. Possible values are: `none`, `private`, `shareable`, `container:<name|id>` or\n`host`.\n" }, "labels": { "type": "array", "items": { "$ref": "#/types/docker:index/ContainerLabel:ContainerLabel" }, "description": "User-defined key/value metadata\n" }, "links": { "type": "array", "items": { "type": "string" }, "description": "Set of links for link based connectivity between containers that are running on the same host.\n", "deprecationMessage": "The --link flag is a legacy feature of Docker. It may eventually be removed." }, "logDriver": { "type": "string", "description": "The logging driver to use for the container. Defaults to `json-file`.\n" }, "logOpts": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "Key/value pairs to use as options for the logging driver.\n" }, "logs": { "type": "boolean", "description": "Save the container logs (`attach` must be enabled). Defaults to `false`.\n" }, "maxRetryCount": { "type": "integer", "description": "The maximum amount of times to an attempt a restart when `restart` is set to 'on-failure'.\n" }, "memory": { "type": "integer", "description": "The memory limit for the container in MBs.\n" }, "memorySwap": { "type": "integer", "description": "The total memory limit (memory + swap) for the container in MBs. This setting may compute to `-1` after `terraform\napply` 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", "description": "If `true`, then the Docker container will be kept running. If `false`, then as long as the container exists, Terraform\nassumes it is successful. Defaults to `true`.\n" }, "name": { "type": "string", "description": "The name of the container.\n" }, "networkAliases": { "type": "array", "items": { "type": "string" }, "description": "Set an alias for the container in all specified networks\n", "deprecationMessage": "Use networks_advanced instead. Will be removed in v3.0.0" }, "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.\n" }, "networks": { "type": "array", "items": { "type": "string" }, "description": "ID of the networks in which the container is.\n", "deprecationMessage": "Use networks_advanced instead. Will be removed in v3.0.0" }, "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:<name|id>` or `host`.\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 `true`, the container runs in privileged mode.\n" }, "publishAllPorts": { "type": "boolean", "description": "Publish all ports of the container.\n" }, "readOnly": { "type": "boolean", "description": "If `true`, the container will be started as readonly. Defaults to `false`.\n" }, "removeVolumes": { "type": "boolean", "description": "If `true`, it will remove anonymous volumes associated with the container. Defaults to `true`.\n" }, "restart": { "type": "string", "description": "The restart policy for the container. Must be one of 'no', 'on-failure', 'always', 'unless-stopped'. Defaults to `no`.\n" }, "rm": { "type": "boolean", "description": "If `true`, then the container will be automatically removed after his execution. Terraform won't check this container\nafter creation. Defaults to `false`.\n" }, "securityOpts": { "type": "array", "items": { "type": "string" }, "description": "List of string values to customize labels for MLS systems, such as SELinux. See\nhttps://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 `true`, then the Docker container will be started after creation. If `false`, then the container is only created.\nDefaults to `true`.\n" }, "stdinOpen": { "type": "boolean", "description": "If `true`, keep STDIN open even if not attached (`docker run -i`). Defaults to `false`.\n" }, "storageOpts": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "Key/value pairs for the storage driver options, e.g. `size`: `120G`\n" }, "sysctls": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "A map of kernel parameters (sysctls) to set in the container.\n" }, "tmpfs": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "A map of container directories which should be replaced by `tmpfs mounts`, and their corresponding mount options.\n" }, "tty": { "type": "boolean", "description": "If `true`, allocate a pseudo-tty (`docker run -t`). Defaults to `false`.\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 `content` or `content_base64` can be set and\nat least one of them has to be set.\n" }, "user": { "type": "string", "description": "User used for run the first process. Format is `user` or `user:group` which user and group can be passed literraly or by\nname.\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" }, "workingDir": { "type": "string", "description": "The working directory for commands to run in.\n" } }, "type": "object" } }, "docker:index/network:Network": { "description": "<!-- Bug: Type and Name are switched -->\n`docker.Network` provides details about a specific Docker Network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst privateNetwork = new docker.Network(\"private_network\", {});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nprivate_network = docker.Network(\"privateNetwork\")\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var privateNetwork = new Docker.Network(\"privateNetwork\", new Docker.NetworkArgs\n {\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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, \"privateNetwork\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n<!-- schema generated by tfplugindocs -->\n{{% /example %}}\n{{% /examples %}}\n## Schema\n\n### Required\n\n- **name** (String) The name of the Docker network.\n\n### Optional\n\n- **attachable** (Boolean) Enable manual container attachment to the network.\n- **check_duplicate** (Boolean) Requests daemon to check for networks with same name.\n- **driver** (String) The driver of the Docker network. Possible values are `bridge`, `host`, `overlay`, `macvlan`. See [network docs](https://docs.docker.com/network/#network-drivers) for more details.\n- **id** (String) The ID of this resource.\n- **ingress** (Boolean) Create swarm routing-mesh network. Defaults to `false`.\n- **internal** (Boolean) Whether the network is internal.\n- **ipam_config** (Block Set) The IPAM configuration options (see below for nested schema)\n- **ipam_driver** (String) Driver used by the custom IP scheme of the network. Defaults to `default`\n- **ipv6** (Boolean) Enable IPv6 networking. Defaults to `false`.\n- **labels** (Block Set) User-defined key/value metadata (see below for nested schema)\n- **options** (Map of String) 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\n### Read-Only\n\n- **scope** (String) Scope of the network. One of `swarm`, `global`, or `local`.\n\n<a id=\"nestedblock--ipam_config\"></a>\n### Nested Schema for `ipam_config`\n\nOptional:\n\n- **aux_address** (Map of String) Auxiliary IPv4 or IPv6 addresses used by Network driver\n- **gateway** (String) The IP address of the gateway\n- **ip_range** (String) The ip range in CIDR form\n- **subnet** (String) The subnet in CIDR form\n\n\n<a id=\"nestedblock--labels\"></a>\n### Nested Schema for `labels`\n\nRequired:\n\n- **label** (String) Name of the label\n- **value** (String) Value of the label\n\n\n## Import\n\n### Example Assuming you created a `network` as follows #!/bin/bash docker network create foo # prints the long ID 87b57a9b91ecab2db2a6dbf38df74c67d7c7108cbe479d6576574ec2cd8c2d73 you provide the definition for the resource as follows terraform resource \"docker_network\" \"foo\" {\n\n name = \"foo\" } then the import command is as follows #!/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" }, "driver": { "type": "string", "description": "The driver of the Docker network. Possible values are `bridge`, `host`, `overlay`, `macvlan`. See [network\ndocs](https://docs.docker.com/network/#network-drivers) for more details.\n" }, "ingress": { "type": "boolean", "description": "Create swarm routing-mesh network. Defaults to `false`.\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 `default`\n" }, "ipv6": { "type": "boolean", "description": "Enable IPv6 networking. Defaults to `false`.\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": { "$ref": "pulumi.json#/Any" }, "description": "Only available with bridge networks. See [bridge options\ndocs](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 `swarm`, `global`, or `local`.\n" } }, "required": [ "driver", "internal", "ipamConfigs", "name", "options", "scope" ], "inputProperties": { "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" }, "driver": { "type": "string", "description": "The driver of the Docker network. Possible values are `bridge`, `host`, `overlay`, `macvlan`. See [network\ndocs](https://docs.docker.com/network/#network-drivers) for more details.\n" }, "ingress": { "type": "boolean", "description": "Create swarm routing-mesh network. Defaults to `false`.\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 `default`\n" }, "ipv6": { "type": "boolean", "description": "Enable IPv6 networking. Defaults to `false`.\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": { "$ref": "pulumi.json#/Any" }, "description": "Only available with bridge networks. See [bridge options\ndocs](https://docs.docker.com/engine/reference/commandline/network_create/#bridge-driver-options) for more details.\n" } }, "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" }, "checkDuplicate": { "type": "boolean", "description": "Requests daemon to check for networks with same name.\n" }, "driver": { "type": "string", "description": "The driver of the Docker network. Possible values are `bridge`, `host`, `overlay`, `macvlan`. See [network\ndocs](https://docs.docker.com/network/#network-drivers) for more details.\n" }, "ingress": { "type": "boolean", "description": "Create swarm routing-mesh network. Defaults to `false`.\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 `default`\n" }, "ipv6": { "type": "boolean", "description": "Enable IPv6 networking. Defaults to `false`.\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": { "$ref": "pulumi.json#/Any" }, "description": "Only available with bridge networks. See [bridge options\ndocs](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 `swarm`, `global`, or `local`.\n" } }, "type": "object" } }, "docker:index/plugin:Plugin": { "description": "<!-- Bug: Type and Name are switched -->\nManages the lifecycle of a Docker plugin.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst sample_volume_plugin = new docker.Plugin(\"sample-volume-plugin\", {\n alias: \"sample-volume-plugin\",\n enableTimeout: 60,\n enabled: false,\n envs: [\"DEBUG=1\"],\n forceDestroy: true,\n forceDisable: true,\n grantAllPermissions: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nsample_volume_plugin = docker.Plugin(\"sample-volume-plugin\",\n alias=\"sample-volume-plugin\",\n enable_timeout=60,\n enabled=False,\n envs=[\"DEBUG=1\"],\n force_destroy=True,\n force_disable=True,\n grant_all_permissions=True)\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var sample_volume_plugin = new Docker.Plugin(\"sample-volume-plugin\", new Docker.PluginArgs\n {\n Alias = \"sample-volume-plugin\",\n EnableTimeout = 60,\n Enabled = false,\n Envs = \n {\n \"DEBUG=1\",\n },\n ForceDestroy = true,\n ForceDisable = true,\n GrantAllPermissions = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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.NewPlugin(ctx, \"sample_volume_plugin\", &docker.PluginArgs{\n\t\t\tAlias: pulumi.String(\"sample-volume-plugin\"),\n\t\t\tEnableTimeout: pulumi.Int(60),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tEnvs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DEBUG=1\"),\n\t\t\t},\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tForceDisable: pulumi.Bool(true),\n\t\t\tGrantAllPermissions: 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\n<!-- schema generated by tfplugindocs -->\n{{% /example %}}\n{{% /examples %}}\n## Schema\n\n### Required\n\n- **name** (String) Docker Plugin name\n\n### Optional\n\n- **alias** (String) Docker Plugin alias\n- **enable_timeout** (Number) HTTP client timeout to enable the plugin\n- **enabled** (Boolean) If `true` the plugin is enabled. Defaults to `true`\n- **env** (Set of String) The environment variables in the form of `KEY=VALUE`, e.g. `DEBUG=0`\n- **force_destroy** (Boolean) If true, then the plugin is destroyed forcibly\n- **force_disable** (Boolean) If true, then the plugin is disabled forcibly\n- **grant_all_permissions** (Boolean) If true, grant all permissions necessary to run the plugin\n- **grant_permissions** (Block Set) Grant specific permissions only (see below for nested schema)\n- **id** (String) The ID of this resource.\n\n### Read-Only\n\n- **plugin_reference** (String) Docker Plugin Reference\n\n<a id=\"nestedblock--grant_permissions\"></a>\n### Nested Schema for `grant_permissions`\n\nRequired:\n\n- **name** (String) The name of the permission\n- **value** (Set of String) The value of the permission\n\n\n## Import\n\nImport is supported using the following syntax#!/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 `true` the plugin is enabled. Defaults to `true`\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" }, "enableTimeout": { "type": "integer", "description": "HTTP client timeout to enable the plugin\n" }, "enabled": { "type": "boolean", "description": "If `true` the plugin is enabled. Defaults to `true`\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" } }, "stateInputs": { "description": "Input properties used for looking up and filtering Plugin resources.\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 `true` the plugin is enabled. Defaults to `true`\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" } }, "type": "object" } }, "docker:index/registryImage:RegistryImage": { "description": "<!-- Bug: Type and Name are switched -->\nManages the lifecycle of docker image/tag in a registry.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\nimport * as process from \"process\";\n\nconst helloworld = new docker.RegistryImage(\"helloworld\", {\n build: {\n context: `${process.cwd()}/absolutePathToContextFolder`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nhelloworld = docker.RegistryImage(\"helloworld\", build=docker.RegistryImageBuildArgs(\n context=f\"{path['cwd']}/absolutePathToContextFolder\",\n))\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var helloworld = new Docker.RegistryImage(\"helloworld\", new Docker.RegistryImageArgs\n {\n Build = new Docker.Inputs.RegistryImageBuildArgs\n {\n Context = $\"{path.Cwd}/absolutePathToContextFolder\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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.NewRegistryImage(ctx, \"helloworld\", &docker.RegistryImageArgs{\n\t\t\tBuild: &docker.RegistryImageBuildArgs{\n\t\t\t\tContext: pulumi.String(fmt.Sprintf(\"%v%v\", path.Cwd, \"/absolutePathToContextFolder\")),\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\n<!-- schema generated by tfplugindocs -->\n{{% /example %}}\n{{% /examples %}}\n## Schema\n\n### Required\n\n- **name** (String) The name of the Docker image.\n\n### Optional\n\n- **build** (Block List, Max: 1) Definition for building the image (see below for nested schema)\n- **id** (String) The ID of this resource.\n- **insecure_skip_verify** (Boolean) If `true`, the verification of TLS certificates of the server/registry is disabled. Defaults to `false`\n- **keep_remotely** (Boolean) 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 `false`\n\n### Read-Only\n\n- **sha256_digest** (String) The sha256 digest of the image.\n\n<a id=\"nestedblock--build\"></a>\n### Nested Schema for `build`\n\nRequired:\n\n- **context** (String) The absolute path to the context folder. You can use the helper function '${path.cwd}/context-dir'.\n\nOptional:\n\n- **auth_config** (Block List) The configuration for the authentication (see below for nested schema)\n- **build_args** (Map of String) Pairs for build-time variables in the form TODO\n- **build_id** (String) BuildID is an optional identifier that can be passed together with the build request. The\n- **cache_from** (List of String) Images to consider as cache sources\n- **cgroup_parent** (String) Optional parent cgroup for the container\n- **cpu_period** (Number) The length of a CPU period in microseconds\n- **cpu_quota** (Number) Microseconds of CPU time that the container can get in a CPU period\n- **cpu_set_cpus** (String) CPUs in which to allow execution (e.g., `0-3`, `0`, `1`)\n- **cpu_set_mems** (String) MEMs in which to allow execution (`0-3`, `0`, `1`)\n- **cpu_shares** (Number) CPU shares (relative weight)\n- **dockerfile** (String) Dockerfile file. Defaults to `Dockerfile`\n- **extra_hosts** (List of String) A list of hostnames/IP mappings to add to the container’s /etc/hosts file. Specified in the form [\"hostname:IP\"]\n- **force_remove** (Boolean) Always remove intermediate containers\n- **isolation** (String) Isolation represents the isolation technology of a container. The supported values are\n- **labels** (Map of String) User-defined key/value metadata\n- **memory** (Number) Set memory limit for build\n- **memory_swap** (Number) Total memory (memory + swap), -1 to enable unlimited swap\n- **network_mode** (String) Set the networking mode for the RUN instructions during build\n- **no_cache** (Boolean) Do not use the cache when building the image\n- **platform** (String) Set platform if server is multi-platform capable\n- **pull_parent** (Boolean) Attempt to pull the image even if an older image exists locally\n- **remote_context** (String) A Git repository URI or HTTP/HTTPS context URI\n- **remove** (Boolean) Remove intermediate containers after a successful build (default behavior)\n- **security_opt** (List of String) The security options\n- **session_id** (String) Set an ID for the build session\n- **shm_size** (Number) Size of /dev/shm in bytes. The size must be greater than 0\n- **squash** (Boolean) If true the new layers are squashed into a new image with a single new layer\n- **suppress_output** (Boolean) Suppress the build output and print image ID on success\n- **target** (String) Set the target build stage to build\n- **ulimit** (Block List) Configuration for ulimits (see below for nested schema)\n- **version** (String) Version of the unerlying builder to use\n\n<a id=\"nestedblock--build--auth_config\"></a>\n### Nested Schema for `build.auth_config`\n\nRequired:\n\n- **host_name** (String) hostname of the registry\n\nOptional:\n\n- **auth** (String) the auth token\n- **email** (String) the user emal\n- **identity_token** (String) the identity token\n- **password** (String) the registry password\n- **registry_token** (String) the registry token\n- **server_address** (String) the server address\n- **user_name** (String) the registry user name\n\n\n<a id=\"nestedblock--build--ulimit\"></a>\n### Nested Schema for `build.ulimit`\n\nRequired:\n\n- **hard** (Number) soft limit\n- **name** (String) type of ulimit, e.g. `nofile`\n- **soft** (Number) hard limit\n", "properties": { "build": { "$ref": "#/types/docker:index/RegistryImageBuild:RegistryImageBuild", "description": "Definition for building the image\n" }, "insecureSkipVerify": { "type": "boolean", "description": "If `true`, the verification of TLS certificates of the server/registry is disabled. Defaults to `false`\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\nthe docker registry on destroy operation. Defaults to `false`\n" }, "name": { "type": "string", "description": "The name of the Docker image.\n" }, "sha256Digest": { "type": "string", "description": "The sha256 digest of the image.\n" } }, "required": [ "name", "sha256Digest" ], "inputProperties": { "build": { "$ref": "#/types/docker:index/RegistryImageBuild:RegistryImageBuild", "description": "Definition for building the image\n" }, "insecureSkipVerify": { "type": "boolean", "description": "If `true`, the verification of TLS certificates of the server/registry is disabled. Defaults to `false`\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\nthe docker registry on destroy operation. Defaults to `false`\n" }, "name": { "type": "string", "description": "The name of the Docker image.\n" } }, "stateInputs": { "description": "Input properties used for looking up and filtering RegistryImage resources.\n", "properties": { "build": { "$ref": "#/types/docker:index/RegistryImageBuild:RegistryImageBuild", "description": "Definition for building the image\n" }, "insecureSkipVerify": { "type": "boolean", "description": "If `true`, the verification of TLS certificates of the server/registry is disabled. Defaults to `false`\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\nthe docker registry on destroy operation. Defaults to `false`\n" }, "name": { "type": "string", "description": "The name of the Docker image.\n" }, "sha256Digest": { "type": "string", "description": "The sha256 digest of the image.\n" } }, "type": "object" } }, "docker:index/remoteImage:RemoteImage": { "description": "<!-- Bug: Type and Name are switched -->\nPulls a Docker image to a given Docker host from a Docker Registry.\n This resource will *not* pull new layers of the image automatically unless used in conjunction with docker.RegistryImage data source to update the `pull_triggers` field.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\nFinds and downloads the latest `ubuntu:precise` image but does not check\nfor further updates of the image\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst ubuntu = new docker.RemoteImage(\"ubuntu\", {\n name: \"ubuntu:precise\",\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nubuntu = docker.RemoteImage(\"ubuntu\", name=\"ubuntu:precise\")\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var ubuntu = new Docker.RemoteImage(\"ubuntu\", new Docker.RemoteImageArgs\n {\n Name = \"ubuntu:precise\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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.NewRemoteImage(ctx, \"ubuntu\", &docker.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% example %}}\n### Dynamic updates\n\nTo be able to update an image dynamically when the `sha256` sum changes,\nyou need to use it in combination with `docker.RegistryImage` as follows:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst ubuntuRegistryImage = docker.getRegistryImage({\n name: \"ubuntu:precise\",\n});\nconst ubuntuRemoteImage = new docker.RemoteImage(\"ubuntuRemoteImage\", {\n name: ubuntuRegistryImage.then(ubuntuRegistryImage => ubuntuRegistryImage.name),\n pullTriggers: [ubuntuRegistryImage.then(ubuntuRegistryImage => ubuntuRegistryImage.sha256Digest)],\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nubuntu_registry_image = docker.get_registry_image(name=\"ubuntu:precise\")\nubuntu_remote_image = docker.RemoteImage(\"ubuntuRemoteImage\",\n name=ubuntu_registry_image.name,\n pull_triggers=[ubuntu_registry_image.sha256_digest])\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var ubuntuRegistryImage = Output.Create(Docker.GetRegistryImage.InvokeAsync(new Docker.GetRegistryImageArgs\n {\n Name = \"ubuntu:precise\",\n }));\n var ubuntuRemoteImage = new Docker.RemoteImage(\"ubuntuRemoteImage\", new Docker.RemoteImageArgs\n {\n Name = ubuntuRegistryImage.Apply(ubuntuRegistryImage => ubuntuRegistryImage.Name),\n PullTriggers = \n {\n ubuntuRegistryImage.Apply(ubuntuRegistryImage => ubuntuRegistryImage.Sha256Digest),\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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\tubuntuRegistryImage, err := docker.LookupRegistryImage(ctx, &docker.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, \"ubuntuRemoteImage\", &docker.RemoteImageArgs{\n\t\t\tName: pulumi.String(ubuntuRegistryImage.Name),\n\t\t\tPullTriggers: pulumi.StringArray{\n\t\t\t\tpulumi.String(ubuntuRegistryImage.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{{% /example %}}\n{{% example %}}\n### Build\n\nYou can also use the resource to build an image.\nIn this case the image \"zoo\" and \"zoo:develop\" are built.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst zoo = new docker.RemoteImage(\"zoo\", {\n name: \"zoo\",\n build: {\n path: \".\",\n tags: [\"zoo:develop\"],\n buildArg: {\n foo: \"zoo\",\n },\n label: {\n author: \"zoo\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nzoo = docker.RemoteImage(\"zoo\",\n name=\"zoo\",\n build=docker.RemoteImageBuildArgs(\n path=\".\",\n tags=[\"zoo:develop\"],\n build_arg={\n \"foo\": \"zoo\",\n },\n label={\n \"author\": \"zoo\",\n },\n ))\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var zoo = new Docker.RemoteImage(\"zoo\", new Docker.RemoteImageArgs\n {\n Name = \"zoo\",\n Build = new Docker.Inputs.RemoteImageBuildArgs\n {\n Path = \".\",\n Tags = \n {\n \"zoo:develop\",\n },\n BuildArg = \n {\n { \"foo\", \"zoo\" },\n },\n Label = \n {\n { \"author\", \"zoo\" },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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.NewRemoteImage(ctx, \"zoo\", &docker.RemoteImageArgs{\n\t\t\tName: pulumi.String(\"zoo\"),\n\t\t\tBuild: &docker.RemoteImageBuildArgs{\n\t\t\t\tPath: pulumi.String(\".\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"zoo:develop\"),\n\t\t\t\t},\n\t\t\t\tBuildArg: pulumi.StringMap{\n\t\t\t\t\t\"foo\": pulumi.String(\"zoo\"),\n\t\t\t\t},\n\t\t\t\tLabel: pulumi.StringMap{\n\t\t\t\t\t\"author\": pulumi.String(\"zoo\"),\n\t\t\t\t},\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\n<!-- schema generated by tfplugindocs -->\n{{% /example %}}\n{{% /examples %}}\n## Schema\n\n### Required\n\n- **name** (String) The name of the Docker image, including any tags or SHA256 repo digests.\n\n### Optional\n\n- **build** (Block Set, Max: 1) Configuration to build an image. Please see [docker build command reference](https://docs.docker.com/engine/reference/commandline/build/#options) too. (see below for nested schema)\n- **force_remove** (Boolean) If true, then the image is removed forcibly when the resource is destroyed.\n- **id** (String) The ID of this resource.\n- **keep_locally** (Boolean) 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- **pull_trigger** (String, Deprecated) A value which cause an image pull when changed\n- **pull_triggers** (Set of String) 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\n### Read-Only\n\n- **latest** (String, Deprecated) The ID of the image in the form of `sha256:<hash>` image digest. Do not confuse it with the default `latest` tag.\n- **output** (String, Deprecated)\n- **repo_digest** (String) The image sha256 digest in the form of `repo[:tag]@sha256:<hash>`.\n\n<a id=\"nestedblock--build\"></a>\n### Nested Schema for `build`\n\nRequired:\n\n- **path** (String) Context path\n\nOptional:\n\n- **build_arg** (Map of String) Set build-time variables\n- **dockerfile** (String) Name of the Dockerfile. Defaults to `Dockerfile`.\n- **force_remove** (Boolean) Always remove intermediate containers\n- **label** (Map of String) Set metadata for an image\n- **no_cache** (Boolean) Do not use cache when building the image\n- **remove** (Boolean) Remove intermediate containers after a successful build. Defaults to `true`.\n- **tag** (List of String) Name and optionally a tag in the 'name:tag' format\n- **target** (String) Set the target build stage to build\n", "properties": { "build": { "$ref": "#/types/docker:index/RemoteImageBuild:RemoteImageBuild", "description": "Configuration to build an image. Please see [docker build command\nreference](https://docs.docker.com/engine/reference/commandline/build/#options) too.\n" }, "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\nthe docker local storage on destroy operation.\n" }, "latest": { "type": "string", "description": "The ID of the image in the form of `sha256:<hash>` image digest. Do not confuse it with the default `latest` tag.\n", "deprecationMessage": "Use repo_digest instead" }, "name": { "type": "string", "description": "The name of the Docker image, including any tags or SHA256 repo digests.\n" }, "output": { "type": "string", "deprecationMessage": "Is unused and will be removed." }, "pullTrigger": { "type": "string", "description": "A value which cause an image pull when changed\n", "deprecationMessage": "Use field pull_triggers instead" }, "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\nusing the [docker_registry_image](../data-sources/registry_image.md).\n" }, "repoDigest": { "type": "string", "description": "The image sha256 digest in the form of `repo[:tag]@sha256:<hash>`.\n" } }, "required": [ "latest", "name", "output", "repoDigest" ], "inputProperties": { "build": { "$ref": "#/types/docker:index/RemoteImageBuild:RemoteImageBuild", "description": "Configuration to build an image. Please see [docker build command\nreference](https://docs.docker.com/engine/reference/commandline/build/#options) too.\n" }, "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\nthe 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" }, "pullTrigger": { "type": "string", "description": "A value which cause an image pull when changed\n", "deprecationMessage": "Use field pull_triggers instead" }, "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\nusing the [docker_registry_image](../data-sources/registry_image.md).\n" } }, "requiredInputs": [ "name" ], "stateInputs": { "description": "Input properties used for looking up and filtering RemoteImage resources.\n", "properties": { "build": { "$ref": "#/types/docker:index/RemoteImageBuild:RemoteImageBuild", "description": "Configuration to build an image. Please see [docker build command\nreference](https://docs.docker.com/engine/reference/commandline/build/#options) too.\n" }, "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\nthe docker local storage on destroy operation.\n" }, "latest": { "type": "string", "description": "The ID of the image in the form of `sha256:<hash>` image digest. Do not confuse it with the default `latest` tag.\n", "deprecationMessage": "Use repo_digest instead" }, "name": { "type": "string", "description": "The name of the Docker image, including any tags or SHA256 repo digests.\n" }, "output": { "type": "string", "deprecationMessage": "Is unused and will be removed." }, "pullTrigger": { "type": "string", "description": "A value which cause an image pull when changed\n", "deprecationMessage": "Use field pull_triggers instead" }, "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\nusing the [docker_registry_image](../data-sources/registry_image.md).\n" }, "repoDigest": { "type": "string", "description": "The image sha256 digest in the form of `repo[:tag]@sha256:<hash>`.\n" } }, "type": "object" } }, "docker:index/secret:Secret": { "description": "\n\n\n## Import\n\nImport is supported using the following syntax#!/bin/bash # Docker secret cannot be imported as the secret data, once set, is never exposed again. ", "properties": { "data": { "type": "string", "description": "Base64-url-safe-encoded secret data\n" }, "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "docker:index/service:Service": { "description": "\n\n\n## Import\n\n### Example Assuming you created a `service` as follows #!/bin/bash docker service create --name foo -p 8080:80 nginx # prints th ID 4pcphbxkfn2rffhbhe6czytgi you provide the definition for the resource as follows terraform resource \"docker_service\" \"foo\" {\n\n name = \"foo\"\n\n task_spec {\n\n\n\n container_spec {\n\n\n\n\n\n image = \"nginx\"\n\n\n\n }\n\n }\n\n endpoint_spec {\n\n\n\n ports {\n\n\n\n\n\n target_port\n\n\n\n= \"80\"\n\n\n\n\n\n published_port = \"8080\"\n\n\n\n }\n\n } } then the import command is as follows #!/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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "docker:index/serviceConfig:ServiceConfig": { "description": "\n\n\n## Import\n\n### Example Assuming you created a `config` as follows #!/bin/bash printf '{\"a\":\"b\"}' | docker config create foo - # prints the id\n\n08c26c477474478d971139f750984775a7f019dbe8a2e7f09d66a187c009e66d you provide the definition for the resource as follows terraform resource \"docker_config\" \"foo\" {\n\n name = \"foo\"\n\n data = base64encode(\"{\\\"a\\\"\\\"b\\\"}\") } then the import command is as follows #!/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" }, "name": { "type": "string", "description": "User-defined name of the config\n" } }, "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" }, "name": { "type": "string", "description": "User-defined name of the config\n" } }, "type": "object" } }, "docker:index/volume:Volume": { "description": "<!-- Bug: Type and Name are switched -->\nCreates and destroys a volume in Docker. This can be used alongside docker.Container to prepare volumes that can be shared across containers.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst sharedVolume = new docker.Volume(\"shared_volume\", {});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nshared_volume = docker.Volume(\"sharedVolume\")\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var sharedVolume = new Docker.Volume(\"sharedVolume\", new Docker.VolumeArgs\n {\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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, \"sharedVolume\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n<!-- schema generated by tfplugindocs -->\n{{% /example %}}\n{{% /examples %}}\n## Schema\n\n### Optional\n\n- **driver** (String) Driver type for the volume. Defaults to `local`.\n- **driver_opts** (Map of String) Options specific to the driver.\n- **id** (String) The ID of this resource.\n- **labels** (Block Set) User-defined key/value metadata (see below for nested schema)\n- **name** (String) The name of the Docker volume (will be generated if not provided).\n\n### Read-Only\n\n- **mountpoint** (String) The mountpoint of the volume.\n\n<a id=\"nestedblock--labels\"></a>\n### Nested Schema for `labels`\n\nRequired:\n\n- **label** (String) Name of the label\n- **value** (String) Value of the label\n\n\n## Import\n\n### Example Assuming you created a `volume` as follows #!/bin/bash docker volume create # prints the long ID 524b0457aa2a87dd2b75c74c3e4e53f406974249e63ab3ed9bf21e5644f9dc7d you provide the definition for the resource as follows terraform resource \"docker_volume\" \"foo\" {\n\n name = \"524b0457aa2a87dd2b75c74c3e4e53f406974249e63ab3ed9bf21e5644f9dc7d\" } then the import command is as follows #!/bin/bash\n\n```sh\n $ pulumi import docker:index/volume:Volume foo 524b0457aa2a87dd2b75c74c3e4e53f406974249e63ab3ed9bf21e5644f9dc7d\n```\n\n ", "properties": { "driver": { "type": "string", "description": "Driver type for the volume. Defaults to `local`.\n" }, "driverOpts": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "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": { "driver": { "type": "string", "description": "Driver type for the volume. Defaults to `local`.\n" }, "driverOpts": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "Options specific to the driver.\n" }, "labels": { "type": "array", "items": { "$ref": "#/types/docker:index/VolumeLabel:VolumeLabel" }, "description": "User-defined key/value metadata\n" }, "name": { "type": "string", "description": "The name of the Docker volume (will be generated if not provided).\n" } }, "stateInputs": { "description": "Input properties used for looking up and filtering Volume resources.\n", "properties": { "driver": { "type": "string", "description": "Driver type for the volume. Defaults to `local`.\n" }, "driverOpts": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "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" } }, "type": "object" } } }, "functions": { "docker:index/getNetwork:getNetwork": { "description": "`docker.Network` provides details about a specific Docker Network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst main = pulumi.output(docker.getNetwork({\n name: \"main\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nmain = docker.get_network(name=\"main\")\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var main = Output.Create(Docker.GetNetwork.InvokeAsync(new Docker.GetNetworkArgs\n {\n Name = \"main\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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, &docker.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\n<!-- schema generated by tfplugindocs -->\n{{% /example %}}\n{{% /examples %}}\n## Schema\n\n### Required\n\n- **name** (String) The name of the Docker network.\n\n### Read-Only\n\n- **driver** (String) The driver of the Docker network. Possible values are `bridge`, `host`, `overlay`, `macvlan`. See [network docs](https://docs.docker.com/network/#network-drivers) for more details.\n- **id** (String) The ID of this resource.\n- **internal** (Boolean) If `true`, the network is internal.\n- **ipam_config** (Set of Object) The IPAM configuration options (see below for nested schema)\n- **options** (Map of String) 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** (String) Scope of the network. One of `swarm`, `global`, or `local`.\n\n<a id=\"nestedatt--ipam_config\"></a>\n### Nested Schema for `ipam_config`\n\nRead-Only:\n\n- **aux_address** (Map of String)\n- **gateway** (String)\n- **ip_range** (String)\n- **subnet** (String)\n", "inputs": { "description": "A collection of arguments for invoking getNetwork.\n", "properties": { "name": { "type": "string" } }, "type": "object", "required": [ "name" ] }, "outputs": { "description": "A collection of values returned by getNetwork.\n", "properties": { "driver": { "type": "string" }, "id": { "type": "string" }, "internal": { "type": "boolean" }, "ipamConfigs": { "type": "array", "items": { "$ref": "#/types/docker:index/getNetworkIpamConfig:getNetworkIpamConfig" } }, "name": { "type": "string" }, "options": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" } }, "scope": { "type": "string" } }, "type": "object", "required": [ "driver", "id", "internal", "ipamConfigs", "name", "options", "scope" ] } }, "docker:index/getPlugin:getPlugin": { "description": "Reads the local Docker plugin. The plugin must be installed locally.\n\n{{% examples %}}\n## Example Usage\n\n### With alias\ndata \"docker.Plugin\" \"by_alias\" {\n alias = \"sample-volume-plugin:latest\"\n}\n{{% /examples %}}\n## Schema\n\n### Optional\n\n- **alias** (String) The alias of the Docker plugin. If the tag is omitted, `:latest` is complemented to the attribute value.\n- **id** (String) The ID of the plugin, which has precedence over the `alias` of both are given\n\n### Read-Only\n\n- **enabled** (Boolean) If `true` the plugin is enabled\n- **env** (Set of String) The environment variables in the form of `KEY=VALUE`, e.g. `DEBUG=0`\n- **grant_all_permissions** (Boolean) If true, grant all permissions necessary to run the plugin\n- **name** (String) The plugin name. If the tag is omitted, `:latest` is complemented to the attribute value.\n- **plugin_reference** (String) The Docker Plugin Reference\n", "inputs": { "description": "A collection of arguments for invoking getPlugin.\n", "properties": { "alias": { "type": "string" }, "id": { "type": "string" } }, "type": "object" }, "outputs": { "description": "A collection of values returned by getPlugin.\n", "properties": { "alias": { "type": "string" }, "enabled": { "type": "boolean" }, "envs": { "type": "array", "items": { "type": "string" } }, "grantAllPermissions": { "type": "boolean" }, "id": { "type": "string" }, "name": { "type": "string" }, "pluginReference": { "type": "string" } }, "type": "object", "required": [ "enabled", "envs", "grantAllPermissions", "name", "pluginReference" ] } }, "docker:index/getRegistryImage:getRegistryImage": { "description": "Reads the image metadata from a Docker Registry. Used in conjunction with the docker.RemoteImage resource to keep an image up to date on the latest available version of the tag.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\nconst ubuntuRegistryImage = docker.getRegistryImage({\n name: \"ubuntu:precise\",\n});\nconst ubuntuRemoteImage = new docker.RemoteImage(\"ubuntuRemoteImage\", {\n name: ubuntuRegistryImage.then(ubuntuRegistryImage => ubuntuRegistryImage.name),\n pullTriggers: [ubuntuRegistryImage.then(ubuntuRegistryImage => ubuntuRegistryImage.sha256Digest)],\n});\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nubuntu_registry_image = docker.get_registry_image(name=\"ubuntu:precise\")\nubuntu_remote_image = docker.RemoteImage(\"ubuntuRemoteImage\",\n name=ubuntu_registry_image.name,\n pull_triggers=[ubuntu_registry_image.sha256_digest])\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var ubuntuRegistryImage = Output.Create(Docker.GetRegistryImage.InvokeAsync(new Docker.GetRegistryImageArgs\n {\n Name = \"ubuntu:precise\",\n }));\n var ubuntuRemoteImage = new Docker.RemoteImage(\"ubuntuRemoteImage\", new Docker.RemoteImageArgs\n {\n Name = ubuntuRegistryImage.Apply(ubuntuRegistryImage => ubuntuRegistryImage.Name),\n PullTriggers = \n {\n ubuntuRegistryImage.Apply(ubuntuRegistryImage => ubuntuRegistryImage.Sha256Digest),\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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\tubuntuRegistryImage, err := docker.LookupRegistryImage(ctx, &docker.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, \"ubuntuRemoteImage\", &docker.RemoteImageArgs{\n\t\t\tName: pulumi.String(ubuntuRegistryImage.Name),\n\t\t\tPullTriggers: pulumi.StringArray{\n\t\t\t\tpulumi.String(ubuntuRegistryImage.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\n<!-- schema generated by tfplugindocs -->\n{{% /example %}}\n{{% /examples %}}\n## Schema\n\n### Required\n\n- **name** (String) The name of the Docker image, including any tags. e.g. `alpine:latest`\n\n### Optional\n\n- **id** (String) The ID of this resource.\n- **insecure_skip_verify** (Boolean) If `true`, the verification of TLS certificates of the server/registry is disabled. Defaults to `false`\n\n### Read-Only\n\n- **sha256_digest** (String) The content digest of the image, as stored in the registry.\n", "inputs": { "description": "A collection of arguments for invoking getRegistryImage.\n", "properties": { "insecureSkipVerify": { "type": "boolean" }, "name": { "type": "string" } }, "type": "object", "required": [ "name" ] }, "outputs": { "description": "A collection of values returned by getRegistryImage.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "insecureSkipVerify": { "type": "boolean" }, "name": { "type": "string" }, "sha256Digest": { "type": "string" } }, "type": "object", "required": [ "name", "sha256Digest", "id" ] } }, "docker:index/getRemoteImage:getRemoteImage": { "description": "`docker.RemoteImage` provides details about a specific Docker Image which need to be presend on the Docker Host\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker from \"@pulumi/docker\";\n\n// uses the 'latest' tag\nconst latest = pulumi.output(docker.getRemoteImage({\n name: \"nginx\",\n}, { async: true }));\n// uses a specific tag\nconst specific = pulumi.output(docker.getRemoteImage({\n name: \"nginx:1.17.6\",\n}, { async: true }));\n// use the image digest\nconst digest = pulumi.output(docker.getRemoteImage({\n name: \"nginx@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n}, { async: true }));\n// uses the tag and the image digest\nconst tagAndDigest = pulumi.output(docker.getRemoteImage({\n name: \"nginx:1.19.1@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_docker as docker\n\nlatest = docker.get_remote_image(name=\"nginx\")\nspecific = docker.get_remote_image(name=\"nginx:1.17.6\")\ndigest = docker.get_remote_image(name=\"nginx@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\")\ntag_and_digest = docker.get_remote_image(name=\"nginx:1.19.1@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\")\n```\n```csharp\nusing Pulumi;\nusing Docker = Pulumi.Docker;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var latest = Output.Create(Docker.GetRemoteImage.InvokeAsync(new Docker.GetRemoteImageArgs\n {\n Name = \"nginx\",\n }));\n var specific = Output.Create(Docker.GetRemoteImage.InvokeAsync(new Docker.GetRemoteImageArgs\n {\n Name = \"nginx:1.17.6\",\n }));\n var digest = Output.Create(Docker.GetRemoteImage.InvokeAsync(new Docker.GetRemoteImageArgs\n {\n Name = \"nginx@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n }));\n var tagAndDigest = Output.Create(Docker.GetRemoteImage.InvokeAsync(new Docker.GetRemoteImageArgs\n {\n Name = \"nginx:1.19.1@sha256:36b74457bccb56fbf8b05f79c85569501b721d4db813b684391d63e02287c0b2\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker/sdk/v3/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.LookupRemoteImage(ctx, &docker.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_, err = docker.LookupRemoteImage(ctx, &docker.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_, err = docker.LookupRemoteImage(ctx, &docker.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_, err = docker.LookupRemoteImage(ctx, &docker.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\n<!-- schema generated by tfplugindocs -->\n{{% /example %}}\n{{% /examples %}}\n## Schema\n\n### Required\n\n- **name** (String) The name of the Docker image, including any tags or SHA256 repo digests.\n\n### Optional\n\n- **id** (String) The ID of this resource.\n\n### Read-Only\n\n- **repo_digest** (String) The image sha256 digest in the form of `repo[:tag]@sha256:<hash>`. 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", "inputs": { "description": "A collection of arguments for invoking getRemoteImage.\n", "properties": { "name": { "type": "string" } }, "type": "object", "required": [ "name" ] }, "outputs": { "description": "A collection of values returned by getRemoteImage.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "repoDigest": { "type": "string" } }, "type": "object", "required": [ "name", "repoDigest", "id" ] } } }, "language": { "csharp": { "compatibility": "tfbridge20", "namespaces": { "docker": "Docker" }, "packageReferences": { "Pulumi": "3.*", "Semver": "2.0.6" } }, "go": { "generateResourceContainerTypes": true, "importBasePath": "github.com/pulumi/pulumi-docker/sdk/v3/go/docker" }, "nodejs": { "compatibility": "tfbridge20", "dependencies": { "@pulumi/pulumi": "^3.0.0", "semver": "^5.4.0" }, "devDependencies": { "@types/node": "^10.0.0", "@types/semver": "^5.4.0" }, "disableUnionOutputTypes": true, "packageDescription": "A Pulumi package for interacting with Docker in Pulumi programs", "packageName": "", "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-docker)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi/pulumi-docker` repo](https://github.com/pulumi/pulumi-docker/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-providers/terraform-provider-docker` repo](https://github.com/terraform-providers/terraform-provider-docker/issues).", "typescriptVersion": "" }, "python": { "compatibility": "tfbridge20", "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-docker)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi/pulumi-docker` repo](https://github.com/pulumi/pulumi-docker/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-providers/terraform-provider-docker` repo](https://github.com/terraform-providers/terraform-provider-docker/issues).", "requires": { "pulumi": ">=3.0.0,<4.0.0" } } }, "version": "3.1.0" }