UNPKG

@pulumi/cloudngfwaws

Version:

A Pulumi package for creating and managing Cloud NGFW for AWS resources.

704 lines 14.7 kB
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