UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

296 lines (295 loc) • 11.9 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A collection of resources that are deployed and managed together using * a configuration file * * > **Warning:** This resource is intended only to manage a Deployment resource, * and attempts to manage the Deployment's resources in the provider as well * will likely result in errors or unexpected behavior as the two tools * fight over ownership. We strongly discourage doing so unless you are an * experienced user of both tools. * * In addition, due to limitations of the API, the provider will treat * deployments in preview as recreate-only for any update operation other * than actually deploying an in-preview deployment (i.e. `preview=true` to * `preview=false`). * * ## Example Usage * * ### Deployment Manager Deployment Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * import * as std from "@pulumi/std"; * * const deployment = new gcp.deploymentmanager.Deployment("deployment", { * name: "my-deployment", * target: { * config: { * content: std.file({ * input: "path/to/config.yml", * }).then(invoke => invoke.result), * }, * }, * labels: [{ * key: "foo", * value: "bar", * }], * }); * ``` * ## Import * * Deployment can be imported using any of these accepted formats: * * * `projects/{{project}}/deployments/{{name}}` * * * `{{project}}/{{name}}` * * * `{{name}}` * * When using the `pulumi import` command, Deployment can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:deploymentmanager/deployment:Deployment default projects/{{project}}/deployments/{{name}} * ``` * * ```sh * $ pulumi import gcp:deploymentmanager/deployment:Deployment default {{project}}/{{name}} * ``` * * ```sh * $ pulumi import gcp:deploymentmanager/deployment:Deployment default {{name}} * ``` */ export declare 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DeploymentState, opts?: pulumi.CustomResourceOptions): Deployment; /** * 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: any): obj is Deployment; /** * Set the policy to use for creating new resources. Only used on * create and update. Valid values are `CREATE_OR_ACQUIRE` (default) or * `ACQUIRE`. If set to `ACQUIRE` and resources do not already exist, * the deployment will fail. Note that updating this field does not * actually affect the deployment, just how it is updated. * Default value is `CREATE_OR_ACQUIRE`. * Possible values are: `ACQUIRE`, `CREATE_OR_ACQUIRE`. */ readonly createPolicy: pulumi.Output<string | undefined>; /** * Set the policy to use for deleting new resources on update/delete. * Valid values are `DELETE` (default) or `ABANDON`. If `DELETE`, * resource is deleted after removal from Deployment Manager. If * `ABANDON`, the resource is only removed from Deployment Manager * and is not actually deleted. Note that updating this field does not * actually change the deployment, just how it is updated. * Default value is `DELETE`. * Possible values are: `ABANDON`, `DELETE`. */ readonly deletePolicy: pulumi.Output<string | undefined>; /** * Unique identifier for deployment. Output only. */ readonly deploymentId: pulumi.Output<string>; /** * Optional user-provided description of deployment. */ readonly description: pulumi.Output<string | undefined>; /** * Key-value pairs to apply to this labels. * Structure is documented below. */ readonly labels: pulumi.Output<outputs.deploymentmanager.DeploymentLabel[] | undefined>; /** * Output only. URL of the manifest representing the last manifest that * was successfully deployed. */ readonly manifest: pulumi.Output<string>; /** * Unique name for the deployment */ readonly name: pulumi.Output<string>; /** * If set to true, a deployment is created with "shell" resources * that are not actually instantiated. This allows you to preview a * deployment. It can be updated to false to actually deploy * with real resources. * ~>**NOTE:** Deployment Manager does not allow update * of a deployment in preview (unless updating to preview=false). Thus, * the provider will force-recreate deployments if either preview is updated * to true or if other fields are updated while preview is true. */ readonly preview: pulumi.Output<boolean | undefined>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output<string>; /** * Output only. Server defined URL for the resource. */ readonly selfLink: pulumi.Output<string>; /** * Parameters that define your deployment, including the deployment * configuration and relevant templates. * Structure is documented below. */ readonly target: pulumi.Output<outputs.deploymentmanager.DeploymentTarget>; /** * 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: string, args: DeploymentArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Deployment resources. */ export interface DeploymentState { /** * Set the policy to use for creating new resources. Only used on * create and update. Valid values are `CREATE_OR_ACQUIRE` (default) or * `ACQUIRE`. If set to `ACQUIRE` and resources do not already exist, * the deployment will fail. Note that updating this field does not * actually affect the deployment, just how it is updated. * Default value is `CREATE_OR_ACQUIRE`. * Possible values are: `ACQUIRE`, `CREATE_OR_ACQUIRE`. */ createPolicy?: pulumi.Input<string>; /** * Set the policy to use for deleting new resources on update/delete. * Valid values are `DELETE` (default) or `ABANDON`. If `DELETE`, * resource is deleted after removal from Deployment Manager. If * `ABANDON`, the resource is only removed from Deployment Manager * and is not actually deleted. Note that updating this field does not * actually change the deployment, just how it is updated. * Default value is `DELETE`. * Possible values are: `ABANDON`, `DELETE`. */ deletePolicy?: pulumi.Input<string>; /** * Unique identifier for deployment. Output only. */ deploymentId?: pulumi.Input<string>; /** * Optional user-provided description of deployment. */ description?: pulumi.Input<string>; /** * Key-value pairs to apply to this labels. * Structure is documented below. */ labels?: pulumi.Input<pulumi.Input<inputs.deploymentmanager.DeploymentLabel>[]>; /** * Output only. URL of the manifest representing the last manifest that * was successfully deployed. */ manifest?: pulumi.Input<string>; /** * Unique name for the deployment */ name?: pulumi.Input<string>; /** * If set to true, a deployment is created with "shell" resources * that are not actually instantiated. This allows you to preview a * deployment. It can be updated to false to actually deploy * with real resources. * ~>**NOTE:** Deployment Manager does not allow update * of a deployment in preview (unless updating to preview=false). Thus, * the provider will force-recreate deployments if either preview is updated * to true or if other fields are updated while preview is true. */ preview?: pulumi.Input<boolean>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * Output only. Server defined URL for the resource. */ selfLink?: pulumi.Input<string>; /** * Parameters that define your deployment, including the deployment * configuration and relevant templates. * Structure is documented below. */ target?: pulumi.Input<inputs.deploymentmanager.DeploymentTarget>; } /** * The set of arguments for constructing a Deployment resource. */ export interface DeploymentArgs { /** * Set the policy to use for creating new resources. Only used on * create and update. Valid values are `CREATE_OR_ACQUIRE` (default) or * `ACQUIRE`. If set to `ACQUIRE` and resources do not already exist, * the deployment will fail. Note that updating this field does not * actually affect the deployment, just how it is updated. * Default value is `CREATE_OR_ACQUIRE`. * Possible values are: `ACQUIRE`, `CREATE_OR_ACQUIRE`. */ createPolicy?: pulumi.Input<string>; /** * Set the policy to use for deleting new resources on update/delete. * Valid values are `DELETE` (default) or `ABANDON`. If `DELETE`, * resource is deleted after removal from Deployment Manager. If * `ABANDON`, the resource is only removed from Deployment Manager * and is not actually deleted. Note that updating this field does not * actually change the deployment, just how it is updated. * Default value is `DELETE`. * Possible values are: `ABANDON`, `DELETE`. */ deletePolicy?: pulumi.Input<string>; /** * Optional user-provided description of deployment. */ description?: pulumi.Input<string>; /** * Key-value pairs to apply to this labels. * Structure is documented below. */ labels?: pulumi.Input<pulumi.Input<inputs.deploymentmanager.DeploymentLabel>[]>; /** * Unique name for the deployment */ name?: pulumi.Input<string>; /** * If set to true, a deployment is created with "shell" resources * that are not actually instantiated. This allows you to preview a * deployment. It can be updated to false to actually deploy * with real resources. * ~>**NOTE:** Deployment Manager does not allow update * of a deployment in preview (unless updating to preview=false). Thus, * the provider will force-recreate deployments if either preview is updated * to true or if other fields are updated while preview is true. */ preview?: pulumi.Input<boolean>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * Parameters that define your deployment, including the deployment * configuration and relevant templates. * Structure is documented below. */ target: pulumi.Input<inputs.deploymentmanager.DeploymentTarget>; }