UNPKG

@pulumi/kubernetes

Version:

[![Actions Status](https://github.com/pulumi/pulumi-kubernetes/workflows/main/badge.svg)](https://github.com/pulumi/pulumi-kubernetes/actions) [![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com) [![NPM version](https:/

167 lines 6.36 kB
"use strict"; // *** WARNING: this file was generated by pulumigen. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.Deployment = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../../utilities"); /** * Deployment enables declarative updates for Pods and ReplicaSets. * * This resource waits until its status is ready before registering success * for create/update, and populating output properties from the current state of the resource. * The following conditions are used to determine whether the resource creation has * succeeded or failed: * * 1. The Deployment has begun to be updated by the Deployment controller. If the current * generation of the Deployment is > 1, then this means that the current generation must * be different from the generation reported by the last outputs. * 2. There exists a ReplicaSet whose revision is equal to the current revision of the * Deployment. * 3. The Deployment's '.status.conditions' has a status of type 'Available' whose 'status' * member is set to 'True'. * 4. If the Deployment has generation > 1, then '.status.conditions' has a status of type * 'Progressing', whose 'status' member is set to 'True', and whose 'reason' is * 'NewReplicaSetAvailable'. For generation <= 1, this status field does not exist, * because it doesn't do a rollout (i.e., it simply creates the Deployment and * corresponding ReplicaSet), and therefore there is no rollout to mark as 'Progressing'. * * If the Deployment has not reached a Ready state after 10 minutes, it will * time out and mark the resource update as Failed. You can override the default timeout value * by setting the 'customTimeouts' option on the resource. * * ## Example Usage * ### Create a Deployment with auto-naming * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as kubernetes from "@pulumi/kubernetes"; * * const deployment = new kubernetes.apps.v1.Deployment("deployment", { * metadata: { * labels: { * app: "nginx", * }, * }, * spec: { * replicas: 3, * selector: { * matchLabels: { * app: "nginx", * }, * }, * template: { * metadata: { * labels: { * app: "nginx", * }, * }, * spec: { * containers: [{ * image: "nginx:1.14.2", * name: "nginx", * ports: [{ * containerPort: 80, * }], * }], * }, * }, * }, * }); * ``` * ### Create a Deployment with a user-specified name * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as kubernetes from "@pulumi/kubernetes"; * * const deployment = new kubernetes.apps.v1.Deployment("deployment", { * metadata: { * labels: { * app: "nginx", * }, * name: "nginx-deployment", * }, * spec: { * replicas: 3, * selector: { * matchLabels: { * app: "nginx", * }, * }, * template: { * metadata: { * labels: { * app: "nginx", * }, * }, * spec: { * containers: [{ * image: "nginx:1.14.2", * name: "nginx", * ports: [{ * containerPort: 80, * }], * }], * }, * }, * }, * }); * ``` */ class Deployment extends pulumi.CustomResource { /** * Get an existing Deployment 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name, id, opts) { return new Deployment(name, undefined, { ...opts, id: id }); } /** * Returns true if the given object is an instance of Deployment. 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'] === Deployment.__pulumiType; } /** * Create a Deployment resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name, args, opts) { let resourceInputs = {}; opts = opts || {}; if (!opts.id) { resourceInputs["apiVersion"] = "apps/v1"; resourceInputs["kind"] = "Deployment"; resourceInputs["metadata"] = args?.metadata; resourceInputs["spec"] = args?.spec; resourceInputs["status"] = undefined /*out*/; } else { resourceInputs["apiVersion"] = undefined /*out*/; resourceInputs["kind"] = undefined /*out*/; resourceInputs["metadata"] = undefined /*out*/; resourceInputs["spec"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "kubernetes:apps/v1beta1:Deployment" }, { type: "kubernetes:apps/v1beta2:Deployment" }, { type: "kubernetes:extensions/v1beta1:Deployment" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Deployment.__pulumiType, name, resourceInputs, opts); } } exports.Deployment = Deployment; /** @internal */ Deployment.__pulumiType = 'kubernetes:apps/v1:Deployment'; //# sourceMappingURL=deployment.js.map