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 Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. */ 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; /** * Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. */ readonly authorizationMode: pulumi.Output; /** * Required. The logical name of the Redis cluster in the customer project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the customer project / location */ readonly clusterId: pulumi.Output; /** * The timestamp associated with the cluster creation request. */ readonly createTime: pulumi.Output; /** * Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one discovery endpoint is supported. */ readonly discoveryEndpoints: pulumi.Output; readonly location: pulumi.Output; /** * Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported. */ readonly pscConfigs: pulumi.Output; /** * PSC connections for discovery of the cluster topology and accessing the cluster. */ readonly pscConnections: pulumi.Output; /** * Optional. The number of replica nodes per shard. */ readonly replicaCount: pulumi.Output; /** * Idempotent request UUID. */ readonly requestId: pulumi.Output; /** * Number of shards for the Redis cluster. */ readonly shardCount: pulumi.Output; /** * Redis memory size in GB for the entire cluster. */ readonly sizeGb: pulumi.Output; /** * The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED */ readonly state: pulumi.Output; /** * Additional information about the current state of the cluster. */ readonly stateInfo: pulumi.Output; /** * Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster. */ readonly transitEncryptionMode: pulumi.Output; /** * System assigned, unique identifier for the cluster. */ readonly uid: 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 { /** * Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. */ authorizationMode?: pulumi.Input; /** * Required. The logical name of the Redis cluster in the customer project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the customer project / location */ clusterId: pulumi.Input; location?: pulumi.Input; /** * Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` */ name?: pulumi.Input; project?: pulumi.Input; /** * Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported. */ pscConfigs: pulumi.Input[]>; /** * Optional. The number of replica nodes per shard. */ replicaCount?: pulumi.Input; /** * Idempotent request UUID. */ requestId?: pulumi.Input; /** * Number of shards for the Redis cluster. */ shardCount: pulumi.Input; /** * Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster. */ transitEncryptionMode?: pulumi.Input; }