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 GetNgfwEgressNat {
    /**
     * Enable egress NAT
     */
    enabled: boolean;
    settings: outputs.GetNgfwEgressNatSetting[];
}
export interface GetNgfwEgressNatSetting {
    /**
     * Set ip pool type from the following options. Valid values are `AWSService` or `BYOIP`.
     */
    ipPoolType: string;
    /**
     * The IP pool ID
     */
    ipamPoolId: string;
}
export interface GetNgfwEndpoint {
    /**
     * The account id.
     */
    accountId: string;
    /**
     * Enable egress NAT
     */
    egressNatEnabled: boolean;
    /**
     * Endpoint ID of the security zone
     */
    endpointId: string;
    /**
     * The endpoint mode. Valid values are `ServiceManaged` or `CustomerManaged`.
     */
    mode: string;
    prefixes: outputs.GetNgfwEndpointPrefix[];
    /**
     * The rejected reason.
     */
    rejectedReason: string;
    /**
     * The attachment status.
     */
    status: string;
    /**
     * The subnet id.
     */
    subnetId: string;
    /**
     * The vpc id.
     */
    vpcId: string;
    /**
     * The AZ id.
     */
    zoneId: string;
}
export interface GetNgfwEndpointPrefix {
    privatePrefixes: outputs.GetNgfwEndpointPrefixPrivatePrefix[];
}
export interface GetNgfwEndpointPrefixPrivatePrefix {
    cidrs: string[];
}
export interface GetNgfwLogProfileLogConfig {
    /**
     * Type of Role for log configuration
     */
    accountId: string;
    /**
     * The log destination details.
     */
    logDestination: string;
    /**
     * The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.
     */
    logDestinationType: string;
    /**
     * The list of different log types that are wanted
     */
    logTypes: string[];
    /**
     * Type of Role for log configuration
     */
    roleType: 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 GetNgfwPrivateAccess {
    /**
     * AWS ResourceID
     */
    resourceId: string;
    /**
     * Type of Private Access
     */
    type: string;
}
export interface GetNgfwSecurityZone {
    /**
     * The account id.
     */
    accountId: string;
    /**
     * Enable egress NAT
     */
    egressNatEnabled: boolean;
    /**
     * Endpoint ID of the security zone
     */
    endpointId: string;
    /**
     * The endpoint mode. Valid values are `ServiceManaged` or `CustomerManaged`.
     */
    mode: string;
    prefixes: outputs.GetNgfwSecurityZonePrefix[];
    /**
     * The rejected reason.
     */
    rejectedReason: string;
    /**
     * The attachment status.
     */
    status: string;
    /**
     * The subnet id.
     */
    subnetId: string;
    /**
     * The vpc id.
     */
    vpcId: string;
    /**
     * The AZ id.
     */
    zoneId: string;
}
export interface GetNgfwSecurityZonePrefix {
    privatePrefixes: outputs.GetNgfwSecurityZonePrefixPrivatePrefix[];
}
export interface GetNgfwSecurityZonePrefixPrivatePrefix {
    cidrs: string[];
}
export interface GetNgfwStatus {
    /**
     * The firewall attachments.
     */
    attachments: outputs.GetNgfwStatusAttachment[];
    /**
     * The device rulestack commit status.
     */
    deviceRulestackCommitStatus: string;
    /**
     * 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 GetNgfwUserId {
    /**
     * Agent Name for UserID
     */
    agentName: string;
    /**
     * The Collector Name
     */
    collectorName: string;
    /**
     * List of Custom Include Exclude Networks
     */
    customIncludeExcludeNetworks: outputs.GetNgfwUserIdCustomIncludeExcludeNetwork[];
    /**
     * Enable UserID Config
     */
    enabled: boolean;
    /**
     * The Port
     */
    port: number;
    /**
     * AWS Secret Key ARN
     */
    secretKeyArn: string;
    /**
     * Status and State of UserID Configuration
     */
    userIdStatus: string;
}
export interface GetNgfwUserIdCustomIncludeExcludeNetwork {
    /**
     * Include or exclude this subnet from user-id configuration
     */
    discoveryInclude: boolean;
    /**
     * Enable this specific custom include/exclude network
     */
    enabled: boolean;
    /**
     * Name of subnet filter
     */
    name: string;
    /**
     * Network IP address of the subnet filter
     */
    networkAddress: string;
}
export interface GetNgfwsInstance {
    /**
     * The account id.
     */
    accountId: string;
    /**
     * The NGFW ID.
     */
    firewallId: string;
    /**
     * The NGFW name.
     */
    name: string;
    /**
     * The region the NGFW is in.
     */
    region: 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 NgfwEgressNat {
    /**
     * Enable egress NAT
     */
    enabled: boolean;
    settings?: outputs.NgfwEgressNatSetting[];
}
export interface NgfwEgressNatSetting {
    /**
     * Set ip pool type from the following options. Valid values are `AWSService` or `BYOIP`.
     */
    ipPoolType?: string;
    /**
     * The IP pool ID
     */
    ipamPoolId?: string;
}
export interface NgfwEndpoint {
    /**
     * The account id.
     */
    accountId?: string;
    /**
     * Enable egress NAT
     */
    egressNatEnabled: boolean;
    /**
     * Endpoint ID of the security zone
     */
    endpointId: string;
    /**
     * The endpoint mode. Valid values are `ServiceManaged` or `CustomerManaged`.
     */
    mode: string;
    prefixes: outputs.NgfwEndpointPrefix[];
    /**
     * The rejected reason.
     */
    rejectedReason: string;
    /**
     * The attachment status.
     */
    status: string;
    /**
     * The subnet id.
     */
    subnetId?: string;
    /**
     * The vpc id.
     */
    vpcId?: string;
    /**
     * The AZ id.
     */
    zoneId: string;
}
export interface NgfwEndpointPrefix {
    privatePrefixes: outputs.NgfwEndpointPrefixPrivatePrefix[];
}
export interface NgfwEndpointPrefixPrivatePrefix {
    cidrs: string[];
}
export interface NgfwLogProfileLogConfig {
    /**
     * Type of Role for log configuration
     */
    accountId?: string;
    /**
     * The log destination details.
     */
    logDestination: string;
    /**
     * The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.
     */
    logDestinationType: string;
    /**
     * The list of different log types that are wanted
     */
    logTypes: string[];
    /**
     * Type of Role for log configuration
     */
    roleType?: 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 NgfwPrivateAccess {
    /**
     * AWS ResourceID
     */
    resourceId: string;
    /**
     * Type of Private Access
     */
    type: string;
}
export interface NgfwSecurityZone {
    /**
     * The account id.
     */
    accountId?: string;
    /**
     * Enable egress NAT
     */
    egressNatEnabled: boolean;
    /**
     * Endpoint ID of the security zone
     */
    endpointId: string;
    /**
     * The endpoint mode. Valid values are `ServiceManaged` or `CustomerManaged`.
     */
    mode?: string;
    prefixes: outputs.NgfwSecurityZonePrefix[];
    /**
     * The rejected reason.
     */
    rejectedReason: string;
    /**
     * The attachment status.
     */
    status: string;
    /**
     * The subnet id.
     */
    subnetId?: string;
    /**
     * The vpc id.
     */
    vpcId?: string;
    /**
     * The AZ id.
     */
    zoneId: string;
}
export interface NgfwSecurityZonePrefix {
    privatePrefixes: outputs.NgfwSecurityZonePrefixPrivatePrefix[];
}
export interface NgfwSecurityZonePrefixPrivatePrefix {
    cidrs: string[];
}
export interface NgfwStatus {
    /**
     * The firewall attachments.
     */
    attachments: outputs.NgfwStatusAttachment[];
    /**
     * The device rulestack commit status.
     */
    deviceRulestackCommitStatus: string;
    /**
     * 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 NgfwUserId {
    /**
     * Agent Name for UserID
     */
    agentName?: string;
    /**
     * The Collector Name
     */
    collectorName?: string;
    /**
     * List of Custom Include Exclude Networks
     */
    customIncludeExcludeNetworks?: outputs.NgfwUserIdCustomIncludeExcludeNetwork[];
    /**
     * Enable UserID Config
     */
    enabled: boolean;
    /**
     * The Port
     */
    port: number;
    /**
     * AWS Secret Key ARN
     */
    secretKeyArn?: string;
    /**
     * Status and State of UserID Configuration
     */
    userIdStatus: string;
}
export interface NgfwUserIdCustomIncludeExcludeNetwork {
    /**
     * Include or exclude this subnet from user-id configuration
     */
    discoveryInclude: boolean;
    /**
     * Enable this specific custom include/exclude network
     */
    enabled: boolean;
    /**
     * Name of subnet filter
     */
    name: string;
    /**
     * Network IP address of the subnet filter
     */
    networkAddress: 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[];
}
//# sourceMappingURL=output.d.ts.map