import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get info about a Google Cloud Redis instance.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const myInstance = gcp.redis.getInstance({
 *     name: "my-redis-instance",
 * });
 * export const instanceMemorySizeGb = myInstance.then(myInstance => myInstance.memorySizeGb);
 * export const instanceConnectMode = myInstance.then(myInstance => myInstance.connectMode);
 * export const instanceAuthorizedNetwork = myInstance.then(myInstance => myInstance.authorizedNetwork);
 * ```
 */
export declare function getInstance(args: GetInstanceArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceResult>;
/**
 * A collection of arguments for invoking getInstance.
 */
export interface GetInstanceArgs {
    /**
     * The name of a Redis instance.
     *
     * - - -
     */
    name: string;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: string;
    /**
     * The region in which the resource belongs. If it
     * is not provided, the provider region is used.
     */
    region?: string;
}
/**
 * A collection of values returned by getInstance.
 */
export interface GetInstanceResult {
    readonly alternativeLocationId: string;
    readonly authEnabled: boolean;
    readonly authString: string;
    readonly authorizedNetwork: string;
    readonly connectMode: string;
    readonly createTime: string;
    readonly currentLocationId: string;
    readonly customerManagedKey: string;
    readonly displayName: string;
    readonly effectiveLabels: {
        [key: string]: string;
    };
    readonly host: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly labels: {
        [key: string]: string;
    };
    readonly locationId: string;
    readonly maintenancePolicies: outputs.redis.GetInstanceMaintenancePolicy[];
    readonly maintenanceSchedules: outputs.redis.GetInstanceMaintenanceSchedule[];
    readonly maintenanceVersion: string;
    readonly memorySizeGb: number;
    readonly name: string;
    readonly nodes: outputs.redis.GetInstanceNode[];
    readonly persistenceConfigs: outputs.redis.GetInstancePersistenceConfig[];
    readonly persistenceIamIdentity: string;
    readonly port: number;
    readonly project?: string;
    readonly pulumiLabels: {
        [key: string]: string;
    };
    readonly readEndpoint: string;
    readonly readEndpointPort: number;
    readonly readReplicasMode: string;
    readonly redisConfigs: {
        [key: string]: string;
    };
    readonly redisVersion: string;
    readonly region?: string;
    readonly replicaCount: number;
    readonly reservedIpRange: string;
    readonly secondaryIpRange: string;
    readonly serverCaCerts: outputs.redis.GetInstanceServerCaCert[];
    readonly tier: string;
    readonly transitEncryptionMode: string;
}
/**
 * Get info about a Google Cloud Redis instance.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const myInstance = gcp.redis.getInstance({
 *     name: "my-redis-instance",
 * });
 * export const instanceMemorySizeGb = myInstance.then(myInstance => myInstance.memorySizeGb);
 * export const instanceConnectMode = myInstance.then(myInstance => myInstance.connectMode);
 * export const instanceAuthorizedNetwork = myInstance.then(myInstance => myInstance.authorizedNetwork);
 * ```
 */
export declare function getInstanceOutput(args: GetInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInstanceResult>;
/**
 * A collection of arguments for invoking getInstance.
 */
export interface GetInstanceOutputArgs {
    /**
     * The name of a Redis instance.
     *
     * - - -
     */
    name: pulumi.Input<string>;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
    /**
     * The region in which the resource belongs. If it
     * is not provided, the provider region is used.
     */
    region?: pulumi.Input<string>;
}
