import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to get information about the available cluster. For more details refer the [API docs](https://cloud.google.com/alloydb/docs/reference/rest/v1/projects.locations.clusters).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const qa = gcp.alloydb.getCluster({});
 * ```
 */
export declare function getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetClusterResult>;
/**
 * A collection of arguments for invoking getCluster.
 */
export interface GetClusterArgs {
    /**
     * The ID of the alloydb cluster that the instance belongs to.
     * 'alloydb_cluster_id'
     */
    clusterId: string;
    /**
     * (optional)
     * The canonical id of the location.If it is not provided, the provider project is used. For example: us-east1.
     */
    location?: string;
    /**
     * (optional)
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: string;
}
/**
 * A collection of values returned by getCluster.
 */
export interface GetClusterResult {
    readonly annotations: {
        [key: string]: string;
    };
    readonly automatedBackupPolicies: outputs.alloydb.GetClusterAutomatedBackupPolicy[];
    readonly backupSources: outputs.alloydb.GetClusterBackupSource[];
    readonly clusterId: string;
    readonly clusterType: string;
    readonly continuousBackupConfigs: outputs.alloydb.GetClusterContinuousBackupConfig[];
    readonly continuousBackupInfos: outputs.alloydb.GetClusterContinuousBackupInfo[];
    readonly databaseVersion: string;
    readonly deletionPolicy: string;
    readonly deletionProtection: boolean;
    readonly displayName: string;
    readonly effectiveAnnotations: {
        [key: string]: string;
    };
    readonly effectiveLabels: {
        [key: string]: string;
    };
    readonly encryptionConfigs: outputs.alloydb.GetClusterEncryptionConfig[];
    readonly encryptionInfos: outputs.alloydb.GetClusterEncryptionInfo[];
    readonly etag: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly initialUsers: outputs.alloydb.GetClusterInitialUser[];
    readonly labels: {
        [key: string]: string;
    };
    readonly location?: string;
    readonly maintenanceUpdatePolicies: outputs.alloydb.GetClusterMaintenanceUpdatePolicy[];
    readonly migrationSources: outputs.alloydb.GetClusterMigrationSource[];
    readonly name: string;
    readonly networkConfigs: outputs.alloydb.GetClusterNetworkConfig[];
    readonly project?: string;
    readonly pscConfigs: outputs.alloydb.GetClusterPscConfig[];
    readonly pulumiLabels: {
        [key: string]: string;
    };
    readonly reconciling: boolean;
    readonly restoreBackupSources: outputs.alloydb.GetClusterRestoreBackupSource[];
    readonly restoreContinuousBackupSources: outputs.alloydb.GetClusterRestoreContinuousBackupSource[];
    readonly secondaryConfigs: outputs.alloydb.GetClusterSecondaryConfig[];
    readonly skipAwaitMajorVersionUpgrade: boolean;
    readonly state: string;
    readonly subscriptionType: string;
    readonly trialMetadatas: outputs.alloydb.GetClusterTrialMetadata[];
    readonly uid: string;
}
/**
 * Use this data source to get information about the available cluster. For more details refer the [API docs](https://cloud.google.com/alloydb/docs/reference/rest/v1/projects.locations.clusters).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const qa = gcp.alloydb.getCluster({});
 * ```
 */
export declare function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetClusterResult>;
/**
 * A collection of arguments for invoking getCluster.
 */
export interface GetClusterOutputArgs {
    /**
     * The ID of the alloydb cluster that the instance belongs to.
     * 'alloydb_cluster_id'
     */
    clusterId: pulumi.Input<string>;
    /**
     * (optional)
     * The canonical id of the location.If it is not provided, the provider project is used. For example: us-east1.
     */
    location?: 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>;
}
