UNPKG

@pulumi/gcp

Version:

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

266 lines (265 loc) • 9.13 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages a Target Pool within GCE. This is a collection of instances used as * target of a network load balancer (Forwarding Rule). For more information see * [the official * documentation](https://cloud.google.com/compute/docs/load-balancing/network/target-pools) * and [API](https://cloud.google.com/compute/docs/reference/latest/targetPools). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const defaultHttpHealthCheck = new gcp.compute.HttpHealthCheck("default", { * name: "default", * requestPath: "/", * checkIntervalSec: 1, * timeoutSec: 1, * }); * const _default = new gcp.compute.TargetPool("default", { * name: "instance-pool", * instances: [ * "us-central1-a/myinstance1", * "us-central1-b/myinstance2", * ], * healthChecks: defaultHttpHealthCheck.name, * }); * ``` * * ## Import * * Target pools can be imported using any of the following formats: * * * `projects/{{project}}/regions/{{region}}/targetPools/{{name}}` * * * `{{project}}/{{region}}/{{name}}` * * * `{{region}}/{{name}}` * * * `{{name}}` * * When using the `pulumi import` command, target pools can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:compute/targetPool:TargetPool default projects/{{project}}/regions/{{region}}/targetPools/{{name}} * ``` * * ```sh * $ pulumi import gcp:compute/targetPool:TargetPool default {{project}}/{{region}}/{{name}} * ``` * * ```sh * $ pulumi import gcp:compute/targetPool:TargetPool default {{region}}/{{name}} * ``` * * ```sh * $ pulumi import gcp:compute/targetPool:TargetPool default {{name}} * ``` */ export declare class TargetPool extends pulumi.CustomResource { /** * Get an existing TargetPool 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?: TargetPoolState, opts?: pulumi.CustomResourceOptions): TargetPool; /** * Returns true if the given object is an instance of TargetPool. 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 TargetPool; /** * URL to the backup target pool. Must also set * failover_ratio. */ readonly backupPool: pulumi.Output<string | undefined>; /** * Textual description field. */ readonly description: pulumi.Output<string | undefined>; /** * Ratio (0 to 1) of failed nodes before using the * backup pool (which must also be set). */ readonly failoverRatio: pulumi.Output<number | undefined>; /** * List of zero or one health check name or self_link. Only * legacy `gcp.compute.HttpHealthCheck` is supported. */ readonly healthChecks: pulumi.Output<string | undefined>; /** * List of instances in the pool. They can be given as * URLs, or in the form of "zone/name". Note that the instances need not exist * at the time of target pool creation, so there is no need to use the * interpolation to create a dependency on the instances from the * target pool. */ readonly instances: pulumi.Output<string[]>; /** * A unique name for the resource, required by GCE. Changing * this forces a new resource to be created. * * - - - */ readonly name: pulumi.Output<string>; /** * 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>; /** * Where the target pool resides. Defaults to project * region. */ readonly region: pulumi.Output<string>; /** * The resource URL for the security policy associated with this target pool. */ readonly securityPolicy: pulumi.Output<string | undefined>; /** * The URI of the created resource. */ readonly selfLink: pulumi.Output<string>; /** * How to distribute load. Options are "NONE" (no * affinity). "CLIENT_IP" (hash of the source/dest addresses / ports), and * "CLIENT_IP_PROTO" also includes the protocol (default "NONE"). */ readonly sessionAffinity: pulumi.Output<string | undefined>; /** * Create a TargetPool 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?: TargetPoolArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TargetPool resources. */ export interface TargetPoolState { /** * URL to the backup target pool. Must also set * failover_ratio. */ backupPool?: pulumi.Input<string>; /** * Textual description field. */ description?: pulumi.Input<string>; /** * Ratio (0 to 1) of failed nodes before using the * backup pool (which must also be set). */ failoverRatio?: pulumi.Input<number>; /** * List of zero or one health check name or self_link. Only * legacy `gcp.compute.HttpHealthCheck` is supported. */ healthChecks?: pulumi.Input<string>; /** * List of instances in the pool. They can be given as * URLs, or in the form of "zone/name". Note that the instances need not exist * at the time of target pool creation, so there is no need to use the * interpolation to create a dependency on the instances from the * target pool. */ instances?: pulumi.Input<pulumi.Input<string>[]>; /** * A unique name for the resource, required by GCE. Changing * this forces a new resource to be created. * * - - - */ name?: pulumi.Input<string>; /** * The ID of the project in which the resource belongs. If it * is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * Where the target pool resides. Defaults to project * region. */ region?: pulumi.Input<string>; /** * The resource URL for the security policy associated with this target pool. */ securityPolicy?: pulumi.Input<string>; /** * The URI of the created resource. */ selfLink?: pulumi.Input<string>; /** * How to distribute load. Options are "NONE" (no * affinity). "CLIENT_IP" (hash of the source/dest addresses / ports), and * "CLIENT_IP_PROTO" also includes the protocol (default "NONE"). */ sessionAffinity?: pulumi.Input<string>; } /** * The set of arguments for constructing a TargetPool resource. */ export interface TargetPoolArgs { /** * URL to the backup target pool. Must also set * failover_ratio. */ backupPool?: pulumi.Input<string>; /** * Textual description field. */ description?: pulumi.Input<string>; /** * Ratio (0 to 1) of failed nodes before using the * backup pool (which must also be set). */ failoverRatio?: pulumi.Input<number>; /** * List of zero or one health check name or self_link. Only * legacy `gcp.compute.HttpHealthCheck` is supported. */ healthChecks?: pulumi.Input<string>; /** * List of instances in the pool. They can be given as * URLs, or in the form of "zone/name". Note that the instances need not exist * at the time of target pool creation, so there is no need to use the * interpolation to create a dependency on the instances from the * target pool. */ instances?: pulumi.Input<pulumi.Input<string>[]>; /** * A unique name for the resource, required by GCE. Changing * this forces a new resource to be created. * * - - - */ name?: pulumi.Input<string>; /** * The ID of the project in which the resource belongs. If it * is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * Where the target pool resides. Defaults to project * region. */ region?: pulumi.Input<string>; /** * The resource URL for the security policy associated with this target pool. */ securityPolicy?: pulumi.Input<string>; /** * How to distribute load. Options are "NONE" (no * affinity). "CLIENT_IP" (hash of the source/dest addresses / ports), and * "CLIENT_IP_PROTO" also includes the protocol (default "NONE"). */ sessionAffinity?: pulumi.Input<string>; }