import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the list of CFW access control logs.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const fwInstanceId = config.requireObject("fwInstanceId");
 * const startTime = config.requireObject("startTime");
 * const endTime = config.requireObject("endTime");
 * const test = huaweicloud.Cfw.getAccessControlLogs({
 *     fwInstanceId: fwInstanceId,
 *     startTime: startTime,
 *     endTime: endTime,
 * });
 * ```
 */
export declare function getAccessControlLogs(args: GetAccessControlLogsArgs, opts?: pulumi.InvokeOptions): Promise<GetAccessControlLogsResult>;
/**
 * A collection of arguments for invoking getAccessControlLogs.
 */
export interface GetAccessControlLogsArgs {
    /**
     * Specifies the action. The values can be **allow** and **deny**.
     */
    action?: string;
    /**
     * Specifies the application protocol.
     */
    app?: 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 region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the rule name.
     */
    ruleName?: 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 getAccessControlLogs.
 */
export interface GetAccessControlLogsResult {
    /**
     * The action.
     */
    readonly action?: string;
    /**
     * The application protocol.
     */
    readonly app?: 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 access control log records.
     */
    readonly records: outputs.Cfw.GetAccessControlLogsRecord[];
    readonly region: string;
    /**
     * The rule name.
     */
    readonly ruleName?: 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 getAccessControlLogsOutput(args: GetAccessControlLogsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAccessControlLogsResult>;
/**
 * A collection of arguments for invoking getAccessControlLogs.
 */
export interface GetAccessControlLogsOutputArgs {
    /**
     * Specifies the action. The values can be **allow** and **deny**.
     */
    action?: pulumi.Input<string>;
    /**
     * Specifies the application protocol.
     */
    app?: 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 region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the rule name.
     */
    ruleName?: 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>;
}
