import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the list of CFW attack logs.
 *
 * > **NOTE:** Up to 1000 logs can be retrieved. Set filter criteria to narrow down the search scope.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const startTime = config.requireObject("startTime");
 * const endTime = config.requireObject("endTime");
 * const fwInstanceId = config.requireObject("fwInstanceId");
 * const test = huaweicloud.Cfw.getAttackLogs({
 *     fwInstanceId: fwInstanceId,
 *     startTime: startTime,
 *     endTime: endTime,
 * });
 * ```
 */
export declare function getAttackLogs(args: GetAttackLogsArgs, opts?: pulumi.InvokeOptions): Promise<GetAttackLogsResult>;
/**
 * A collection of arguments for invoking getAttackLogs.
 */
export interface GetAttackLogsArgs {
    /**
     * Specifies the application protocol.
     */
    app?: string;
    /**
     * Specifies the intrusion event rule.
     */
    attackRule?: string;
    /**
     * Specifies the attack rule ID.
     */
    attackRuleId?: string;
    /**
     * Specifies the intrusion event type.
     */
    attackType?: string;
    /**
     * Specifies the destination city name.
     */
    dstCityName?: string;
    /**
     * Specifies the destination IP address.
     */
    dstIp?: string;
    /**
     * Specifies the destination port.
     */
    dstPort?: number;
    /**
     * Specifies the destination province name.
     */
    dstProvinceName?: string;
    /**
     * Specifies the destination region name.
     */
    dstRegionName?: string;
    /**
     * Specifies the end time. The time is in UTC.
     * The format is **yyyy-MM-dd HH:mm:ss**.
     */
    endTime: string;
    /**
     * Specifies the enterprise project ID.
     */
    enterpriseProjectId?: string;
    /**
     * Specifies the firewall instance ID.
     */
    fwInstanceId: string;
    /**
     * Specifies the threat level.
     */
    level?: string;
    /**
     * Specifies the log type.
     * The valid values are **internet**, **nat** and **vpc**.
     */
    logType?: string;
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the source city name.
     */
    srcCityName?: string;
    /**
     * Specifies the source IP address.
     */
    srcIp?: string;
    /**
     * Specifies the source port.
     */
    srcPort?: number;
    /**
     * Specifies the source province name.
     */
    srcProvinceName?: string;
    /**
     * Specifies the source region name.
     */
    srcRegionName?: string;
    /**
     * Specifies the start time. The time is in UTC.
     * The format is **yyyy-MM-dd HH:mm:ss**.
     */
    startTime: string;
}
/**
 * A collection of values returned by getAttackLogs.
 */
export interface GetAttackLogsResult {
    /**
     * The application protocol.
     */
    readonly app?: string;
    /**
     * The attack rule.
     */
    readonly attackRule?: string;
    /**
     * The attack rule ID.
     */
    readonly attackRuleId?: string;
    /**
     * The attack type.
     */
    readonly attackType?: string;
    /**
     * The destination city name.
     */
    readonly dstCityName?: string;
    /**
     * The destination IP address.
     */
    readonly dstIp?: string;
    /**
     * The destination port.
     */
    readonly dstPort?: number;
    /**
     * The destination province name.
     */
    readonly dstProvinceName?: string;
    /**
     * The destination region name.
     */
    readonly dstRegionName?: string;
    readonly endTime: string;
    readonly enterpriseProjectId?: string;
    readonly fwInstanceId: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The threat level.
     */
    readonly level?: string;
    readonly logType?: string;
    /**
     * The attack log records.
     */
    readonly records: outputs.Cfw.GetAttackLogsRecord[];
    readonly region: string;
    /**
     * The source city name.
     */
    readonly srcCityName?: string;
    /**
     * The source IP address.
     */
    readonly srcIp?: string;
    /**
     * The source port.
     */
    readonly srcPort?: number;
    /**
     * The source province name.
     */
    readonly srcProvinceName?: string;
    /**
     * The source region name.
     */
    readonly srcRegionName?: string;
    readonly startTime: string;
}
export declare function getAttackLogsOutput(args: GetAttackLogsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAttackLogsResult>;
/**
 * A collection of arguments for invoking getAttackLogs.
 */
export interface GetAttackLogsOutputArgs {
    /**
     * Specifies the application protocol.
     */
    app?: pulumi.Input<string>;
    /**
     * Specifies the intrusion event rule.
     */
    attackRule?: pulumi.Input<string>;
    /**
     * Specifies the attack rule ID.
     */
    attackRuleId?: pulumi.Input<string>;
    /**
     * Specifies the intrusion event type.
     */
    attackType?: pulumi.Input<string>;
    /**
     * Specifies the destination city name.
     */
    dstCityName?: pulumi.Input<string>;
    /**
     * Specifies the destination IP address.
     */
    dstIp?: pulumi.Input<string>;
    /**
     * Specifies the destination port.
     */
    dstPort?: pulumi.Input<number>;
    /**
     * Specifies the destination province name.
     */
    dstProvinceName?: pulumi.Input<string>;
    /**
     * Specifies the destination region name.
     */
    dstRegionName?: pulumi.Input<string>;
    /**
     * Specifies the end time. The time is in UTC.
     * The format is **yyyy-MM-dd HH:mm:ss**.
     */
    endTime: pulumi.Input<string>;
    /**
     * Specifies the enterprise project ID.
     */
    enterpriseProjectId?: pulumi.Input<string>;
    /**
     * Specifies the firewall instance ID.
     */
    fwInstanceId: pulumi.Input<string>;
    /**
     * Specifies the threat level.
     */
    level?: pulumi.Input<string>;
    /**
     * Specifies the log type.
     * The valid values are **internet**, **nat** and **vpc**.
     */
    logType?: pulumi.Input<string>;
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the source city name.
     */
    srcCityName?: pulumi.Input<string>;
    /**
     * Specifies the source IP address.
     */
    srcIp?: pulumi.Input<string>;
    /**
     * Specifies the source port.
     */
    srcPort?: pulumi.Input<number>;
    /**
     * Specifies the source province name.
     */
    srcProvinceName?: pulumi.Input<string>;
    /**
     * Specifies the source region name.
     */
    srcRegionName?: pulumi.Input<string>;
    /**
     * Specifies the start time. The time is in UTC.
     * The format is **yyyy-MM-dd HH:mm:ss**.
     */
    startTime: pulumi.Input<string>;
}
