import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Creates a new Instance in a given project and location. * Auto-naming is currently not supported for this resource. */ 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; /** * Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 */ readonly annotations: pulumi.Output<{ [key: string]: string; }>; /** * Availability type of an Instance. If empty, defaults to REGIONAL for primary instances. For read pools, availability_type is always UNSPECIFIED. Instances in the read pools are evenly distributed across available zones within the region (i.e. read pools with more than one node will have a node in at least two zones). */ readonly availabilityType: pulumi.Output; /** * Optional. Client connection specific configurations */ readonly clientConnectionConfig: pulumi.Output; readonly clusterId: pulumi.Output; /** * Create time stamp */ readonly createTime: pulumi.Output; /** * Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of "key": "value" pairs. "key": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. "value": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value. */ readonly databaseFlags: pulumi.Output<{ [key: string]: string; }>; /** * Delete time stamp */ readonly deleteTime: pulumi.Output; /** * User-settable and human-readable display name for the Instance. */ readonly displayName: pulumi.Output; /** * For Resource freshness validation (https://google.aip.dev/154) */ readonly etag: pulumi.Output; /** * The Compute Engine zone that the instance should serve from, per https://cloud.google.com/compute/docs/regions-zones This can ONLY be specified for ZONAL instances. If present for a REGIONAL instance, an error will be thrown. If this is absent for a ZONAL instance, instance is created in a random zone with available capacity. */ readonly gceZone: pulumi.Output; /** * Required. ID of the requesting object. */ readonly instanceId: pulumi.Output; /** * The type of the instance. Specified at creation time. */ readonly instanceType: pulumi.Output; /** * The IP address for the Instance. This is the connection endpoint for an end-user application. */ readonly ipAddress: pulumi.Output; /** * Labels as key value pairs */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * Configurations for the machines that host the underlying database engine. */ readonly machineConfig: pulumi.Output; /** * The name of the instance resource with the format: * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} where the cluster and instance ID segments should satisfy the regex expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of lowercase letters, numbers, and dashes, starting with a letter, and ending with a letter or number. For more details see https://google.aip.dev/122. The prefix of the instance resource name is the name of the parent resource: * projects/{project}/locations/{region}/clusters/{cluster_id} */ readonly name: pulumi.Output; /** * List of available read-only VMs in this instance, including the standby for a PRIMARY instance. */ readonly nodes: pulumi.Output; readonly project: pulumi.Output; /** * Configuration for query insights. */ readonly queryInsightsConfig: pulumi.Output; /** * Read pool instance configuration. This is required if the value of instanceType is READ_POOL. */ readonly readPoolConfig: pulumi.Output; /** * Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Instance does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance. */ readonly reconciling: pulumi.Output; /** * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). */ readonly requestId: pulumi.Output; /** * Reserved for future use. */ readonly satisfiesPzs: pulumi.Output; /** * The current serving state of the instance. */ readonly state: pulumi.Output; /** * The system-generated UID of the resource. The UID is assigned when the resource is created, and it is retained until it is deleted. */ readonly uid: pulumi.Output; /** * Update policy that will be applied during instance update. This field is not persisted when you update the instance. To use a non-default update policy, you must specify explicitly specify the value in each update request. */ readonly updatePolicy: pulumi.Output; /** * Update time stamp */ readonly updateTime: pulumi.Output; /** * This is set for the read-write VM of the PRIMARY instance only. */ readonly writableNode: 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 { /** * Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Availability type of an Instance. If empty, defaults to REGIONAL for primary instances. For read pools, availability_type is always UNSPECIFIED. Instances in the read pools are evenly distributed across available zones within the region (i.e. read pools with more than one node will have a node in at least two zones). */ availabilityType?: pulumi.Input; /** * Optional. Client connection specific configurations */ clientConnectionConfig?: pulumi.Input; clusterId: pulumi.Input; /** * Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of "key": "value" pairs. "key": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. "value": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value. */ databaseFlags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * User-settable and human-readable display name for the Instance. */ displayName?: pulumi.Input; /** * For Resource freshness validation (https://google.aip.dev/154) */ etag?: pulumi.Input; /** * The Compute Engine zone that the instance should serve from, per https://cloud.google.com/compute/docs/regions-zones This can ONLY be specified for ZONAL instances. If present for a REGIONAL instance, an error will be thrown. If this is absent for a ZONAL instance, instance is created in a random zone with available capacity. */ gceZone?: pulumi.Input; /** * Required. ID of the requesting object. */ instanceId: pulumi.Input; /** * The type of the instance. Specified at creation time. */ instanceType: pulumi.Input; /** * Labels as key value pairs */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * Configurations for the machines that host the underlying database engine. */ machineConfig?: pulumi.Input; project?: pulumi.Input; /** * Configuration for query insights. */ queryInsightsConfig?: pulumi.Input; /** * Read pool instance configuration. This is required if the value of instanceType is READ_POOL. */ readPoolConfig?: pulumi.Input; /** * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). */ requestId?: pulumi.Input; /** * Update policy that will be applied during instance update. This field is not persisted when you update the instance. To use a non-default update policy, you must specify explicitly specify the value in each update request. */ updatePolicy?: pulumi.Input; }