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 Cluster in a given project and location. * Auto-naming is currently not supported for this resource. */ export declare class Cluster extends pulumi.CustomResource { /** * Get an existing Cluster 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): Cluster; /** * Returns true if the given object is an instance of Cluster. 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 Cluster; /** * 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; }>; /** * The automated backup policy for this cluster. If no policy is provided then the default policy will be used. If backups are supported for the cluster, the default policy takes one backup a day, has a backup window of 1 hour, and retains backups for 14 days. For more information on the defaults, consult the documentation for the message type. */ readonly automatedBackupPolicy: pulumi.Output; /** * Cluster created from backup. */ readonly backupSource: pulumi.Output; /** * Required. ID of the requesting object. */ readonly clusterId: pulumi.Output; /** * The type of the cluster. This is an output-only field and it's populated at the Cluster creation time or the Cluster promotion time. The cluster type is determined by which RPC was used to create the cluster (i.e. `CreateCluster` vs. `CreateSecondaryCluster` */ readonly clusterType: pulumi.Output; /** * Optional. Continuous backup configuration for this cluster. */ readonly continuousBackupConfig: pulumi.Output; /** * Continuous backup properties for this cluster. */ readonly continuousBackupInfo: pulumi.Output; /** * Create time stamp */ readonly createTime: pulumi.Output; /** * Optional. The database engine major version. This is an optional field and it is populated at the Cluster creation time. If a database version is not supplied at cluster creation time, then a default database version will be used. */ readonly databaseVersion: pulumi.Output; /** * Delete time stamp */ readonly deleteTime: pulumi.Output; /** * User-settable and human-readable display name for the Cluster. */ readonly displayName: pulumi.Output; /** * Optional. The encryption config can be specified to encrypt the data disks and other persistent data resources of a cluster with a customer-managed encryption key (CMEK). When this field is not specified, the cluster will then use default encryption scheme to protect the user data. */ readonly encryptionConfig: pulumi.Output; /** * The encryption information for the cluster. */ readonly encryptionInfo: pulumi.Output; /** * For Resource freshness validation (https://google.aip.dev/154) */ readonly etag: pulumi.Output; /** * Input only. Initial user to setup during cluster creation. Required. If used in `RestoreCluster` this is ignored. */ readonly initialUser: pulumi.Output; /** * Labels as key value pairs */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * Cluster created via DMS migration. */ readonly migrationSource: pulumi.Output; /** * The name of the cluster resource with the format: * projects/{project}/locations/{region}/clusters/{cluster_id} where the cluster ID segment should satisfy the regex expression `[a-z0-9-]+`. For more details see https://google.aip.dev/122. The prefix of the cluster resource name is the name of the parent resource: * projects/{project}/locations/{region} */ readonly name: pulumi.Output; /** * The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{project}/global/networks/{network_id}". This is required to create a cluster. Deprecated, use network_config.network instead. * * @deprecated Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{project}/global/networks/{network_id}". This is required to create a cluster. Deprecated, use network_config.network instead. */ readonly network: pulumi.Output; readonly networkConfig: pulumi.Output; /** * Cross Region replication config specific to PRIMARY cluster. */ readonly primaryConfig: pulumi.Output; readonly project: pulumi.Output; /** * Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster 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; /** * Cross Region replication config specific to SECONDARY cluster. */ readonly secondaryConfig: pulumi.Output; /** * SSL configuration for this AlloyDB cluster. */ readonly sslConfig: pulumi.Output; /** * The current serving state of the cluster. */ 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 time stamp */ readonly updateTime: pulumi.Output; /** * Create a Cluster 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: ClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Cluster resource. */ export interface ClusterArgs { /** * 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; }>; /** * The automated backup policy for this cluster. If no policy is provided then the default policy will be used. If backups are supported for the cluster, the default policy takes one backup a day, has a backup window of 1 hour, and retains backups for 14 days. For more information on the defaults, consult the documentation for the message type. */ automatedBackupPolicy?: pulumi.Input; /** * Required. ID of the requesting object. */ clusterId: pulumi.Input; /** * Optional. Continuous backup configuration for this cluster. */ continuousBackupConfig?: pulumi.Input; /** * Optional. The database engine major version. This is an optional field and it is populated at the Cluster creation time. If a database version is not supplied at cluster creation time, then a default database version will be used. */ databaseVersion?: pulumi.Input; /** * User-settable and human-readable display name for the Cluster. */ displayName?: pulumi.Input; /** * Optional. The encryption config can be specified to encrypt the data disks and other persistent data resources of a cluster with a customer-managed encryption key (CMEK). When this field is not specified, the cluster will then use default encryption scheme to protect the user data. */ encryptionConfig?: pulumi.Input; /** * For Resource freshness validation (https://google.aip.dev/154) */ etag?: pulumi.Input; /** * Input only. Initial user to setup during cluster creation. Required. If used in `RestoreCluster` this is ignored. */ initialUser?: pulumi.Input; /** * Labels as key value pairs */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{project}/global/networks/{network_id}". This is required to create a cluster. Deprecated, use network_config.network instead. * * @deprecated Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{project}/global/networks/{network_id}". This is required to create a cluster. Deprecated, use network_config.network instead. */ network: pulumi.Input; networkConfig?: pulumi.Input; project?: 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; /** * Cross Region replication config specific to SECONDARY cluster. */ secondaryConfig?: pulumi.Input; /** * SSL configuration for this AlloyDB cluster. */ sslConfig?: pulumi.Input; }