import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Gets information about an Autoscaling Instance policy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get info by name (instance_group_id is required when using name)
 * const byName = scaleway.autoscaling.getInstancePolicy({
 *     name: "my-instance-policy",
 *     instanceGroupId: main.id,
 * });
 * // Get info by ID
 * const byId = scaleway.autoscaling.getInstancePolicy({
 *     instancePolicyId: "11111111-1111-1111-1111-111111111111",
 * });
 * ```
 */
export declare function getInstancePolicy(args?: GetInstancePolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetInstancePolicyResult>;
/**
 * A collection of arguments for invoking getInstancePolicy.
 */
export interface GetInstancePolicyArgs {
    /**
     * The ID of the Instance group the policy belongs to. Required when looking up by `name`.
     */
    instanceGroupId?: string;
    /**
     * The ID of the Instance policy. Only one of `name` and `instancePolicyId` should be specified.
     */
    instancePolicyId?: string;
    /**
     * The name of the Instance policy. Only one of `name` and `instancePolicyId` should be specified. When using `name`, `instanceGroupId` is required.
     */
    name?: string;
    /**
     * `zone`) The zone in which the Instance policy exists.
     */
    zone?: string;
}
/**
 * A collection of values returned by getInstancePolicy.
 */
export interface GetInstancePolicyResult {
    readonly action: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceGroupId?: string;
    readonly instancePolicyId?: string;
    readonly metrics: outputs.autoscaling.GetInstancePolicyMetric[];
    readonly name?: string;
    readonly priority: number;
    readonly projectId: string;
    readonly type: string;
    readonly value: number;
    readonly zone?: string;
}
/**
 * Gets information about an Autoscaling Instance policy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get info by name (instance_group_id is required when using name)
 * const byName = scaleway.autoscaling.getInstancePolicy({
 *     name: "my-instance-policy",
 *     instanceGroupId: main.id,
 * });
 * // Get info by ID
 * const byId = scaleway.autoscaling.getInstancePolicy({
 *     instancePolicyId: "11111111-1111-1111-1111-111111111111",
 * });
 * ```
 */
export declare function getInstancePolicyOutput(args?: GetInstancePolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInstancePolicyResult>;
/**
 * A collection of arguments for invoking getInstancePolicy.
 */
export interface GetInstancePolicyOutputArgs {
    /**
     * The ID of the Instance group the policy belongs to. Required when looking up by `name`.
     */
    instanceGroupId?: pulumi.Input<string | undefined>;
    /**
     * The ID of the Instance policy. Only one of `name` and `instancePolicyId` should be specified.
     */
    instancePolicyId?: pulumi.Input<string | undefined>;
    /**
     * The name of the Instance policy. Only one of `name` and `instancePolicyId` should be specified. When using `name`, `instanceGroupId` is required.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * `zone`) The zone in which the Instance policy exists.
     */
    zone?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getInstancePolicy.d.ts.map