import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * Data source for retrieving NGFW information.
 *
 * ## Admin Permission Type
 *
 * * `Firewall`
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as cloudngfwaws from "@pulumi/cloudngfwaws";
 *
 * const example = cloudngfwaws.getNgfw({
 *     name: "example-instance",
 * });
 * ```
 */
export declare function getNgfw(args?: GetNgfwArgs, opts?: pulumi.InvokeOptions): Promise<GetNgfwResult>;
/**
 * A collection of arguments for invoking getNgfw.
 */
export interface GetNgfwArgs {
    /**
     * The Account Id.
     */
    accountId?: string;
    /**
     * The Firewall ID.
     */
    firewallId?: string;
    /**
     * The NGFW name.
     */
    name?: string;
}
/**
 * A collection of values returned by getNgfw.
 */
export interface GetNgfwResult {
    /**
     * The Account Id.
     */
    readonly accountId?: string;
    /**
     * The list of allowed accounts for this NGFW.
     */
    readonly allowlistAccounts: string[];
    /**
     * App-ID version number.
     */
    readonly appIdVersion: string;
    /**
     * Automatic App-ID upgrade version number.
     */
    readonly automaticUpgradeAppIdVersion: boolean;
    /**
     * The list of availability zone IDs for this NGFW.
     */
    readonly azLists: string[];
    /**
     * Enables or disables change protection for the NGFW.
     */
    readonly changeProtections: string[];
    /**
     * The update token.
     */
    readonly deploymentUpdateToken: string;
    /**
     * The NGFW description.
     */
    readonly description: string;
    readonly egressNats: outputs.GetNgfwEgressNat[];
    /**
     * Set endpoint mode from the following options. Valid values are `ServiceManaged` or `CustomerManaged`.
     */
    readonly endpointMode: string;
    /**
     * The endpoint service name.
     */
    readonly endpointServiceName: string;
    readonly endpoints: outputs.GetNgfwEndpoint[];
    /**
     * The Firewall ID.
     */
    readonly firewallId?: string;
    /**
     * The global rulestack for this NGFW.
     */
    readonly globalRulestack: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The link ID.
     */
    readonly linkId: string;
    /**
     * The link status.
     */
    readonly linkStatus: string;
    /**
     * Share NGFW with Multiple VPCs. This feature can be enabled only if the endpointMode is CustomerManaged.
     */
    readonly multiVpc: boolean;
    /**
     * The NGFW name.
     */
    readonly name?: string;
    readonly privateAccesses: outputs.GetNgfwPrivateAccess[];
    /**
     * The rulestack for this NGFW.
     */
    readonly rulestack: string;
    readonly securityZones: outputs.GetNgfwSecurityZone[];
    readonly statuses: outputs.GetNgfwStatus[];
    /**
     * Subnet mappings.
     */
    readonly subnetMappings: outputs.GetNgfwSubnetMapping[];
    /**
     * The tags.
     */
    readonly tags: {
        [key: string]: string;
    };
    /**
     * The update token.
     */
    readonly updateToken: string;
    readonly userIds: outputs.GetNgfwUserId[];
    /**
     * The VPC ID for the NGFW.
     */
    readonly vpcId: string;
}
/**
 * Data source for retrieving NGFW information.
 *
 * ## Admin Permission Type
 *
 * * `Firewall`
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as cloudngfwaws from "@pulumi/cloudngfwaws";
 *
 * const example = cloudngfwaws.getNgfw({
 *     name: "example-instance",
 * });
 * ```
 */
export declare function getNgfwOutput(args?: GetNgfwOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetNgfwResult>;
/**
 * A collection of arguments for invoking getNgfw.
 */
export interface GetNgfwOutputArgs {
    /**
     * The Account Id.
     */
    accountId?: pulumi.Input<string | undefined>;
    /**
     * The Firewall ID.
     */
    firewallId?: pulumi.Input<string | undefined>;
    /**
     * The NGFW name.
     */
    name?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getNgfw.d.ts.map