{"name":"cloudngfwaws","displayName":"Palo Alto Networks Cloud NGFW for AWS","version":"1.0.2","description":"A Pulumi package for creating and managing Cloud NGFW for AWS resources.","keywords":["pulumi","cloudngfwaws","Palo Alto Networks","ngfw","category/network"],"homepage":"https://pulumi.com","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`cloudngfwaws` Terraform Provider](https://github.com/terraform-providers/terraform-provider-cloudngfwaws).","repository":"https://github.com/pulumi/pulumi-cloudngfwaws","logoUrl":"https://avatars.githubusercontent.com/u/4855743?s=200\u0026v=4","pluginDownloadURL":"github://api.github.com/pulumi/pulumi-cloudngfwaws","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"namespaces":{"cloudngfwaws":"CloudNgfwAws"},"compatibility":"tfbridge20","rootNamespace":"Pulumi","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageName":"@pulumi/cloudngfwaws","packageDescription":"A Pulumi package for creating and managing Cloud NGFW for AWS resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-cloudngfwaws)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-cloudngfwaws` repo](https://github.com/pulumi/pulumi-cloudngfwaws/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-cloudngfwaws` repo](https://github.com/terraform-providers/terraform-provider-cloudngfwaws/issues).","devDependencies":{"@types/mime":"^2.0.0","@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"packageName":"pulumi_cloudngfwaws","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-cloudngfwaws)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-cloudngfwaws` repo](https://github.com/pulumi/pulumi-cloudngfwaws/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-cloudngfwaws` repo](https://github.com/terraform-providers/terraform-provider-cloudngfwaws/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{"variables":{"accessKey":{"type":"string","description":"(Used for the initial `sts assume role`) AWS access key. Environment variable: `CLOUDNGFWAWS_ACCESS_KEY`. JSON conf file variable: `access-key`."},"accountAdminArn":{"type":"string","description":"The ARN allowing account admin permissions. Environment variable: `CLOUDNGFWAWS_ACCT_ADMIN_ARN`. JSON conf file variable: `account-admin-arn`."},"arn":{"type":"string","description":"The ARN allowing firewall, rulestack, and global rulestack admin permissions. Global rulestack admin permissions can be enabled only if the AWS account is onboarded by AWS Firewall Manager. Use 'lfa_arn' and 'lra_arn' if you want to enable only firewall and rulestack admin permissions. Environment variable: `CLOUDNGFWAWS_ARN`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e."},"graArn":{"type":"string","description":"The ARN allowing global rulestack admin permissions. Global rulestack admin permissions can be enabled only if the AWS account is onboarded by AWS Firewall Manager. 'gra_arn' is preferentially used over the \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e param if both are specified. Environment variable: `CLOUDNGFWAWS_GRA_ARN`. JSON conf file variable: `gra-arn`."},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional HTTP headers to send with API calls. Environment variable: `CLOUDNGFWAWS_HEADERS`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e."},"host":{"type":"string","description":"The hostname of the API (default: `api.us-east-1.aws.cloudngfw.paloaltonetworks.com`). Environment variable: `CLOUDNGFWAWS_HOST`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e."},"jsonConfigFile":{"type":"string","description":"Retrieve provider configuration from this JSON file."},"lfaArn":{"type":"string","description":"The ARN allowing firewall admin permissions. This is preferentially used over the \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e param if both are specified. Environment variable: `CLOUDNGFWAWS_LFA_ARN`. JSON conf file variable: `lfa-arn`."},"loggings":{"type":"array","items":{"type":"string"},"description":"The logging options for the provider. Environment variable: `CLOUDNGFWAWS_LOGGING`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e."},"lraArn":{"type":"string","description":"The ARN allowing rulestack admin permissions. This is preferentially used over the \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e param if both are specified. Environment variable: `CLOUDNGFWAWS_LRA_ARN`. JSON conf file variable: `lra-arn`."},"mpRegion":{"type":"string","description":"AWS management plane region. Environment variable: `CLOUDNGFWAWS_MP_REGION`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`mpRegion`\" pulumi-lang-dotnet=\"`MpRegion`\" pulumi-lang-go=\"`mpRegion`\" pulumi-lang-python=\"`mp_region`\" pulumi-lang-yaml=\"`mpRegion`\" pulumi-lang-java=\"`mpRegion`\"\u003e`mp_region`\u003c/span\u003e."},"mpRegionHost":{"type":"string","description":"AWS management plane MP region host Environment variable: `CLOUDNGFWAWS_MP_REGION_HOST`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`mpRegionHost`\" pulumi-lang-dotnet=\"`MpRegionHost`\" pulumi-lang-go=\"`mpRegionHost`\" pulumi-lang-python=\"`mp_region_host`\" pulumi-lang-yaml=\"`mpRegionHost`\" pulumi-lang-java=\"`mpRegionHost`\"\u003e`mp_region_host`\u003c/span\u003e."},"profile":{"type":"string","description":"(Used for the initial `sts assume role`) AWS PROFILE. Environment variable: `CLOUDNGFWAWS_PROFILE`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e."},"protocol":{"type":"string","description":"The protocol (defaults to \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e). Environment variable: `CLOUDNGFWAWS_PROTOCOL`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e. Valid values are \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e."},"region":{"type":"string","description":"AWS region. Environment variable: `CLOUDNGFWAWS_REGION`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e."},"secretKey":{"type":"string","description":"(Used for the initial `sts assume role`) AWS secret key. Environment variable: `CLOUDNGFWAWS_SECRET_KEY`. JSON conf file variable: `secret-key`."},"skipVerifyCertificate":{"type":"boolean","description":"Skip verifying the SSL certificate. Environment variable: `CLOUDNGFWAWS_SKIP_VERIFY_CERTIFICATE`. JSON conf file variable: `skip-verify-certificate`."},"syncMode":{"type":"boolean","description":"Enable synchronous mode while creating resources Environment variable: `CLOUDNGFWAWS_SYNC_MODE`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`syncMode`\" pulumi-lang-dotnet=\"`SyncMode`\" pulumi-lang-go=\"`syncMode`\" pulumi-lang-python=\"`sync_mode`\" pulumi-lang-yaml=\"`syncMode`\" pulumi-lang-java=\"`syncMode`\"\u003e`sync_mode`\u003c/span\u003e."},"timeout":{"type":"integer","description":"The timeout for any single API call (default: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e). Environment variable: `CLOUDNGFWAWS_TIMEOUT`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e."},"v2Host":{"type":"string","description":"The hostname of the V2 API (default: `api.us-east-1.aws.cloudngfw.paloaltonetworks.com`). Environment variable: `CLOUDNGFWAWS_V2_HOST`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`v2Host`\" pulumi-lang-dotnet=\"`V2Host`\" pulumi-lang-go=\"`v2Host`\" pulumi-lang-python=\"`v2_host`\" pulumi-lang-yaml=\"`v2Host`\" pulumi-lang-java=\"`v2Host`\"\u003e`v2_host`\u003c/span\u003e."}}},"types":{"cloudngfwaws:index/NgfwEgressNat:NgfwEgressNat":{"properties":{"enabled":{"type":"boolean","description":"Enable egress NAT\n"},"settings":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwEgressNatSetting:NgfwEgressNatSetting"}}},"type":"object","required":["enabled"]},"cloudngfwaws:index/NgfwEgressNatSetting:NgfwEgressNatSetting":{"properties":{"ipPoolType":{"type":"string","description":"Set ip pool type from the following options. Valid values are `AWSService` or `BYOIP`.\n"},"ipamPoolId":{"type":"string","description":"The IP pool ID\n"}},"type":"object"},"cloudngfwaws:index/NgfwEndpoint:NgfwEndpoint":{"properties":{"accountId":{"type":"string","description":"The account id.\n"},"egressNatEnabled":{"type":"boolean","description":"Enable egress NAT\n"},"endpointId":{"type":"string","description":"Endpoint ID of the security zone\n"},"mode":{"type":"string","description":"The endpoint mode. Valid values are `ServiceManaged` or `CustomerManaged`.\n"},"prefixes":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwEndpointPrefix:NgfwEndpointPrefix"}},"rejectedReason":{"type":"string","description":"The rejected reason.\n"},"status":{"type":"string","description":"The attachment status.\n"},"subnetId":{"type":"string","description":"The subnet id.\n"},"vpcId":{"type":"string","description":"The vpc id.\n"},"zoneId":{"type":"string","description":"The AZ id.\n"}},"type":"object","required":["mode"],"language":{"nodejs":{"requiredOutputs":["egressNatEnabled","endpointId","mode","prefixes","rejectedReason","status","zoneId"]}}},"cloudngfwaws:index/NgfwEndpointPrefix:NgfwEndpointPrefix":{"properties":{"privatePrefixes":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwEndpointPrefixPrivatePrefix:NgfwEndpointPrefixPrivatePrefix"}}},"type":"object","language":{"nodejs":{"requiredOutputs":["privatePrefixes"]}}},"cloudngfwaws:index/NgfwEndpointPrefixPrivatePrefix:NgfwEndpointPrefixPrivatePrefix":{"properties":{"cidrs":{"type":"array","items":{"type":"string"}}},"type":"object","language":{"nodejs":{"requiredOutputs":["cidrs"]}}},"cloudngfwaws:index/NgfwLogProfileLogConfig:NgfwLogProfileLogConfig":{"properties":{"accountId":{"type":"string","description":"Type of Role for log configuration\n"},"logDestination":{"type":"string","description":"The log destination details.\n"},"logDestinationType":{"type":"string","description":"The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.\n"},"logTypes":{"type":"array","items":{"type":"string"},"description":"The list of different log types that are wanted\n"},"roleType":{"type":"string","description":"Type of Role for log configuration\n"}},"type":"object","required":["logDestination","logDestinationType","logTypes"]},"cloudngfwaws:index/NgfwLogProfileLogDestination:NgfwLogProfileLogDestination":{"properties":{"destination":{"type":"string","description":"The log destination details.\n"},"destinationType":{"type":"string","description":"The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.\n"},"logType":{"type":"string","description":"The type of logs. Valid values are `TRAFFIC`, `THREAT`, or `DECRYPTION`.\n"}},"type":"object"},"cloudngfwaws:index/NgfwPrivateAccess:NgfwPrivateAccess":{"properties":{"resourceId":{"type":"string","description":"AWS ResourceID\n"},"type":{"type":"string","description":"Type of Private Access\n"}},"type":"object","required":["resourceId","type"]},"cloudngfwaws:index/NgfwStatus:NgfwStatus":{"properties":{"deviceRulestackCommitStatus":{"type":"string","description":"The device rulestack commit status.\n"},"failureReason":{"type":"string","description":"The firewall failure reason.\n"},"firewallStatus":{"type":"string","description":"The firewall status.\n"},"rulestackStatus":{"type":"string","description":"The rulestack status.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["deviceRulestackCommitStatus","failureReason","firewallStatus","rulestackStatus"]}}},"cloudngfwaws:index/NgfwSubnetMapping:NgfwSubnetMapping":{"properties":{"availabilityZone":{"type":"string","description":"The availability zone, for when the endpoint mode is customer managed.\n"},"availabilityZoneId":{"type":"string","description":"The availability zone ID, for when the endpoint mode is customer managed.\n"},"subnetId":{"type":"string","description":"The subnet id, for when the endpoint mode is service managed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["availabilityZone","availabilityZoneId"]}}},"cloudngfwaws:index/NgfwUserId:NgfwUserId":{"properties":{"agentName":{"type":"string","description":"Agent Name for UserID\n"},"collectorName":{"type":"string","description":"The Collector Name\n"},"customIncludeExcludeNetworks":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwUserIdCustomIncludeExcludeNetwork:NgfwUserIdCustomIncludeExcludeNetwork"},"description":"List of Custom Include Exclude Networks\n"},"enabled":{"type":"boolean","description":"Enable UserID Config\n"},"port":{"type":"integer","description":"The Port\n"},"secretKeyArn":{"type":"string","description":"AWS Secret Key ARN\n"},"userIdStatus":{"type":"string","description":"Status and State of UserID Configuration\n"}},"type":"object","required":["enabled","port"],"language":{"nodejs":{"requiredOutputs":["enabled","port","userIdStatus"]}}},"cloudngfwaws:index/NgfwUserIdCustomIncludeExcludeNetwork:NgfwUserIdCustomIncludeExcludeNetwork":{"properties":{"discoveryInclude":{"type":"boolean","description":"Include or exclude this subnet from user-id configuration\n"},"enabled":{"type":"boolean","description":"Enable this specific custom include/exclude network\n"},"name":{"type":"string","description":"Name of subnet filter\n"},"networkAddress":{"type":"string","description":"Network IP address of the subnet filter\n"}},"type":"object","required":["discoveryInclude","enabled","name","networkAddress"]},"cloudngfwaws:index/RulestackProfileConfig:RulestackProfileConfig":{"properties":{"antiSpyware":{"type":"string","description":"Anti-spyware profile setting. Defaults to `BestPractice`.\n"},"antiVirus":{"type":"string","description":"Anti-virus profile setting. Defaults to `BestPractice`.\n"},"fileBlocking":{"type":"string","description":"File blocking profile setting. Defaults to `BestPractice`.\n"},"outboundTrustCertificate":{"type":"string","description":"Outbound trust certificate.\n"},"outboundUntrustCertificate":{"type":"string","description":"Outbound untrust certificate.\n"},"urlFiltering":{"type":"string","description":"URL filtering profile setting. Defaults to `None`.\n"},"vulnerability":{"type":"string","description":"Vulnerability profile setting. Defaults to `BestPractice`.\n"}},"type":"object"},"cloudngfwaws:index/SecurityRuleCategory:SecurityRuleCategory":{"properties":{"feeds":{"type":"array","items":{"type":"string"},"description":"List of feeds.\n"},"urlCategoryNames":{"type":"array","items":{"type":"string"},"description":"List of URL category names.\n"}},"type":"object"},"cloudngfwaws:index/SecurityRuleDestination:SecurityRuleDestination":{"properties":{"cidrs":{"type":"array","items":{"type":"string"},"description":"List of CIDRs.\n"},"countries":{"type":"array","items":{"type":"string"},"description":"List of countries.\n"},"feeds":{"type":"array","items":{"type":"string"},"description":"List of feeds.\n"},"fqdnLists":{"type":"array","items":{"type":"string"},"description":"List of FQDN lists.\n"},"prefixLists":{"type":"array","items":{"type":"string"},"description":"List of prefix list.\n"}},"type":"object"},"cloudngfwaws:index/SecurityRuleSource:SecurityRuleSource":{"properties":{"cidrs":{"type":"array","items":{"type":"string"},"description":"List of CIDRs.\n"},"countries":{"type":"array","items":{"type":"string"},"description":"List of countries.\n"},"feeds":{"type":"array","items":{"type":"string"},"description":"List of feeds.\n"},"prefixLists":{"type":"array","items":{"type":"string"},"description":"List of prefix list.\n"}},"type":"object"},"cloudngfwaws:index/getAccountsAccountDetail:getAccountsAccountDetail":{"properties":{"accountId":{"type":"string","description":"The account id.\n"},"externalId":{"type":"string","description":"External Id of the onboarded account\n"},"onboardingStatus":{"type":"string","description":"Onboarding status of the account.\n"}},"type":"object","required":["accountId","externalId","onboardingStatus"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwEgressNat:getNgfwEgressNat":{"properties":{"enabled":{"type":"boolean","description":"Enable egress NAT\n"},"settings":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/getNgfwEgressNatSetting:getNgfwEgressNatSetting"}}},"type":"object","required":["enabled","settings"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwEgressNatSetting:getNgfwEgressNatSetting":{"properties":{"ipPoolType":{"type":"string","description":"Set ip pool type from the following options. Valid values are `AWSService` or `BYOIP`.\n"},"ipamPoolId":{"type":"string","description":"The IP pool ID\n"}},"type":"object","required":["ipPoolType","ipamPoolId"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwEndpoint:getNgfwEndpoint":{"properties":{"accountId":{"type":"string","description":"The account id.\n"},"egressNatEnabled":{"type":"boolean","description":"Enable egress NAT\n"},"endpointId":{"type":"string","description":"Endpoint ID of the security zone\n"},"mode":{"type":"string","description":"The endpoint mode. Valid values are `ServiceManaged` or `CustomerManaged`.\n"},"prefixes":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/getNgfwEndpointPrefix:getNgfwEndpointPrefix"}},"rejectedReason":{"type":"string","description":"The rejected reason.\n"},"status":{"type":"string","description":"The attachment status.\n"},"subnetId":{"type":"string","description":"The subnet id.\n"},"vpcId":{"type":"string","description":"The vpc id.\n"},"zoneId":{"type":"string","description":"The AZ id.\n"}},"type":"object","required":["accountId","egressNatEnabled","endpointId","mode","prefixes","rejectedReason","status","subnetId","vpcId","zoneId"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwEndpointPrefix:getNgfwEndpointPrefix":{"properties":{"privatePrefixes":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/getNgfwEndpointPrefixPrivatePrefix:getNgfwEndpointPrefixPrivatePrefix"}}},"type":"object","required":["privatePrefixes"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwEndpointPrefixPrivatePrefix:getNgfwEndpointPrefixPrivatePrefix":{"properties":{"cidrs":{"type":"array","items":{"type":"string"}}},"type":"object","required":["cidrs"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwLogProfileLogConfig:getNgfwLogProfileLogConfig":{"properties":{"accountId":{"type":"string","description":"Type of Role for log configuration\n"},"logDestination":{"type":"string","description":"The log destination details.\n"},"logDestinationType":{"type":"string","description":"The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.\n"},"logTypes":{"type":"array","items":{"type":"string"},"description":"The list of different log types that are wanted\n"},"roleType":{"type":"string","description":"Type of Role for log configuration\n"}},"type":"object","required":["accountId","logDestination","logDestinationType","logTypes","roleType"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwLogProfileLogDestination:getNgfwLogProfileLogDestination":{"properties":{"destination":{"type":"string","description":"The log destination details.\n"},"destinationType":{"type":"string","description":"The log destination type. Valid values are `S3`, `CloudWatchLogs`, or `KinesisDataFirehose`.\n"},"logType":{"type":"string","description":"The type of logs. Valid values are `TRAFFIC`, `THREAT`, or `DECRYPTION`.\n"}},"type":"object","required":["destination","destinationType","logType"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwPrivateAccess:getNgfwPrivateAccess":{"properties":{"resourceId":{"type":"string","description":"AWS ResourceID\n"},"type":{"type":"string","description":"Type of Private Access\n"}},"type":"object","required":["resourceId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwStatus:getNgfwStatus":{"properties":{"deviceRulestackCommitStatus":{"type":"string","description":"The device rulestack commit status.\n"},"failureReason":{"type":"string","description":"The firewall failure reason.\n"},"firewallStatus":{"type":"string","description":"The firewall status.\n"},"rulestackStatus":{"type":"string","description":"The rulestack status.\n"}},"type":"object","required":["deviceRulestackCommitStatus","failureReason","firewallStatus","rulestackStatus"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwSubnetMapping:getNgfwSubnetMapping":{"properties":{"availabilityZone":{"type":"string","description":"The availability zone, for when the endpoint mode is customer managed.\n"},"availabilityZoneId":{"type":"string","description":"The availability zone ID, for when the endpoint mode is customer managed.\n"},"subnetId":{"type":"string","description":"The subnet id, for when the endpoint mode is service managed.\n"}},"type":"object","required":["availabilityZone","availabilityZoneId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwUserId:getNgfwUserId":{"properties":{"agentName":{"type":"string","description":"Agent Name for UserID\n"},"collectorName":{"type":"string","description":"The Collector Name\n"},"customIncludeExcludeNetworks":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/getNgfwUserIdCustomIncludeExcludeNetwork:getNgfwUserIdCustomIncludeExcludeNetwork"},"description":"List of Custom Include Exclude Networks\n"},"enabled":{"type":"boolean","description":"Enable UserID Config\n"},"port":{"type":"integer","description":"The Port\n"},"secretKeyArn":{"type":"string","description":"AWS Secret Key ARN\n"},"userIdStatus":{"type":"string","description":"Status and State of UserID Configuration\n"}},"type":"object","required":["agentName","collectorName","customIncludeExcludeNetworks","enabled","port","secretKeyArn","userIdStatus"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwUserIdCustomIncludeExcludeNetwork:getNgfwUserIdCustomIncludeExcludeNetwork":{"properties":{"discoveryInclude":{"type":"boolean","description":"Include or exclude this subnet from user-id configuration\n"},"enabled":{"type":"boolean","description":"Enable this specific custom include/exclude network\n"},"name":{"type":"string","description":"Name of subnet filter\n"},"networkAddress":{"type":"string","description":"Network IP address of the subnet filter\n"}},"type":"object","required":["discoveryInclude","enabled","name","networkAddress"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getNgfwsInstance:getNgfwsInstance":{"properties":{"firewallId":{"type":"string","description":"The NGFW ID.\n"},"region":{"type":"string","description":"The region the NGFW is in.\n"}},"type":"object","required":["firewallId","region"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getRulestackProfileConfig:getRulestackProfileConfig":{"properties":{"antiSpyware":{"type":"string","description":"Anti-spyware profile setting.\n"},"antiVirus":{"type":"string","description":"Anti-virus profile setting.\n"},"fileBlocking":{"type":"string","description":"File blocking profile setting.\n"},"outboundTrustCertificate":{"type":"string","description":"Outbound trust certificate.\n"},"outboundUntrustCertificate":{"type":"string","description":"Outbound untrust certificate.\n"},"urlFiltering":{"type":"string","description":"URL filtering profile setting.\n"},"vulnerability":{"type":"string","description":"Vulnerability profile setting.\n"}},"type":"object","required":["antiSpyware","antiVirus","fileBlocking","outboundTrustCertificate","outboundUntrustCertificate","urlFiltering","vulnerability"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getSecurityRuleCategory:getSecurityRuleCategory":{"properties":{"feeds":{"type":"array","items":{"type":"string"},"description":"List of feeds.\n"},"urlCategoryNames":{"type":"array","items":{"type":"string"},"description":"List of URL category names.\n"}},"type":"object","required":["feeds","urlCategoryNames"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getSecurityRuleDestination:getSecurityRuleDestination":{"properties":{"cidrs":{"type":"array","items":{"type":"string"},"description":"List of CIDRs.\n"},"countries":{"type":"array","items":{"type":"string"},"description":"List of countries.\n"},"feeds":{"type":"array","items":{"type":"string"},"description":"List of feeds.\n"},"fqdnLists":{"type":"array","items":{"type":"string"},"description":"List of FQDN lists.\n"},"prefixLists":{"type":"array","items":{"type":"string"},"description":"List of prefix list.\n"}},"type":"object","required":["cidrs","countries","feeds","fqdnLists","prefixLists"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudngfwaws:index/getSecurityRuleSource:getSecurityRuleSource":{"properties":{"cidrs":{"type":"array","items":{"type":"string"},"description":"List of CIDRs.\n"},"countries":{"type":"array","items":{"type":"string"},"description":"List of countries.\n"},"feeds":{"type":"array","items":{"type":"string"},"description":"List of feeds.\n"},"prefixLists":{"type":"array","items":{"type":"string"},"description":"List of prefix list.\n"}},"type":"object","required":["cidrs","countries","feeds","prefixLists"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the cloudngfwaws package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"accessKey":{"type":"string","description":"(Used for the initial `sts assume role`) AWS access key. Environment variable: `CLOUDNGFWAWS_ACCESS_KEY`. JSON conf file variable: `access-key`."},"accountAdminArn":{"type":"string","description":"The ARN allowing account admin permissions. Environment variable: `CLOUDNGFWAWS_ACCT_ADMIN_ARN`. JSON conf file variable: `account-admin-arn`."},"arn":{"type":"string","description":"The ARN allowing firewall, rulestack, and global rulestack admin permissions. Global rulestack admin permissions can be enabled only if the AWS account is onboarded by AWS Firewall Manager. Use 'lfa_arn' and 'lra_arn' if you want to enable only firewall and rulestack admin permissions. Environment variable: `CLOUDNGFWAWS_ARN`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e."},"graArn":{"type":"string","description":"The ARN allowing global rulestack admin permissions. Global rulestack admin permissions can be enabled only if the AWS account is onboarded by AWS Firewall Manager. 'gra_arn' is preferentially used over the \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e param if both are specified. Environment variable: `CLOUDNGFWAWS_GRA_ARN`. JSON conf file variable: `gra-arn`."},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional HTTP headers to send with API calls. Environment variable: `CLOUDNGFWAWS_HEADERS`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e."},"host":{"type":"string","description":"The hostname of the API (default: `api.us-east-1.aws.cloudngfw.paloaltonetworks.com`). Environment variable: `CLOUDNGFWAWS_HOST`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e."},"jsonConfigFile":{"type":"string","description":"Retrieve provider configuration from this JSON file."},"lfaArn":{"type":"string","description":"The ARN allowing firewall admin permissions. This is preferentially used over the \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e param if both are specified. Environment variable: `CLOUDNGFWAWS_LFA_ARN`. JSON conf file variable: `lfa-arn`."},"loggings":{"type":"array","items":{"type":"string"},"description":"The logging options for the provider. Environment variable: `CLOUDNGFWAWS_LOGGING`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e."},"lraArn":{"type":"string","description":"The ARN allowing rulestack admin permissions. This is preferentially used over the \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e param if both are specified. Environment variable: `CLOUDNGFWAWS_LRA_ARN`. JSON conf file variable: `lra-arn`."},"mpRegion":{"type":"string","description":"AWS management plane region. Environment variable: `CLOUDNGFWAWS_MP_REGION`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`mpRegion`\" pulumi-lang-dotnet=\"`MpRegion`\" pulumi-lang-go=\"`mpRegion`\" pulumi-lang-python=\"`mp_region`\" pulumi-lang-yaml=\"`mpRegion`\" pulumi-lang-java=\"`mpRegion`\"\u003e`mp_region`\u003c/span\u003e."},"mpRegionHost":{"type":"string","description":"AWS management plane MP region host Environment variable: `CLOUDNGFWAWS_MP_REGION_HOST`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`mpRegionHost`\" pulumi-lang-dotnet=\"`MpRegionHost`\" pulumi-lang-go=\"`mpRegionHost`\" pulumi-lang-python=\"`mp_region_host`\" pulumi-lang-yaml=\"`mpRegionHost`\" pulumi-lang-java=\"`mpRegionHost`\"\u003e`mp_region_host`\u003c/span\u003e."},"profile":{"type":"string","description":"(Used for the initial `sts assume role`) AWS PROFILE. Environment variable: `CLOUDNGFWAWS_PROFILE`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e."},"protocol":{"type":"string","description":"The protocol (defaults to \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e). Environment variable: `CLOUDNGFWAWS_PROTOCOL`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e. Valid values are \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e."},"region":{"type":"string","description":"AWS region. Environment variable: `CLOUDNGFWAWS_REGION`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e."},"secretKey":{"type":"string","description":"(Used for the initial `sts assume role`) AWS secret key. Environment variable: `CLOUDNGFWAWS_SECRET_KEY`. JSON conf file variable: `secret-key`."},"skipVerifyCertificate":{"type":"boolean","description":"Skip verifying the SSL certificate. Environment variable: `CLOUDNGFWAWS_SKIP_VERIFY_CERTIFICATE`. JSON conf file variable: `skip-verify-certificate`."},"syncMode":{"type":"boolean","description":"Enable synchronous mode while creating resources Environment variable: `CLOUDNGFWAWS_SYNC_MODE`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`syncMode`\" pulumi-lang-dotnet=\"`SyncMode`\" pulumi-lang-go=\"`syncMode`\" pulumi-lang-python=\"`sync_mode`\" pulumi-lang-yaml=\"`syncMode`\" pulumi-lang-java=\"`syncMode`\"\u003e`sync_mode`\u003c/span\u003e."},"timeout":{"type":"integer","description":"The timeout for any single API call (default: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e). Environment variable: `CLOUDNGFWAWS_TIMEOUT`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e."},"v2Host":{"type":"string","description":"The hostname of the V2 API (default: `api.us-east-1.aws.cloudngfw.paloaltonetworks.com`). Environment variable: `CLOUDNGFWAWS_V2_HOST`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`v2Host`\" pulumi-lang-dotnet=\"`V2Host`\" pulumi-lang-go=\"`v2Host`\" pulumi-lang-python=\"`v2_host`\" pulumi-lang-yaml=\"`v2Host`\" pulumi-lang-java=\"`v2Host`\"\u003e`v2_host`\u003c/span\u003e."}},"inputProperties":{"accessKey":{"type":"string","description":"(Used for the initial `sts assume role`) AWS access key. Environment variable: `CLOUDNGFWAWS_ACCESS_KEY`. JSON conf file variable: `access-key`."},"accountAdminArn":{"type":"string","description":"The ARN allowing account admin permissions. Environment variable: `CLOUDNGFWAWS_ACCT_ADMIN_ARN`. JSON conf file variable: `account-admin-arn`."},"arn":{"type":"string","description":"The ARN allowing firewall, rulestack, and global rulestack admin permissions. Global rulestack admin permissions can be enabled only if the AWS account is onboarded by AWS Firewall Manager. Use 'lfa_arn' and 'lra_arn' if you want to enable only firewall and rulestack admin permissions. Environment variable: `CLOUDNGFWAWS_ARN`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e."},"graArn":{"type":"string","description":"The ARN allowing global rulestack admin permissions. Global rulestack admin permissions can be enabled only if the AWS account is onboarded by AWS Firewall Manager. 'gra_arn' is preferentially used over the \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e param if both are specified. Environment variable: `CLOUDNGFWAWS_GRA_ARN`. JSON conf file variable: `gra-arn`."},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional HTTP headers to send with API calls. Environment variable: `CLOUDNGFWAWS_HEADERS`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e."},"host":{"type":"string","description":"The hostname of the API (default: `api.us-east-1.aws.cloudngfw.paloaltonetworks.com`). Environment variable: `CLOUDNGFWAWS_HOST`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e."},"jsonConfigFile":{"type":"string","description":"Retrieve provider configuration from this JSON file."},"lfaArn":{"type":"string","description":"The ARN allowing firewall admin permissions. This is preferentially used over the \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e param if both are specified. Environment variable: `CLOUDNGFWAWS_LFA_ARN`. JSON conf file variable: `lfa-arn`."},"loggings":{"type":"array","items":{"type":"string"},"description":"The logging options for the provider. Environment variable: `CLOUDNGFWAWS_LOGGING`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e."},"lraArn":{"type":"string","description":"The ARN allowing rulestack admin permissions. This is preferentially used over the \u003cspan pulumi-lang-nodejs=\"`arn`\" pulumi-lang-dotnet=\"`Arn`\" pulumi-lang-go=\"`arn`\" pulumi-lang-python=\"`arn`\" pulumi-lang-yaml=\"`arn`\" pulumi-lang-java=\"`arn`\"\u003e`arn`\u003c/span\u003e param if both are specified. Environment variable: `CLOUDNGFWAWS_LRA_ARN`. JSON conf file variable: `lra-arn`."},"mpRegion":{"type":"string","description":"AWS management plane region. Environment variable: `CLOUDNGFWAWS_MP_REGION`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`mpRegion`\" pulumi-lang-dotnet=\"`MpRegion`\" pulumi-lang-go=\"`mpRegion`\" pulumi-lang-python=\"`mp_region`\" pulumi-lang-yaml=\"`mpRegion`\" pulumi-lang-java=\"`mpRegion`\"\u003e`mp_region`\u003c/span\u003e."},"mpRegionHost":{"type":"string","description":"AWS management plane MP region host Environment variable: `CLOUDNGFWAWS_MP_REGION_HOST`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`mpRegionHost`\" pulumi-lang-dotnet=\"`MpRegionHost`\" pulumi-lang-go=\"`mpRegionHost`\" pulumi-lang-python=\"`mp_region_host`\" pulumi-lang-yaml=\"`mpRegionHost`\" pulumi-lang-java=\"`mpRegionHost`\"\u003e`mp_region_host`\u003c/span\u003e."},"profile":{"type":"string","description":"(Used for the initial `sts assume role`) AWS PROFILE. Environment variable: `CLOUDNGFWAWS_PROFILE`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e."},"protocol":{"type":"string","description":"The protocol (defaults to \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e). Environment variable: `CLOUDNGFWAWS_PROTOCOL`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e. Valid values are \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e."},"region":{"type":"string","description":"AWS region. Environment variable: `CLOUDNGFWAWS_REGION`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e."},"secretKey":{"type":"string","description":"(Used for the initial `sts assume role`) AWS secret key. Environment variable: `CLOUDNGFWAWS_SECRET_KEY`. JSON conf file variable: `secret-key`."},"skipVerifyCertificate":{"type":"boolean","description":"Skip verifying the SSL certificate. Environment variable: `CLOUDNGFWAWS_SKIP_VERIFY_CERTIFICATE`. JSON conf file variable: `skip-verify-certificate`."},"syncMode":{"type":"boolean","description":"Enable synchronous mode while creating resources Environment variable: `CLOUDNGFWAWS_SYNC_MODE`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`syncMode`\" pulumi-lang-dotnet=\"`SyncMode`\" pulumi-lang-go=\"`syncMode`\" pulumi-lang-python=\"`sync_mode`\" pulumi-lang-yaml=\"`syncMode`\" pulumi-lang-java=\"`syncMode`\"\u003e`sync_mode`\u003c/span\u003e."},"timeout":{"type":"integer","description":"The timeout for any single API call (default: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e). Environment variable: `CLOUDNGFWAWS_TIMEOUT`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e."},"v2Host":{"type":"string","description":"The hostname of the V2 API (default: `api.us-east-1.aws.cloudngfw.paloaltonetworks.com`). Environment variable: `CLOUDNGFWAWS_V2_HOST`. JSON conf file variable: \u003cspan pulumi-lang-nodejs=\"`v2Host`\" pulumi-lang-dotnet=\"`V2Host`\" pulumi-lang-go=\"`v2Host`\" pulumi-lang-python=\"`v2_host`\" pulumi-lang-yaml=\"`v2Host`\" pulumi-lang-java=\"`v2Host`\"\u003e`v2_host`\u003c/span\u003e."}},"methods":{"terraformConfig":"pulumi:providers:cloudngfwaws/terraformConfig"}},"resources":{"cloudngfwaws:index/account:Account":{"description":"Resource for Account manipulation.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n","properties":{"accountId":{"type":"string","description":"The account ID\n"},"cftUrl":{"type":"string","description":"The CFT URL.\n"},"externalId":{"type":"string","description":"The external ID of the account\n"},"onboardingStatus":{"type":"string","description":"The Account onboarding status\n"},"origin":{"type":"string","description":"Origin of account onboarding\n"},"serviceAccountId":{"type":"string","description":"The account ID of cloud NGFW service\n"},"snsTopicArn":{"type":"string","description":"The SNS topic ARN\n"},"trustedAccount":{"type":"string","description":"The trusted account ID\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"required":["cftUrl","externalId","onboardingStatus","origin","serviceAccountId","snsTopicArn","trustedAccount","updateToken"],"inputProperties":{"accountId":{"type":"string","description":"The account ID\n","willReplaceOnChanges":true},"cftUrl":{"type":"string","description":"The CFT URL.\n"},"externalId":{"type":"string","description":"The external ID of the account\n"},"onboardingStatus":{"type":"string","description":"The Account onboarding status\n"},"origin":{"type":"string","description":"Origin of account onboarding\n"},"serviceAccountId":{"type":"string","description":"The account ID of cloud NGFW service\n"},"snsTopicArn":{"type":"string","description":"The SNS topic ARN\n"},"trustedAccount":{"type":"string","description":"The trusted account ID\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"accountId":{"type":"string","description":"The account ID\n","willReplaceOnChanges":true},"cftUrl":{"type":"string","description":"The CFT URL.\n"},"externalId":{"type":"string","description":"The external ID of the account\n"},"onboardingStatus":{"type":"string","description":"The Account onboarding status\n"},"origin":{"type":"string","description":"Origin of account onboarding\n"},"serviceAccountId":{"type":"string","description":"The account ID of cloud NGFW service\n"},"snsTopicArn":{"type":"string","description":"The SNS topic ARN\n"},"trustedAccount":{"type":"string","description":"The trusted account ID\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"type":"object"}},"cloudngfwaws:index/accountOnboarding:AccountOnboarding":{"description":"Resource for Account Onboarding.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n","properties":{"accountId":{"type":"string","description":"The account IDs\n"},"onboardingStatus":{"type":"string","description":"Onboarding status of the account\n"}},"required":["accountId","onboardingStatus"],"inputProperties":{"accountId":{"type":"string","description":"The account IDs\n","willReplaceOnChanges":true},"onboardingStatus":{"type":"string","description":"Onboarding status of the account\n"}},"requiredInputs":["accountId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountOnboarding resources.\n","properties":{"accountId":{"type":"string","description":"The account IDs\n","willReplaceOnChanges":true},"onboardingStatus":{"type":"string","description":"Onboarding status of the account\n"}},"type":"object"}},"cloudngfwaws:index/accountOnboardingStack:AccountOnboardingStack":{"description":"Resource for Account Onboarding.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n","properties":{"accountId":{"type":"string","description":"The account IDs\n"},"auditlogGroup":{"type":"string","description":"Audit Log Group Name\n"},"cftRoleName":{"type":"string","description":"Role name to run the account onboarding CFT in each account to be onboarded.\n"},"cloudwatchLogGroup":{"type":"string","description":"Cloudwatch Log Group\n"},"cloudwatchNamespace":{"type":"string","description":"Cloudwatch Namespace\n"},"decryptionCert":{"type":"string","description":"The CloudNGFW can decrypt inbound and outbound traffic by providing a\n\t\t\t\t\t  certificate stored in secret Manager.\n\t\t \t\t\t  The role allows the service to access a certificate configured in the rulestack.\n\t\t \t\t\t  Only certificated tagged with PaloAltoCloudNGFW can be accessed\n"},"endpointMode":{"type":"string","description":"Controls whether cloud NGFW will create firewall endpoints automatitically in customer subnets\n"},"externalId":{"type":"string","description":"External Id of the onboarded account\n"},"kinesisFirehose":{"type":"string","description":"Kinesis Firehose for logging\n"},"onboardingCft":{"type":"string","description":"Role name to run the account onboarding CFT in each account to be onboarded.\n"},"s3Bucket":{"type":"string","description":"S3 Bucket Name for Logging. Logging roles provide access to create log contents in this bucket.\n"},"snsTopicArn":{"type":"string","description":"SNS topic ARN to publish the role ARNs\n"},"stackId":{"type":"string","description":"ID of the account onboarding CFT stack\n"},"stackStatus":{"type":"string","description":"Status of the account onboarding CFT stack.\n"},"trustedAccount":{"type":"string","description":"PANW Cloud NGFW trusted account Id\n"}},"required":["accountId","cftRoleName","externalId","onboardingCft","snsTopicArn","stackId","stackStatus","trustedAccount"],"inputProperties":{"accountId":{"type":"string","description":"The account IDs\n","willReplaceOnChanges":true},"auditlogGroup":{"type":"string","description":"Audit Log Group Name\n","willReplaceOnChanges":true},"cftRoleName":{"type":"string","description":"Role name to run the account onboarding CFT in each account to be onboarded.\n","willReplaceOnChanges":true},"cloudwatchLogGroup":{"type":"string","description":"Cloudwatch Log Group\n","willReplaceOnChanges":true},"cloudwatchNamespace":{"type":"string","description":"Cloudwatch Namespace\n","willReplaceOnChanges":true},"decryptionCert":{"type":"string","description":"The CloudNGFW can decrypt inbound and outbound traffic by providing a\n\t\t\t\t\t  certificate stored in secret Manager.\n\t\t \t\t\t  The role allows the service to access a certificate configured in the rulestack.\n\t\t \t\t\t  Only certificated tagged with PaloAltoCloudNGFW can be accessed\n","willReplaceOnChanges":true},"endpointMode":{"type":"string","description":"Controls whether cloud NGFW will create firewall endpoints automatitically in customer subnets\n","willReplaceOnChanges":true},"externalId":{"type":"string","description":"External Id of the onboarded account\n","willReplaceOnChanges":true},"kinesisFirehose":{"type":"string","description":"Kinesis Firehose for logging\n","willReplaceOnChanges":true},"onboardingCft":{"type":"string","description":"Role name to run the account onboarding CFT in each account to be onboarded.\n","willReplaceOnChanges":true},"s3Bucket":{"type":"string","description":"S3 Bucket Name for Logging. Logging roles provide access to create log contents in this bucket.\n","willReplaceOnChanges":true},"snsTopicArn":{"type":"string","description":"SNS topic ARN to publish the role ARNs\n","willReplaceOnChanges":true},"stackId":{"type":"string","description":"ID of the account onboarding CFT stack\n"},"stackStatus":{"type":"string","description":"Status of the account onboarding CFT stack.\n"},"trustedAccount":{"type":"string","description":"PANW Cloud NGFW trusted account Id\n","willReplaceOnChanges":true}},"requiredInputs":["accountId","cftRoleName","externalId","onboardingCft","snsTopicArn","trustedAccount"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountOnboardingStack resources.\n","properties":{"accountId":{"type":"string","description":"The account IDs\n","willReplaceOnChanges":true},"auditlogGroup":{"type":"string","description":"Audit Log Group Name\n","willReplaceOnChanges":true},"cftRoleName":{"type":"string","description":"Role name to run the account onboarding CFT in each account to be onboarded.\n","willReplaceOnChanges":true},"cloudwatchLogGroup":{"type":"string","description":"Cloudwatch Log Group\n","willReplaceOnChanges":true},"cloudwatchNamespace":{"type":"string","description":"Cloudwatch Namespace\n","willReplaceOnChanges":true},"decryptionCert":{"type":"string","description":"The CloudNGFW can decrypt inbound and outbound traffic by providing a\n\t\t\t\t\t  certificate stored in secret Manager.\n\t\t \t\t\t  The role allows the service to access a certificate configured in the rulestack.\n\t\t \t\t\t  Only certificated tagged with PaloAltoCloudNGFW can be accessed\n","willReplaceOnChanges":true},"endpointMode":{"type":"string","description":"Controls whether cloud NGFW will create firewall endpoints automatitically in customer subnets\n","willReplaceOnChanges":true},"externalId":{"type":"string","description":"External Id of the onboarded account\n","willReplaceOnChanges":true},"kinesisFirehose":{"type":"string","description":"Kinesis Firehose for logging\n","willReplaceOnChanges":true},"onboardingCft":{"type":"string","description":"Role name to run the account onboarding CFT in each account to be onboarded.\n","willReplaceOnChanges":true},"s3Bucket":{"type":"string","description":"S3 Bucket Name for Logging. Logging roles provide access to create log contents in this bucket.\n","willReplaceOnChanges":true},"snsTopicArn":{"type":"string","description":"SNS topic ARN to publish the role ARNs\n","willReplaceOnChanges":true},"stackId":{"type":"string","description":"ID of the account onboarding CFT stack\n"},"stackStatus":{"type":"string","description":"Status of the account onboarding CFT stack.\n"},"trustedAccount":{"type":"string","description":"PANW Cloud NGFW trusted account Id\n","willReplaceOnChanges":true}},"type":"object"}},"cloudngfwaws:index/certificate:Certificate":{"description":"Resource for certificate manipulation.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"terraform-rulestack\",\n    scope: \"Local\",\n    accountId: \"123456789\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = new cloudngfwaws.Certificate(\"example\", {\n    rulestack: r.name,\n    name: \"tf-cert\",\n    description: \"Also configured by Terraform\",\n    selfSigned: true,\n    auditComment: \"initial config\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"terraform-rulestack\",\n    scope=\"Local\",\n    account_id=\"123456789\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.Certificate(\"example\",\n    rulestack=r.name,\n    name=\"tf-cert\",\n    description=\"Also configured by Terraform\",\n    self_signed=True,\n    audit_comment=\"initial config\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"terraform-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"123456789\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = new CloudNgfwAws.Certificate(\"example\", new()\n    {\n        Rulestack = r.Name,\n        Name = \"tf-cert\",\n        Description = \"Also configured by Terraform\",\n        SelfSigned = true,\n        AuditComment = \"initial config\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"terraform-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"123456789\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudngfwaws.NewCertificate(ctx, \"example\", \u0026cloudngfwaws.CertificateArgs{\n\t\t\tRulestack:    r.Name,\n\t\t\tName:         pulumi.String(\"tf-cert\"),\n\t\t\tDescription:  pulumi.String(\"Also configured by Terraform\"),\n\t\t\tSelfSigned:   pulumi.Bool(true),\n\t\t\tAuditComment: pulumi.String(\"initial config\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.Certificate;\nimport com.pulumi.cloudngfwaws.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"terraform-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"123456789\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        var example = new Certificate(\"example\", CertificateArgs.builder()\n            .rulestack(r.name())\n            .name(\"tf-cert\")\n            .description(\"Also configured by Terraform\")\n            .selfSigned(true)\n            .auditComment(\"initial config\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:Certificate\n    properties:\n      rulestack: ${r.name}\n      name: tf-cert\n      description: Also configured by Terraform\n      selfSigned: true\n      auditComment: initial config\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: terraform-rulestack\n      scope: Local\n      accountId: '123456789'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003cscope\u003e:\u003crulestack\u003e:\u003ccertificate_name\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/certificate:Certificate example Local:terraform-rulestack:tf-cert\n```\n\n","properties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"name":{"type":"string","description":"The name.\n"},"rulestack":{"type":"string","description":"The rulestack.\n"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n"},"selfSigned":{"type":"boolean","description":"Set to true if certificate is self-signed.\n"},"signerArn":{"type":"string","description":"The certificate signer ARN.\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"required":["name","rulestack","updateToken"],"inputProperties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"selfSigned":{"type":"boolean","description":"Set to true if certificate is self-signed.\n"},"signerArn":{"type":"string","description":"The certificate signer ARN.\n"}},"requiredInputs":["rulestack"],"stateInputs":{"description":"Input properties used for looking up and filtering Certificate resources.\n","properties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"selfSigned":{"type":"boolean","description":"Set to true if certificate is self-signed.\n"},"signerArn":{"type":"string","description":"The certificate signer ARN.\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"type":"object"}},"cloudngfwaws:index/commitRulestack:CommitRulestack":{"description":"Resource for committing the rulestack config.\n\n!\u003e **NOTE:** This resource should be placed in a separate plan as the plan that configures the rulestack and its contents.  If you do not, you will have perpetual configuration drift and will need to run your plan twice so the commit is performed.  Placing instances of this resource with instances of NGFW resources (such as \u003cspan pulumi-lang-nodejs=\"`cloudngfwaws.Ngfw`\" pulumi-lang-dotnet=\"`cloudngfwaws.Ngfw`\" pulumi-lang-go=\"`Ngfw`\" pulumi-lang-python=\"`Ngfw`\" pulumi-lang-yaml=\"`cloudngfwaws.Ngfw`\" pulumi-lang-java=\"`cloudngfwaws.Ngfw`\"\u003e`cloudngfwaws.Ngfw`\u003c/span\u003e) is fine.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst example = new cloudngfwaws.CommitRulestack(\"example\", {rulestack: \"my-rulestack\"});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nexample = cloudngfwaws.CommitRulestack(\"example\", rulestack=\"my-rulestack\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new CloudNgfwAws.CommitRulestack(\"example\", new()\n    {\n        Rulestack = \"my-rulestack\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudngfwaws.NewCommitRulestack(ctx, \"example\", \u0026cloudngfwaws.CommitRulestackArgs{\n\t\t\tRulestack: pulumi.String(\"my-rulestack\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.CommitRulestack;\nimport com.pulumi.cloudngfwaws.CommitRulestackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new CommitRulestack(\"example\", CommitRulestackArgs.builder()\n            .rulestack(\"my-rulestack\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:CommitRulestack\n    properties:\n      rulestack: my-rulestack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"commitErrors":{"type":"array","items":{"type":"string"},"description":"Commit error messages.\n"},"commitStatus":{"type":"string","description":"The commit status.\n"},"rulestack":{"type":"string","description":"The rulestack.\n"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n"},"state":{"type":"string","description":"The rulestack state. This can only be the default value. Defaults to `Running`.\n"},"validationErrors":{"type":"array","items":{"type":"string"},"description":"Validation error messages.\n"},"validationStatus":{"type":"string","description":"The validation status.\n"}},"required":["commitErrors","commitStatus","rulestack","validationErrors","validationStatus"],"inputProperties":{"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The rulestack state. This can only be the default value. Defaults to `Running`.\n"}},"requiredInputs":["rulestack"],"stateInputs":{"description":"Input properties used for looking up and filtering CommitRulestack resources.\n","properties":{"commitErrors":{"type":"array","items":{"type":"string"},"description":"Commit error messages.\n"},"commitStatus":{"type":"string","description":"The commit status.\n"},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The rulestack state. This can only be the default value. Defaults to `Running`.\n"},"validationErrors":{"type":"array","items":{"type":"string"},"description":"Validation error messages.\n"},"validationStatus":{"type":"string","description":"The validation status.\n"}},"type":"object"}},"cloudngfwaws:index/customUrlCategory:CustomUrlCategory":{"description":"Resource for custom url category manipulation.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"terraform-rulestack\",\n    scope: \"Local\",\n    accountId: \"123456789\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = new cloudngfwaws.CustomUrlCategory(\"example\", {\n    rulestack: r.name,\n    name: \"tf-custom-category\",\n    description: \"Also configured by Terraform\",\n    urlLists: [\n        \"example.com\",\n        \"paloaltonetworks.com\",\n        \"foobar.org\",\n    ],\n    action: \"alert\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"terraform-rulestack\",\n    scope=\"Local\",\n    account_id=\"123456789\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.CustomUrlCategory(\"example\",\n    rulestack=r.name,\n    name=\"tf-custom-category\",\n    description=\"Also configured by Terraform\",\n    url_lists=[\n        \"example.com\",\n        \"paloaltonetworks.com\",\n        \"foobar.org\",\n    ],\n    action=\"alert\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"terraform-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"123456789\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = new CloudNgfwAws.CustomUrlCategory(\"example\", new()\n    {\n        Rulestack = r.Name,\n        Name = \"tf-custom-category\",\n        Description = \"Also configured by Terraform\",\n        UrlLists = new[]\n        {\n            \"example.com\",\n            \"paloaltonetworks.com\",\n            \"foobar.org\",\n        },\n        Action = \"alert\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"terraform-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"123456789\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudngfwaws.NewCustomUrlCategory(ctx, \"example\", \u0026cloudngfwaws.CustomUrlCategoryArgs{\n\t\t\tRulestack:   r.Name,\n\t\t\tName:        pulumi.String(\"tf-custom-category\"),\n\t\t\tDescription: pulumi.String(\"Also configured by Terraform\"),\n\t\t\tUrlLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\tpulumi.String(\"paloaltonetworks.com\"),\n\t\t\t\tpulumi.String(\"foobar.org\"),\n\t\t\t},\n\t\t\tAction: pulumi.String(\"alert\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.CustomUrlCategory;\nimport com.pulumi.cloudngfwaws.CustomUrlCategoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"terraform-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"123456789\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        var example = new CustomUrlCategory(\"example\", CustomUrlCategoryArgs.builder()\n            .rulestack(r.name())\n            .name(\"tf-custom-category\")\n            .description(\"Also configured by Terraform\")\n            .urlLists(            \n                \"example.com\",\n                \"paloaltonetworks.com\",\n                \"foobar.org\")\n            .action(\"alert\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:CustomUrlCategory\n    properties:\n      rulestack: ${r.name}\n      name: tf-custom-category\n      description: Also configured by Terraform\n      urlLists:\n        - example.com\n        - paloaltonetworks.com\n        - foobar.org\n      action: alert\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: terraform-rulestack\n      scope: Local\n      accountId: '123456789'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003cscope\u003e:\u003crulestack\u003e:\u003ccategory_name\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/customUrlCategory:CustomUrlCategory example Local:terraform-rulestack:tf-custom-category\n```\n\n","properties":{"action":{"type":"string","description":"The action to take. Valid values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\"\u003e`alert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`continue`\" pulumi-lang-dotnet=\"`Continue`\" pulumi-lang-go=\"`continue`\" pulumi-lang-python=\"`continue`\" pulumi-lang-yaml=\"`continue`\" pulumi-lang-java=\"`continue`\"\u003e`continue`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`override`\" pulumi-lang-dotnet=\"`Override`\" pulumi-lang-go=\"`override`\" pulumi-lang-python=\"`override`\" pulumi-lang-yaml=\"`override`\" pulumi-lang-java=\"`override`\"\u003e`override`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"name":{"type":"string","description":"The name.\n"},"rulestack":{"type":"string","description":"The rulestack.\n"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n"},"updateToken":{"type":"string","description":"The update token.\n"},"urlLists":{"type":"array","items":{"type":"string"},"description":"The URL list for this custom URL category.\n"}},"required":["name","rulestack","updateToken","urlLists"],"inputProperties":{"action":{"type":"string","description":"The action to take. Valid values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\"\u003e`alert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`continue`\" pulumi-lang-dotnet=\"`Continue`\" pulumi-lang-go=\"`continue`\" pulumi-lang-python=\"`continue`\" pulumi-lang-yaml=\"`continue`\" pulumi-lang-java=\"`continue`\"\u003e`continue`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`override`\" pulumi-lang-dotnet=\"`Override`\" pulumi-lang-go=\"`override`\" pulumi-lang-python=\"`override`\" pulumi-lang-yaml=\"`override`\" pulumi-lang-java=\"`override`\"\u003e`override`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"urlLists":{"type":"array","items":{"type":"string"},"description":"The URL list for this custom URL category.\n"}},"requiredInputs":["rulestack","urlLists"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomUrlCategory resources.\n","properties":{"action":{"type":"string","description":"The action to take. Valid values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\"\u003e`alert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`continue`\" pulumi-lang-dotnet=\"`Continue`\" pulumi-lang-go=\"`continue`\" pulumi-lang-python=\"`continue`\" pulumi-lang-yaml=\"`continue`\" pulumi-lang-java=\"`continue`\"\u003e`continue`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`override`\" pulumi-lang-dotnet=\"`Override`\" pulumi-lang-go=\"`override`\" pulumi-lang-python=\"`override`\" pulumi-lang-yaml=\"`override`\" pulumi-lang-java=\"`override`\"\u003e`override`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"updateToken":{"type":"string","description":"The update token.\n"},"urlLists":{"type":"array","items":{"type":"string"},"description":"The URL list for this custom URL category.\n"}},"type":"object"}},"cloudngfwaws:index/fqdnList:FqdnList":{"description":"Resource for fqdn list manipulation.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"terraform-rulestack\",\n    scope: \"Local\",\n    accountId: \"123456789\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = new cloudngfwaws.FqdnList(\"example\", {\n    rulestack: r.name,\n    name: \"tf-fqdn-list\",\n    description: \"Also configured by Terraform\",\n    fqdnLists: [\n        \"example.com\",\n        \"foobar.org\",\n    ],\n    auditComment: \"initial config\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"terraform-rulestack\",\n    scope=\"Local\",\n    account_id=\"123456789\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.FqdnList(\"example\",\n    rulestack=r.name,\n    name=\"tf-fqdn-list\",\n    description=\"Also configured by Terraform\",\n    fqdn_lists=[\n        \"example.com\",\n        \"foobar.org\",\n    ],\n    audit_comment=\"initial config\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"terraform-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"123456789\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = new CloudNgfwAws.FqdnList(\"example\", new()\n    {\n        Rulestack = r.Name,\n        Name = \"tf-fqdn-list\",\n        Description = \"Also configured by Terraform\",\n        FqdnLists = new[]\n        {\n            \"example.com\",\n            \"foobar.org\",\n        },\n        AuditComment = \"initial config\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"terraform-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"123456789\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudngfwaws.NewFqdnList(ctx, \"example\", \u0026cloudngfwaws.FqdnListArgs{\n\t\t\tRulestack:   r.Name,\n\t\t\tName:        pulumi.String(\"tf-fqdn-list\"),\n\t\t\tDescription: pulumi.String(\"Also configured by Terraform\"),\n\t\t\tFqdnLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\tpulumi.String(\"foobar.org\"),\n\t\t\t},\n\t\t\tAuditComment: pulumi.String(\"initial config\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.FqdnList;\nimport com.pulumi.cloudngfwaws.FqdnListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"terraform-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"123456789\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        var example = new FqdnList(\"example\", FqdnListArgs.builder()\n            .rulestack(r.name())\n            .name(\"tf-fqdn-list\")\n            .description(\"Also configured by Terraform\")\n            .fqdnLists(            \n                \"example.com\",\n                \"foobar.org\")\n            .auditComment(\"initial config\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:FqdnList\n    properties:\n      rulestack: ${r.name}\n      name: tf-fqdn-list\n      description: Also configured by Terraform\n      fqdnLists:\n        - example.com\n        - foobar.org\n      auditComment: initial config\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: terraform-rulestack\n      scope: Local\n      accountId: '123456789'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003cscope\u003e:\u003crulestack\u003e:\u003cfqdn_list_name\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/fqdnList:FqdnList example Local:terraform-rulestack:tf-fqdn-list\n```\n\n","properties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"fqdnLists":{"type":"array","items":{"type":"string"},"description":"The fqdn list.\n"},"name":{"type":"string","description":"The name.\n"},"rulestack":{"type":"string","description":"The rulestack.\n"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"required":["fqdnLists","name","rulestack","updateToken"],"inputProperties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"fqdnLists":{"type":"array","items":{"type":"string"},"description":"The fqdn list.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"requiredInputs":["fqdnLists","rulestack"],"stateInputs":{"description":"Input properties used for looking up and filtering FqdnList resources.\n","properties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"fqdnLists":{"type":"array","items":{"type":"string"},"description":"The fqdn list.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"updateToken":{"type":"string","description":"The update token.\n"}},"type":"object"}},"cloudngfwaws:index/intelligentFeed:IntelligentFeed":{"description":"Resource for intelligent feed manipulation.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"terraform-rulestack\",\n    scope: \"Local\",\n    accountId: \"123456789\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\n// Retrieve the feed information every day at midnight.\nconst example = new cloudngfwaws.IntelligentFeed(\"example\", {\n    rulestack: r.name,\n    name: \"tf-feed\",\n    description: \"Also configured by Terraform\",\n    url: \"https://foobar.net\",\n    type: \"URL_LIST\",\n    frequency: \"DAILY\",\n    time: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"terraform-rulestack\",\n    scope=\"Local\",\n    account_id=\"123456789\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\n# Retrieve the feed information every day at midnight.\nexample = cloudngfwaws.IntelligentFeed(\"example\",\n    rulestack=r.name,\n    name=\"tf-feed\",\n    description=\"Also configured by Terraform\",\n    url=\"https://foobar.net\",\n    type=\"URL_LIST\",\n    frequency=\"DAILY\",\n    time=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"terraform-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"123456789\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    // Retrieve the feed information every day at midnight.\n    var example = new CloudNgfwAws.IntelligentFeed(\"example\", new()\n    {\n        Rulestack = r.Name,\n        Name = \"tf-feed\",\n        Description = \"Also configured by Terraform\",\n        Url = \"https://foobar.net\",\n        Type = \"URL_LIST\",\n        Frequency = \"DAILY\",\n        Time = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"terraform-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"123456789\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve the feed information every day at midnight.\n\t\t_, err = cloudngfwaws.NewIntelligentFeed(ctx, \"example\", \u0026cloudngfwaws.IntelligentFeedArgs{\n\t\t\tRulestack:   r.Name,\n\t\t\tName:        pulumi.String(\"tf-feed\"),\n\t\t\tDescription: pulumi.String(\"Also configured by Terraform\"),\n\t\t\tUrl:         pulumi.String(\"https://foobar.net\"),\n\t\t\tType:        pulumi.String(\"URL_LIST\"),\n\t\t\tFrequency:   pulumi.String(\"DAILY\"),\n\t\t\tTime:        pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.IntelligentFeed;\nimport com.pulumi.cloudngfwaws.IntelligentFeedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"terraform-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"123456789\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        // Retrieve the feed information every day at midnight.\n        var example = new IntelligentFeed(\"example\", IntelligentFeedArgs.builder()\n            .rulestack(r.name())\n            .name(\"tf-feed\")\n            .description(\"Also configured by Terraform\")\n            .url(\"https://foobar.net\")\n            .type(\"URL_LIST\")\n            .frequency(\"DAILY\")\n            .time(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Retrieve the feed information every day at midnight.\n  example:\n    type: cloudngfwaws:IntelligentFeed\n    properties:\n      rulestack: ${r.name}\n      name: tf-feed\n      description: Also configured by Terraform\n      url: https://foobar.net\n      type: URL_LIST\n      frequency: DAILY\n      time: 0\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: terraform-rulestack\n      scope: Local\n      accountId: '123456789'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003cscope\u003e:\u003crulestack\u003e:\u003cintelligent_feed_name\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/intelligentFeed:IntelligentFeed example Local:terraform-rulestack:tf-feed\n```\n\n","properties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"certificate":{"type":"string","description":"The certificate profile.\n"},"description":{"type":"string","description":"The description.\n"},"frequency":{"type":"string","description":"Update frequency. Valid values are `HOURLY` or `DAILY`. Defaults to `HOURLY`.\n"},"name":{"type":"string","description":"The name.\n"},"rulestack":{"type":"string","description":"The rulestack.\n"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n"},"time":{"type":"integer","description":"The time to poll for updates if frequency is daily. The number must be between [0, 23] incluside.\n"},"type":{"type":"string","description":"The intelligent feed type. Valid values are `IP_LIST` or `URL_LIST`. Defaults to `IP_LIST`.\n"},"updateToken":{"type":"string","description":"The update token.\n"},"url":{"type":"string","description":"The intelligent feed source.\n"}},"required":["name","rulestack","updateToken","url"],"inputProperties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"certificate":{"type":"string","description":"The certificate profile.\n"},"description":{"type":"string","description":"The description.\n"},"frequency":{"type":"string","description":"Update frequency. Valid values are `HOURLY` or `DAILY`. Defaults to `HOURLY`.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"time":{"type":"integer","description":"The time to poll for updates if frequency is daily. The number must be between [0, 23] incluside.\n"},"type":{"type":"string","description":"The intelligent feed type. Valid values are `IP_LIST` or `URL_LIST`. Defaults to `IP_LIST`.\n"},"url":{"type":"string","description":"The intelligent feed source.\n"}},"requiredInputs":["rulestack","url"],"stateInputs":{"description":"Input properties used for looking up and filtering IntelligentFeed resources.\n","properties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"certificate":{"type":"string","description":"The certificate profile.\n"},"description":{"type":"string","description":"The description.\n"},"frequency":{"type":"string","description":"Update frequency. Valid values are `HOURLY` or `DAILY`. Defaults to `HOURLY`.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"time":{"type":"integer","description":"The time to poll for updates if frequency is daily. The number must be between [0, 23] incluside.\n"},"type":{"type":"string","description":"The intelligent feed type. Valid values are `IP_LIST` or `URL_LIST`. Defaults to `IP_LIST`.\n"},"updateToken":{"type":"string","description":"The update token.\n"},"url":{"type":"string","description":"The intelligent feed source.\n"}},"type":"object"}},"cloudngfwaws:index/ngfw:Ngfw":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst rs = new cloudngfwaws.CommitRulestack(\"rs\", {rulestack: \"my-rulestack\"});\nconst example = new cloudngfwaws.Ngfw(\"example\", {\n    name: \"example-instance\",\n    description: \"Example description\",\n    azLists: [\"use1-az1\"],\n    rulestack: rs.rulestack,\n    tags: {\n        Foo: \"bar\",\n    },\n});\nconst exampleVpc = new aws.index.Vpc(\"example\", {\n    cidrBlock: \"172.16.0.0/16\",\n    tags: {\n        name: \"tf-example\",\n    },\n});\nconst subnet1 = new aws.index.Subnet(\"subnet1\", {\n    vpcId: myVpc.id,\n    cidrBlock: \"172.16.10.0/24\",\n    availabilityZone: \"us-west-2a\",\n    tags: {\n        name: \"tf-example\",\n    },\n});\nconst subnet2 = new aws.index.Subnet(\"subnet2\", {\n    vpcId: myVpc.id,\n    cidrBlock: \"172.16.20.0/24\",\n    availabilityZone: \"us-west-2b\",\n    tags: {\n        name: \"tf-example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nrs = cloudngfwaws.CommitRulestack(\"rs\", rulestack=\"my-rulestack\")\nexample = cloudngfwaws.Ngfw(\"example\",\n    name=\"example-instance\",\n    description=\"Example description\",\n    az_lists=[\"use1-az1\"],\n    rulestack=rs.rulestack,\n    tags={\n        \"Foo\": \"bar\",\n    })\nexample_vpc = aws.index.Vpc(\"example\",\n    cidr_block=172.16.0.0/16,\n    tags={\n        name: tf-example,\n    })\nsubnet1 = aws.index.Subnet(\"subnet1\",\n    vpc_id=my_vpc.id,\n    cidr_block=172.16.10.0/24,\n    availability_zone=us-west-2a,\n    tags={\n        name: tf-example,\n    })\nsubnet2 = aws.index.Subnet(\"subnet2\",\n    vpc_id=my_vpc.id,\n    cidr_block=172.16.20.0/24,\n    availability_zone=us-west-2b,\n    tags={\n        name: tf-example,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rs = new CloudNgfwAws.CommitRulestack(\"rs\", new()\n    {\n        Rulestack = \"my-rulestack\",\n    });\n\n    var example = new CloudNgfwAws.Ngfw(\"example\", new()\n    {\n        Name = \"example-instance\",\n        Description = \"Example description\",\n        AzLists = new[]\n        {\n            \"use1-az1\",\n        },\n        Rulestack = rs.Rulestack,\n        Tags = \n        {\n            { \"Foo\", \"bar\" },\n        },\n    });\n\n    var exampleVpc = new Aws.Index.Vpc(\"example\", new()\n    {\n        CidrBlock = \"172.16.0.0/16\",\n        Tags = \n        {\n            { \"name\", \"tf-example\" },\n        },\n    });\n\n    var subnet1 = new Aws.Index.Subnet(\"subnet1\", new()\n    {\n        VpcId = myVpc.Id,\n        CidrBlock = \"172.16.10.0/24\",\n        AvailabilityZone = \"us-west-2a\",\n        Tags = \n        {\n            { \"name\", \"tf-example\" },\n        },\n    });\n\n    var subnet2 = new Aws.Index.Subnet(\"subnet2\", new()\n    {\n        VpcId = myVpc.Id,\n        CidrBlock = \"172.16.20.0/24\",\n        AvailabilityZone = \"us-west-2b\",\n        Tags = \n        {\n            { \"name\", \"tf-example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trs, err := cloudngfwaws.NewCommitRulestack(ctx, \"rs\", \u0026cloudngfwaws.CommitRulestackArgs{\n\t\t\tRulestack: pulumi.String(\"my-rulestack\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudngfwaws.NewNgfw(ctx, \"example\", \u0026cloudngfwaws.NgfwArgs{\n\t\t\tName:        pulumi.String(\"example-instance\"),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t\tAzLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"use1-az1\"),\n\t\t\t},\n\t\t\tRulestack: rs.Rulestack,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewVpc(ctx, \"example\", \u0026aws.VpcArgs{\n\t\t\tCidrBlock: \"172.16.0.0/16\",\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"name\": \"tf-example\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewSubnet(ctx, \"subnet1\", \u0026aws.SubnetArgs{\n\t\t\tVpcId:            myVpc.Id,\n\t\t\tCidrBlock:        \"172.16.10.0/24\",\n\t\t\tAvailabilityZone: \"us-west-2a\",\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"name\": \"tf-example\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewSubnet(ctx, \"subnet2\", \u0026aws.SubnetArgs{\n\t\t\tVpcId:            myVpc.Id,\n\t\t\tCidrBlock:        \"172.16.20.0/24\",\n\t\t\tAvailabilityZone: \"us-west-2b\",\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"name\": \"tf-example\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.CommitRulestack;\nimport com.pulumi.cloudngfwaws.CommitRulestackArgs;\nimport com.pulumi.cloudngfwaws.Ngfw;\nimport com.pulumi.cloudngfwaws.NgfwArgs;\nimport com.pulumi.aws.Vpc;\nimport com.pulumi.aws.VpcArgs;\nimport com.pulumi.aws.Subnet;\nimport com.pulumi.aws.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rs = new CommitRulestack(\"rs\", CommitRulestackArgs.builder()\n            .rulestack(\"my-rulestack\")\n            .build());\n\n        var example = new Ngfw(\"example\", NgfwArgs.builder()\n            .name(\"example-instance\")\n            .description(\"Example description\")\n            .azLists(\"use1-az1\")\n            .rulestack(rs.rulestack())\n            .tags(Map.of(\"Foo\", \"bar\"))\n            .build());\n\n        var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n            .cidrBlock(\"172.16.0.0/16\")\n            .tags(Map.of(\"name\", \"tf-example\"))\n            .build());\n\n        var subnet1 = new Subnet(\"subnet1\", SubnetArgs.builder()\n            .vpcId(myVpc.id())\n            .cidrBlock(\"172.16.10.0/24\")\n            .availabilityZone(\"us-west-2a\")\n            .tags(Map.of(\"name\", \"tf-example\"))\n            .build());\n\n        var subnet2 = new Subnet(\"subnet2\", SubnetArgs.builder()\n            .vpcId(myVpc.id())\n            .cidrBlock(\"172.16.20.0/24\")\n            .availabilityZone(\"us-west-2b\")\n            .tags(Map.of(\"name\", \"tf-example\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:Ngfw\n    properties:\n      name: example-instance\n      description: Example description\n      azLists:\n        - use1-az1\n      rulestack: ${rs.rulestack}\n      tags:\n        Foo: bar\n  rs:\n    type: cloudngfwaws:CommitRulestack\n    properties:\n      rulestack: my-rulestack\n  exampleVpc:\n    type: aws:Vpc\n    name: example\n    properties:\n      cidrBlock: 172.16.0.0/16\n      tags:\n        name: tf-example\n  subnet1:\n    type: aws:Subnet\n    properties:\n      vpcId: ${myVpc.id}\n      cidrBlock: 172.16.10.0/24\n      availabilityZone: us-west-2a\n      tags:\n        name: tf-example\n  subnet2:\n    type: aws:Subnet\n    properties:\n      vpcId: ${myVpc.id}\n      cidrBlock: 172.16.20.0/24\n      availabilityZone: us-west-2b\n      tags:\n        name: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003caccount_id\u003e:\u003cname\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/ngfw:Ngfw example 12345678:example-instance\n```\n\n","properties":{"accountId":{"type":"string","description":"The description.\n"},"allowlistAccounts":{"type":"array","items":{"type":"string"},"description":"The list of allowed accounts for this NGFW.\n"},"appIdVersion":{"type":"string","description":"App-ID version number.\n"},"automaticUpgradeAppIdVersion":{"type":"boolean","description":"Automatic App-ID upgrade version number. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"azLists":{"type":"array","items":{"type":"string"},"description":"The list of availability zone IDs for this NGFW.\n"},"changeProtections":{"type":"array","items":{"type":"string"},"description":"Enables or disables change protection for the NGFW.\n"},"deploymentUpdateToken":{"type":"string","description":"The update token.\n"},"description":{"type":"string","description":"The NGFW description.\n"},"egressNats":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwEgressNat:NgfwEgressNat"}},"endpointMode":{"type":"string","description":"Set endpoint mode from the following options. Valid values are `ServiceManaged` or `CustomerManaged`.\n"},"endpointServiceName":{"type":"string","description":"The endpoint service name.\n"},"endpoints":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwEndpoint:NgfwEndpoint"}},"firewallId":{"type":"string","description":"The Firewall ID.\n"},"globalRulestack":{"type":"string","description":"The global rulestack for this NGFW.\n"},"linkId":{"type":"string","description":"The link ID.\n"},"linkStatus":{"type":"string","description":"The link status.\n"},"multiVpc":{"type":"boolean","description":"Share NGFW with Multiple VPCs. This feature can be enabled only if the\u003cspan pulumi-lang-nodejs=\" endpointMode \" pulumi-lang-dotnet=\" EndpointMode \" pulumi-lang-go=\" endpointMode \" pulumi-lang-python=\" endpoint_mode \" pulumi-lang-yaml=\" endpointMode \" pulumi-lang-java=\" endpointMode \"\u003e endpoint_mode \u003c/span\u003eis CustomerManaged.\n"},"name":{"type":"string","description":"The NGFW name.\n"},"privateAccesses":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwPrivateAccess:NgfwPrivateAccess"}},"rulestack":{"type":"string","description":"The rulestack for this NGFW.\n"},"statuses":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwStatus:NgfwStatus"}},"subnetMappings":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwSubnetMapping:NgfwSubnetMapping"},"description":"Subnet mappings.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags.\n"},"updateToken":{"type":"string","description":"The update token.\n"},"userIds":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwUserId:NgfwUserId"}},"vpcId":{"type":"string","description":"The VPC ID for the NGFW.\n"}},"required":["appIdVersion","azLists","changeProtections","deploymentUpdateToken","egressNats","endpointServiceName","firewallId","linkId","linkStatus","multiVpc","name","privateAccesses","statuses","tags","updateToken","userIds"],"inputProperties":{"accountId":{"type":"string","description":"The description.\n"},"allowlistAccounts":{"type":"array","items":{"type":"string"},"description":"The list of allowed accounts for this NGFW.\n"},"appIdVersion":{"type":"string","description":"App-ID version number.\n"},"automaticUpgradeAppIdVersion":{"type":"boolean","description":"Automatic App-ID upgrade version number. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"azLists":{"type":"array","items":{"type":"string"},"description":"The list of availability zone IDs for this NGFW.\n"},"changeProtections":{"type":"array","items":{"type":"string"},"description":"Enables or disables change protection for the NGFW.\n"},"description":{"type":"string","description":"The NGFW description.\n"},"egressNats":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwEgressNat:NgfwEgressNat"}},"endpointMode":{"type":"string","description":"Set endpoint mode from the following options. Valid values are `ServiceManaged` or `CustomerManaged`.\n"},"endpoints":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwEndpoint:NgfwEndpoint"}},"globalRulestack":{"type":"string","description":"The global rulestack for this NGFW.\n","willReplaceOnChanges":true},"linkId":{"type":"string","description":"The link ID.\n"},"multiVpc":{"type":"boolean","description":"Share NGFW with Multiple VPCs. This feature can be enabled only if the\u003cspan pulumi-lang-nodejs=\" endpointMode \" pulumi-lang-dotnet=\" EndpointMode \" pulumi-lang-go=\" endpointMode \" pulumi-lang-python=\" endpoint_mode \" pulumi-lang-yaml=\" endpointMode \" pulumi-lang-java=\" endpointMode \"\u003e endpoint_mode \u003c/span\u003eis CustomerManaged.\n"},"name":{"type":"string","description":"The NGFW name.\n"},"privateAccesses":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwPrivateAccess:NgfwPrivateAccess"}},"rulestack":{"type":"string","description":"The rulestack for this NGFW.\n"},"subnetMappings":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwSubnetMapping:NgfwSubnetMapping"},"description":"Subnet mappings.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags.\n"},"userIds":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwUserId:NgfwUserId"}},"vpcId":{"type":"string","description":"The VPC ID for the NGFW.\n"}},"requiredInputs":["azLists"],"stateInputs":{"description":"Input properties used for looking up and filtering Ngfw resources.\n","properties":{"accountId":{"type":"string","description":"The description.\n"},"allowlistAccounts":{"type":"array","items":{"type":"string"},"description":"The list of allowed accounts for this NGFW.\n"},"appIdVersion":{"type":"string","description":"App-ID version number.\n"},"automaticUpgradeAppIdVersion":{"type":"boolean","description":"Automatic App-ID upgrade version number. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"azLists":{"type":"array","items":{"type":"string"},"description":"The list of availability zone IDs for this NGFW.\n"},"changeProtections":{"type":"array","items":{"type":"string"},"description":"Enables or disables change protection for the NGFW.\n"},"deploymentUpdateToken":{"type":"string","description":"The update token.\n"},"description":{"type":"string","description":"The NGFW description.\n"},"egressNats":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwEgressNat:NgfwEgressNat"}},"endpointMode":{"type":"string","description":"Set endpoint mode from the following options. Valid values are `ServiceManaged` or `CustomerManaged`.\n"},"endpointServiceName":{"type":"string","description":"The endpoint service name.\n"},"endpoints":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwEndpoint:NgfwEndpoint"}},"firewallId":{"type":"string","description":"The Firewall ID.\n"},"globalRulestack":{"type":"string","description":"The global rulestack for this NGFW.\n","willReplaceOnChanges":true},"linkId":{"type":"string","description":"The link ID.\n"},"linkStatus":{"type":"string","description":"The link status.\n"},"multiVpc":{"type":"boolean","description":"Share NGFW with Multiple VPCs. This feature can be enabled only if the\u003cspan pulumi-lang-nodejs=\" endpointMode \" pulumi-lang-dotnet=\" EndpointMode \" pulumi-lang-go=\" endpointMode \" pulumi-lang-python=\" endpoint_mode \" pulumi-lang-yaml=\" endpointMode \" pulumi-lang-java=\" endpointMode \"\u003e endpoint_mode \u003c/span\u003eis CustomerManaged.\n"},"name":{"type":"string","description":"The NGFW name.\n"},"privateAccesses":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwPrivateAccess:NgfwPrivateAccess"}},"rulestack":{"type":"string","description":"The rulestack for this NGFW.\n"},"statuses":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwStatus:NgfwStatus"}},"subnetMappings":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwSubnetMapping:NgfwSubnetMapping"},"description":"Subnet mappings.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags.\n"},"updateToken":{"type":"string","description":"The update token.\n"},"userIds":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwUserId:NgfwUserId"}},"vpcId":{"type":"string","description":"The VPC ID for the NGFW.\n"}},"type":"object"}},"cloudngfwaws:index/ngfwLogProfile:NgfwLogProfile":{"description":"Resource for NGFW log profile manipulation.\n\n\n## Admin Permission Type\n\n* `Firewall`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:NgfwLogProfile\n    properties:\n      firewallId: ${x.firewallId}\n      logConfig:\n        logDestination: S3\n        logDestinationType: my-s3-bucket\n        logTypes:\n          - TRAFFIC\n          - THREAT\n        accountId:\n          - '123456789012'\n  x:\n    type: cloudngfwaws:Ngfw\n    properties:\n      name: example-instance\n      description: Example description\n      azLists:\n        - use1-az1\n      rulestack: ${rs.rulestack}\n      tags:\n        Foo: bar\n  exampleVpc:\n    type: aws:Vpc\n    name: example\n    properties:\n      cidrBlock: 172.16.0.0/16\n      tags:\n        name: tf-example\n  subnet1:\n    type: aws:Subnet\n    properties:\n      vpcId: ${myVpc.id}\n      cidrBlock: 172.16.10.0/24\n      availabilityZone: us-west-2a\n      tags:\n        name: tf-example\n  subnet2:\n    type: aws:Subnet\n    properties:\n      vpcId: ${myVpc.id}\n      cidrBlock: 172.16.20.0/24\n      availabilityZone: us-west-2b\n      tags:\n        name: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003caccount_id\u003e:\u003cngfw\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/ngfwLogProfile:NgfwLogProfile example 12345678:example-instance\n```\n\n","properties":{"accountId":{"type":"string","description":"The unique ID of the account.\n"},"advancedThreatLog":{"type":"boolean","description":"Enable advanced threat logging.\n"},"cloudWatchMetricNamespace":{"type":"string","description":"The CloudWatch metric namespace.\n"},"cloudwatchMetricFields":{"type":"array","items":{"type":"string"},"description":"Cloudwatch metric fields.\n"},"firewallId":{"type":"string","description":"The Firewall Id for the NGFW.\n"},"logConfig":{"$ref":"#/types/cloudngfwaws:index/NgfwLogProfileLogConfig:NgfwLogProfileLogConfig","description":"Log configuration details.\n"},"logDestinations":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwLogProfileLogDestination:NgfwLogProfileLogDestination"},"description":"List of log destinations.\n"},"ngfw":{"type":"string","description":"The name of the NGFW.\n"},"region":{"type":"string","description":"The region of the NGFW.\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"required":["firewallId","region","updateToken"],"inputProperties":{"accountId":{"type":"string","description":"The unique ID of the account.\n"},"advancedThreatLog":{"type":"boolean","description":"Enable advanced threat logging.\n"},"cloudWatchMetricNamespace":{"type":"string","description":"The CloudWatch metric namespace.\n"},"cloudwatchMetricFields":{"type":"array","items":{"type":"string"},"description":"Cloudwatch metric fields.\n"},"firewallId":{"type":"string","description":"The Firewall Id for the NGFW.\n","willReplaceOnChanges":true},"logConfig":{"$ref":"#/types/cloudngfwaws:index/NgfwLogProfileLogConfig:NgfwLogProfileLogConfig","description":"Log configuration details.\n"},"logDestinations":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwLogProfileLogDestination:NgfwLogProfileLogDestination"},"description":"List of log destinations.\n"},"ngfw":{"type":"string","description":"The name of the NGFW.\n","willReplaceOnChanges":true},"region":{"type":"string","description":"The region of the NGFW.\n"}},"requiredInputs":["firewallId"],"stateInputs":{"description":"Input properties used for looking up and filtering NgfwLogProfile resources.\n","properties":{"accountId":{"type":"string","description":"The unique ID of the account.\n"},"advancedThreatLog":{"type":"boolean","description":"Enable advanced threat logging.\n"},"cloudWatchMetricNamespace":{"type":"string","description":"The CloudWatch metric namespace.\n"},"cloudwatchMetricFields":{"type":"array","items":{"type":"string"},"description":"Cloudwatch metric fields.\n"},"firewallId":{"type":"string","description":"The Firewall Id for the NGFW.\n","willReplaceOnChanges":true},"logConfig":{"$ref":"#/types/cloudngfwaws:index/NgfwLogProfileLogConfig:NgfwLogProfileLogConfig","description":"Log configuration details.\n"},"logDestinations":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/NgfwLogProfileLogDestination:NgfwLogProfileLogDestination"},"description":"List of log destinations.\n"},"ngfw":{"type":"string","description":"The name of the NGFW.\n","willReplaceOnChanges":true},"region":{"type":"string","description":"The region of the NGFW.\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"type":"object"}},"cloudngfwaws:index/predefinedUrlCategoryOverride:PredefinedUrlCategoryOverride":{"description":"Resource for predefined URL category override management.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"terraform-rulestack\",\n    scope: \"Local\",\n    accountId: \"123456789\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = new cloudngfwaws.PredefinedUrlCategoryOverride(\"example\", {\n    rulestack: r.name,\n    name: \"foobar\",\n    action: \"block\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"terraform-rulestack\",\n    scope=\"Local\",\n    account_id=\"123456789\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.PredefinedUrlCategoryOverride(\"example\",\n    rulestack=r.name,\n    name=\"foobar\",\n    action=\"block\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"terraform-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"123456789\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = new CloudNgfwAws.PredefinedUrlCategoryOverride(\"example\", new()\n    {\n        Rulestack = r.Name,\n        Name = \"foobar\",\n        Action = \"block\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"terraform-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"123456789\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudngfwaws.NewPredefinedUrlCategoryOverride(ctx, \"example\", \u0026cloudngfwaws.PredefinedUrlCategoryOverrideArgs{\n\t\t\tRulestack: r.Name,\n\t\t\tName:      pulumi.String(\"foobar\"),\n\t\t\tAction:    pulumi.String(\"block\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.PredefinedUrlCategoryOverride;\nimport com.pulumi.cloudngfwaws.PredefinedUrlCategoryOverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"terraform-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"123456789\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        var example = new PredefinedUrlCategoryOverride(\"example\", PredefinedUrlCategoryOverrideArgs.builder()\n            .rulestack(r.name())\n            .name(\"foobar\")\n            .action(\"block\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:PredefinedUrlCategoryOverride\n    properties:\n      rulestack: ${r.name}\n      name: foobar\n      action: block\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: terraform-rulestack\n      scope: Local\n      accountId: '123456789'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003crulestack\u003e:\u003cpredefined_url_category_override_name\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/predefinedUrlCategoryOverride:PredefinedUrlCategoryOverride example terraform-rulestack:foobar\n```\n\n","properties":{"action":{"type":"string","description":"The action to take. Valid values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\"\u003e`alert`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"auditComment":{"type":"string","description":"The audit comment.\n"},"name":{"type":"string","description":"The name.\n"},"rulestack":{"type":"string","description":"The rulestack.\n"},"updateToken":{"type":"string","description":"Update token.\n"}},"required":["name","rulestack","updateToken"],"inputProperties":{"action":{"type":"string","description":"The action to take. Valid values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\"\u003e`alert`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"auditComment":{"type":"string","description":"The audit comment.\n"},"name":{"type":"string","description":"The name.\n"},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true}},"requiredInputs":["rulestack"],"stateInputs":{"description":"Input properties used for looking up and filtering PredefinedUrlCategoryOverride resources.\n","properties":{"action":{"type":"string","description":"The action to take. Valid values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\"\u003e`alert`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"auditComment":{"type":"string","description":"The audit comment.\n"},"name":{"type":"string","description":"The name.\n"},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"updateToken":{"type":"string","description":"Update token.\n"}},"type":"object"}},"cloudngfwaws:index/prefixList:PrefixList":{"description":"Resource for prefix list manipulation.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"terraform-rulestack\",\n    scope: \"Local\",\n    accountId: \"123456789\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = new cloudngfwaws.PrefixList(\"example\", {\n    rulestack: r.name,\n    name: \"tf-prefix-list\",\n    description: \"Also configured by Terraform\",\n    prefixLists: [\n        \"192.168.0.0\",\n        \"10.1.5.0\",\n    ],\n    auditComment: \"initial config\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"terraform-rulestack\",\n    scope=\"Local\",\n    account_id=\"123456789\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.PrefixList(\"example\",\n    rulestack=r.name,\n    name=\"tf-prefix-list\",\n    description=\"Also configured by Terraform\",\n    prefix_lists=[\n        \"192.168.0.0\",\n        \"10.1.5.0\",\n    ],\n    audit_comment=\"initial config\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"terraform-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"123456789\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = new CloudNgfwAws.PrefixList(\"example\", new()\n    {\n        Rulestack = r.Name,\n        Name = \"tf-prefix-list\",\n        Description = \"Also configured by Terraform\",\n        PrefixLists = new[]\n        {\n            \"192.168.0.0\",\n            \"10.1.5.0\",\n        },\n        AuditComment = \"initial config\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"terraform-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"123456789\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudngfwaws.NewPrefixList(ctx, \"example\", \u0026cloudngfwaws.PrefixListArgs{\n\t\t\tRulestack:   r.Name,\n\t\t\tName:        pulumi.String(\"tf-prefix-list\"),\n\t\t\tDescription: pulumi.String(\"Also configured by Terraform\"),\n\t\t\tPrefixLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0\"),\n\t\t\t\tpulumi.String(\"10.1.5.0\"),\n\t\t\t},\n\t\t\tAuditComment: pulumi.String(\"initial config\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.PrefixList;\nimport com.pulumi.cloudngfwaws.PrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"terraform-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"123456789\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        var example = new PrefixList(\"example\", PrefixListArgs.builder()\n            .rulestack(r.name())\n            .name(\"tf-prefix-list\")\n            .description(\"Also configured by Terraform\")\n            .prefixLists(            \n                \"192.168.0.0\",\n                \"10.1.5.0\")\n            .auditComment(\"initial config\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:PrefixList\n    properties:\n      rulestack: ${r.name}\n      name: tf-prefix-list\n      description: Also configured by Terraform\n      prefixLists:\n        - 192.168.0.0\n        - 10.1.5.0\n      auditComment: initial config\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: terraform-rulestack\n      scope: Local\n      accountId: '123456789'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003cscope\u003e:\u003crulestack\u003e:\u003cprefix_list_name\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/prefixList:PrefixList example Local:terraform-rulestack:tf-prefix-list\n```\n\n","properties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"name":{"type":"string","description":"The name.\n"},"prefixLists":{"type":"array","items":{"type":"string"},"description":"The prefix list.\n"},"rulestack":{"type":"string","description":"The rulestack.\n"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"required":["name","prefixLists","rulestack","updateToken"],"inputProperties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"prefixLists":{"type":"array","items":{"type":"string"},"description":"The prefix list.\n"},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"requiredInputs":["prefixLists","rulestack"],"stateInputs":{"description":"Input properties used for looking up and filtering PrefixList resources.\n","properties":{"auditComment":{"type":"string","description":"The audit comment.\n"},"description":{"type":"string","description":"The description.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"prefixLists":{"type":"array","items":{"type":"string"},"description":"The prefix list.\n"},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"updateToken":{"type":"string","description":"The update token.\n"}},"type":"object"}},"cloudngfwaws:index/rulestack:Rulestack":{"description":"Resource for rulestack manipulation.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst example = new cloudngfwaws.Rulestack(\"example\", {\n    name: \"terraform-rulestack\",\n    scope: \"Local\",\n    accountId: \"123456789\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nexample = cloudngfwaws.Rulestack(\"example\",\n    name=\"terraform-rulestack\",\n    scope=\"Local\",\n    account_id=\"123456789\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new CloudNgfwAws.Rulestack(\"example\", new()\n    {\n        Name = \"terraform-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"123456789\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudngfwaws.NewRulestack(ctx, \"example\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"terraform-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"123456789\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Rulestack(\"example\", RulestackArgs.builder()\n            .name(\"terraform-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"123456789\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: terraform-rulestack\n      scope: Local\n      accountId: '123456789'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003cscope\u003e:\u003crulestack\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/rulestack:Rulestack example Local:terraform-rulestack\n```\n\n","properties":{"accountGroup":{"type":"string","description":"Account group.\n"},"accountId":{"type":"string","description":"The account ID.\n"},"description":{"type":"string","description":"The description.\n"},"lookupXForwardedFor":{"type":"string","description":"Lookup x forwarded for.\n"},"minimumAppIdVersion":{"type":"string","description":"Minimum App-ID version number.\n"},"name":{"type":"string","description":"The name.\n"},"profileConfig":{"$ref":"#/types/cloudngfwaws:index/RulestackProfileConfig:RulestackProfileConfig"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n"},"state":{"type":"string","description":"The rulestack state.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags.\n"}},"required":["lookupXForwardedFor","minimumAppIdVersion","name","profileConfig","state"],"inputProperties":{"accountGroup":{"type":"string","description":"Account group.\n"},"accountId":{"type":"string","description":"The account ID.\n"},"description":{"type":"string","description":"The description.\n"},"lookupXForwardedFor":{"type":"string","description":"Lookup x forwarded for.\n"},"minimumAppIdVersion":{"type":"string","description":"Minimum App-ID version number.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"profileConfig":{"$ref":"#/types/cloudngfwaws:index/RulestackProfileConfig:RulestackProfileConfig"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags.\n"}},"requiredInputs":["profileConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering Rulestack resources.\n","properties":{"accountGroup":{"type":"string","description":"Account group.\n"},"accountId":{"type":"string","description":"The account ID.\n"},"description":{"type":"string","description":"The description.\n"},"lookupXForwardedFor":{"type":"string","description":"Lookup x forwarded for.\n"},"minimumAppIdVersion":{"type":"string","description":"Minimum App-ID version number.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"profileConfig":{"$ref":"#/types/cloudngfwaws:index/RulestackProfileConfig:RulestackProfileConfig"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The rulestack state.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags.\n"}},"type":"object"}},"cloudngfwaws:index/securityRule:SecurityRule":{"description":"Resource for security rule manipulation.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"terraform-rulestack\",\n    scope: \"Local\",\n    accountId: \"123456789\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = new cloudngfwaws.SecurityRule(\"example\", {\n    rulestack: r.name,\n    ruleList: \"LocalRule\",\n    priority: 3,\n    name: \"tf-security-rule\",\n    description: \"Also configured by Terraform\",\n    source: {\n        cidrs: [\"any\"],\n    },\n    destination: {\n        cidrs: [\"192.168.0.0/16\"],\n    },\n    negateDestination: true,\n    applications: [\"any\"],\n    category: {},\n    action: \"Allow\",\n    logging: true,\n    auditComment: \"initial config\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"terraform-rulestack\",\n    scope=\"Local\",\n    account_id=\"123456789\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.SecurityRule(\"example\",\n    rulestack=r.name,\n    rule_list=\"LocalRule\",\n    priority=3,\n    name=\"tf-security-rule\",\n    description=\"Also configured by Terraform\",\n    source={\n        \"cidrs\": [\"any\"],\n    },\n    destination={\n        \"cidrs\": [\"192.168.0.0/16\"],\n    },\n    negate_destination=True,\n    applications=[\"any\"],\n    category={},\n    action=\"Allow\",\n    logging=True,\n    audit_comment=\"initial config\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"terraform-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"123456789\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = new CloudNgfwAws.SecurityRule(\"example\", new()\n    {\n        Rulestack = r.Name,\n        RuleList = \"LocalRule\",\n        Priority = 3,\n        Name = \"tf-security-rule\",\n        Description = \"Also configured by Terraform\",\n        Source = new CloudNgfwAws.Inputs.SecurityRuleSourceArgs\n        {\n            Cidrs = new[]\n            {\n                \"any\",\n            },\n        },\n        Destination = new CloudNgfwAws.Inputs.SecurityRuleDestinationArgs\n        {\n            Cidrs = new[]\n            {\n                \"192.168.0.0/16\",\n            },\n        },\n        NegateDestination = true,\n        Applications = new[]\n        {\n            \"any\",\n        },\n        Category = null,\n        Action = \"Allow\",\n        Logging = true,\n        AuditComment = \"initial config\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"terraform-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"123456789\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudngfwaws.NewSecurityRule(ctx, \"example\", \u0026cloudngfwaws.SecurityRuleArgs{\n\t\t\tRulestack:   r.Name,\n\t\t\tRuleList:    pulumi.String(\"LocalRule\"),\n\t\t\tPriority:    pulumi.Int(3),\n\t\t\tName:        pulumi.String(\"tf-security-rule\"),\n\t\t\tDescription: pulumi.String(\"Also configured by Terraform\"),\n\t\t\tSource: \u0026cloudngfwaws.SecurityRuleSourceArgs{\n\t\t\t\tCidrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"any\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestination: \u0026cloudngfwaws.SecurityRuleDestinationArgs{\n\t\t\t\tCidrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNegateDestination: pulumi.Bool(true),\n\t\t\tApplications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"any\"),\n\t\t\t},\n\t\t\tCategory:     \u0026cloudngfwaws.SecurityRuleCategoryArgs{},\n\t\t\tAction:       pulumi.String(\"Allow\"),\n\t\t\tLogging:      pulumi.Bool(true),\n\t\t\tAuditComment: pulumi.String(\"initial config\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.SecurityRule;\nimport com.pulumi.cloudngfwaws.SecurityRuleArgs;\nimport com.pulumi.cloudngfwaws.inputs.SecurityRuleSourceArgs;\nimport com.pulumi.cloudngfwaws.inputs.SecurityRuleDestinationArgs;\nimport com.pulumi.cloudngfwaws.inputs.SecurityRuleCategoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"terraform-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"123456789\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        var example = new SecurityRule(\"example\", SecurityRuleArgs.builder()\n            .rulestack(r.name())\n            .ruleList(\"LocalRule\")\n            .priority(3)\n            .name(\"tf-security-rule\")\n            .description(\"Also configured by Terraform\")\n            .source(SecurityRuleSourceArgs.builder()\n                .cidrs(\"any\")\n                .build())\n            .destination(SecurityRuleDestinationArgs.builder()\n                .cidrs(\"192.168.0.0/16\")\n                .build())\n            .negateDestination(true)\n            .applications(\"any\")\n            .category(SecurityRuleCategoryArgs.builder()\n                .build())\n            .action(\"Allow\")\n            .logging(true)\n            .auditComment(\"initial config\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cloudngfwaws:SecurityRule\n    properties:\n      rulestack: ${r.name}\n      ruleList: LocalRule\n      priority: 3\n      name: tf-security-rule\n      description: Also configured by Terraform\n      source:\n        cidrs:\n          - any\n      destination:\n        cidrs:\n          - 192.168.0.0/16\n      negateDestination: true\n      applications:\n        - any\n      category: {}\n      action: Allow\n      logging: true\n      auditComment: initial config\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: terraform-rulestack\n      scope: Local\n      accountId: '123456789'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport name is \u003cscope\u003e:\u003crulestack\u003e:\u003crule_list\u003e:\u003cpriority\u003e\n\n```sh\n$ pulumi import cloudngfwaws:index/securityRule:SecurityRule example Local:terraform-rulestack:LocalRule:3\n```\n\n","properties":{"action":{"type":"string","description":"The action to take. Valid values are `Allow`, `DenySilent`, `DenyResetServer`, or `DenyResetBoth`.\n"},"applications":{"type":"array","items":{"type":"string"},"description":"The list of applications.\n"},"auditComment":{"type":"string","description":"The audit comment.\n"},"category":{"$ref":"#/types/cloudngfwaws:index/SecurityRuleCategory:SecurityRuleCategory","description":"The category spec.\n"},"decryptionRuleType":{"type":"string","description":"Decryption rule type. Valid values are `\u003cspan pulumi-lang-nodejs=\"`or`\" pulumi-lang-dotnet=\"`Or`\" pulumi-lang-go=\"`or`\" pulumi-lang-python=\"`or`\" pulumi-lang-yaml=\"`or`\" pulumi-lang-java=\"`or`\"\u003e`or`\u003c/span\u003eSSLOutboundInspection`.\n"},"description":{"type":"string","description":"The description.\n"},"destination":{"$ref":"#/types/cloudngfwaws:index/SecurityRuleDestination:SecurityRuleDestination","description":"The destination spec.\n"},"enabled":{"type":"boolean","description":"Set to false to disable this rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logging":{"type":"boolean","description":"Enable logging at end. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n"},"negateDestination":{"type":"boolean","description":"Negate the destination definition.\n"},"negateSource":{"type":"boolean","description":"Negate the source definition.\n"},"priority":{"type":"integer","description":"The rule priority.\n"},"protPortLists":{"type":"array","items":{"type":"string"},"description":"Protocol port list.\n"},"protocol":{"type":"string","description":"The protocol.\n"},"ruleList":{"type":"string","description":"The rulebase. Valid values are `PreRule`, `PostRule`, or `LocalRule`. Defaults to `PreRule`.\n"},"rulestack":{"type":"string","description":"The rulestack.\n"},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n"},"source":{"$ref":"#/types/cloudngfwaws:index/SecurityRuleSource:SecurityRuleSource","description":"The source spec.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags.\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"required":["action","applications","category","destination","name","priority","rulestack","source","updateToken"],"inputProperties":{"action":{"type":"string","description":"The action to take. Valid values are `Allow`, `DenySilent`, `DenyResetServer`, or `DenyResetBoth`.\n"},"applications":{"type":"array","items":{"type":"string"},"description":"The list of applications.\n"},"auditComment":{"type":"string","description":"The audit comment.\n"},"category":{"$ref":"#/types/cloudngfwaws:index/SecurityRuleCategory:SecurityRuleCategory","description":"The category spec.\n"},"decryptionRuleType":{"type":"string","description":"Decryption rule type. Valid values are `\u003cspan pulumi-lang-nodejs=\"`or`\" pulumi-lang-dotnet=\"`Or`\" pulumi-lang-go=\"`or`\" pulumi-lang-python=\"`or`\" pulumi-lang-yaml=\"`or`\" pulumi-lang-java=\"`or`\"\u003e`or`\u003c/span\u003eSSLOutboundInspection`.\n"},"description":{"type":"string","description":"The description.\n"},"destination":{"$ref":"#/types/cloudngfwaws:index/SecurityRuleDestination:SecurityRuleDestination","description":"The destination spec.\n"},"enabled":{"type":"boolean","description":"Set to false to disable this rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logging":{"type":"boolean","description":"Enable logging at end. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n"},"negateDestination":{"type":"boolean","description":"Negate the destination definition.\n"},"negateSource":{"type":"boolean","description":"Negate the source definition.\n"},"priority":{"type":"integer","description":"The rule priority.\n","willReplaceOnChanges":true},"protPortLists":{"type":"array","items":{"type":"string"},"description":"Protocol port list.\n"},"protocol":{"type":"string","description":"The protocol.\n"},"ruleList":{"type":"string","description":"The rulebase. Valid values are `PreRule`, `PostRule`, or `LocalRule`. Defaults to `PreRule`.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"source":{"$ref":"#/types/cloudngfwaws:index/SecurityRuleSource:SecurityRuleSource","description":"The source spec.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags.\n"}},"requiredInputs":["action","applications","category","destination","priority","rulestack","source"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityRule resources.\n","properties":{"action":{"type":"string","description":"The action to take. Valid values are `Allow`, `DenySilent`, `DenyResetServer`, or `DenyResetBoth`.\n"},"applications":{"type":"array","items":{"type":"string"},"description":"The list of applications.\n"},"auditComment":{"type":"string","description":"The audit comment.\n"},"category":{"$ref":"#/types/cloudngfwaws:index/SecurityRuleCategory:SecurityRuleCategory","description":"The category spec.\n"},"decryptionRuleType":{"type":"string","description":"Decryption rule type. Valid values are `\u003cspan pulumi-lang-nodejs=\"`or`\" pulumi-lang-dotnet=\"`Or`\" pulumi-lang-go=\"`or`\" pulumi-lang-python=\"`or`\" pulumi-lang-yaml=\"`or`\" pulumi-lang-java=\"`or`\"\u003e`or`\u003c/span\u003eSSLOutboundInspection`.\n"},"description":{"type":"string","description":"The description.\n"},"destination":{"$ref":"#/types/cloudngfwaws:index/SecurityRuleDestination:SecurityRuleDestination","description":"The destination spec.\n"},"enabled":{"type":"boolean","description":"Set to false to disable this rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logging":{"type":"boolean","description":"Enable logging at end. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n"},"negateDestination":{"type":"boolean","description":"Negate the destination definition.\n"},"negateSource":{"type":"boolean","description":"Negate the source definition.\n"},"priority":{"type":"integer","description":"The rule priority.\n","willReplaceOnChanges":true},"protPortLists":{"type":"array","items":{"type":"string"},"description":"Protocol port list.\n"},"protocol":{"type":"string","description":"The protocol.\n"},"ruleList":{"type":"string","description":"The rulebase. Valid values are `PreRule`, `PostRule`, or `LocalRule`. Defaults to `PreRule`.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true},"source":{"$ref":"#/types/cloudngfwaws:index/SecurityRuleSource:SecurityRuleSource","description":"The source spec.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags.\n"},"updateToken":{"type":"string","description":"The update token.\n"}},"type":"object"}}},"functions":{"cloudngfwaws:index/getAccount:getAccount":{"description":"Data source for retrieving account information.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"accountId":{"type":"string","description":"The account ID\n","willReplaceOnChanges":true},"cftUrl":{"type":"string","description":"The CFT URL.\n"},"externalId":{"type":"string","description":"The external ID of the account\n"},"onboardingStatus":{"type":"string","description":"The Account onboarding status\n"},"origin":{"type":"string","description":"Origin of account onboarding\n"},"serviceAccountId":{"type":"string","description":"The account ID of cloud NGFW service\n"},"snsTopicArn":{"type":"string","description":"The SNS topic ARN\n"},"trustedAccount":{"type":"string","description":"The trusted account ID\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"accountId":{"description":"The account ID\n","type":"string"},"cftUrl":{"description":"The CFT URL.\n","type":"string"},"externalId":{"description":"The external ID of the account\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"onboardingStatus":{"description":"The Account onboarding status\n","type":"string"},"origin":{"description":"Origin of account onboarding\n","type":"string"},"serviceAccountId":{"description":"The account ID of cloud NGFW service\n","type":"string"},"snsTopicArn":{"description":"The SNS topic ARN\n","type":"string"},"trustedAccount":{"description":"The trusted account ID\n","type":"string"},"updateToken":{"description":"The update token.\n","type":"string"}},"required":["cftUrl","externalId","onboardingStatus","origin","serviceAccountId","snsTopicArn","trustedAccount","updateToken","id"],"type":"object"}},"cloudngfwaws:index/getAccounts:getAccounts":{"description":"Data source get a list of Accounts.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n","inputs":{"description":"A collection of arguments for invoking getAccounts.\n","properties":{"accountDetails":{"type":"array","items":{"$ref":"#/types/cloudngfwaws:index/getAccountsAccountDetail:getAccountsAccountDetail"},"description":"List of account details.\n"},"accountIds":{"type":"array","items":{"type":"string"},"description":"List of account ids.\n"},"describe":{"type":"boolean","description":"Flag to include account details while listing accounts. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccounts.\n","properties":{"accountDetails":{"description":"List of account details.\n","items":{"$ref":"#/types/cloudngfwaws:index/getAccountsAccountDetail:getAccountsAccountDetail"},"type":"array"},"accountIds":{"description":"List of account ids.\n","items":{"type":"string"},"type":"array"},"describe":{"description":"Flag to include account details while listing accounts. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"}},"required":["accountDetails","accountIds","id"],"type":"object"}},"cloudngfwaws:index/getAppIdVersion:getAppIdVersion":{"description":"Data source to retrieve information on a given AppId version.\n\n\n## Admin Permission Type\n\n* `Rulestack`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst example = cloudngfwaws.getAppIdVersion({\n    version: \"123-456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nexample = cloudngfwaws.get_app_id_version(version=\"123-456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = CloudNgfwAws.GetAppIdVersion.Invoke(new()\n    {\n        Version = \"123-456\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudngfwaws.GetAppIdVersion(ctx, \u0026cloudngfwaws.GetAppIdVersionArgs{\n\t\t\tVersion: \"123-456\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetAppIdVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CloudngfwawsFunctions.getAppIdVersion(GetAppIdVersionArgs.builder()\n            .version(\"123-456\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getAppIdVersion\n      arguments:\n        version: 123-456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAppIdVersion.\n","properties":{"maxResults":{"type":"integer","description":"Max results. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"token":{"type":"string","description":"Pagination token.\n"},"version":{"type":"string","description":"The AppId version.\n"}},"type":"object","required":["version"]},"outputs":{"description":"A collection of values returned by getAppIdVersion.\n","properties":{"applications":{"description":"List of applications.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maxResults":{"description":"Max results. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n","type":"integer"},"nextToken":{"description":"Token for the next page of results.\n","type":"string"},"token":{"description":"Pagination token.\n","type":"string"},"version":{"description":"The AppId version.\n","type":"string"}},"required":["applications","nextToken","version","id"],"type":"object"}},"cloudngfwaws:index/getAppIdVersions:getAppIdVersions":{"description":"Data source get a list of AppId versions.\n\n\n## Admin Permission Type\n\n* `Rulestack`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst example = cloudngfwaws.getAppIdVersions({});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nexample = cloudngfwaws.get_app_id_versions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = CloudNgfwAws.GetAppIdVersions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudngfwaws.GetAppIdVersions(ctx, \u0026cloudngfwaws.GetAppIdVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetAppIdVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CloudngfwawsFunctions.getAppIdVersions(GetAppIdVersionsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getAppIdVersions\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAppIdVersions.\n","properties":{"maxResults":{"type":"integer","description":"Max number of results. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"token":{"type":"string","description":"Pagination token.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAppIdVersions.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maxResults":{"description":"Max number of results. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n","type":"integer"},"nextToken":{"description":"Token for the next page of results.\n","type":"string"},"token":{"description":"Pagination token.\n","type":"string"},"versions":{"description":"List of AppId versions.\n","items":{"type":"string"},"type":"array"}},"required":["nextToken","versions","id"],"type":"object"}},"cloudngfwaws:index/getCertificate:getCertificate":{"description":"Data source for retrieving certificate information.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"my-rulestack\",\n    scope: \"Local\",\n    accountId: \"12345\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = cloudngfwaws.getCertificateOutput({\n    rulestack: r.name,\n    name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"my-rulestack\",\n    scope=\"Local\",\n    account_id=\"12345\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.get_certificate_output(rulestack=r.name,\n    name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"my-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"12345\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = CloudNgfwAws.GetCertificate.Invoke(new()\n    {\n        Rulestack = r.Name,\n        Name = \"foobar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"my-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = cloudngfwaws.LookupCertificateOutput(ctx, cloudngfwaws.GetCertificateOutputArgs{\n\t\t\tRulestack: r.Name,\n\t\t\tName:      pulumi.String(\"foobar\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"my-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"12345\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        final var example = CloudngfwawsFunctions.getCertificate(GetCertificateArgs.builder()\n            .rulestack(r.name())\n            .name(\"foobar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: my-rulestack\n      scope: Local\n      accountId: '12345'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getCertificate\n      arguments:\n        rulestack: ${r.name}\n        name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCertificate.\n","properties":{"configType":{"type":"string","description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"type":"object","required":["name","rulestack"]},"outputs":{"description":"A collection of values returned by getCertificate.\n","properties":{"auditComment":{"description":"The audit comment.\n","type":"string"},"configType":{"description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n","type":"string"},"description":{"description":"The description.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name.\n","type":"string"},"rulestack":{"description":"The rulestack.\n","type":"string"},"scope":{"description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","type":"string"},"selfSigned":{"description":"Set to true if certificate is self-signed.\n","type":"boolean"},"signerArn":{"description":"The certificate signer ARN.\n","type":"string"},"updateToken":{"description":"The update token.\n","type":"string"}},"required":["auditComment","description","name","rulestack","selfSigned","signerArn","updateToken","id"],"type":"object"}},"cloudngfwaws:index/getCountry:getCountry":{"description":"Data source get a list of countries and their country codes.\n\n\n## Admin Permission Type\n\n* `Rulestack`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst example = cloudngfwaws.getCountry({});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nexample = cloudngfwaws.get_country()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = CloudNgfwAws.GetCountry.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudngfwaws.GetCountry(ctx, \u0026cloudngfwaws.GetCountryArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetCountryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CloudngfwawsFunctions.getCountry(GetCountryArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getCountry\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCountry.\n","properties":{"maxResults":{"type":"integer","description":"Max number of results. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"token":{"type":"string","description":"Pagination token.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCountry.\n","properties":{"codes":{"additionalProperties":{"type":"string"},"description":"The country code (as the key) and description (as the value).\n","type":"object"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maxResults":{"description":"Max number of results. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n","type":"integer"},"nextToken":{"description":"Token for the next page of results.\n","type":"string"},"token":{"description":"Pagination token.\n","type":"string"}},"required":["codes","nextToken","id"],"type":"object"}},"cloudngfwaws:index/getCustomUrlCategory:getCustomUrlCategory":{"description":"Data source for retrieving custom url category information.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"my-rulestack\",\n    scope: \"Local\",\n    accountId: \"12345\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = cloudngfwaws.getCustomUrlCategoryOutput({\n    rulestack: r.name,\n    name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"my-rulestack\",\n    scope=\"Local\",\n    account_id=\"12345\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.get_custom_url_category_output(rulestack=r.name,\n    name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"my-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"12345\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = CloudNgfwAws.GetCustomUrlCategory.Invoke(new()\n    {\n        Rulestack = r.Name,\n        Name = \"foobar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"my-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = cloudngfwaws.LookupCustomUrlCategoryOutput(ctx, cloudngfwaws.GetCustomUrlCategoryOutputArgs{\n\t\t\tRulestack: r.Name,\n\t\t\tName:      pulumi.String(\"foobar\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetCustomUrlCategoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"my-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"12345\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        final var example = CloudngfwawsFunctions.getCustomUrlCategory(GetCustomUrlCategoryArgs.builder()\n            .rulestack(r.name())\n            .name(\"foobar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: my-rulestack\n      scope: Local\n      accountId: '12345'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getCustomUrlCategory\n      arguments:\n        rulestack: ${r.name}\n        name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCustomUrlCategory.\n","properties":{"configType":{"type":"string","description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"type":"object","required":["name","rulestack"]},"outputs":{"description":"A collection of values returned by getCustomUrlCategory.\n","properties":{"action":{"description":"The action to take. Valid values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\"\u003e`alert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`continue`\" pulumi-lang-dotnet=\"`Continue`\" pulumi-lang-go=\"`continue`\" pulumi-lang-python=\"`continue`\" pulumi-lang-yaml=\"`continue`\" pulumi-lang-java=\"`continue`\"\u003e`continue`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`override`\" pulumi-lang-dotnet=\"`Override`\" pulumi-lang-go=\"`override`\" pulumi-lang-python=\"`override`\" pulumi-lang-yaml=\"`override`\" pulumi-lang-java=\"`override`\"\u003e`override`\u003c/span\u003e.\n","type":"string"},"auditComment":{"description":"The audit comment.\n","type":"string"},"configType":{"description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n","type":"string"},"description":{"description":"The description.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name.\n","type":"string"},"rulestack":{"description":"The rulestack.\n","type":"string"},"scope":{"description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","type":"string"},"updateToken":{"description":"The update token.\n","type":"string"},"urlLists":{"description":"The URL list for this custom URL category.\n","items":{"type":"string"},"type":"array"}},"required":["action","auditComment","description","name","rulestack","updateToken","urlLists","id"],"type":"object"}},"cloudngfwaws:index/getFqdnList:getFqdnList":{"description":"Data source for retrieving fqdn list information.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"my-rulestack\",\n    scope: \"Local\",\n    accountId: \"12345\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = cloudngfwaws.getFqdnListOutput({\n    rulestack: r.name,\n    name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"my-rulestack\",\n    scope=\"Local\",\n    account_id=\"12345\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.get_fqdn_list_output(rulestack=r.name,\n    name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"my-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"12345\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = CloudNgfwAws.GetFqdnList.Invoke(new()\n    {\n        Rulestack = r.Name,\n        Name = \"foobar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"my-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = cloudngfwaws.LookupFqdnListOutput(ctx, cloudngfwaws.GetFqdnListOutputArgs{\n\t\t\tRulestack: r.Name,\n\t\t\tName:      pulumi.String(\"foobar\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetFqdnListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"my-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"12345\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        final var example = CloudngfwawsFunctions.getFqdnList(GetFqdnListArgs.builder()\n            .rulestack(r.name())\n            .name(\"foobar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: my-rulestack\n      scope: Local\n      accountId: '12345'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getFqdnList\n      arguments:\n        rulestack: ${r.name}\n        name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFqdnList.\n","properties":{"configType":{"type":"string","description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"type":"object","required":["name","rulestack"]},"outputs":{"description":"A collection of values returned by getFqdnList.\n","properties":{"auditComment":{"description":"The audit comment.\n","type":"string"},"configType":{"description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n","type":"string"},"description":{"description":"The description.\n","type":"string"},"fqdnLists":{"description":"The fqdn list.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name.\n","type":"string"},"rulestack":{"description":"The rulestack.\n","type":"string"},"scope":{"description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","type":"string"},"updateToken":{"description":"The update token.\n","type":"string"}},"required":["auditComment","description","fqdnLists","name","rulestack","updateToken","id"],"type":"object"}},"cloudngfwaws:index/getIntelligentFeed:getIntelligentFeed":{"description":"Data source for retrieving intelligent feed information.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"my-rulestack\",\n    scope: \"Local\",\n    accountId: \"12345\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = cloudngfwaws.getIntelligentFeedOutput({\n    rulestack: r.name,\n    name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"my-rulestack\",\n    scope=\"Local\",\n    account_id=\"12345\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.get_intelligent_feed_output(rulestack=r.name,\n    name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"my-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"12345\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = CloudNgfwAws.GetIntelligentFeed.Invoke(new()\n    {\n        Rulestack = r.Name,\n        Name = \"foobar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"my-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = cloudngfwaws.LookupIntelligentFeedOutput(ctx, cloudngfwaws.GetIntelligentFeedOutputArgs{\n\t\t\tRulestack: r.Name,\n\t\t\tName:      pulumi.String(\"foobar\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetIntelligentFeedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"my-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"12345\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        final var example = CloudngfwawsFunctions.getIntelligentFeed(GetIntelligentFeedArgs.builder()\n            .rulestack(r.name())\n            .name(\"foobar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: my-rulestack\n      scope: Local\n      accountId: '12345'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getIntelligentFeed\n      arguments:\n        rulestack: ${r.name}\n        name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIntelligentFeed.\n","properties":{"configType":{"type":"string","description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"type":"object","required":["name","rulestack"]},"outputs":{"description":"A collection of values returned by getIntelligentFeed.\n","properties":{"auditComment":{"description":"The audit comment.\n","type":"string"},"certificate":{"description":"The certificate profile.\n","type":"string"},"configType":{"description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n","type":"string"},"description":{"description":"The description.\n","type":"string"},"frequency":{"description":"Update frequency. Valid values are `HOURLY` or `DAILY`.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name.\n","type":"string"},"rulestack":{"description":"The rulestack.\n","type":"string"},"scope":{"description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","type":"string"},"time":{"description":"The time to poll for updates if frequency is daily. The number must be between [0, 23] incluside.\n","type":"integer"},"type":{"description":"The intelligent feed type. Valid values are `IP_LIST` or `URL_LIST`.\n","type":"string"},"updateToken":{"description":"The update token.\n","type":"string"},"url":{"description":"The intelligent feed source.\n","type":"string"}},"required":["auditComment","certificate","description","frequency","name","rulestack","time","type","updateToken","url","id"],"type":"object"}},"cloudngfwaws:index/getNgfw:getNgfw":{"description":"Data source for retrieving NGFW information.\n\n\n## Admin Permission Type\n\n* `Firewall`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getNgfw\n      arguments:\n        name: example-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNgfw.\n","properties":{"firewallId":{"type":"string","description":"The Firewall ID.\n"}},"type":"object","required":["firewallId"]},"outputs":{"description":"A collection of values returned by getNgfw.\n","properties":{"accountId":{"description":"The description.\n","type":"string"},"allowlistAccounts":{"description":"The list of allowed accounts for this NGFW.\n","items":{"type":"string"},"type":"array"},"appIdVersion":{"description":"App-ID version number.\n","type":"string"},"automaticUpgradeAppIdVersion":{"description":"Automatic App-ID upgrade version number.\n","type":"boolean"},"azLists":{"description":"The list of availability zone IDs for this NGFW.\n","items":{"type":"string"},"type":"array"},"changeProtections":{"description":"Enables or disables change protection for the NGFW.\n","items":{"type":"string"},"type":"array"},"deploymentUpdateToken":{"description":"The update token.\n","type":"string"},"description":{"description":"The NGFW description.\n","type":"string"},"egressNats":{"items":{"$ref":"#/types/cloudngfwaws:index/getNgfwEgressNat:getNgfwEgressNat"},"type":"array"},"endpointMode":{"description":"Set endpoint mode from the following options. Valid values are `ServiceManaged` or `CustomerManaged`.\n","type":"string"},"endpointServiceName":{"description":"The endpoint service name.\n","type":"string"},"endpoints":{"items":{"$ref":"#/types/cloudngfwaws:index/getNgfwEndpoint:getNgfwEndpoint"},"type":"array"},"firewallId":{"description":"The Firewall ID.\n","type":"string"},"globalRulestack":{"description":"The global rulestack for this NGFW.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"linkId":{"description":"The link ID.\n","type":"string"},"linkStatus":{"description":"The link status.\n","type":"string"},"multiVpc":{"description":"Share NGFW with Multiple VPCs. This feature can be enabled only if the\u003cspan pulumi-lang-nodejs=\" endpointMode \" pulumi-lang-dotnet=\" EndpointMode \" pulumi-lang-go=\" endpointMode \" pulumi-lang-python=\" endpoint_mode \" pulumi-lang-yaml=\" endpointMode \" pulumi-lang-java=\" endpointMode \"\u003e endpoint_mode \u003c/span\u003eis CustomerManaged.\n","type":"boolean"},"name":{"description":"The NGFW name.\n","type":"string"},"privateAccesses":{"items":{"$ref":"#/types/cloudngfwaws:index/getNgfwPrivateAccess:getNgfwPrivateAccess"},"type":"array"},"rulestack":{"description":"The rulestack for this NGFW.\n","type":"string"},"statuses":{"items":{"$ref":"#/types/cloudngfwaws:index/getNgfwStatus:getNgfwStatus"},"type":"array"},"subnetMappings":{"description":"Subnet mappings.\n","items":{"$ref":"#/types/cloudngfwaws:index/getNgfwSubnetMapping:getNgfwSubnetMapping"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags.\n","type":"object"},"updateToken":{"description":"The update token.\n","type":"string"},"userIds":{"items":{"$ref":"#/types/cloudngfwaws:index/getNgfwUserId:getNgfwUserId"},"type":"array"},"vpcId":{"description":"The VPC ID for the NGFW.\n","type":"string"}},"required":["accountId","allowlistAccounts","appIdVersion","automaticUpgradeAppIdVersion","azLists","changeProtections","deploymentUpdateToken","description","egressNats","endpointMode","endpointServiceName","endpoints","firewallId","globalRulestack","linkId","linkStatus","multiVpc","name","privateAccesses","rulestack","statuses","subnetMappings","tags","updateToken","userIds","vpcId","id"],"type":"object"}},"cloudngfwaws:index/getNgfwLogProfile:getNgfwLogProfile":{"description":"Data source for retrieving log profile information.\n\n\n## Admin Permission Type\n\n* `Firewall`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst example = cloudngfwaws.getNgfwLogProfile({\n    ngfw: \"example-instance\",\n    accountId: \"123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nexample = cloudngfwaws.get_ngfw_log_profile(ngfw=\"example-instance\",\n    account_id=\"123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = CloudNgfwAws.GetNgfwLogProfile.Invoke(new()\n    {\n        Ngfw = \"example-instance\",\n        AccountId = \"123456789\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudngfwaws.LookupNgfwLogProfile(ctx, \u0026cloudngfwaws.LookupNgfwLogProfileArgs{\n\t\t\tNgfw:      pulumi.StringRef(\"example-instance\"),\n\t\t\tAccountId: pulumi.StringRef(\"123456789\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetNgfwLogProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CloudngfwawsFunctions.getNgfwLogProfile(GetNgfwLogProfileArgs.builder()\n            .ngfw(\"example-instance\")\n            .accountId(\"123456789\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getNgfwLogProfile\n      arguments:\n        ngfw: example-instance\n        accountId: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNgfwLogProfile.\n","properties":{"accountId":{"type":"string","description":"The unique ID of the account.\n"},"ngfw":{"type":"string","description":"The name of the NGFW.\n","willReplaceOnChanges":true}},"type":"object"},"outputs":{"description":"A collection of values returned by getNgfwLogProfile.\n","properties":{"accountId":{"description":"The unique ID of the account.\n","type":"string"},"advancedThreatLog":{"description":"Enable advanced threat logging.\n","type":"boolean"},"cloudWatchMetricNamespace":{"description":"The CloudWatch metric namespace.\n","type":"string"},"cloudwatchMetricFields":{"description":"Cloudwatch metric fields.\n","items":{"type":"string"},"type":"array"},"firewallId":{"description":"The Firewall Id for the NGFW.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"logConfigs":{"description":"Log configuration details.\n","items":{"$ref":"#/types/cloudngfwaws:index/getNgfwLogProfileLogConfig:getNgfwLogProfileLogConfig"},"type":"array"},"logDestinations":{"description":"List of log destinations.\n","items":{"$ref":"#/types/cloudngfwaws:index/getNgfwLogProfileLogDestination:getNgfwLogProfileLogDestination"},"type":"array"},"ngfw":{"description":"The name of the NGFW.\n","type":"string"},"region":{"description":"The region of the NGFW.\n","type":"string"},"updateToken":{"description":"The update token.\n","type":"string"}},"required":["advancedThreatLog","cloudWatchMetricNamespace","cloudwatchMetricFields","firewallId","logConfigs","logDestinations","region","updateToken","id"],"type":"object"}},"cloudngfwaws:index/getNgfws:getNgfws":{"description":"Data source get a list of NGFWs.\n\n\n## Admin Permission Type\n\n* `Firewall`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst example = cloudngfwaws.getNgfws({});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nexample = cloudngfwaws.get_ngfws()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = CloudNgfwAws.GetNgfws.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudngfwaws.GetNgfws(ctx, \u0026cloudngfwaws.GetNgfwsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetNgfwsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CloudngfwawsFunctions.getNgfws(GetNgfwsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getNgfws\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNgfws.\n","properties":{"region":{"type":"string","description":"The region to filter on.\n"},"rulestack":{"type":"string","description":"The rulestack to filter on.\n"},"vpcIds":{"type":"array","items":{"type":"string"},"description":"List of vpc ids to filter on.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNgfws.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instances":{"description":"List of NGFWs.\n","items":{"$ref":"#/types/cloudngfwaws:index/getNgfwsInstance:getNgfwsInstance"},"type":"array"},"region":{"description":"The region to filter on.\n","type":"string"},"rulestack":{"description":"The rulestack to filter on.\n","type":"string"},"vpcIds":{"description":"List of vpc ids to filter on.\n","items":{"type":"string"},"type":"array"}},"required":["instances","id"],"type":"object"}},"cloudngfwaws:index/getPredefinedUrlCategories:getPredefinedUrlCategories":{"description":"Data source for retrieving the predefined URL categories.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst example = cloudngfwaws.getPredefinedUrlCategories({});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nexample = cloudngfwaws.get_predefined_url_categories()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = CloudNgfwAws.GetPredefinedUrlCategories.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudngfwaws.GetPredefinedUrlCategories(ctx, \u0026cloudngfwaws.GetPredefinedUrlCategoriesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetPredefinedUrlCategoriesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CloudngfwawsFunctions.getPredefinedUrlCategories(GetPredefinedUrlCategoriesArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getPredefinedUrlCategories\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPredefinedUrlCategories.\n","properties":{"maxResults":{"type":"integer","description":"Max results. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"token":{"type":"string","description":"Pagination token.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPredefinedUrlCategories.\n","properties":{"categories":{"description":"List of predefined URL categories.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maxResults":{"description":"Max results. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n","type":"integer"},"nextToken":{"description":"Next pagination token.\n","type":"string"},"token":{"description":"Pagination token.\n","type":"string"}},"required":["categories","nextToken","id"],"type":"object"}},"cloudngfwaws:index/getPredefinedUrlCategoryOverride:getPredefinedUrlCategoryOverride":{"description":"Data source for retrieving a predefined URL category override.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"my-rulestack\",\n    scope: \"Local\",\n    accountId: \"12345\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = cloudngfwaws.getPredefinedUrlCategoryOverrideOutput({\n    rulestack: r.name,\n    name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"my-rulestack\",\n    scope=\"Local\",\n    account_id=\"12345\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.get_predefined_url_category_override_output(rulestack=r.name,\n    name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"my-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"12345\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = CloudNgfwAws.GetPredefinedUrlCategoryOverride.Invoke(new()\n    {\n        Rulestack = r.Name,\n        Name = \"foobar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"my-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = cloudngfwaws.LookupPredefinedUrlCategoryOverrideOutput(ctx, cloudngfwaws.GetPredefinedUrlCategoryOverrideOutputArgs{\n\t\t\tRulestack: r.Name,\n\t\t\tName:      pulumi.String(\"foobar\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetPredefinedUrlCategoryOverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"my-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"12345\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        final var example = CloudngfwawsFunctions.getPredefinedUrlCategoryOverride(GetPredefinedUrlCategoryOverrideArgs.builder()\n            .rulestack(r.name())\n            .name(\"foobar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: my-rulestack\n      scope: Local\n      accountId: '12345'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getPredefinedUrlCategoryOverride\n      arguments:\n        rulestack: ${r.name}\n        name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPredefinedUrlCategoryOverride.\n","properties":{"configType":{"type":"string","description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n"},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true}},"type":"object","required":["name","rulestack"]},"outputs":{"description":"A collection of values returned by getPredefinedUrlCategoryOverride.\n","properties":{"action":{"description":"The action to take. Valid values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\"\u003e`alert`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e.\n","type":"string"},"auditComment":{"description":"The audit comment.\n","type":"string"},"configType":{"description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name.\n","type":"string"},"rulestack":{"description":"The rulestack.\n","type":"string"},"updateToken":{"description":"Update token.\n","type":"string"}},"required":["action","auditComment","name","rulestack","updateToken","id"],"type":"object"}},"cloudngfwaws:index/getPrefixList:getPrefixList":{"description":"Data source for retrieving prefix list information.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst r = new cloudngfwaws.Rulestack(\"r\", {\n    name: \"my-rulestack\",\n    scope: \"Local\",\n    accountId: \"12345\",\n    description: \"Made by Pulumi\",\n    profileConfig: {\n        antiSpyware: \"BestPractice\",\n    },\n});\nconst example = cloudngfwaws.getPrefixListOutput({\n    rulestack: r.name,\n    name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nr = cloudngfwaws.Rulestack(\"r\",\n    name=\"my-rulestack\",\n    scope=\"Local\",\n    account_id=\"12345\",\n    description=\"Made by Pulumi\",\n    profile_config={\n        \"anti_spyware\": \"BestPractice\",\n    })\nexample = cloudngfwaws.get_prefix_list_output(rulestack=r.name,\n    name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r = new CloudNgfwAws.Rulestack(\"r\", new()\n    {\n        Name = \"my-rulestack\",\n        Scope = \"Local\",\n        AccountId = \"12345\",\n        Description = \"Made by Pulumi\",\n        ProfileConfig = new CloudNgfwAws.Inputs.RulestackProfileConfigArgs\n        {\n            AntiSpyware = \"BestPractice\",\n        },\n    });\n\n    var example = CloudNgfwAws.GetPrefixList.Invoke(new()\n    {\n        Rulestack = r.Name,\n        Name = \"foobar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tr, err := cloudngfwaws.NewRulestack(ctx, \"r\", \u0026cloudngfwaws.RulestackArgs{\n\t\t\tName:        pulumi.String(\"my-rulestack\"),\n\t\t\tScope:       pulumi.String(\"Local\"),\n\t\t\tAccountId:   pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Made by Pulumi\"),\n\t\t\tProfileConfig: \u0026cloudngfwaws.RulestackProfileConfigArgs{\n\t\t\t\tAntiSpyware: pulumi.String(\"BestPractice\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = cloudngfwaws.LookupPrefixListOutput(ctx, cloudngfwaws.GetPrefixListOutputArgs{\n\t\t\tRulestack: r.Name,\n\t\t\tName:      pulumi.String(\"foobar\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.Rulestack;\nimport com.pulumi.cloudngfwaws.RulestackArgs;\nimport com.pulumi.cloudngfwaws.inputs.RulestackProfileConfigArgs;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r = new Rulestack(\"r\", RulestackArgs.builder()\n            .name(\"my-rulestack\")\n            .scope(\"Local\")\n            .accountId(\"12345\")\n            .description(\"Made by Pulumi\")\n            .profileConfig(RulestackProfileConfigArgs.builder()\n                .antiSpyware(\"BestPractice\")\n                .build())\n            .build());\n\n        final var example = CloudngfwawsFunctions.getPrefixList(GetPrefixListArgs.builder()\n            .rulestack(r.name())\n            .name(\"foobar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: my-rulestack\n      scope: Local\n      accountId: '12345'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getPrefixList\n      arguments:\n        rulestack: ${r.name}\n        name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPrefixList.\n","properties":{"configType":{"type":"string","description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"type":"object","required":["name","rulestack"]},"outputs":{"description":"A collection of values returned by getPrefixList.\n","properties":{"auditComment":{"description":"The audit comment.\n","type":"string"},"configType":{"description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n","type":"string"},"description":{"description":"The description.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name.\n","type":"string"},"prefixLists":{"description":"The prefix list.\n","items":{"type":"string"},"type":"array"},"rulestack":{"description":"The rulestack.\n","type":"string"},"scope":{"description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","type":"string"},"updateToken":{"description":"The update token.\n","type":"string"}},"required":["auditComment","description","name","prefixLists","rulestack","updateToken","id"],"type":"object"}},"cloudngfwaws:index/getRulestack:getRulestack":{"description":"Data source for retrieving rulestack information.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudngfwaws from \"@pulumi/cloudngfwaws\";\n\nconst example = cloudngfwaws.getRulestack({\n    name: \"my-rulestack-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudngfwaws as cloudngfwaws\n\nexample = cloudngfwaws.get_rulestack(name=\"my-rulestack-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudNgfwAws = Pulumi.CloudNgfwAws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = CloudNgfwAws.GetRulestack.Invoke(new()\n    {\n        Name = \"my-rulestack-name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudngfwaws/sdk/go/cloudngfwaws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudngfwaws.LookupRulestack(ctx, \u0026cloudngfwaws.LookupRulestackArgs{\n\t\t\tName: \"my-rulestack-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudngfwaws.CloudngfwawsFunctions;\nimport com.pulumi.cloudngfwaws.inputs.GetRulestackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CloudngfwawsFunctions.getRulestack(GetRulestackArgs.builder()\n            .name(\"my-rulestack-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getRulestack\n      arguments:\n        name: my-rulestack-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRulestack.\n","properties":{"configType":{"type":"string","description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRulestack.\n","properties":{"accountGroup":{"description":"Account group.\n","type":"string"},"accountId":{"description":"The account ID.\n","type":"string"},"configType":{"description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n","type":"string"},"description":{"description":"The description.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lookupXForwardedFor":{"description":"Lookup x forwarded for.\n","type":"string"},"minimumAppIdVersion":{"description":"Minimum App-ID version number.\n","type":"string"},"name":{"description":"The name.\n","type":"string"},"profileConfigs":{"items":{"$ref":"#/types/cloudngfwaws:index/getRulestackProfileConfig:getRulestackProfileConfig"},"type":"array"},"scope":{"description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","type":"string"},"state":{"description":"The rulestack state.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags.\n","type":"object"}},"required":["accountGroup","accountId","description","lookupXForwardedFor","minimumAppIdVersion","name","profileConfigs","state","tags","id"],"type":"object"}},"cloudngfwaws:index/getSecurityRule:getSecurityRule":{"description":"Data source for retrieving security rule information.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  r:\n    type: cloudngfwaws:Rulestack\n    properties:\n      name: my-rulestack\n      scope: Local\n      accountId: '12345'\n      description: Made by Pulumi\n      profileConfig:\n        antiSpyware: BestPractice\nvariables:\n  example:\n    fn::invoke:\n      function: cloudngfwaws:getSecurityRule\n      arguments:\n        rulestack: ${r.name}\n        name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecurityRule.\n","properties":{"configType":{"type":"string","description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The rule priority.\n","willReplaceOnChanges":true},"ruleList":{"type":"string","description":"The rulebase. Valid values are `PreRule`, `PostRule`, or `LocalRule`. Defaults to `PreRule`.\n","willReplaceOnChanges":true},"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"type":"object","required":["priority","rulestack"]},"outputs":{"description":"A collection of values returned by getSecurityRule.\n","properties":{"action":{"description":"The action to take. Valid values are `Allow`, `DenySilent`, `DenyResetServer`, or `DenyResetBoth`.\n","type":"string"},"applications":{"description":"The list of applications.\n","items":{"type":"string"},"type":"array"},"auditComment":{"description":"The audit comment.\n","type":"string"},"categories":{"description":"The category spec.\n","items":{"$ref":"#/types/cloudngfwaws:index/getSecurityRuleCategory:getSecurityRuleCategory"},"type":"array"},"configType":{"description":"Retrieve either the candidate or running config. Valid values are \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`candidate`\" pulumi-lang-dotnet=\"`Candidate`\" pulumi-lang-go=\"`candidate`\" pulumi-lang-python=\"`candidate`\" pulumi-lang-yaml=\"`candidate`\" pulumi-lang-java=\"`candidate`\"\u003e`candidate`\u003c/span\u003e.\n","type":"string"},"decryptionRuleType":{"description":"Decryption rule type. Valid values are `\u003cspan pulumi-lang-nodejs=\"`or`\" pulumi-lang-dotnet=\"`Or`\" pulumi-lang-go=\"`or`\" pulumi-lang-python=\"`or`\" pulumi-lang-yaml=\"`or`\" pulumi-lang-java=\"`or`\"\u003e`or`\u003c/span\u003eSSLOutboundInspection`.\n","type":"string"},"description":{"description":"The description.\n","type":"string"},"destinations":{"description":"The destination spec.\n","items":{"$ref":"#/types/cloudngfwaws:index/getSecurityRuleDestination:getSecurityRuleDestination"},"type":"array"},"enabled":{"description":"Set to false to disable this rule.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"logging":{"description":"Enable logging at end.\n","type":"boolean"},"name":{"description":"The name.\n","type":"string"},"negateDestination":{"description":"Negate the destination definition.\n","type":"boolean"},"negateSource":{"description":"Negate the source definition.\n","type":"boolean"},"priority":{"description":"The rule priority.\n","type":"integer"},"protPortLists":{"description":"Protocol port list.\n","items":{"type":"string"},"type":"array"},"protocol":{"description":"The protocol.\n","type":"string"},"ruleList":{"description":"The rulebase. Valid values are `PreRule`, `PostRule`, or `LocalRule`. Defaults to `PreRule`.\n","type":"string"},"rulestack":{"description":"The rulestack.\n","type":"string"},"scope":{"description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","type":"string"},"sources":{"description":"The source spec.\n","items":{"$ref":"#/types/cloudngfwaws:index/getSecurityRuleSource:getSecurityRuleSource"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags.\n","type":"object"},"updateToken":{"description":"The update token.\n","type":"string"}},"required":["action","applications","auditComment","categories","decryptionRuleType","description","destinations","enabled","logging","name","negateDestination","negateSource","priority","protPortLists","protocol","rulestack","sources","tags","updateToken","id"],"type":"object"}},"cloudngfwaws:index/getValidateRulestack:getValidateRulestack":{"description":"Data source to validate the rulestack config.\n\n\n## Admin Permission Type\n\n* `Rulestack` (for `scope=\"Local\"`)\n* `Global Rulestack` (for `scope=\"Global\"`)\n","inputs":{"description":"A collection of arguments for invoking getValidateRulestack.\n","properties":{"rulestack":{"type":"string","description":"The rulestack.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","willReplaceOnChanges":true}},"type":"object","required":["rulestack"]},"outputs":{"description":"A collection of values returned by getValidateRulestack.\n","properties":{"commitErrors":{"description":"Commit error messages.\n","items":{"type":"string"},"type":"array"},"commitStatus":{"description":"The commit status.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"rulestack":{"description":"The rulestack.\n","type":"string"},"scope":{"description":"The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.\n","type":"string"},"state":{"description":"The rulestack state.\n","type":"string"},"validationErrors":{"description":"Validation error messages.\n","items":{"type":"string"},"type":"array"},"validationStatus":{"description":"The validation status.\n","type":"string"}},"required":["commitErrors","commitStatus","rulestack","state","validationErrors","validationStatus","id"],"type":"object"}},"pulumi:providers:cloudngfwaws/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:cloudngfwaws/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}