import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface WaapCustomRuleConfig extends cdktf.TerraformMetaArguments { /** * The description assigned to the rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#description WaapCustomRule#description} */ readonly description?: string; /** * The WAAP domain ID for which the Custom Rule is configured. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#domain_id WaapCustomRule#domain_id} */ readonly domainId: number; /** * Whether the rule is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#enabled WaapCustomRule#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#id WaapCustomRule#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * The name assigned to the rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#name WaapCustomRule#name} */ readonly name: string; /** * action block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#action WaapCustomRule#action} */ readonly action: WaapCustomRuleAction; /** * conditions block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#conditions WaapCustomRule#conditions} */ readonly conditions: WaapCustomRuleConditions; } export interface WaapCustomRuleActionBlock { /** * How long a rule's block action will apply to subsequent requests. Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or 'd' to represent time format (seconds, minutes, hours, or days). Example: 12h. Must match the pattern ^[0-9]*[smhd]?$ * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#action_duration WaapCustomRule#action_duration} */ readonly actionDuration?: string; /** * A custom HTTP status code that the WAAP returns if a rule blocks a request. It must be one of these values {403, 405, 418, 429}. Default is 403. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#status_code WaapCustomRule#status_code} */ readonly statusCode?: number; } export declare function waapCustomRuleActionBlockToTerraform(struct?: WaapCustomRuleActionBlockOutputReference | WaapCustomRuleActionBlock): any; export declare function waapCustomRuleActionBlockToHclTerraform(struct?: WaapCustomRuleActionBlockOutputReference | WaapCustomRuleActionBlock): any; export declare class WaapCustomRuleActionBlockOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): WaapCustomRuleActionBlock | undefined; set internalValue(value: WaapCustomRuleActionBlock | undefined); private _actionDuration?; get actionDuration(): string; set actionDuration(value: string); resetActionDuration(): void; get actionDurationInput(): string; private _statusCode?; get statusCode(): number; set statusCode(value: number); resetStatusCode(): void; get statusCodeInput(): number; } export interface WaapCustomRuleActionTag { /** * The list of user defined tags to tag the request with. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#tags WaapCustomRule#tags} */ readonly tags: string[]; } export declare function waapCustomRuleActionTagToTerraform(struct?: WaapCustomRuleActionTagOutputReference | WaapCustomRuleActionTag): any; export declare function waapCustomRuleActionTagToHclTerraform(struct?: WaapCustomRuleActionTagOutputReference | WaapCustomRuleActionTag): any; export declare class WaapCustomRuleActionTagOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): WaapCustomRuleActionTag | undefined; set internalValue(value: WaapCustomRuleActionTag | undefined); private _tags?; get tags(): string[]; set tags(value: string[]); get tagsInput(): string[]; } export interface WaapCustomRuleAction { /** * The WAAP allows the request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#allow WaapCustomRule#allow} */ readonly allow?: boolean | cdktf.IResolvable; /** * The WAAP requires the user to solve a CAPTCHA challenge. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#captcha WaapCustomRule#captcha} */ readonly captcha?: boolean | cdktf.IResolvable; /** * The WAAP performs automatic browser validation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#handshake WaapCustomRule#handshake} */ readonly handshake?: boolean | cdktf.IResolvable; /** * The WAAP monitors the request but took no action. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#monitor WaapCustomRule#monitor} */ readonly monitor?: boolean | cdktf.IResolvable; /** * block block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#block WaapCustomRule#block} */ readonly block?: WaapCustomRuleActionBlock; /** * tag block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#tag WaapCustomRule#tag} */ readonly tag?: WaapCustomRuleActionTag; } export declare function waapCustomRuleActionToTerraform(struct?: WaapCustomRuleActionOutputReference | WaapCustomRuleAction): any; export declare function waapCustomRuleActionToHclTerraform(struct?: WaapCustomRuleActionOutputReference | WaapCustomRuleAction): any; export declare class WaapCustomRuleActionOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): WaapCustomRuleAction | undefined; set internalValue(value: WaapCustomRuleAction | undefined); private _allow?; get allow(): boolean | cdktf.IResolvable; set allow(value: boolean | cdktf.IResolvable); resetAllow(): void; get allowInput(): any; private _captcha?; get captcha(): boolean | cdktf.IResolvable; set captcha(value: boolean | cdktf.IResolvable); resetCaptcha(): void; get captchaInput(): any; private _handshake?; get handshake(): boolean | cdktf.IResolvable; set handshake(value: boolean | cdktf.IResolvable); resetHandshake(): void; get handshakeInput(): any; private _monitor?; get monitor(): boolean | cdktf.IResolvable; set monitor(value: boolean | cdktf.IResolvable); resetMonitor(): void; get monitorInput(): any; private _block; get block(): WaapCustomRuleActionBlockOutputReference; putBlock(value: WaapCustomRuleActionBlock): void; resetBlock(): void; get blockInput(): WaapCustomRuleActionBlock; private _tag; get tag(): WaapCustomRuleActionTagOutputReference; putTag(value: WaapCustomRuleActionTag): void; resetTag(): void; get tagInput(): WaapCustomRuleActionTag; } export interface WaapCustomRuleConditionsContentType { /** * The list of content types to match against. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#content_type WaapCustomRule#content_type} */ readonly contentType: string[]; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; } export declare function waapCustomRuleConditionsContentTypeToTerraform(struct?: WaapCustomRuleConditionsContentType | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsContentTypeToHclTerraform(struct?: WaapCustomRuleConditionsContentType | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsContentTypeOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsContentType | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsContentType | cdktf.IResolvable | undefined); private _contentType?; get contentType(): string[]; set contentType(value: string[]); get contentTypeInput(): string[]; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; } export declare class WaapCustomRuleConditionsContentTypeList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsContentType[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsContentTypeOutputReference; } export interface WaapCustomRuleConditionsCountry { /** * A list of ISO 3166-1 alpha-2 formatted strings representing the countries to match against. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#country_code WaapCustomRule#country_code} */ readonly countryCode: string[]; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; } export declare function waapCustomRuleConditionsCountryToTerraform(struct?: WaapCustomRuleConditionsCountry | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsCountryToHclTerraform(struct?: WaapCustomRuleConditionsCountry | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsCountryOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsCountry | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsCountry | cdktf.IResolvable | undefined); private _countryCode?; get countryCode(): string[]; set countryCode(value: string[]); get countryCodeInput(): string[]; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; } export declare class WaapCustomRuleConditionsCountryList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsCountry[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsCountryOutputReference; } export interface WaapCustomRuleConditionsFileExtension { /** * The list of file extensions to match against. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#file_extension WaapCustomRule#file_extension} */ readonly fileExtension: string[]; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; } export declare function waapCustomRuleConditionsFileExtensionToTerraform(struct?: WaapCustomRuleConditionsFileExtension | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsFileExtensionToHclTerraform(struct?: WaapCustomRuleConditionsFileExtension | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsFileExtensionOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsFileExtension | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsFileExtension | cdktf.IResolvable | undefined); private _fileExtension?; get fileExtension(): string[]; set fileExtension(value: string[]); get fileExtensionInput(): string[]; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; } export declare class WaapCustomRuleConditionsFileExtensionList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsFileExtension[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsFileExtensionOutputReference; } export interface WaapCustomRuleConditionsHeader { /** * The request header name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#header WaapCustomRule#header} */ readonly header: string; /** * The type of matching condition. Valid values are 'Exact', 'Contains'. Default is 'Contains'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#match_type WaapCustomRule#match_type} */ readonly matchType?: string; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * The request header value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#value WaapCustomRule#value} */ readonly value: string; } export declare function waapCustomRuleConditionsHeaderToTerraform(struct?: WaapCustomRuleConditionsHeader | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsHeaderToHclTerraform(struct?: WaapCustomRuleConditionsHeader | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsHeader | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsHeader | cdktf.IResolvable | undefined); private _header?; get header(): string; set header(value: string); get headerInput(): string; private _matchType?; get matchType(): string; set matchType(value: string); resetMatchType(): void; get matchTypeInput(): string; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _value?; get value(): string; set value(value: string); get valueInput(): string; } export declare class WaapCustomRuleConditionsHeaderList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsHeader[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsHeaderOutputReference; } export interface WaapCustomRuleConditionsHeaderExists { /** * The request header name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#header WaapCustomRule#header} */ readonly header: string; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; } export declare function waapCustomRuleConditionsHeaderExistsToTerraform(struct?: WaapCustomRuleConditionsHeaderExists | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsHeaderExistsToHclTerraform(struct?: WaapCustomRuleConditionsHeaderExists | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsHeaderExistsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsHeaderExists | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsHeaderExists | cdktf.IResolvable | undefined); private _header?; get header(): string; set header(value: string); get headerInput(): string; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; } export declare class WaapCustomRuleConditionsHeaderExistsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsHeaderExists[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsHeaderExistsOutputReference; } export interface WaapCustomRuleConditionsHttpMethod { /** * The HTTP method to match against. Valid values are 'CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', and 'TRACE'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#http_method WaapCustomRule#http_method} */ readonly httpMethod: string; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; } export declare function waapCustomRuleConditionsHttpMethodToTerraform(struct?: WaapCustomRuleConditionsHttpMethod | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsHttpMethodToHclTerraform(struct?: WaapCustomRuleConditionsHttpMethod | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsHttpMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsHttpMethod | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsHttpMethod | cdktf.IResolvable | undefined); private _httpMethod?; get httpMethod(): string; set httpMethod(value: string); get httpMethodInput(): string; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; } export declare class WaapCustomRuleConditionsHttpMethodList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsHttpMethod[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsHttpMethodOutputReference; } export interface WaapCustomRuleConditionsIp { /** * A single IPv4 or IPv6 address * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#ip_address WaapCustomRule#ip_address} */ readonly ipAddress: string; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; } export declare function waapCustomRuleConditionsIpToTerraform(struct?: WaapCustomRuleConditionsIp | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsIpToHclTerraform(struct?: WaapCustomRuleConditionsIp | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsIpOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsIp | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsIp | cdktf.IResolvable | undefined); private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); get ipAddressInput(): string; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; } export declare class WaapCustomRuleConditionsIpList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsIp[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsIpOutputReference; } export interface WaapCustomRuleConditionsIpRange { /** * The lower bound IPv4 or IPv6 address to match against. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#lower_bound WaapCustomRule#lower_bound} */ readonly lowerBound: string; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * The upper bound IPv4 or IPv6 address to match against. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#upper_bound WaapCustomRule#upper_bound} */ readonly upperBound: string; } export declare function waapCustomRuleConditionsIpRangeToTerraform(struct?: WaapCustomRuleConditionsIpRange | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsIpRangeToHclTerraform(struct?: WaapCustomRuleConditionsIpRange | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsIpRangeOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsIpRange | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsIpRange | cdktf.IResolvable | undefined); private _lowerBound?; get lowerBound(): string; set lowerBound(value: string); get lowerBoundInput(): string; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _upperBound?; get upperBound(): string; set upperBound(value: string); get upperBoundInput(): string; } export declare class WaapCustomRuleConditionsIpRangeList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsIpRange[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsIpRangeOutputReference; } export interface WaapCustomRuleConditionsOrganization { /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * The organization to match against. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#organization WaapCustomRule#organization} */ readonly organization: string; } export declare function waapCustomRuleConditionsOrganizationToTerraform(struct?: WaapCustomRuleConditionsOrganization | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsOrganizationToHclTerraform(struct?: WaapCustomRuleConditionsOrganization | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsOrganizationOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsOrganization | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsOrganization | cdktf.IResolvable | undefined); private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _organization?; get organization(): string; set organization(value: string); get organizationInput(): string; } export declare class WaapCustomRuleConditionsOrganizationList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsOrganization[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsOrganizationOutputReference; } export interface WaapCustomRuleConditionsOwnerTypes { /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * Match the type of organization that owns the IP address making an incoming request. Valid values are 'COMMERCIAL', 'EDUCATIONAL', 'GOVERNMENT', 'HOSTING_SERVICES', 'ISP', 'MOBILE_NETWORK', 'NETWORK', and 'RESERVED'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#owner_types WaapCustomRule#owner_types} */ readonly ownerTypes: string[]; } export declare function waapCustomRuleConditionsOwnerTypesToTerraform(struct?: WaapCustomRuleConditionsOwnerTypes | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsOwnerTypesToHclTerraform(struct?: WaapCustomRuleConditionsOwnerTypes | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsOwnerTypesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsOwnerTypes | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsOwnerTypes | cdktf.IResolvable | undefined); private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _ownerTypes?; get ownerTypes(): string[]; set ownerTypes(value: string[]); get ownerTypesInput(): string[]; } export declare class WaapCustomRuleConditionsOwnerTypesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsOwnerTypes[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsOwnerTypesOutputReference; } export interface WaapCustomRuleConditionsRequestRate { /** * Possible HTTP request methods that can trigger a request rate condition. Valid values are 'CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', and 'TRACE'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#http_methods WaapCustomRule#http_methods} */ readonly httpMethods?: string[]; /** * A list of source IPs that can trigger a request rate condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#ips WaapCustomRule#ips} */ readonly ips?: string[]; /** * A regular expression matching the URL path of the incoming request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#path_pattern WaapCustomRule#path_pattern} */ readonly pathPattern: string; /** * The number of incoming requests over the given time that can trigger a request rate condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#requests WaapCustomRule#requests} */ readonly requests: number; /** * The number of seconds that the WAAP measures incoming requests over before triggering a request rate condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#time WaapCustomRule#time} */ readonly time: number; /** * A user-defined tag that can be included in incoming requests and used to trigger a request rate condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#user_defined_tag WaapCustomRule#user_defined_tag} */ readonly userDefinedTag?: string; } export declare function waapCustomRuleConditionsRequestRateToTerraform(struct?: WaapCustomRuleConditionsRequestRate | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsRequestRateToHclTerraform(struct?: WaapCustomRuleConditionsRequestRate | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsRequestRateOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsRequestRate | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsRequestRate | cdktf.IResolvable | undefined); private _httpMethods?; get httpMethods(): string[]; set httpMethods(value: string[]); resetHttpMethods(): void; get httpMethodsInput(): string[]; private _ips?; get ips(): string[]; set ips(value: string[]); resetIps(): void; get ipsInput(): string[]; private _pathPattern?; get pathPattern(): string; set pathPattern(value: string); get pathPatternInput(): string; private _requests?; get requests(): number; set requests(value: number); get requestsInput(): number; private _time?; get time(): number; set time(value: number); get timeInput(): number; private _userDefinedTag?; get userDefinedTag(): string; set userDefinedTag(value: string); resetUserDefinedTag(): void; get userDefinedTagInput(): string; } export declare class WaapCustomRuleConditionsRequestRateList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsRequestRate[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsRequestRateOutputReference; } export interface WaapCustomRuleConditionsResponseHeader { /** * The request header name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#header WaapCustomRule#header} */ readonly header: string; /** * The type of matching condition. Valid values are 'Exact', 'Contains'. Default is 'Contains'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#match_type WaapCustomRule#match_type} */ readonly matchType?: string; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * The request header value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#value WaapCustomRule#value} */ readonly value: string; } export declare function waapCustomRuleConditionsResponseHeaderToTerraform(struct?: WaapCustomRuleConditionsResponseHeader | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsResponseHeaderToHclTerraform(struct?: WaapCustomRuleConditionsResponseHeader | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsResponseHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsResponseHeader | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsResponseHeader | cdktf.IResolvable | undefined); private _header?; get header(): string; set header(value: string); get headerInput(): string; private _matchType?; get matchType(): string; set matchType(value: string); resetMatchType(): void; get matchTypeInput(): string; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _value?; get value(): string; set value(value: string); get valueInput(): string; } export declare class WaapCustomRuleConditionsResponseHeaderList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsResponseHeader[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsResponseHeaderOutputReference; } export interface WaapCustomRuleConditionsResponseHeaderExists { /** * The request header name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#header WaapCustomRule#header} */ readonly header: string; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; } export declare function waapCustomRuleConditionsResponseHeaderExistsToTerraform(struct?: WaapCustomRuleConditionsResponseHeaderExists | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsResponseHeaderExistsToHclTerraform(struct?: WaapCustomRuleConditionsResponseHeaderExists | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsResponseHeaderExistsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsResponseHeaderExists | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsResponseHeaderExists | cdktf.IResolvable | undefined); private _header?; get header(): string; set header(value: string); get headerInput(): string; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; } export declare class WaapCustomRuleConditionsResponseHeaderExistsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsResponseHeaderExists[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsResponseHeaderExistsOutputReference; } export interface WaapCustomRuleConditionsSessionRequestCount { /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * The number of dynamic requests in the session. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#request_count WaapCustomRule#request_count} */ readonly requestCount: number; } export declare function waapCustomRuleConditionsSessionRequestCountToTerraform(struct?: WaapCustomRuleConditionsSessionRequestCount | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsSessionRequestCountToHclTerraform(struct?: WaapCustomRuleConditionsSessionRequestCount | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsSessionRequestCountOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsSessionRequestCount | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsSessionRequestCount | cdktf.IResolvable | undefined); private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _requestCount?; get requestCount(): number; set requestCount(value: number); get requestCountInput(): number; } export declare class WaapCustomRuleConditionsSessionRequestCountList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsSessionRequestCount[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsSessionRequestCountOutputReference; } export interface WaapCustomRuleConditionsTags { /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * A list of tags to match against the request tags. Tags can be obtained from the API endpoint /v1/tags or you can use the gcore_waap_tag data source. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#tags WaapCustomRule#tags} */ readonly tags: string[]; } export declare function waapCustomRuleConditionsTagsToTerraform(struct?: WaapCustomRuleConditionsTags | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsTagsToHclTerraform(struct?: WaapCustomRuleConditionsTags | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsTagsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsTags | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsTags | cdktf.IResolvable | undefined); private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _tags?; get tags(): string[]; set tags(value: string[]); get tagsInput(): string[]; } export declare class WaapCustomRuleConditionsTagsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsTags[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsTagsOutputReference; } export interface WaapCustomRuleConditionsUrl { /** * The type of matching condition. Valid values are 'Exact', 'Contains', and 'Regex'. Default is 'Contains'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#match_type WaapCustomRule#match_type} */ readonly matchType?: string; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * The URL to match. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#url WaapCustomRule#url} */ readonly url: string; } export declare function waapCustomRuleConditionsUrlToTerraform(struct?: WaapCustomRuleConditionsUrl | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsUrlToHclTerraform(struct?: WaapCustomRuleConditionsUrl | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsUrlOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsUrl | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsUrl | cdktf.IResolvable | undefined); private _matchType?; get matchType(): string; set matchType(value: string); resetMatchType(): void; get matchTypeInput(): string; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _url?; get url(): string; set url(value: string); get urlInput(): string; } export declare class WaapCustomRuleConditionsUrlList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsUrl[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsUrlOutputReference; } export interface WaapCustomRuleConditionsUserAgent { /** * The type of matching condition. Valid values are 'Exact', 'Contains'. Default is 'Contains'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#match_type WaapCustomRule#match_type} */ readonly matchType?: string; /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * The user agent value to match. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#user_agent WaapCustomRule#user_agent} */ readonly userAgent: string; } export declare function waapCustomRuleConditionsUserAgentToTerraform(struct?: WaapCustomRuleConditionsUserAgent | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsUserAgentToHclTerraform(struct?: WaapCustomRuleConditionsUserAgent | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsUserAgentOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsUserAgent | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsUserAgent | cdktf.IResolvable | undefined); private _matchType?; get matchType(): string; set matchType(value: string); resetMatchType(): void; get matchTypeInput(): string; private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _userAgent?; get userAgent(): string; set userAgent(value: string); get userAgentInput(): string; } export declare class WaapCustomRuleConditionsUserAgentList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsUserAgent[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsUserAgentOutputReference; } export interface WaapCustomRuleConditionsUserDefinedTags { /** * Whether or not to apply a boolean NOT operation to the rule's condition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#negation WaapCustomRule#negation} */ readonly negation?: boolean | cdktf.IResolvable; /** * A list of user-defined tags to match against the request tags. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#tags WaapCustomRule#tags} */ readonly tags: string[]; } export declare function waapCustomRuleConditionsUserDefinedTagsToTerraform(struct?: WaapCustomRuleConditionsUserDefinedTags | cdktf.IResolvable): any; export declare function waapCustomRuleConditionsUserDefinedTagsToHclTerraform(struct?: WaapCustomRuleConditionsUserDefinedTags | cdktf.IResolvable): any; export declare class WaapCustomRuleConditionsUserDefinedTagsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): WaapCustomRuleConditionsUserDefinedTags | cdktf.IResolvable | undefined; set internalValue(value: WaapCustomRuleConditionsUserDefinedTags | cdktf.IResolvable | undefined); private _negation?; get negation(): boolean | cdktf.IResolvable; set negation(value: boolean | cdktf.IResolvable); resetNegation(): void; get negationInput(): any; private _tags?; get tags(): string[]; set tags(value: string[]); get tagsInput(): string[]; } export declare class WaapCustomRuleConditionsUserDefinedTagsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: WaapCustomRuleConditionsUserDefinedTags[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): WaapCustomRuleConditionsUserDefinedTagsOutputReference; } export interface WaapCustomRuleConditions { /** * content_type block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#content_type WaapCustomRule#content_type} */ readonly contentType?: WaapCustomRuleConditionsContentType[] | cdktf.IResolvable; /** * country block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#country WaapCustomRule#country} */ readonly country?: WaapCustomRuleConditionsCountry[] | cdktf.IResolvable; /** * file_extension block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#file_extension WaapCustomRule#file_extension} */ readonly fileExtension?: WaapCustomRuleConditionsFileExtension[] | cdktf.IResolvable; /** * header block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#header WaapCustomRule#header} */ readonly header?: WaapCustomRuleConditionsHeader[] | cdktf.IResolvable; /** * header_exists block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#header_exists WaapCustomRule#header_exists} */ readonly headerExists?: WaapCustomRuleConditionsHeaderExists[] | cdktf.IResolvable; /** * http_method block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#http_method WaapCustomRule#http_method} */ readonly httpMethod?: WaapCustomRuleConditionsHttpMethod[] | cdktf.IResolvable; /** * ip block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#ip WaapCustomRule#ip} */ readonly ip?: WaapCustomRuleConditionsIp[] | cdktf.IResolvable; /** * ip_range block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#ip_range WaapCustomRule#ip_range} */ readonly ipRange?: WaapCustomRuleConditionsIpRange[] | cdktf.IResolvable; /** * organization block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#organization WaapCustomRule#organization} */ readonly organization?: WaapCustomRuleConditionsOrganization[] | cdktf.IResolvable; /** * owner_types block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#owner_types WaapCustomRule#owner_types} */ readonly ownerTypes?: WaapCustomRuleConditionsOwnerTypes[] | cdktf.IResolvable; /** * request_rate block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#request_rate WaapCustomRule#request_rate} */ readonly requestRate?: WaapCustomRuleConditionsRequestRate[] | cdktf.IResolvable; /** * response_header block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#response_header WaapCustomRule#response_header} */ readonly responseHeader?: WaapCustomRuleConditionsResponseHeader[] | cdktf.IResolvable; /** * response_header_exists block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#response_header_exists WaapCustomRule#response_header_exists} */ readonly responseHeaderExists?: WaapCustomRuleConditionsResponseHeaderExists[] | cdktf.IResolvable; /** * session_request_count block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#session_request_count WaapCustomRule#session_request_count} */ readonly sessionRequestCount?: WaapCustomRuleConditionsSessionRequestCount[] | cdktf.IResolvable; /** * tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#tags WaapCustomRule#tags} */ readonly tags?: WaapCustomRuleConditionsTags[] | cdktf.IResolvable; /** * url block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#url WaapCustomRule#url} */ readonly url?: WaapCustomRuleConditionsUrl[] | cdktf.IResolvable; /** * user_agent block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#user_agent WaapCustomRule#user_agent} */ readonly userAgent?: WaapCustomRuleConditionsUserAgent[] | cdktf.IResolvable; /** * user_defined_tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#user_defined_tags WaapCustomRule#user_defined_tags} */ readonly userDefinedTags?: WaapCustomRuleConditionsUserDefinedTags[] | cdktf.IResolvable; } export declare function waapCustomRuleConditionsToTerraform(struct?: WaapCustomRuleConditionsOutputReference | WaapCustomRuleConditions): any; export declare function waapCustomRuleConditionsToHclTerraform(struct?: WaapCustomRuleConditionsOutputReference | WaapCustomRuleConditions): any; export declare class WaapCustomRuleConditionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): WaapCustomRuleConditions | undefined; set internalValue(value: WaapCustomRuleConditions | undefined); private _contentType; get contentType(): WaapCustomRuleConditionsContentTypeList; putContentType(value: WaapCustomRuleConditionsContentType[] | cdktf.IResolvable): void; resetContentType(): void; get contentTypeInput(): any; private _country; get country(): WaapCustomRuleConditionsCountryList; putCountry(value: WaapCustomRuleConditionsCountry[] | cdktf.IResolvable): void; resetCountry(): void; get countryInput(): any; private _fileExtension; get fileExtension(): WaapCustomRuleConditionsFileExtensionList; putFileExtension(value: WaapCustomRuleConditionsFileExtension[] | cdktf.IResolvable): void; resetFileExtension(): void; get fileExtensionInput(): any; private _header; get header(): WaapCustomRuleConditionsHeaderList; putHeader(value: WaapCustomRuleConditionsHeader[] | cdktf.IResolvable): void; resetHeader(): void; get headerInput(): any; private _headerExists; get headerExists(): WaapCustomRuleConditionsHeaderExistsList; putHeaderExists(value: WaapCustomRuleConditionsHeaderExists[] | cdktf.IResolvable): void; resetHeaderExists(): void; get headerExistsInput(): any; private _httpMethod; get httpMethod(): WaapCustomRuleConditionsHttpMethodList; putHttpMethod(value: WaapCustomRuleConditionsHttpMethod[] | cdktf.IResolvable): void; resetHttpMethod(): void; get httpMethodInput(): any; private _ip; get ip(): WaapCustomRuleConditionsIpList; putIp(value: WaapCustomRuleConditionsIp[] | cdktf.IResolvable): void; resetIp(): void; get ipInput(): any; private _ipRange; get ipRange(): WaapCustomRuleConditionsIpRangeList; putIpRange(value: WaapCustomRuleConditionsIpRange[] | cdktf.IResolvable): void; resetIpRange(): void; get ipRangeInput(): any; private _organization; get organization(): WaapCustomRuleConditionsOrganizationList; putOrganization(value: WaapCustomRuleConditionsOrganization[] | cdktf.IResolvable): void; resetOrganization(): void; get organizationInput(): any; private _ownerTypes; get ownerTypes(): WaapCustomRuleConditionsOwnerTypesList; putOwnerTypes(value: WaapCustomRuleConditionsOwnerTypes[] | cdktf.IResolvable): void; resetOwnerTypes(): void; get ownerTypesInput(): any; private _requestRate; get requestRate(): WaapCustomRuleConditionsRequestRateList; putRequestRate(value: WaapCustomRuleConditionsRequestRate[] | cdktf.IResolvable): void; resetRequestRate(): void; get requestRateInput(): any; private _responseHeader; get responseHeader(): WaapCustomRuleConditionsResponseHeaderList; putResponseHeader(value: WaapCustomRuleConditionsResponseHeader[] | cdktf.IResolvable): void; resetResponseHeader(): void; get responseHeaderInput(): any; private _responseHeaderExists; get responseHeaderExists(): WaapCustomRuleConditionsResponseHeaderExistsList; putResponseHeaderExists(value: WaapCustomRuleConditionsResponseHeaderExists[] | cdktf.IResolvable): void; resetResponseHeaderExists(): void; get responseHeaderExistsInput(): any; private _sessionRequestCount; get sessionRequestCount(): WaapCustomRuleConditionsSessionRequestCountList; putSessionRequestCount(value: WaapCustomRuleConditionsSessionRequestCount[] | cdktf.IResolvable): void; resetSessionRequestCount(): void; get sessionRequestCountInput(): any; private _tags; get tags(): WaapCustomRuleConditionsTagsList; putTags(value: WaapCustomRuleConditionsTags[] | cdktf.IResolvable): void; resetTags(): void; get tagsInput(): any; private _url; get url(): WaapCustomRuleConditionsUrlList; putUrl(value: WaapCustomRuleConditionsUrl[] | cdktf.IResolvable): void; resetUrl(): void; get urlInput(): any; private _userAgent; get userAgent(): WaapCustomRuleConditionsUserAgentList; putUserAgent(value: WaapCustomRuleConditionsUserAgent[] | cdktf.IResolvable): void; resetUserAgent(): void; get userAgentInput(): any; private _userDefinedTags; get userDefinedTags(): WaapCustomRuleConditionsUserDefinedTagsList; putUserDefinedTags(value: WaapCustomRuleConditionsUserDefinedTags[] | cdktf.IResolvable): void; resetUserDefinedTags(): void; get userDefinedTagsInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule gcore_waap_custom_rule} */ export declare class WaapCustomRule extends cdktf.TerraformResource { static readonly tfResourceType = "gcore_waap_custom_rule"; /** * Generates CDKTF code for importing a WaapCustomRule resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the WaapCustomRule to import * @param importFromId The id of the existing WaapCustomRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the WaapCustomRule to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/waap_custom_rule gcore_waap_custom_rule} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options WaapCustomRuleConfig */ constructor(scope: Construct, id: string, config: WaapCustomRuleConfig); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _domainId?; get domainId(): number; set domainId(value: number); get domainIdInput(): number; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _action; get action(): WaapCustomRuleActionOutputReference; putAction(value: WaapCustomRuleAction): void; get actionInput(): WaapCustomRuleAction; private _conditions; get conditions(): WaapCustomRuleConditionsOutputReference; putConditions(value: WaapCustomRuleConditions): void; get conditionsInput(): WaapCustomRuleConditions; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }