@pulumi/cloudngfwaws
Version:
A Pulumi package for creating and managing Cloud NGFW for AWS resources.
366 lines • 10 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
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 GetAccountsAccountDetailArgs {
/**
* The account id.
*/
accountId?: pulumi.Input<string | undefined>;
/**
* External Id of the onboarded account
*/
externalId?: pulumi.Input<string | undefined>;
/**
* Onboarding status of the account.
*/
onboardingStatus?: pulumi.Input<string | undefined>;
}
export interface NgfwEgressNat {
/**
* Enable egress NAT
*/
enabled: pulumi.Input<boolean>;
settings?: pulumi.Input<pulumi.Input<inputs.NgfwEgressNatSetting>[] | undefined>;
}
export interface NgfwEgressNatSetting {
/**
* Set ip pool type from the following options. Valid values are `AWSService` or `BYOIP`.
*/
ipPoolType?: pulumi.Input<string | undefined>;
/**
* The IP pool ID
*/
ipamPoolId?: pulumi.Input<string | undefined>;
}
export interface NgfwEndpoint {
/**
* The account id.
*/
accountId?: pulumi.Input<string | undefined>;
/**
* Enable egress NAT
*/
egressNatEnabled?: pulumi.Input<boolean | undefined>;
/**
* Endpoint ID of the security zone
*/
endpointId?: pulumi.Input<string | undefined>;
/**
* The endpoint mode. Valid values are `ServiceManaged` or `CustomerManaged`.
*/
mode: pulumi.Input<string>;
prefixes?: pulumi.Input<pulumi.Input<inputs.NgfwEndpointPrefix>[] | undefined>;
/**
* The rejected reason.
*/
rejectedReason?: pulumi.Input<string | undefined>;
/**
* The attachment status.
*/
status?: pulumi.Input<string | undefined>;
/**
* The subnet id.
*/
subnetId?: pulumi.Input<string | undefined>;
/**
* The vpc id.
*/
vpcId?: pulumi.Input<string | undefined>;
/**
* The AZ id.
*/
zoneId?: pulumi.Input<string | undefined>;
}
export interface NgfwEndpointPrefix {
privatePrefixes?: pulumi.Input<pulumi.Input<inputs.NgfwEndpointPrefixPrivatePrefix>[] | undefined>;
}
export interface NgfwEndpointPrefixPrivatePrefix {
cidrs?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface NgfwLogProfileLogConfig {
/**
* Type of Role for log configuration
*/
accountId?: pulumi.Input<string | undefined>;
/**
* The log destination details.
*/
logDestination: pulumi.Input<string>;
/**
* The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.
*/
logDestinationType: pulumi.Input<string>;
/**
* The list of different log types that are wanted
*/
logTypes: pulumi.Input<pulumi.Input<string>[]>;
/**
* Type of Role for log configuration
*/
roleType?: pulumi.Input<string | undefined>;
}
export interface NgfwLogProfileLogDestination {
/**
* The log destination details.
*/
destination?: pulumi.Input<string | undefined>;
/**
* The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.
*/
destinationType?: pulumi.Input<string | undefined>;
/**
* The type of logs. Valid values are `TRAFFIC`, `THREAT`, or `DECRYPTION`.
*/
logType?: pulumi.Input<string | undefined>;
}
export interface NgfwPrivateAccess {
/**
* AWS ResourceID
*/
resourceId: pulumi.Input<string>;
/**
* Type of Private Access
*/
type: pulumi.Input<string>;
}
export interface NgfwSecurityZone {
/**
* The account id.
*/
accountId?: pulumi.Input<string | undefined>;
/**
* Enable egress NAT
*/
egressNatEnabled?: pulumi.Input<boolean | undefined>;
/**
* Endpoint ID of the security zone
*/
endpointId: pulumi.Input<string>;
/**
* The endpoint mode. Valid values are `ServiceManaged` or `CustomerManaged`.
*/
mode?: pulumi.Input<string | undefined>;
prefixes?: pulumi.Input<pulumi.Input<inputs.NgfwSecurityZonePrefix>[] | undefined>;
/**
* The rejected reason.
*/
rejectedReason?: pulumi.Input<string | undefined>;
/**
* The attachment status.
*/
status?: pulumi.Input<string | undefined>;
/**
* The subnet id.
*/
subnetId?: pulumi.Input<string | undefined>;
/**
* The vpc id.
*/
vpcId?: pulumi.Input<string | undefined>;
/**
* The AZ id.
*/
zoneId?: pulumi.Input<string | undefined>;
}
export interface NgfwSecurityZonePrefix {
privatePrefixes?: pulumi.Input<pulumi.Input<inputs.NgfwSecurityZonePrefixPrivatePrefix>[] | undefined>;
}
export interface NgfwSecurityZonePrefixPrivatePrefix {
cidrs?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface NgfwStatus {
/**
* The firewall attachments.
*/
attachments?: pulumi.Input<pulumi.Input<inputs.NgfwStatusAttachment>[] | undefined>;
/**
* The device rulestack commit status.
*/
deviceRulestackCommitStatus?: pulumi.Input<string | undefined>;
/**
* The firewall failure reason.
*/
failureReason?: pulumi.Input<string | undefined>;
/**
* The firewall status.
*/
firewallStatus?: pulumi.Input<string | undefined>;
/**
* The rulestack status.
*/
rulestackStatus?: pulumi.Input<string | undefined>;
}
export interface NgfwStatusAttachment {
/**
* The endpoint id.
*/
endpointId?: pulumi.Input<string | undefined>;
/**
* The reject reason.
*/
rejectedReason?: pulumi.Input<string | undefined>;
/**
* The attachment status.
*/
status?: pulumi.Input<string | undefined>;
/**
* The subnet id.
*/
subnetId?: pulumi.Input<string | undefined>;
}
export interface NgfwSubnetMapping {
/**
* The availability zone, for when the endpoint mode is customer managed.
*/
availabilityZone?: pulumi.Input<string | undefined>;
/**
* The availability zone ID, for when the endpoint mode is customer managed.
*/
availabilityZoneId?: pulumi.Input<string | undefined>;
/**
* The subnet id, for when the endpoint mode is service managed.
*/
subnetId?: pulumi.Input<string | undefined>;
}
export interface NgfwUserId {
/**
* Agent Name for UserID
*/
agentName?: pulumi.Input<string | undefined>;
/**
* The Collector Name
*/
collectorName?: pulumi.Input<string | undefined>;
/**
* List of Custom Include Exclude Networks
*/
customIncludeExcludeNetworks?: pulumi.Input<pulumi.Input<inputs.NgfwUserIdCustomIncludeExcludeNetwork>[] | undefined>;
/**
* Enable UserID Config
*/
enabled: pulumi.Input<boolean>;
/**
* The Port
*/
port: pulumi.Input<number>;
/**
* AWS Secret Key ARN
*/
secretKeyArn?: pulumi.Input<string | undefined>;
/**
* Status and State of UserID Configuration
*/
userIdStatus?: pulumi.Input<string | undefined>;
}
export interface NgfwUserIdCustomIncludeExcludeNetwork {
/**
* Include or exclude this subnet from user-id configuration
*/
discoveryInclude: pulumi.Input<boolean>;
/**
* Enable this specific custom include/exclude network
*/
enabled: pulumi.Input<boolean>;
/**
* Name of subnet filter
*/
name: pulumi.Input<string>;
/**
* Network IP address of the subnet filter
*/
networkAddress: pulumi.Input<string>;
}
export interface RulestackProfileConfig {
/**
* Anti-spyware profile setting. Defaults to `BestPractice`.
*/
antiSpyware?: pulumi.Input<string | undefined>;
/**
* Anti-virus profile setting. Defaults to `BestPractice`.
*/
antiVirus?: pulumi.Input<string | undefined>;
/**
* File blocking profile setting. Defaults to `BestPractice`.
*/
fileBlocking?: pulumi.Input<string | undefined>;
/**
* Outbound trust certificate.
*/
outboundTrustCertificate?: pulumi.Input<string | undefined>;
/**
* Outbound untrust certificate.
*/
outboundUntrustCertificate?: pulumi.Input<string | undefined>;
/**
* URL filtering profile setting. Defaults to `None`.
*/
urlFiltering?: pulumi.Input<string | undefined>;
/**
* Vulnerability profile setting. Defaults to `BestPractice`.
*/
vulnerability?: pulumi.Input<string | undefined>;
}
export interface SecurityRuleCategory {
/**
* List of feeds.
*/
feeds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of URL category names.
*/
urlCategoryNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface SecurityRuleDestination {
/**
* List of CIDRs.
*/
cidrs?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of countries.
*/
countries?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of feeds.
*/
feeds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of FQDN lists.
*/
fqdnLists?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of prefix list.
*/
prefixLists?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface SecurityRuleSource {
/**
* List of CIDRs.
*/
cidrs?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of countries.
*/
countries?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of feeds.
*/
feeds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of prefix list.
*/
prefixLists?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=input.d.ts.map