import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get a Compute Instance Group Manager within GCE.
 * For more information, see [the official documentation](https://cloud.google.com/compute/docs/instance-groups#managed_instance_groups)
 * and [API](https://cloud.google.com/compute/docs/reference/latest/instanceGroupManagers)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const igm1 = gcp.compute.getInstanceGroupManager({
 *     name: "my-igm",
 *     zone: "us-central1-a",
 * });
 * const igm2 = gcp.compute.getInstanceGroupManager({
 *     selfLink: "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/my-igm",
 * });
 * ```
 */
export declare function getInstanceGroupManager(args?: GetInstanceGroupManagerArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceGroupManagerResult>;
/**
 * A collection of arguments for invoking getInstanceGroupManager.
 */
export interface GetInstanceGroupManagerArgs {
    /**
     * The name of the instance group. Either `name` or `selfLink` must be provided.
     */
    name?: string;
    /**
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: string;
    /**
     * The self link of the instance group. Either `name` or `selfLink` must be provided.
     */
    selfLink?: string;
    /**
     * The zone of the instance group. If referencing the instance group by name and `zone` is not provided, the provider zone is used.
     */
    zone?: string;
}
/**
 * A collection of values returned by getInstanceGroupManager.
 */
export interface GetInstanceGroupManagerResult {
    readonly allInstancesConfigs: outputs.compute.GetInstanceGroupManagerAllInstancesConfig[];
    readonly autoHealingPolicies: outputs.compute.GetInstanceGroupManagerAutoHealingPolicy[];
    readonly baseInstanceName: string;
    readonly creationTimestamp: string;
    readonly description: string;
    readonly fingerprint: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceGroup: string;
    readonly instanceGroupManagerId: number;
    readonly instanceLifecyclePolicies: outputs.compute.GetInstanceGroupManagerInstanceLifecyclePolicy[];
    readonly listManagedInstancesResults: string;
    readonly name?: string;
    readonly namedPorts: outputs.compute.GetInstanceGroupManagerNamedPort[];
    readonly operation: string;
    readonly params: outputs.compute.GetInstanceGroupManagerParam[];
    readonly project?: string;
    readonly selfLink?: string;
    readonly standbyPolicies: outputs.compute.GetInstanceGroupManagerStandbyPolicy[];
    readonly statefulDisks: outputs.compute.GetInstanceGroupManagerStatefulDisk[];
    readonly statefulExternalIps: outputs.compute.GetInstanceGroupManagerStatefulExternalIp[];
    readonly statefulInternalIps: outputs.compute.GetInstanceGroupManagerStatefulInternalIp[];
    readonly statuses: outputs.compute.GetInstanceGroupManagerStatus[];
    readonly targetPools: string[];
    readonly targetSize: number;
    readonly targetStoppedSize: number;
    readonly targetSuspendedSize: number;
    readonly updatePolicies: outputs.compute.GetInstanceGroupManagerUpdatePolicy[];
    readonly versions: outputs.compute.GetInstanceGroupManagerVersion[];
    readonly waitForInstances: boolean;
    readonly waitForInstancesStatus: string;
    readonly zone?: string;
}
/**
 * Get a Compute Instance Group Manager within GCE.
 * For more information, see [the official documentation](https://cloud.google.com/compute/docs/instance-groups#managed_instance_groups)
 * and [API](https://cloud.google.com/compute/docs/reference/latest/instanceGroupManagers)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const igm1 = gcp.compute.getInstanceGroupManager({
 *     name: "my-igm",
 *     zone: "us-central1-a",
 * });
 * const igm2 = gcp.compute.getInstanceGroupManager({
 *     selfLink: "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/my-igm",
 * });
 * ```
 */
export declare function getInstanceGroupManagerOutput(args?: GetInstanceGroupManagerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInstanceGroupManagerResult>;
/**
 * A collection of arguments for invoking getInstanceGroupManager.
 */
export interface GetInstanceGroupManagerOutputArgs {
    /**
     * The name of the instance group. Either `name` or `selfLink` must be provided.
     */
    name?: pulumi.Input<string>;
    /**
     * 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 self link of the instance group. Either `name` or `selfLink` must be provided.
     */
    selfLink?: pulumi.Input<string>;
    /**
     * The zone of the instance group. If referencing the instance group by name and `zone` is not provided, the provider zone is used.
     */
    zone?: pulumi.Input<string>;
}
