import * as pulumi from "@pulumi/pulumi"; /** * Create an instance within a project. */ export declare class Instance extends pulumi.CustomResource { /** * Get an existing Instance 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: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Instance; /** * Returns true if the given object is an instance of Instance. 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 Instance; /** * Required. The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion. */ readonly displayName: pulumi.Output; /** * Required. Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\p{Ll}\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`. */ readonly name: pulumi.Output; /** * The current state of the instance. */ readonly state: pulumi.Output; /** * Required. The type of the instance. Defaults to `PRODUCTION`. */ readonly type: pulumi.Output; /** * Create a Instance 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: InstanceArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Instance resource. */ export interface InstanceArgs { /** * Required. The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. Currently, at most four clusters can be specified. */ readonly clusters?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Required. The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion. */ readonly displayName?: pulumi.Input; /** * Required. The ID to be used when referring to the new instance within its project, e.g., just `myinstance` rather than `projects/myproject/instances/myinstance`. */ readonly instanceId?: pulumi.Input; readonly instancesId: pulumi.Input; /** * Required. Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\p{Ll}\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes. */ readonly labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`. */ readonly name?: pulumi.Input; /** * Required. The unique name of the project in which to create the new instance. Values are of the form `projects/{project}`. */ readonly parent?: pulumi.Input; readonly projectsId: pulumi.Input; /** * Required. The type of the instance. Defaults to `PRODUCTION`. */ readonly type?: pulumi.Input; }