UNPKG

@pulumi/docker

Version:

A Pulumi package for interacting with Docker in Pulumi programs

253 lines • 11.6 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.Container = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * <!-- Bug: Type and Name are switched --> * Manages the lifecycle of a Docker container. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as docker from "@pulumi/docker"; * * // Find the latest Ubuntu precise image. * const ubuntuRemoteImage = new docker.RemoteImage("ubuntu", {name: "ubuntu:precise"}); * // Start a container * const ubuntu = new docker.Container("ubuntu", { * name: "foo", * image: ubuntuRemoteImage.imageId, * }); * ``` * * ## Import * * ### Example * * Assuming you created a `container` as follows * * #!/bin/bash * * docker run --name foo -p8080:80 -d nginx * * prints the container ID * * 9a550c0f0163d39d77222d3efd58701b625d47676c25c686c95b5b92d1cba6fd * * you provide the definition for the resource as follows * * terraform * * resource "docker_container" "foo" { * * name = "foo" * * image = "nginx" * * ports { * * internal = "80" * * external = "8080" * * } * * } * * then the import command is as follows * * #!/bin/bash * * ```sh * $ pulumi import docker:index/container:Container foo 9a550c0f0163d39d77222d3efd58701b625d47676c25c686c95b5b92d1cba6fd * ``` */ class Container extends pulumi.CustomResource { /** * Get an existing Container resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name, id, state, opts) { return new Container(name, state, { ...opts, id: id }); } /** * Returns true if the given object is an instance of Container. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === Container.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["attach"] = state?.attach; resourceInputs["bridge"] = state?.bridge; resourceInputs["capabilities"] = state?.capabilities; resourceInputs["cgroupParent"] = state?.cgroupParent; resourceInputs["cgroupnsMode"] = state?.cgroupnsMode; resourceInputs["command"] = state?.command; resourceInputs["containerLogs"] = state?.containerLogs; resourceInputs["containerReadRefreshTimeoutMilliseconds"] = state?.containerReadRefreshTimeoutMilliseconds; resourceInputs["cpuPeriod"] = state?.cpuPeriod; resourceInputs["cpuQuota"] = state?.cpuQuota; resourceInputs["cpuSet"] = state?.cpuSet; resourceInputs["cpuShares"] = state?.cpuShares; resourceInputs["cpus"] = state?.cpus; resourceInputs["destroyGraceSeconds"] = state?.destroyGraceSeconds; resourceInputs["devices"] = state?.devices; resourceInputs["dns"] = state?.dns; resourceInputs["dnsOpts"] = state?.dnsOpts; resourceInputs["dnsSearches"] = state?.dnsSearches; resourceInputs["domainname"] = state?.domainname; resourceInputs["entrypoints"] = state?.entrypoints; resourceInputs["envs"] = state?.envs; resourceInputs["exitCode"] = state?.exitCode; resourceInputs["gpus"] = state?.gpus; resourceInputs["groupAdds"] = state?.groupAdds; resourceInputs["healthcheck"] = state?.healthcheck; resourceInputs["hostname"] = state?.hostname; resourceInputs["hosts"] = state?.hosts; resourceInputs["image"] = state?.image; resourceInputs["init"] = state?.init; resourceInputs["ipcMode"] = state?.ipcMode; resourceInputs["labels"] = state?.labels; resourceInputs["logDriver"] = state?.logDriver; resourceInputs["logOpts"] = state?.logOpts; resourceInputs["logs"] = state?.logs; resourceInputs["maxRetryCount"] = state?.maxRetryCount; resourceInputs["memory"] = state?.memory; resourceInputs["memoryReservation"] = state?.memoryReservation; resourceInputs["memorySwap"] = state?.memorySwap; resourceInputs["mounts"] = state?.mounts; resourceInputs["mustRun"] = state?.mustRun; resourceInputs["name"] = state?.name; resourceInputs["networkDatas"] = state?.networkDatas; resourceInputs["networkMode"] = state?.networkMode; resourceInputs["networksAdvanced"] = state?.networksAdvanced; resourceInputs["pidMode"] = state?.pidMode; resourceInputs["ports"] = state?.ports; resourceInputs["privileged"] = state?.privileged; resourceInputs["publishAllPorts"] = state?.publishAllPorts; resourceInputs["readOnly"] = state?.readOnly; resourceInputs["removeVolumes"] = state?.removeVolumes; resourceInputs["restart"] = state?.restart; resourceInputs["rm"] = state?.rm; resourceInputs["runtime"] = state?.runtime; resourceInputs["securityOpts"] = state?.securityOpts; resourceInputs["shmSize"] = state?.shmSize; resourceInputs["start"] = state?.start; resourceInputs["stdinOpen"] = state?.stdinOpen; resourceInputs["stopSignal"] = state?.stopSignal; resourceInputs["stopTimeout"] = state?.stopTimeout; resourceInputs["storageOpts"] = state?.storageOpts; resourceInputs["sysctls"] = state?.sysctls; resourceInputs["tmpfs"] = state?.tmpfs; resourceInputs["tty"] = state?.tty; resourceInputs["ulimits"] = state?.ulimits; resourceInputs["uploads"] = state?.uploads; resourceInputs["user"] = state?.user; resourceInputs["usernsMode"] = state?.usernsMode; resourceInputs["volumes"] = state?.volumes; resourceInputs["wait"] = state?.wait; resourceInputs["waitTimeout"] = state?.waitTimeout; resourceInputs["workingDir"] = state?.workingDir; } else { const args = argsOrState; if (args?.image === undefined && !opts.urn) { throw new Error("Missing required property 'image'"); } resourceInputs["attach"] = args?.attach; resourceInputs["capabilities"] = args?.capabilities; resourceInputs["cgroupParent"] = args?.cgroupParent; resourceInputs["cgroupnsMode"] = args?.cgroupnsMode; resourceInputs["command"] = args?.command; resourceInputs["containerReadRefreshTimeoutMilliseconds"] = args?.containerReadRefreshTimeoutMilliseconds; resourceInputs["cpuPeriod"] = args?.cpuPeriod; resourceInputs["cpuQuota"] = args?.cpuQuota; resourceInputs["cpuSet"] = args?.cpuSet; resourceInputs["cpuShares"] = args?.cpuShares; resourceInputs["cpus"] = args?.cpus; resourceInputs["destroyGraceSeconds"] = args?.destroyGraceSeconds; resourceInputs["devices"] = args?.devices; resourceInputs["dns"] = args?.dns; resourceInputs["dnsOpts"] = args?.dnsOpts; resourceInputs["dnsSearches"] = args?.dnsSearches; resourceInputs["domainname"] = args?.domainname; resourceInputs["entrypoints"] = args?.entrypoints; resourceInputs["envs"] = args?.envs; resourceInputs["gpus"] = args?.gpus; resourceInputs["groupAdds"] = args?.groupAdds; resourceInputs["healthcheck"] = args?.healthcheck; resourceInputs["hostname"] = args?.hostname; resourceInputs["hosts"] = args?.hosts; resourceInputs["image"] = args?.image; resourceInputs["init"] = args?.init; resourceInputs["ipcMode"] = args?.ipcMode; resourceInputs["labels"] = args?.labels; resourceInputs["logDriver"] = args?.logDriver; resourceInputs["logOpts"] = args?.logOpts; resourceInputs["logs"] = args?.logs; resourceInputs["maxRetryCount"] = args?.maxRetryCount; resourceInputs["memory"] = args?.memory; resourceInputs["memoryReservation"] = args?.memoryReservation; resourceInputs["memorySwap"] = args?.memorySwap; resourceInputs["mounts"] = args?.mounts; resourceInputs["mustRun"] = args?.mustRun; resourceInputs["name"] = args?.name; resourceInputs["networkMode"] = args?.networkMode; resourceInputs["networksAdvanced"] = args?.networksAdvanced; resourceInputs["pidMode"] = args?.pidMode; resourceInputs["ports"] = args?.ports; resourceInputs["privileged"] = args?.privileged; resourceInputs["publishAllPorts"] = args?.publishAllPorts; resourceInputs["readOnly"] = args?.readOnly; resourceInputs["removeVolumes"] = args?.removeVolumes; resourceInputs["restart"] = args?.restart; resourceInputs["rm"] = args?.rm; resourceInputs["runtime"] = args?.runtime; resourceInputs["securityOpts"] = args?.securityOpts; resourceInputs["shmSize"] = args?.shmSize; resourceInputs["start"] = args?.start; resourceInputs["stdinOpen"] = args?.stdinOpen; resourceInputs["stopSignal"] = args?.stopSignal; resourceInputs["stopTimeout"] = args?.stopTimeout; resourceInputs["storageOpts"] = args?.storageOpts; resourceInputs["sysctls"] = args?.sysctls; resourceInputs["tmpfs"] = args?.tmpfs; resourceInputs["tty"] = args?.tty; resourceInputs["ulimits"] = args?.ulimits; resourceInputs["uploads"] = args?.uploads; resourceInputs["user"] = args?.user; resourceInputs["usernsMode"] = args?.usernsMode; resourceInputs["volumes"] = args?.volumes; resourceInputs["wait"] = args?.wait; resourceInputs["waitTimeout"] = args?.waitTimeout; resourceInputs["workingDir"] = args?.workingDir; resourceInputs["bridge"] = undefined /*out*/; resourceInputs["containerLogs"] = undefined /*out*/; resourceInputs["exitCode"] = undefined /*out*/; resourceInputs["networkDatas"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Container.__pulumiType, name, resourceInputs, opts); } } exports.Container = Container; /** @internal */ Container.__pulumiType = 'docker:index/container:Container'; //# sourceMappingURL=container.js.map