import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Rule resource in Oracle Cloud Infrastructure Events service.
 *
 * Retrieves a rule.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testRule = oci.events.getRule({
 *     ruleId: testRuleOciEventsRule.id,
 * });
 * ```
 */
export declare function getRule(args: GetRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetRuleResult>;
/**
 * A collection of arguments for invoking getRule.
 */
export interface GetRuleArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this rule.
     */
    ruleId: string;
}
/**
 * A collection of values returned by getRule.
 */
export interface GetRuleResult {
    /**
     * A list of one or more Action objects.
     */
    readonly actions: outputs.Events.GetRuleAction[];
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment to which this rule belongs.
     */
    readonly compartmentId: string;
    /**
     * A filter that specifies the event that will trigger actions associated with this rule. A few  important things to remember about filters:
     * * Fields not mentioned in the condition are ignored. You can create a valid filter that matches all events with two curly brackets: `{}`
     */
    readonly condition: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
     */
    readonly description: string;
    /**
     * A string that describes the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.  Example: `"This rule sends a notification upon completion of DbaaS backup."`
     */
    readonly displayName: string;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this rule.
     */
    readonly id: string;
    /**
     * Whether or not this rule is currently enabled.  Example: `true`
     */
    readonly isEnabled: boolean;
    /**
     * A message generated by the Events service about the current state of this rule.
     */
    readonly lifecycleMessage: string;
    readonly ruleId: string;
    /**
     * The current state of the rule.
     */
    readonly state: string;
    /**
     * The time this rule was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.  Example: `2018-09-12T22:47:12.613Z`
     */
    readonly timeCreated: string;
}
/**
 * This data source provides details about a specific Rule resource in Oracle Cloud Infrastructure Events service.
 *
 * Retrieves a rule.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testRule = oci.events.getRule({
 *     ruleId: testRuleOciEventsRule.id,
 * });
 * ```
 */
export declare function getRuleOutput(args: GetRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRuleResult>;
/**
 * A collection of arguments for invoking getRule.
 */
export interface GetRuleOutputArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this rule.
     */
    ruleId: pulumi.Input<string>;
}
//# sourceMappingURL=getRule.d.ts.map