import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Steering Policies in Oracle Cloud Infrastructure DNS service.
 *
 * Gets a list of all steering policies in the specified compartment.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSteeringPolicies = oci.dns.getSteeringPolicies({
 *     compartmentId: compartmentId,
 *     displayName: steeringPolicyDisplayName,
 *     displayNameContains: steeringPolicyDisplayNameContains,
 *     healthCheckMonitorId: testHttpMonitor.id,
 *     id: steeringPolicyId,
 *     state: steeringPolicyState,
 *     template: steeringPolicyTemplate,
 *     timeCreatedGreaterThanOrEqualTo: steeringPolicyTimeCreatedGreaterThanOrEqualTo,
 *     timeCreatedLessThan: steeringPolicyTimeCreatedLessThan,
 * });
 * ```
 */
export declare function getSteeringPolicies(args: GetSteeringPoliciesArgs, opts?: pulumi.InvokeOptions): Promise<GetSteeringPoliciesResult>;
/**
 * A collection of arguments for invoking getSteeringPolicies.
 */
export interface GetSteeringPoliciesArgs {
    /**
     * The OCID of the compartment the resource belongs to.
     */
    compartmentId: string;
    /**
     * The displayName of a resource.
     */
    displayName?: string;
    /**
     * The partial displayName of a resource. Will match any resource whose name (case-insensitive) contains the provided value.
     */
    displayNameContains?: string;
    filters?: inputs.Dns.GetSteeringPoliciesFilter[];
    /**
     * Search by health check monitor OCID. Will match any resource whose health check monitor ID matches the provided value.
     */
    healthCheckMonitorId?: string;
    /**
     * The OCID of a resource.
     */
    id?: string;
    /**
     * The state of a resource.
     */
    state?: string;
    /**
     * Search by steering template type. Will match any resource whose template type matches the provided value.
     */
    template?: string;
    /**
     * An [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) timestamp that states all returned resources were created on or after the indicated time.
     */
    timeCreatedGreaterThanOrEqualTo?: string;
    /**
     * An [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) timestamp that states all returned resources were created before the indicated time.
     */
    timeCreatedLessThan?: string;
}
/**
 * A collection of values returned by getSteeringPolicies.
 */
export interface GetSteeringPoliciesResult {
    /**
     * The OCID of the compartment containing the steering policy.
     */
    readonly compartmentId: string;
    /**
     * A user-friendly name for the steering policy. Does not have to be unique and can be changed. Avoid entering confidential information.
     */
    readonly displayName?: string;
    readonly displayNameContains?: string;
    readonly filters?: outputs.Dns.GetSteeringPoliciesFilter[];
    /**
     * The OCID of the health check monitor providing health data about the answers of the steering policy. A steering policy answer with `rdata` matching a monitored endpoint will use the health data of that endpoint. A steering policy answer with `rdata` not matching any monitored endpoint will be assumed healthy.
     */
    readonly healthCheckMonitorId?: string;
    /**
     * The OCID of the resource.
     */
    readonly id?: string;
    /**
     * The current state of the resource.
     */
    readonly state?: string;
    /**
     * The list of steering_policies.
     */
    readonly steeringPolicies: outputs.Dns.GetSteeringPoliciesSteeringPolicy[];
    /**
     * A set of predefined rules based on the desired purpose of the steering policy. Each template utilizes Traffic Management's rules in a different order to produce the desired results when answering DNS queries.
     */
    readonly template?: string;
    readonly timeCreatedGreaterThanOrEqualTo?: string;
    readonly timeCreatedLessThan?: string;
}
/**
 * This data source provides the list of Steering Policies in Oracle Cloud Infrastructure DNS service.
 *
 * Gets a list of all steering policies in the specified compartment.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSteeringPolicies = oci.dns.getSteeringPolicies({
 *     compartmentId: compartmentId,
 *     displayName: steeringPolicyDisplayName,
 *     displayNameContains: steeringPolicyDisplayNameContains,
 *     healthCheckMonitorId: testHttpMonitor.id,
 *     id: steeringPolicyId,
 *     state: steeringPolicyState,
 *     template: steeringPolicyTemplate,
 *     timeCreatedGreaterThanOrEqualTo: steeringPolicyTimeCreatedGreaterThanOrEqualTo,
 *     timeCreatedLessThan: steeringPolicyTimeCreatedLessThan,
 * });
 * ```
 */
export declare function getSteeringPoliciesOutput(args: GetSteeringPoliciesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSteeringPoliciesResult>;
/**
 * A collection of arguments for invoking getSteeringPolicies.
 */
export interface GetSteeringPoliciesOutputArgs {
    /**
     * The OCID of the compartment the resource belongs to.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * The displayName of a resource.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * The partial displayName of a resource. Will match any resource whose name (case-insensitive) contains the provided value.
     */
    displayNameContains?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.Dns.GetSteeringPoliciesFilterArgs>[] | undefined>;
    /**
     * Search by health check monitor OCID. Will match any resource whose health check monitor ID matches the provided value.
     */
    healthCheckMonitorId?: pulumi.Input<string | undefined>;
    /**
     * The OCID of a resource.
     */
    id?: pulumi.Input<string | undefined>;
    /**
     * The state of a resource.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Search by steering template type. Will match any resource whose template type matches the provided value.
     */
    template?: pulumi.Input<string | undefined>;
    /**
     * An [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) timestamp that states all returned resources were created on or after the indicated time.
     */
    timeCreatedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * An [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) timestamp that states all returned resources were created before the indicated time.
     */
    timeCreatedLessThan?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getSteeringPolicies.d.ts.map