import * as outputs from "../types/output";
export interface GetAccountsAccountDetail {
    /**
     * The account id.
     */
    accountId: string;
    /**
     * External Id of the onboarded account
     */
    externalId: string;
    /**
     * Onboarding status of the account.
     */
    onboardingStatus: string;
}
export interface GetNgfwLogProfileLogDestination {
    /**
     * The log destination details.
     */
    destination: string;
    /**
     * The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.
     */
    destinationType: string;
    /**
     * The type of logs. Valid values are `TRAFFIC`, `THREAT`, or `DECRYPTION`.
     */
    logType: string;
}
export interface GetNgfwStatus {
    /**
     * The firewall attachments.
     */
    attachments: outputs.GetNgfwStatusAttachment[];
    /**
     * The firewall failure reason.
     */
    failureReason: string;
    /**
     * The firewall status.
     */
    firewallStatus: string;
    /**
     * The rulestack status.
     */
    rulestackStatus: string;
}
export interface GetNgfwStatusAttachment {
    /**
     * The endpoint id.
     */
    endpointId: string;
    /**
     * The reject reason.
     */
    rejectedReason: string;
    /**
     * The attachment status.
     */
    status: string;
    /**
     * The subnet id.
     */
    subnetId: string;
}
export interface GetNgfwSubnetMapping {
    /**
     * The availability zone, for when the endpoint mode is customer managed.
     */
    availabilityZone: string;
    /**
     * The availability zone ID, for when the endpoint mode is customer managed.
     */
    availabilityZoneId: string;
    /**
     * The subnet id, for when the endpoint mode is service managed.
     */
    subnetId: string;
}
export interface GetNgfwsInstance {
    /**
     * The account id.
     */
    accountId: string;
    /**
     * The NGFW name.
     */
    name: string;
}
export interface GetRulestackProfileConfig {
    /**
     * Anti-spyware profile setting.
     */
    antiSpyware: string;
    /**
     * Anti-virus profile setting.
     */
    antiVirus: string;
    /**
     * File blocking profile setting.
     */
    fileBlocking: string;
    /**
     * Outbound trust certificate.
     */
    outboundTrustCertificate: string;
    /**
     * Outbound untrust certificate.
     */
    outboundUntrustCertificate: string;
    /**
     * URL filtering profile setting.
     */
    urlFiltering: string;
    /**
     * Vulnerability profile setting.
     */
    vulnerability: string;
}
export interface GetSecurityRuleCategory {
    /**
     * List of feeds.
     */
    feeds: string[];
    /**
     * List of URL category names.
     */
    urlCategoryNames: string[];
}
export interface GetSecurityRuleDestination {
    /**
     * List of CIDRs.
     */
    cidrs: string[];
    /**
     * List of countries.
     */
    countries: string[];
    /**
     * List of feeds.
     */
    feeds: string[];
    /**
     * List of FQDN lists.
     */
    fqdnLists: string[];
    /**
     * List of prefix list.
     */
    prefixLists: string[];
}
export interface GetSecurityRuleSource {
    /**
     * List of CIDRs.
     */
    cidrs: string[];
    /**
     * List of countries.
     */
    countries: string[];
    /**
     * List of feeds.
     */
    feeds: string[];
    /**
     * List of prefix list.
     */
    prefixLists: string[];
}
export interface NgfwLogProfileLogDestination {
    /**
     * The log destination details.
     */
    destination?: string;
    /**
     * The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.
     */
    destinationType?: string;
    /**
     * The type of logs. Valid values are `TRAFFIC`, `THREAT`, or `DECRYPTION`.
     */
    logType?: string;
}
export interface NgfwStatus {
    /**
     * The firewall attachments.
     */
    attachments: outputs.NgfwStatusAttachment[];
    /**
     * The firewall failure reason.
     */
    failureReason: string;
    /**
     * The firewall status.
     */
    firewallStatus: string;
    /**
     * The rulestack status.
     */
    rulestackStatus: string;
}
export interface NgfwStatusAttachment {
    /**
     * The endpoint id.
     */
    endpointId: string;
    /**
     * The reject reason.
     */
    rejectedReason: string;
    /**
     * The attachment status.
     */
    status: string;
    /**
     * The subnet id.
     */
    subnetId: string;
}
export interface NgfwSubnetMapping {
    /**
     * The availability zone, for when the endpoint mode is customer managed.
     */
    availabilityZone: string;
    /**
     * The availability zone ID, for when the endpoint mode is customer managed.
     */
    availabilityZoneId: string;
    /**
     * The subnet id, for when the endpoint mode is service managed.
     */
    subnetId?: string;
}
export interface RulestackProfileConfig {
    /**
     * Anti-spyware profile setting. Defaults to `BestPractice`.
     */
    antiSpyware?: string;
    /**
     * Anti-virus profile setting. Defaults to `BestPractice`.
     */
    antiVirus?: string;
    /**
     * File blocking profile setting. Defaults to `BestPractice`.
     */
    fileBlocking?: string;
    /**
     * Outbound trust certificate.
     */
    outboundTrustCertificate?: string;
    /**
     * Outbound untrust certificate.
     */
    outboundUntrustCertificate?: string;
    /**
     * URL filtering profile setting. Defaults to `None`.
     */
    urlFiltering?: string;
    /**
     * Vulnerability profile setting. Defaults to `BestPractice`.
     */
    vulnerability?: string;
}
export interface SecurityRuleCategory {
    /**
     * List of feeds.
     */
    feeds?: string[];
    /**
     * List of URL category names.
     */
    urlCategoryNames?: string[];
}
export interface SecurityRuleDestination {
    /**
     * List of CIDRs.
     */
    cidrs?: string[];
    /**
     * List of countries.
     */
    countries?: string[];
    /**
     * List of feeds.
     */
    feeds?: string[];
    /**
     * List of FQDN lists.
     */
    fqdnLists?: string[];
    /**
     * List of prefix list.
     */
    prefixLists?: string[];
}
export interface SecurityRuleSource {
    /**
     * List of CIDRs.
     */
    cidrs?: string[];
    /**
     * List of countries.
     */
    countries?: string[];
    /**
     * List of feeds.
     */
    feeds?: string[];
    /**
     * List of prefix list.
     */
    prefixLists?: string[];
}
