@pulumi/cloudngfwaws
Version:
A Pulumi package for creating and managing Cloud NGFW for AWS resources.
704 lines • 14.7 kB
TypeScript
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