@pulumi/docker
Version:
A Pulumi package for interacting with Docker in Pulumi programs
253 lines • 11.6 kB
JavaScript
// *** 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
;