UNPKG

@pulumi/cloudngfwaws

Version:

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

366 lines 10 kB
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