import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to get information about a Redis Cluster. For more details, see the [API documentation](https://cloud.google.com/memorystore/docs/cluster/reference/rest/v1/projects.locations.clusters).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const _default = gcp.redis.getCluster({
 *     name: "my-redis-cluster",
 *     region: "us-central1",
 * });
 * ```
 */
export declare function getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetClusterResult>;
/**
 * A collection of arguments for invoking getCluster.
 */
export interface GetClusterArgs {
    /**
     * The name of the Redis cluster.
     */
    name: string;
    /**
     * (optional)
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: string;
    /**
     * The region of the Redis cluster.
     */
    region?: string;
}
/**
 * A collection of values returned by getCluster.
 */
export interface GetClusterResult {
    readonly authorizationMode: string;
    readonly automatedBackupConfigs: outputs.redis.GetClusterAutomatedBackupConfig[];
    readonly availableMaintenanceVersions: string[];
    readonly backupCollection: string;
    readonly createTime: string;
    readonly crossClusterReplicationConfigs: outputs.redis.GetClusterCrossClusterReplicationConfig[];
    readonly deletionProtectionEnabled: boolean;
    readonly discoveryEndpoints: outputs.redis.GetClusterDiscoveryEndpoint[];
    readonly effectiveMaintenanceVersion: string;
    readonly gcsSources: outputs.redis.GetClusterGcsSource[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly kmsKey: string;
    readonly maintenancePolicies: outputs.redis.GetClusterMaintenancePolicy[];
    readonly maintenanceSchedules: outputs.redis.GetClusterMaintenanceSchedule[];
    readonly maintenanceVersion: string;
    readonly managedBackupSources: outputs.redis.GetClusterManagedBackupSource[];
    readonly managedServerCas: outputs.redis.GetClusterManagedServerCa[];
    readonly name: string;
    readonly nodeType: string;
    readonly persistenceConfigs: outputs.redis.GetClusterPersistenceConfig[];
    readonly preciseSizeGb: number;
    readonly project?: string;
    readonly pscConfigs: outputs.redis.GetClusterPscConfig[];
    readonly pscConnections: outputs.redis.GetClusterPscConnection[];
    readonly pscServiceAttachments: outputs.redis.GetClusterPscServiceAttachment[];
    readonly redisConfigs: {
        [key: string]: string;
    };
    readonly region?: string;
    readonly replicaCount: number;
    readonly shardCount: number;
    readonly sizeGb: number;
    readonly state: string;
    readonly stateInfos: outputs.redis.GetClusterStateInfo[];
    readonly transitEncryptionMode: string;
    readonly uid: string;
    readonly zoneDistributionConfigs: outputs.redis.GetClusterZoneDistributionConfig[];
}
/**
 * Use this data source to get information about a Redis Cluster. For more details, see the [API documentation](https://cloud.google.com/memorystore/docs/cluster/reference/rest/v1/projects.locations.clusters).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const _default = gcp.redis.getCluster({
 *     name: "my-redis-cluster",
 *     region: "us-central1",
 * });
 * ```
 */
export declare function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetClusterResult>;
/**
 * A collection of arguments for invoking getCluster.
 */
export interface GetClusterOutputArgs {
    /**
     * The name of the Redis cluster.
     */
    name: pulumi.Input<string>;
    /**
     * (optional)
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
    /**
     * The region of the Redis cluster.
     */
    region?: pulumi.Input<string>;
}
