import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Waas Policy resource in Oracle Cloud Infrastructure Web Application Acceleration and Security service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/waas/latest/WaasPolicy * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/web_application_acceleration_and_security * * Creates a new Web Application Acceleration and Security (WAAS) policy in the specified compartment. A WAAS policy must be established before creating Web Application Firewall (WAF) rules. To use WAF rules, your web application's origin servers must defined in the `WaasPolicy` schema. * * A domain name must be specified when creating a WAAS policy. The domain name should be different from the origins specified in your `WaasPolicy`. Once domain name is entered and stored, it is unchangeable. * * Use the record data returned in the `cname` field of the `WaasPolicy` object to create a CNAME record in your DNS configuration that will direct your domain's traffic through the WAF. * * For the purposes of access control, you must provide the OCID of the compartment where you want the service to reside. For information about access control and compartments, see [Overview of the IAM Service](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/overview.htm). * * You must specify a display name and domain for the WAAS policy. The display name does not have to be unique and can be changed. The domain name should be different from every origin specified in `WaasPolicy`. * * All Oracle Cloud Infrastructure resources, including WAAS policies, receive a unique, Oracle-assigned ID called an Oracle Cloud Identifier (OCID). When a resource is created, you can find its OCID in the response. You can also retrieve a resource's OCID by using a list API operation for that resource type, or by viewing the resource in the Console. Fore more information, see [Resource Identifiers](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * * **Note:** After sending the POST request, the new object's state will temporarily be `CREATING`. Ensure that the resource's state has changed to `ACTIVE` before use. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testWaasPolicy = new oci.waas.Policy("test_waas_policy", { * compartmentId: compartmentId, * domain: waasPolicyDomain, * additionalDomains: waasPolicyAdditionalDomains, * definedTags: { * "Operations.CostCenter": "42", * }, * displayName: waasPolicyDisplayName, * freeformTags: { * Department: "Finance", * }, * originGroups: [{ * origins: waasPolicyOriginGroupsOrigins, * }], * origins: [{ * uri: waasPolicyOriginsUri, * customHeaders: [{ * name: waasPolicyOriginsCustomHeadersName, * value: waasPolicyOriginsCustomHeadersValue, * }], * httpPort: Number(waasPolicyOriginsHttpPort), * httpsPort: Number(waasPolicyOriginsHttpsPort), * }], * policyConfig: { * certificateId: testCertificate.id, * cipherGroup: waasPolicyPolicyConfigCipherGroup, * clientAddressHeader: waasPolicyPolicyConfigClientAddressHeader, * healthChecks: { * expectedResponseCodeGroups: waasPolicyPolicyConfigHealthChecksExpectedResponseCodeGroup, * expectedResponseText: waasPolicyPolicyConfigHealthChecksExpectedResponseText, * headers: waasPolicyPolicyConfigHealthChecksHeaders, * healthyThreshold: Number(waasPolicyPolicyConfigHealthChecksHealthyThreshold), * intervalInSeconds: Number(waasPolicyPolicyConfigHealthChecksIntervalInSeconds), * isEnabled: waasPolicyPolicyConfigHealthChecksIsEnabled === "true", * isResponseTextCheckEnabled: waasPolicyPolicyConfigHealthChecksIsResponseTextCheckEnabled === "true", * method: waasPolicyPolicyConfigHealthChecksMethod, * path: waasPolicyPolicyConfigHealthChecksPath, * timeoutInSeconds: Number(waasPolicyPolicyConfigHealthChecksTimeoutInSeconds), * unhealthyThreshold: Number(waasPolicyPolicyConfigHealthChecksUnhealthyThreshold), * }, * isBehindCdn: waasPolicyPolicyConfigIsBehindCdn === "true", * isCacheControlRespected: waasPolicyPolicyConfigIsCacheControlRespected === "true", * isHttpsEnabled: waasPolicyPolicyConfigIsHttpsEnabled === "true", * isHttpsForced: waasPolicyPolicyConfigIsHttpsForced === "true", * isOriginCompressionEnabled: waasPolicyPolicyConfigIsOriginCompressionEnabled === "true", * isResponseBufferingEnabled: waasPolicyPolicyConfigIsResponseBufferingEnabled === "true", * isSniEnabled: waasPolicyPolicyConfigIsSniEnabled === "true", * loadBalancingMethod: { * method: waasPolicyPolicyConfigLoadBalancingMethodMethod, * domain: waasPolicyPolicyConfigLoadBalancingMethodDomain, * expirationTimeInSeconds: Number(waasPolicyPolicyConfigLoadBalancingMethodExpirationTimeInSeconds), * name: waasPolicyPolicyConfigLoadBalancingMethodName, * }, * tlsProtocols: waasPolicyPolicyConfigTlsProtocols, * websocketPathPrefixes: waasPolicyPolicyConfigWebsocketPathPrefixes, * }, * wafConfig: { * accessRules: [{ * action: waasPolicyWafConfigAccessRulesAction, * criterias: [{ * condition: waasPolicyWafConfigAccessRulesCriteriaCondition, * value: waasPolicyWafConfigAccessRulesCriteriaValue, * isCaseSensitive: waasPolicyWafConfigAccessRulesCriteriaIsCaseSensitive === "true", * }], * name: waasPolicyWafConfigAccessRulesName, * blockAction: waasPolicyWafConfigAccessRulesBlockAction, * blockErrorPageCode: waasPolicyWafConfigAccessRulesBlockErrorPageCode, * blockErrorPageDescription: waasPolicyWafConfigAccessRulesBlockErrorPageDescription, * blockErrorPageMessage: waasPolicyWafConfigAccessRulesBlockErrorPageMessage, * blockResponseCode: Number(waasPolicyWafConfigAccessRulesBlockResponseCode), * bypassChallenges: waasPolicyWafConfigAccessRulesBypassChallenges, * captchaFooter: waasPolicyWafConfigAccessRulesCaptchaFooter, * captchaHeader: waasPolicyWafConfigAccessRulesCaptchaHeader, * captchaSubmitLabel: waasPolicyWafConfigAccessRulesCaptchaSubmitLabel, * captchaTitle: waasPolicyWafConfigAccessRulesCaptchaTitle, * redirectResponseCode: waasPolicyWafConfigAccessRulesRedirectResponseCode, * redirectUrl: waasPolicyWafConfigAccessRulesRedirectUrl, * responseHeaderManipulations: [{ * action: waasPolicyWafConfigAccessRulesResponseHeaderManipulationAction, * header: waasPolicyWafConfigAccessRulesResponseHeaderManipulationHeader, * value: waasPolicyWafConfigAccessRulesResponseHeaderManipulationValue, * }], * }], * addressRateLimiting: { * isEnabled: waasPolicyWafConfigAddressRateLimitingIsEnabled === "true", * allowedRatePerAddress: Number(waasPolicyWafConfigAddressRateLimitingAllowedRatePerAddress), * blockResponseCode: Number(waasPolicyWafConfigAddressRateLimitingBlockResponseCode), * maxDelayedCountPerAddress: Number(waasPolicyWafConfigAddressRateLimitingMaxDelayedCountPerAddress), * }, * cachingRules: [{ * action: waasPolicyWafConfigCachingRulesAction, * criterias: [{ * condition: waasPolicyWafConfigCachingRulesCriteriaCondition, * value: waasPolicyWafConfigCachingRulesCriteriaValue, * }], * name: waasPolicyWafConfigCachingRulesName, * cachingDuration: waasPolicyWafConfigCachingRulesCachingDuration, * clientCachingDuration: waasPolicyWafConfigCachingRulesClientCachingDuration, * isClientCachingEnabled: waasPolicyWafConfigCachingRulesIsClientCachingEnabled === "true", * key: waasPolicyWafConfigCachingRulesKey, * }], * captchas: [{ * failureMessage: waasPolicyWafConfigCaptchasFailureMessage, * sessionExpirationInSeconds: Number(waasPolicyWafConfigCaptchasSessionExpirationInSeconds), * submitLabel: waasPolicyWafConfigCaptchasSubmitLabel, * title: waasPolicyWafConfigCaptchasTitle, * url: waasPolicyWafConfigCaptchasUrl, * footerText: waasPolicyWafConfigCaptchasFooterText, * headerText: waasPolicyWafConfigCaptchasHeaderText, * }], * customProtectionRules: [{ * action: waasPolicyWafConfigCustomProtectionRulesAction, * exclusions: [{ * exclusions: waasPolicyWafConfigCustomProtectionRulesExclusionsExclusions, * target: waasPolicyWafConfigCustomProtectionRulesExclusionsTarget, * }], * id: waasPolicyWafConfigCustomProtectionRulesId, * }], * deviceFingerprintChallenge: { * isEnabled: waasPolicyWafConfigDeviceFingerprintChallengeIsEnabled === "true", * action: waasPolicyWafConfigDeviceFingerprintChallengeAction, * actionExpirationInSeconds: Number(waasPolicyWafConfigDeviceFingerprintChallengeActionExpirationInSeconds), * challengeSettings: { * blockAction: waasPolicyWafConfigDeviceFingerprintChallengeChallengeSettingsBlockAction, * blockErrorPageCode: waasPolicyWafConfigDeviceFingerprintChallengeChallengeSettingsBlockErrorPageCode, * blockErrorPageDescription: waasPolicyWafConfigDeviceFingerprintChallengeChallengeSettingsBlockErrorPageDescription, * blockErrorPageMessage: waasPolicyWafConfigDeviceFingerprintChallengeChallengeSettingsBlockErrorPageMessage, * blockResponseCode: Number(waasPolicyWafConfigDeviceFingerprintChallengeChallengeSettingsBlockResponseCode), * captchaFooter: waasPolicyWafConfigDeviceFingerprintChallengeChallengeSettingsCaptchaFooter, * captchaHeader: waasPolicyWafConfigDeviceFingerprintChallengeChallengeSettingsCaptchaHeader, * captchaSubmitLabel: waasPolicyWafConfigDeviceFingerprintChallengeChallengeSettingsCaptchaSubmitLabel, * captchaTitle: waasPolicyWafConfigDeviceFingerprintChallengeChallengeSettingsCaptchaTitle, * }, * failureThreshold: Number(waasPolicyWafConfigDeviceFingerprintChallengeFailureThreshold), * failureThresholdExpirationInSeconds: Number(waasPolicyWafConfigDeviceFingerprintChallengeFailureThresholdExpirationInSeconds), * maxAddressCount: Number(waasPolicyWafConfigDeviceFingerprintChallengeMaxAddressCount), * maxAddressCountExpirationInSeconds: Number(waasPolicyWafConfigDeviceFingerprintChallengeMaxAddressCountExpirationInSeconds), * }, * humanInteractionChallenge: { * isEnabled: waasPolicyWafConfigHumanInteractionChallengeIsEnabled === "true", * action: waasPolicyWafConfigHumanInteractionChallengeAction, * actionExpirationInSeconds: Number(waasPolicyWafConfigHumanInteractionChallengeActionExpirationInSeconds), * challengeSettings: { * blockAction: waasPolicyWafConfigHumanInteractionChallengeChallengeSettingsBlockAction, * blockErrorPageCode: waasPolicyWafConfigHumanInteractionChallengeChallengeSettingsBlockErrorPageCode, * blockErrorPageDescription: waasPolicyWafConfigHumanInteractionChallengeChallengeSettingsBlockErrorPageDescription, * blockErrorPageMessage: waasPolicyWafConfigHumanInteractionChallengeChallengeSettingsBlockErrorPageMessage, * blockResponseCode: Number(waasPolicyWafConfigHumanInteractionChallengeChallengeSettingsBlockResponseCode), * captchaFooter: waasPolicyWafConfigHumanInteractionChallengeChallengeSettingsCaptchaFooter, * captchaHeader: waasPolicyWafConfigHumanInteractionChallengeChallengeSettingsCaptchaHeader, * captchaSubmitLabel: waasPolicyWafConfigHumanInteractionChallengeChallengeSettingsCaptchaSubmitLabel, * captchaTitle: waasPolicyWafConfigHumanInteractionChallengeChallengeSettingsCaptchaTitle, * }, * failureThreshold: Number(waasPolicyWafConfigHumanInteractionChallengeFailureThreshold), * failureThresholdExpirationInSeconds: Number(waasPolicyWafConfigHumanInteractionChallengeFailureThresholdExpirationInSeconds), * interactionThreshold: Number(waasPolicyWafConfigHumanInteractionChallengeInteractionThreshold), * isNatEnabled: waasPolicyWafConfigHumanInteractionChallengeIsNatEnabled === "true", * recordingPeriodInSeconds: Number(waasPolicyWafConfigHumanInteractionChallengeRecordingPeriodInSeconds), * setHttpHeader: { * name: waasPolicyWafConfigHumanInteractionChallengeSetHttpHeaderName, * value: waasPolicyWafConfigHumanInteractionChallengeSetHttpHeaderValue, * }, * }, * jsChallenge: { * isEnabled: waasPolicyWafConfigJsChallengeIsEnabled === "true", * action: waasPolicyWafConfigJsChallengeAction, * actionExpirationInSeconds: Number(waasPolicyWafConfigJsChallengeActionExpirationInSeconds), * areRedirectsChallenged: waasPolicyWafConfigJsChallengeAreRedirectsChallenged === "true", * challengeSettings: { * blockAction: waasPolicyWafConfigJsChallengeChallengeSettingsBlockAction, * blockErrorPageCode: waasPolicyWafConfigJsChallengeChallengeSettingsBlockErrorPageCode, * blockErrorPageDescription: waasPolicyWafConfigJsChallengeChallengeSettingsBlockErrorPageDescription, * blockErrorPageMessage: waasPolicyWafConfigJsChallengeChallengeSettingsBlockErrorPageMessage, * blockResponseCode: Number(waasPolicyWafConfigJsChallengeChallengeSettingsBlockResponseCode), * captchaFooter: waasPolicyWafConfigJsChallengeChallengeSettingsCaptchaFooter, * captchaHeader: waasPolicyWafConfigJsChallengeChallengeSettingsCaptchaHeader, * captchaSubmitLabel: waasPolicyWafConfigJsChallengeChallengeSettingsCaptchaSubmitLabel, * captchaTitle: waasPolicyWafConfigJsChallengeChallengeSettingsCaptchaTitle, * }, * criterias: [{ * condition: waasPolicyWafConfigJsChallengeCriteriaCondition, * value: waasPolicyWafConfigJsChallengeCriteriaValue, * isCaseSensitive: waasPolicyWafConfigJsChallengeCriteriaIsCaseSensitive === "true", * }], * failureThreshold: Number(waasPolicyWafConfigJsChallengeFailureThreshold), * isNatEnabled: waasPolicyWafConfigJsChallengeIsNatEnabled === "true", * setHttpHeader: { * name: waasPolicyWafConfigJsChallengeSetHttpHeaderName, * value: waasPolicyWafConfigJsChallengeSetHttpHeaderValue, * }, * }, * origin: waasPolicyWafConfigOrigin, * originGroups: waasPolicyWafConfigOriginGroups, * protectionSettings: { * allowedHttpMethods: waasPolicyWafConfigProtectionSettingsAllowedHttpMethods, * blockAction: waasPolicyWafConfigProtectionSettingsBlockAction, * blockErrorPageCode: waasPolicyWafConfigProtectionSettingsBlockErrorPageCode, * blockErrorPageDescription: waasPolicyWafConfigProtectionSettingsBlockErrorPageDescription, * blockErrorPageMessage: waasPolicyWafConfigProtectionSettingsBlockErrorPageMessage, * blockResponseCode: Number(waasPolicyWafConfigProtectionSettingsBlockResponseCode), * isResponseInspected: waasPolicyWafConfigProtectionSettingsIsResponseInspected === "true", * maxArgumentCount: Number(waasPolicyWafConfigProtectionSettingsMaxArgumentCount), * maxNameLengthPerArgument: Number(waasPolicyWafConfigProtectionSettingsMaxNameLengthPerArgument), * maxResponseSizeInKiB: Number(waasPolicyWafConfigProtectionSettingsMaxResponseSizeInKiB), * maxTotalNameLengthOfArguments: Number(waasPolicyWafConfigProtectionSettingsMaxTotalNameLengthOfArguments), * mediaTypes: waasPolicyWafConfigProtectionSettingsMediaTypes, * recommendationsPeriodInDays: Number(waasPolicyWafConfigProtectionSettingsRecommendationsPeriodInDays), * }, * whitelists: [{ * name: waasPolicyWafConfigWhitelistsName, * addressLists: waasPolicyWafConfigWhitelistsAddressLists, * addresses: waasPolicyWafConfigWhitelistsAddresses, * }], * }, * }); * ``` * * ## Import * * WaasPolicies can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:Waas/policy:Policy test_waas_policy "id" * ``` */ export declare class Policy extends pulumi.CustomResource { /** * Get an existing Policy resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: PolicyState, opts?: pulumi.CustomResourceOptions): Policy; /** * Returns true if the given object is an instance of Policy. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Policy; /** * (Updatable) An array of additional domains for the specified web application. */ readonly additionalDomains: pulumi.Output; /** * The CNAME record to add to your DNS configuration to route traffic for the domain, and all additional domains, through the WAF. */ readonly cname: pulumi.Output; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to create the WAAS policy. */ readonly compartmentId: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) A user-friendly name for the WAAS policy. The name can be changed and does not need to be unique. */ readonly displayName: pulumi.Output; /** * The web application domain that the WAAS policy protects. */ readonly domain: pulumi.Output; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) The map of origin groups and their keys used to associate origins to the `wafConfig`. Origin groups allow you to apply weights to groups of origins for load balancing purposes. Origins with higher weights will receive larger proportions of client requests. To add additional origins to your WAAS policy, update the `origins` field of a `UpdateWaasPolicy` request. */ readonly originGroups: pulumi.Output; /** * (Updatable) A map of host to origin for the web application. The key should be a customer friendly name for the host, ex. primary, secondary, etc. */ readonly origins: pulumi.Output; /** * (Updatable) The configuration details for the WAAS policy. */ readonly policyConfig: pulumi.Output; /** * The current lifecycle state of the WAAS policy. */ readonly state: pulumi.Output; /** * The date and time the policy was created, expressed in RFC 3339 timestamp format. */ readonly timeCreated: pulumi.Output; /** * (Updatable) The Web Application Firewall configuration for the WAAS policy creation. */ readonly wafConfig: pulumi.Output; /** * Create a Policy resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: PolicyArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Policy resources. */ export interface PolicyState { /** * (Updatable) An array of additional domains for the specified web application. */ additionalDomains?: pulumi.Input[] | undefined>; /** * The CNAME record to add to your DNS configuration to route traffic for the domain, and all additional domains, through the WAF. */ cname?: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to create the WAAS policy. */ compartmentId?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A user-friendly name for the WAAS policy. The name can be changed and does not need to be unique. */ displayName?: pulumi.Input; /** * The web application domain that the WAAS policy protects. */ domain?: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The map of origin groups and their keys used to associate origins to the `wafConfig`. Origin groups allow you to apply weights to groups of origins for load balancing purposes. Origins with higher weights will receive larger proportions of client requests. To add additional origins to your WAAS policy, update the `origins` field of a `UpdateWaasPolicy` request. */ originGroups?: pulumi.Input[] | undefined>; /** * (Updatable) A map of host to origin for the web application. The key should be a customer friendly name for the host, ex. primary, secondary, etc. */ origins?: pulumi.Input[] | undefined>; /** * (Updatable) The configuration details for the WAAS policy. */ policyConfig?: pulumi.Input; /** * The current lifecycle state of the WAAS policy. */ state?: pulumi.Input; /** * The date and time the policy was created, expressed in RFC 3339 timestamp format. */ timeCreated?: pulumi.Input; /** * (Updatable) The Web Application Firewall configuration for the WAAS policy creation. */ wafConfig?: pulumi.Input; } /** * The set of arguments for constructing a Policy resource. */ export interface PolicyArgs { /** * (Updatable) An array of additional domains for the specified web application. */ additionalDomains?: pulumi.Input[] | undefined>; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to create the WAAS policy. */ compartmentId: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A user-friendly name for the WAAS policy. The name can be changed and does not need to be unique. */ displayName?: pulumi.Input; /** * The web application domain that the WAAS policy protects. */ domain: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The map of origin groups and their keys used to associate origins to the `wafConfig`. Origin groups allow you to apply weights to groups of origins for load balancing purposes. Origins with higher weights will receive larger proportions of client requests. To add additional origins to your WAAS policy, update the `origins` field of a `UpdateWaasPolicy` request. */ originGroups?: pulumi.Input[] | undefined>; /** * (Updatable) A map of host to origin for the web application. The key should be a customer friendly name for the host, ex. primary, secondary, etc. */ origins?: pulumi.Input[] | undefined>; /** * (Updatable) The configuration details for the WAAS policy. */ policyConfig?: pulumi.Input; /** * (Updatable) The Web Application Firewall configuration for the WAAS policy creation. */ wafConfig?: pulumi.Input; } //# sourceMappingURL=policy.d.ts.map