import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get info about a GKE cluster from its name and location.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const myCluster = gcp.container.getCluster({
 *     name: "my-cluster",
 *     location: "us-east1-a",
 * });
 * export const endpoint = myCluster.then(myCluster => myCluster.endpoint);
 * export const instanceGroupUrls = myCluster.then(myCluster => myCluster.nodePools?.[0]?.instanceGroupUrls);
 * export const nodeConfig = myCluster.then(myCluster => myCluster.nodeConfigs);
 * export const nodePools = myCluster.then(myCluster => myCluster.nodePools);
 * ```
 */
export declare function getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetClusterResult>;
/**
 * A collection of arguments for invoking getCluster.
 */
export interface GetClusterArgs {
    /**
     * The location (zone or region) this cluster has been
     * created in. One of `location`, `region`, `zone`, or a provider-level `zone` must
     * be specified.
     */
    location?: string;
    /**
     * The name of the cluster.
     */
    name: string;
    /**
     * 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 addonsConfigs: outputs.container.GetClusterAddonsConfig[];
    readonly allowNetAdmin: boolean;
    readonly authenticatorGroupsConfigs: outputs.container.GetClusterAuthenticatorGroupsConfig[];
    readonly binaryAuthorizations: outputs.container.GetClusterBinaryAuthorization[];
    readonly clusterAutoscalings: outputs.container.GetClusterClusterAutoscaling[];
    readonly clusterIpv4Cidr: string;
    readonly clusterTelemetries: outputs.container.GetClusterClusterTelemetry[];
    readonly confidentialNodes: outputs.container.GetClusterConfidentialNode[];
    readonly controlPlaneEndpointsConfigs: outputs.container.GetClusterControlPlaneEndpointsConfig[];
    readonly costManagementConfigs: outputs.container.GetClusterCostManagementConfig[];
    readonly databaseEncryptions: outputs.container.GetClusterDatabaseEncryption[];
    readonly datapathProvider: string;
    readonly defaultMaxPodsPerNode: number;
    readonly defaultSnatStatuses: outputs.container.GetClusterDefaultSnatStatus[];
    readonly deletionProtection: boolean;
    readonly description: string;
    readonly disableL4LbFirewallReconciliation: boolean;
    readonly dnsConfigs: outputs.container.GetClusterDnsConfig[];
    readonly effectiveLabels: {
        [key: string]: string;
    };
    readonly enableAutopilot: boolean;
    readonly enableCiliumClusterwideNetworkPolicy: boolean;
    readonly enableFqdnNetworkPolicy: boolean;
    readonly enableIntranodeVisibility: boolean;
    readonly enableK8sBetaApis: outputs.container.GetClusterEnableK8sBetaApi[];
    readonly enableKubernetesAlpha: boolean;
    readonly enableL4IlbSubsetting: boolean;
    readonly enableLegacyAbac: boolean;
    readonly enableMultiNetworking: boolean;
    readonly enableShieldedNodes: boolean;
    readonly enableTpu: boolean;
    readonly endpoint: string;
    readonly enterpriseConfigs: outputs.container.GetClusterEnterpriseConfig[];
    readonly fleets: outputs.container.GetClusterFleet[];
    readonly gatewayApiConfigs: outputs.container.GetClusterGatewayApiConfig[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly identityServiceConfigs: outputs.container.GetClusterIdentityServiceConfig[];
    readonly initialNodeCount: number;
    readonly ipAllocationPolicies: outputs.container.GetClusterIpAllocationPolicy[];
    readonly labelFingerprint: string;
    readonly location?: string;
    readonly loggingConfigs: outputs.container.GetClusterLoggingConfig[];
    readonly loggingService: string;
    readonly maintenancePolicies: outputs.container.GetClusterMaintenancePolicy[];
    readonly masterAuthorizedNetworksConfigs: outputs.container.GetClusterMasterAuthorizedNetworksConfig[];
    readonly masterAuths: outputs.container.GetClusterMasterAuth[];
    readonly masterVersion: string;
    readonly meshCertificates: outputs.container.GetClusterMeshCertificate[];
    readonly minMasterVersion: string;
    readonly monitoringConfigs: outputs.container.GetClusterMonitoringConfig[];
    readonly monitoringService: string;
    readonly name: string;
    readonly network: string;
    readonly networkPolicies: outputs.container.GetClusterNetworkPolicy[];
    readonly networkingMode: string;
    readonly nodeConfigs: outputs.container.GetClusterNodeConfig[];
    readonly nodeLocations: string[];
    readonly nodePoolAutoConfigs: outputs.container.GetClusterNodePoolAutoConfig[];
    readonly nodePoolDefaults: outputs.container.GetClusterNodePoolDefault[];
    readonly nodePools: outputs.container.GetClusterNodePool[];
    readonly nodeVersion: string;
    readonly notificationConfigs: outputs.container.GetClusterNotificationConfig[];
    readonly operation: string;
    readonly podAutoscalings: outputs.container.GetClusterPodAutoscaling[];
    readonly podSecurityPolicyConfigs: outputs.container.GetClusterPodSecurityPolicyConfig[];
    readonly privateClusterConfigs: outputs.container.GetClusterPrivateClusterConfig[];
    readonly privateIpv6GoogleAccess: string;
    readonly project?: string;
    readonly protectConfigs: outputs.container.GetClusterProtectConfig[];
    readonly pulumiLabels: {
        [key: string]: string;
    };
    readonly releaseChannels: outputs.container.GetClusterReleaseChannel[];
    readonly removeDefaultNodePool: boolean;
    readonly resourceLabels: {
        [key: string]: string;
    };
    readonly resourceUsageExportConfigs: outputs.container.GetClusterResourceUsageExportConfig[];
    readonly secretManagerConfigs: outputs.container.GetClusterSecretManagerConfig[];
    readonly securityPostureConfigs: outputs.container.GetClusterSecurityPostureConfig[];
    readonly selfLink: string;
    readonly serviceExternalIpsConfigs: outputs.container.GetClusterServiceExternalIpsConfig[];
    readonly servicesIpv4Cidr: string;
    readonly subnetwork: string;
    readonly tpuConfigs: outputs.container.GetClusterTpuConfig[];
    readonly tpuIpv4CidrBlock: string;
    readonly userManagedKeysConfigs: outputs.container.GetClusterUserManagedKeysConfig[];
    readonly verticalPodAutoscalings: outputs.container.GetClusterVerticalPodAutoscaling[];
    readonly workloadAltsConfigs: outputs.container.GetClusterWorkloadAltsConfig[];
    readonly workloadIdentityConfigs: outputs.container.GetClusterWorkloadIdentityConfig[];
}
/**
 * Get info about a GKE cluster from its name and location.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const myCluster = gcp.container.getCluster({
 *     name: "my-cluster",
 *     location: "us-east1-a",
 * });
 * export const endpoint = myCluster.then(myCluster => myCluster.endpoint);
 * export const instanceGroupUrls = myCluster.then(myCluster => myCluster.nodePools?.[0]?.instanceGroupUrls);
 * export const nodeConfig = myCluster.then(myCluster => myCluster.nodeConfigs);
 * export const nodePools = myCluster.then(myCluster => myCluster.nodePools);
 * ```
 */
export declare function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetClusterResult>;
/**
 * A collection of arguments for invoking getCluster.
 */
export interface GetClusterOutputArgs {
    /**
     * The location (zone or region) this cluster has been
     * created in. One of `location`, `region`, `zone`, or a provider-level `zone` must
     * be specified.
     */
    location?: pulumi.Input<string>;
    /**
     * The name of the cluster.
     */
    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>;
}
