diff --git a/packages/@cdktf/provider-generator/lib/get/__tests__/generator/__snapshots__/export-sharding.test.ts.snap b/packages/@cdktf/provider-generator/lib/get/__tests__/generator/__snapshots__/export-sharding.test.ts.snap index a546e6e41d..d24f876950 100644 --- a/packages/@cdktf/provider-generator/lib/get/__tests__/generator/__snapshots__/export-sharding.test.ts.snap +++ b/packages/@cdktf/provider-generator/lib/get/__tests__/generator/__snapshots__/export-sharding.test.ts.snap @@ -391,52 +391,52 @@ export * from './structs1200' export * from './structs1600' export * from './structs2000' export * from './structs2400' -export * from './structs2800' -export * from './structs3200' -export * from './structs3600' -export * from './structs4000' -export * from './structs4400' -export * from './structs4800' -export * from './structs5200' -" -`; - -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs-index 2`] = ` -"export * from './structs0' -export * from './structs400' -export * from './structs800' -export * from './structs1200' -export * from './structs1600' -export * from './structs2000' -export * from './structs2400' " `; exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs0 1`] = ` "import * as cdktf from 'cdktf'; -export interface Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader { +export interface DashboardTemplateVariable { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The list of values that the template variable drop-down is be limited to + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#available_values Dashboard#available_values} + */ + readonly availableValues?: string[]; + /** + * The default value for the template variable on dashboard load. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#default Dashboard#default} + */ + readonly default?: string; + /** + * The name of the variable. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ readonly name: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} + * The tag prefix associated with the variable. Only tags with this prefix appear in the variable dropdown. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#prefix Dashboard#prefix} */ - readonly value: string; + readonly prefix?: string; } -export function wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderToTerraform(struct?: Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable): any { +export function dashboardTemplateVariableToTerraform(struct?: DashboardTemplateVariable | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + available_values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.availableValues), + default: cdktf.stringToTerraform(struct!.default), name: cdktf.stringToTerraform(struct!.name), - value: cdktf.stringToTerraform(struct!.value), + prefix: cdktf.stringToTerraform(struct!.prefix), } } -export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardTemplateVariableOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -450,29 +450,39 @@ export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderOutpu super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined { + public get internalValue(): DashboardTemplateVariable | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._availableValues !== undefined) { + hasAnyValues = true; + internalValueResult.availableValues = this._availableValues; + } + if (this._default !== undefined) { + hasAnyValues = true; + internalValueResult.default = this._default; + } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } - if (this._value !== undefined) { + if (this._prefix !== undefined) { hasAnyValues = true; - internalValueResult.value = this._value; + internalValueResult.prefix = this._prefix; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardTemplateVariable | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; + this._availableValues = undefined; + this._default = undefined; this._name = undefined; - this._value = undefined; + this._prefix = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -481,11 +491,45 @@ export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderOutpu else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; + this._availableValues = value.availableValues; + this._default = value.default; this._name = value.name; - this._value = value.value; + this._prefix = value.prefix; } } + // available_values - computed: false, optional: true, required: false + private _availableValues?: string[]; + public get availableValues() { + return this.getListAttribute('available_values'); + } + public set availableValues(value: string[]) { + this._availableValues = value; + } + public resetAvailableValues() { + this._availableValues = undefined; + } + // Temporarily expose input value. Use with caution. + public get availableValuesInput() { + return this._availableValues; + } + + // default - computed: false, optional: true, required: false + private _default?: string; + public get default() { + return this.getStringAttribute('default'); + } + public set default(value: string) { + this._default = value; + } + public resetDefault() { + this._default = undefined; + } + // Temporarily expose input value. Use with caution. + public get defaultInput() { + return this._default; + } + // name - computed: false, optional: false, required: true private _name?: string; public get name() { @@ -499,22 +543,25 @@ export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderOutpu return this._name; } - // value - computed: false, optional: false, required: true - private _value?: string; - public get value() { - return this.getStringAttribute('value'); + // prefix - computed: false, optional: true, required: false + private _prefix?: string; + public get prefix() { + return this.getStringAttribute('prefix'); } - public set value(value: string) { - this._value = value; + public set prefix(value: string) { + this._prefix = value; + } + public resetPrefix() { + this._prefix = undefined; } // Temporarily expose input value. Use with caution. - public get valueInput() { - return this._value; + public get prefixInput() { + return this._prefix; } } -export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable +export class DashboardTemplateVariableList extends cdktf.ComplexList { + public internalValue? : DashboardTemplateVariable[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -528,164 +575,165 @@ export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderList /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderOutputReference { - return new Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardTemplateVariableOutputReference { + return new DashboardTemplateVariableOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclDefaultActionAllowCustomRequestHandling { +export interface DashboardTemplateVariablePresetTemplateVariable { /** - * insert_header block + * The name of the template variable * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#insert_header Wafv2WebAcl#insert_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ - readonly insertHeader: Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable; + readonly name?: string; + /** + * The value that should be assumed by the template variable in this preset + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#value Dashboard#value} + */ + readonly value?: string; } -export function wafv2WebAclDefaultActionAllowCustomRequestHandlingToTerraform(struct?: Wafv2WebAclDefaultActionAllowCustomRequestHandlingOutputReference | Wafv2WebAclDefaultActionAllowCustomRequestHandling): any { +export function dashboardTemplateVariablePresetTemplateVariableToTerraform(struct?: DashboardTemplateVariablePresetTemplateVariable | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - insert_header: cdktf.listMapper(wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderToTerraform, true)(struct!.insertHeader), + name: cdktf.stringToTerraform(struct!.name), + value: cdktf.stringToTerraform(struct!.value), } } -export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingOutputReference extends cdktf.ComplexObject { +export class DashboardTemplateVariablePresetTemplateVariableOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclDefaultActionAllowCustomRequestHandling | undefined { + public get internalValue(): DashboardTemplateVariablePresetTemplateVariable | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._insertHeader?.internalValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.insertHeader = this._insertHeader?.internalValue; + internalValueResult.name = this._name; + } + if (this._value !== undefined) { + hasAnyValues = true; + internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclDefaultActionAllowCustomRequestHandling | undefined) { + public set internalValue(value: DashboardTemplateVariablePresetTemplateVariable | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._insertHeader.internalValue = undefined; + this.resolvableValue = undefined; + this._name = undefined; + this._value = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._insertHeader.internalValue = value.insertHeader; + this.resolvableValue = undefined; + this._name = value.name; + this._value = value.value; } } - // insert_header - computed: false, optional: false, required: true - private _insertHeader = new Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderList(this, "insert_header", true); - public get insertHeader() { - return this._insertHeader; + // name - computed: false, optional: true, required: false + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public putInsertHeader(value: Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable) { - this._insertHeader.internalValue = value; + public set name(value: string) { + this._name = value; + } + public resetName() { + this._name = undefined; } // Temporarily expose input value. Use with caution. - public get insertHeaderInput() { - return this._insertHeader.internalValue; + public get nameInput() { + return this._name; } -} -export interface Wafv2WebAclDefaultActionAllow { - /** - * custom_request_handling block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_request_handling Wafv2WebAcl#custom_request_handling} - */ - readonly customRequestHandling?: Wafv2WebAclDefaultActionAllowCustomRequestHandling; -} -export function wafv2WebAclDefaultActionAllowToTerraform(struct?: Wafv2WebAclDefaultActionAllowOutputReference | Wafv2WebAclDefaultActionAllow): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // value - computed: false, optional: true, required: false + private _value?: string; + public get value() { + return this.getStringAttribute('value'); } - return { - custom_request_handling: wafv2WebAclDefaultActionAllowCustomRequestHandlingToTerraform(struct!.customRequestHandling), + public set value(value: string) { + this._value = value; + } + public resetValue() { + this._value = undefined; + } + // Temporarily expose input value. Use with caution. + public get valueInput() { + return this._value; } } -export class Wafv2WebAclDefaultActionAllowOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardTemplateVariablePresetTemplateVariableList extends cdktf.ComplexList { + public internalValue? : DashboardTemplateVariablePresetTemplateVariable[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclDefaultActionAllow | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._customRequestHandling?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.customRequestHandling = this._customRequestHandling?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclDefaultActionAllow | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._customRequestHandling.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._customRequestHandling.internalValue = value.customRequestHandling; - } + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // custom_request_handling - computed: false, optional: true, required: false - private _customRequestHandling = new Wafv2WebAclDefaultActionAllowCustomRequestHandlingOutputReference(this, "custom_request_handling"); - public get customRequestHandling() { - return this._customRequestHandling; - } - public putCustomRequestHandling(value: Wafv2WebAclDefaultActionAllowCustomRequestHandling) { - this._customRequestHandling.internalValue = value; - } - public resetCustomRequestHandling() { - this._customRequestHandling.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get customRequestHandlingInput() { - return this._customRequestHandling.internalValue; + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardTemplateVariablePresetTemplateVariableOutputReference { + return new DashboardTemplateVariablePresetTemplateVariableOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader { +export interface DashboardTemplateVariablePreset { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The name of the preset. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ - readonly name: string; + readonly name?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} + * template_variable block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#template_variable Dashboard#template_variable} */ - readonly value: string; + readonly templateVariable?: DashboardTemplateVariablePresetTemplateVariable[] | cdktf.IResolvable; } -export function wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderToTerraform(struct?: Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader | cdktf.IResolvable): any { +export function dashboardTemplateVariablePresetToTerraform(struct?: DashboardTemplateVariablePreset | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { name: cdktf.stringToTerraform(struct!.name), - value: cdktf.stringToTerraform(struct!.value), + template_variable: cdktf.listMapper(dashboardTemplateVariablePresetTemplateVariableToTerraform, true)(struct!.templateVariable), } } -export class Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardTemplateVariablePresetOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -699,7 +747,7 @@ export class Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputRefe super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader | cdktf.IResolvable | undefined { + public get internalValue(): DashboardTemplateVariablePreset | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -709,19 +757,19 @@ export class Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputRefe hasAnyValues = true; internalValueResult.name = this._name; } - if (this._value !== undefined) { + if (this._templateVariable?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.value = this._value; + internalValueResult.templateVariable = this._templateVariable?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardTemplateVariablePreset | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; - this._value = undefined; + this._templateVariable.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -731,11 +779,11 @@ export class Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputRefe this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._name = value.name; - this._value = value.value; + this._templateVariable.internalValue = value.templateVariable; } } - // name - computed: false, optional: false, required: true + // name - computed: false, optional: true, required: false private _name?: string; public get name() { return this.getStringAttribute('name'); @@ -743,27 +791,33 @@ export class Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputRefe public set name(value: string) { this._name = value; } + public resetName() { + this._name = undefined; + } // Temporarily expose input value. Use with caution. public get nameInput() { return this._name; } - // value - computed: false, optional: false, required: true - private _value?: string; - public get value() { - return this.getStringAttribute('value'); + // template_variable - computed: false, optional: true, required: false + private _templateVariable = new DashboardTemplateVariablePresetTemplateVariableList(this, "template_variable", false); + public get templateVariable() { + return this._templateVariable; } - public set value(value: string) { - this._value = value; + public putTemplateVariable(value: DashboardTemplateVariablePresetTemplateVariable[] | cdktf.IResolvable) { + this._templateVariable.internalValue = value; + } + public resetTemplateVariable() { + this._templateVariable.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get valueInput() { - return this._value; + public get templateVariableInput() { + return this._templateVariable.internalValue; } } -export class Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable +export class DashboardTemplateVariablePresetList extends cdktf.ComplexList { + public internalValue? : DashboardTemplateVariablePreset[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -777,35 +831,65 @@ export class Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderList exten /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputReference { - return new Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardTemplateVariablePresetOutputReference { + return new DashboardTemplateVariablePresetOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclDefaultActionBlockCustomResponse { +export interface DashboardWidgetAlertGraphDefinition { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#response_code Wafv2WebAcl#response_code} + * The ID of the monitor used by the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#alert_id Dashboard#alert_id} */ - readonly responseCode: number; + readonly alertId: string; /** - * response_header block + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#response_header Wafv2WebAcl#response_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} */ - readonly responseHeader?: Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable; + readonly liveSpan?: string; + /** + * The title of the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + */ + readonly title?: string; + /** + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + */ + readonly titleAlign?: string; + /** + * The size of the widget's title (defaults to 16). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + */ + readonly titleSize?: string; + /** + * Type of visualization to use when displaying the widget. Valid values are \`timeseries\`, \`toplist\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#viz_type Dashboard#viz_type} + */ + readonly vizType: string; } -export function wafv2WebAclDefaultActionBlockCustomResponseToTerraform(struct?: Wafv2WebAclDefaultActionBlockCustomResponseOutputReference | Wafv2WebAclDefaultActionBlockCustomResponse): any { +export function dashboardWidgetAlertGraphDefinitionToTerraform(struct?: DashboardWidgetAlertGraphDefinitionOutputReference | DashboardWidgetAlertGraphDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - response_code: cdktf.numberToTerraform(struct!.responseCode), - response_header: cdktf.listMapper(wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderToTerraform, true)(struct!.responseHeader), + alert_id: cdktf.stringToTerraform(struct!.alertId), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), + viz_type: cdktf.stringToTerraform(struct!.vizType), } } -export class Wafv2WebAclDefaultActionBlockCustomResponseOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetAlertGraphDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -816,156 +900,209 @@ export class Wafv2WebAclDefaultActionBlockCustomResponseOutputReference extends super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclDefaultActionBlockCustomResponse | undefined { + public get internalValue(): DashboardWidgetAlertGraphDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._responseCode !== undefined) { + if (this._alertId !== undefined) { hasAnyValues = true; - internalValueResult.responseCode = this._responseCode; + internalValueResult.alertId = this._alertId; } - if (this._responseHeader?.internalValue !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.responseHeader = this._responseHeader?.internalValue; + internalValueResult.liveSpan = this._liveSpan; + } + if (this._title !== undefined) { + hasAnyValues = true; + internalValueResult.title = this._title; + } + if (this._titleAlign !== undefined) { + hasAnyValues = true; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; + } + if (this._vizType !== undefined) { + hasAnyValues = true; + internalValueResult.vizType = this._vizType; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclDefaultActionBlockCustomResponse | undefined) { + public set internalValue(value: DashboardWidgetAlertGraphDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._responseCode = undefined; - this._responseHeader.internalValue = undefined; + this._alertId = undefined; + this._liveSpan = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; + this._vizType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._responseCode = value.responseCode; - this._responseHeader.internalValue = value.responseHeader; + this._alertId = value.alertId; + this._liveSpan = value.liveSpan; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; + this._vizType = value.vizType; } } - // response_code - computed: false, optional: false, required: true - private _responseCode?: number; - public get responseCode() { - return this.getNumberAttribute('response_code'); + // alert_id - computed: false, optional: false, required: true + private _alertId?: string; + public get alertId() { + return this.getStringAttribute('alert_id'); } - public set responseCode(value: number) { - this._responseCode = value; + public set alertId(value: string) { + this._alertId = value; } // Temporarily expose input value. Use with caution. - public get responseCodeInput() { - return this._responseCode; + public get alertIdInput() { + return this._alertId; } - // response_header - computed: false, optional: true, required: false - private _responseHeader = new Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderList(this, "response_header", true); - public get responseHeader() { - return this._responseHeader; + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public putResponseHeader(value: Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable) { - this._responseHeader.internalValue = value; + public set liveSpan(value: string) { + this._liveSpan = value; } - public resetResponseHeader() { - this._responseHeader.internalValue = undefined; + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get responseHeaderInput() { - return this._responseHeader.internalValue; + public get liveSpanInput() { + return this._liveSpan; } -} -export interface Wafv2WebAclDefaultActionBlock { - /** - * custom_response block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_response Wafv2WebAcl#custom_response} - */ - readonly customResponse?: Wafv2WebAclDefaultActionBlockCustomResponse; -} -export function wafv2WebAclDefaultActionBlockToTerraform(struct?: Wafv2WebAclDefaultActionBlockOutputReference | Wafv2WebAclDefaultActionBlock): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); } - return { - custom_response: wafv2WebAclDefaultActionBlockCustomResponseToTerraform(struct!.customResponse), + public set title(value: string) { + this._title = value; } -} - -export class Wafv2WebAclDefaultActionBlockOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetTitle() { + this._title = undefined; } - - public get internalValue(): Wafv2WebAclDefaultActionBlock | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._customResponse?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.customResponse = this._customResponse?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get titleInput() { + return this._title; } - public set internalValue(value: Wafv2WebAclDefaultActionBlock | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._customResponse.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._customResponse.internalValue = value.customResponse; - } + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); + } + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleAlignInput() { + return this._titleAlign; } - // custom_response - computed: false, optional: true, required: false - private _customResponse = new Wafv2WebAclDefaultActionBlockCustomResponseOutputReference(this, "custom_response"); - public get customResponse() { - return this._customResponse; + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); } - public putCustomResponse(value: Wafv2WebAclDefaultActionBlockCustomResponse) { - this._customResponse.internalValue = value; + public set titleSize(value: string) { + this._titleSize = value; } - public resetCustomResponse() { - this._customResponse.internalValue = undefined; + public resetTitleSize() { + this._titleSize = undefined; } // Temporarily expose input value. Use with caution. - public get customResponseInput() { - return this._customResponse.internalValue; + public get titleSizeInput() { + return this._titleSize; + } + + // viz_type - computed: false, optional: false, required: true + private _vizType?: string; + public get vizType() { + return this.getStringAttribute('viz_type'); + } + public set vizType(value: string) { + this._vizType = value; + } + // Temporarily expose input value. Use with caution. + public get vizTypeInput() { + return this._vizType; } } -export interface Wafv2WebAclDefaultAction { +export interface DashboardWidgetAlertValueDefinition { /** - * allow block + * The ID of the monitor used by the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#allow Wafv2WebAcl#allow} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#alert_id Dashboard#alert_id} */ - readonly allow?: Wafv2WebAclDefaultActionAllow; + readonly alertId: string; /** - * block block + * The precision to use when displaying the value. Use \`*\` for maximum precision. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#block Wafv2WebAcl#block} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#precision Dashboard#precision} */ - readonly block?: Wafv2WebAclDefaultActionBlock; + readonly precision?: number; + /** + * The alignment of the text in the widget. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_align Dashboard#text_align} + */ + readonly textAlign?: string; + /** + * The title of the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + */ + readonly title?: string; + /** + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + */ + readonly titleAlign?: string; + /** + * The size of the widget's title (defaults to 16). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + */ + readonly titleSize?: string; + /** + * The unit for the value displayed in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#unit Dashboard#unit} + */ + readonly unit?: string; } -export function wafv2WebAclDefaultActionToTerraform(struct?: Wafv2WebAclDefaultActionOutputReference | Wafv2WebAclDefaultAction): any { +export function dashboardWidgetAlertValueDefinitionToTerraform(struct?: DashboardWidgetAlertValueDefinitionOutputReference | DashboardWidgetAlertValueDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - allow: wafv2WebAclDefaultActionAllowToTerraform(struct!.allow), - block: wafv2WebAclDefaultActionBlockToTerraform(struct!.block), + alert_id: cdktf.stringToTerraform(struct!.alertId), + precision: cdktf.numberToTerraform(struct!.precision), + text_align: cdktf.stringToTerraform(struct!.textAlign), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), + unit: cdktf.stringToTerraform(struct!.unit), } } -export class Wafv2WebAclDefaultActionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetAlertValueDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -976,88 +1113,213 @@ export class Wafv2WebAclDefaultActionOutputReference extends cdktf.ComplexObject super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclDefaultAction | undefined { + public get internalValue(): DashboardWidgetAlertValueDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allow?.internalValue !== undefined) { + if (this._alertId !== undefined) { hasAnyValues = true; - internalValueResult.allow = this._allow?.internalValue; + internalValueResult.alertId = this._alertId; } - if (this._block?.internalValue !== undefined) { + if (this._precision !== undefined) { hasAnyValues = true; - internalValueResult.block = this._block?.internalValue; + internalValueResult.precision = this._precision; + } + if (this._textAlign !== undefined) { + hasAnyValues = true; + internalValueResult.textAlign = this._textAlign; + } + if (this._title !== undefined) { + hasAnyValues = true; + internalValueResult.title = this._title; + } + if (this._titleAlign !== undefined) { + hasAnyValues = true; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; + } + if (this._unit !== undefined) { + hasAnyValues = true; + internalValueResult.unit = this._unit; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclDefaultAction | undefined) { + public set internalValue(value: DashboardWidgetAlertValueDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allow.internalValue = undefined; - this._block.internalValue = undefined; + this._alertId = undefined; + this._precision = undefined; + this._textAlign = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; + this._unit = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allow.internalValue = value.allow; - this._block.internalValue = value.block; + this._alertId = value.alertId; + this._precision = value.precision; + this._textAlign = value.textAlign; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; + this._unit = value.unit; } } - // allow - computed: false, optional: true, required: false - private _allow = new Wafv2WebAclDefaultActionAllowOutputReference(this, "allow"); - public get allow() { - return this._allow; + // alert_id - computed: false, optional: false, required: true + private _alertId?: string; + public get alertId() { + return this.getStringAttribute('alert_id'); } - public putAllow(value: Wafv2WebAclDefaultActionAllow) { - this._allow.internalValue = value; + public set alertId(value: string) { + this._alertId = value; } - public resetAllow() { - this._allow.internalValue = undefined; + // Temporarily expose input value. Use with caution. + public get alertIdInput() { + return this._alertId; + } + + // precision - computed: false, optional: true, required: false + private _precision?: number; + public get precision() { + return this.getNumberAttribute('precision'); + } + public set precision(value: number) { + this._precision = value; + } + public resetPrecision() { + this._precision = undefined; } // Temporarily expose input value. Use with caution. - public get allowInput() { - return this._allow.internalValue; + public get precisionInput() { + return this._precision; } - // block - computed: false, optional: true, required: false - private _block = new Wafv2WebAclDefaultActionBlockOutputReference(this, "block"); - public get block() { - return this._block; + // text_align - computed: false, optional: true, required: false + private _textAlign?: string; + public get textAlign() { + return this.getStringAttribute('text_align'); } - public putBlock(value: Wafv2WebAclDefaultActionBlock) { - this._block.internalValue = value; + public set textAlign(value: string) { + this._textAlign = value; } - public resetBlock() { - this._block.internalValue = undefined; + public resetTextAlign() { + this._textAlign = undefined; } // Temporarily expose input value. Use with caution. - public get blockInput() { - return this._block.internalValue; + public get textAlignInput() { + return this._textAlign; + } + + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); + } + public set title(value: string) { + this._title = value; + } + public resetTitle() { + this._title = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleInput() { + return this._title; + } + + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); + } + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleAlignInput() { + return this._titleAlign; + } + + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; + } + + // unit - computed: false, optional: true, required: false + private _unit?: string; + public get unit() { + return this.getStringAttribute('unit'); + } + public set unit(value: string) { + this._unit = value; + } + public resetUnit() { + this._unit = undefined; + } + // Temporarily expose input value. Use with caution. + public get unitInput() { + return this._unit; } } -export interface Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader { +export interface DashboardWidgetChangeDefinitionCustomLink { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The flag for toggling context menu link visibility. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} */ - readonly name: string; + readonly isHidden?: boolean | cdktf.IResolvable; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} + * The label for the custom link URL. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} */ - readonly value: string; + readonly label?: string; + /** + * The URL of the custom link. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} + */ + readonly link?: string; + /** + * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} + */ + readonly overrideLabel?: string; } -export function wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderToTerraform(struct?: Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable): any { +export function dashboardWidgetChangeDefinitionCustomLinkToTerraform(struct?: DashboardWidgetChangeDefinitionCustomLink | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), - value: cdktf.stringToTerraform(struct!.value), + is_hidden: cdktf.booleanToTerraform(struct!.isHidden), + label: cdktf.stringToTerraform(struct!.label), + link: cdktf.stringToTerraform(struct!.link), + override_label: cdktf.stringToTerraform(struct!.overrideLabel), } } -export class Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -1071,29 +1333,39 @@ export class Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderOutputRe super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionCustomLink | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._isHidden !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.isHidden = this._isHidden; } - if (this._value !== undefined) { + if (this._label !== undefined) { hasAnyValues = true; - internalValueResult.value = this._value; + internalValueResult.label = this._label; + } + if (this._link !== undefined) { + hasAnyValues = true; + internalValueResult.link = this._link; + } + if (this._overrideLabel !== undefined) { + hasAnyValues = true; + internalValueResult.overrideLabel = this._overrideLabel; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionCustomLink | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._name = undefined; - this._value = undefined; + this._isHidden = undefined; + this._label = undefined; + this._link = undefined; + this._overrideLabel = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -1102,40 +1374,80 @@ export class Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderOutputRe else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._name = value.name; - this._value = value.value; + this._isHidden = value.isHidden; + this._label = value.label; + this._link = value.link; + this._overrideLabel = value.overrideLabel; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // is_hidden - computed: false, optional: true, required: false + private _isHidden?: boolean | cdktf.IResolvable; + public get isHidden() { + return this.getBooleanAttribute('is_hidden'); } - public set name(value: string) { - this._name = value; + public set isHidden(value: boolean | cdktf.IResolvable) { + this._isHidden = value; + } + public resetIsHidden() { + this._isHidden = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get isHiddenInput() { + return this._isHidden; } - // value - computed: false, optional: false, required: true - private _value?: string; - public get value() { - return this.getStringAttribute('value'); + // label - computed: false, optional: true, required: false + private _label?: string; + public get label() { + return this.getStringAttribute('label'); } - public set value(value: string) { - this._value = value; + public set label(value: string) { + this._label = value; + } + public resetLabel() { + this._label = undefined; } // Temporarily expose input value. Use with caution. - public get valueInput() { - return this._value; + public get labelInput() { + return this._label; + } + + // link - computed: false, optional: true, required: false + private _link?: string; + public get link() { + return this.getStringAttribute('link'); + } + public set link(value: string) { + this._link = value; + } + public resetLink() { + this._link = undefined; + } + // Temporarily expose input value. Use with caution. + public get linkInput() { + return this._link; + } + + // override_label - computed: false, optional: true, required: false + private _overrideLabel?: string; + public get overrideLabel() { + return this.getStringAttribute('override_label'); + } + public set overrideLabel(value: string) { + this._overrideLabel = value; + } + public resetOverrideLabel() { + this._overrideLabel = undefined; + } + // Temporarily expose input value. Use with caution. + public get overrideLabelInput() { + return this._overrideLabel; } } -export class Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable +export class DashboardWidgetChangeDefinitionCustomLinkList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -1149,30 +1461,44 @@ export class Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderList ext /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderOutputReference { - return new Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetChangeDefinitionCustomLinkOutputReference { + return new DashboardWidgetChangeDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleActionAllowCustomRequestHandling { +export interface DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery { /** - * insert_header block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#insert_header Wafv2WebAcl#insert_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly insertHeader: Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable; + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleActionAllowCustomRequestHandlingToTerraform(struct?: Wafv2WebAclRuleActionAllowCustomRequestHandlingOutputReference | Wafv2WebAclRuleActionAllowCustomRequestHandling): any { +export function dashboardWidgetChangeDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - insert_header: cdktf.listMapper(wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderToTerraform, true)(struct!.insertHeader), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleActionAllowCustomRequestHandlingOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -1183,406 +1509,394 @@ export class Wafv2WebAclRuleActionAllowCustomRequestHandlingOutputReference exte super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleActionAllowCustomRequestHandling | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._insertHeader?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.insertHeader = this._insertHeader?.internalValue; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleActionAllowCustomRequestHandling | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._insertHeader.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._insertHeader.internalValue = value.insertHeader; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // insert_header - computed: false, optional: false, required: true - private _insertHeader = new Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderList(this, "insert_header", true); - public get insertHeader() { - return this._insertHeader; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public putInsertHeader(value: Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable) { - this._insertHeader.internalValue = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get insertHeaderInput() { - return this._insertHeader.internalValue; + public get aggregationInput() { + return this._aggregation; } -} -export interface Wafv2WebAclRuleActionAllow { - /** - * custom_request_handling block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_request_handling Wafv2WebAcl#custom_request_handling} - */ - readonly customRequestHandling?: Wafv2WebAclRuleActionAllowCustomRequestHandling; -} -export function wafv2WebAclRuleActionAllowToTerraform(struct?: Wafv2WebAclRuleActionAllowOutputReference | Wafv2WebAclRuleActionAllow): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - custom_request_handling: wafv2WebAclRuleActionAllowCustomRequestHandlingToTerraform(struct!.customRequestHandling), + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } -} - -export class Wafv2WebAclRuleActionAllowOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public set facet(value: string) { + this._facet = value; } - - public get internalValue(): Wafv2WebAclRuleActionAllow | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._customRequestHandling?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.customRequestHandling = this._customRequestHandling?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; + public resetFacet() { + this._facet = undefined; } - - public set internalValue(value: Wafv2WebAclRuleActionAllow | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._customRequestHandling.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._customRequestHandling.internalValue = value.customRequestHandling; - } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - // custom_request_handling - computed: false, optional: true, required: false - private _customRequestHandling = new Wafv2WebAclRuleActionAllowCustomRequestHandlingOutputReference(this, "custom_request_handling"); - public get customRequestHandling() { - return this._customRequestHandling; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putCustomRequestHandling(value: Wafv2WebAclRuleActionAllowCustomRequestHandling) { - this._customRequestHandling.internalValue = value; + public set interval(value: number) { + this._interval = value; } - public resetCustomRequestHandling() { - this._customRequestHandling.internalValue = undefined; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get customRequestHandlingInput() { - return this._customRequestHandling.internalValue; + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleActionBlockCustomResponseResponseHeader { +export interface DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly name: string; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly value: string; + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleActionBlockCustomResponseResponseHeaderToTerraform(struct?: Wafv2WebAclRuleActionBlockCustomResponseResponseHeader | cdktf.IResolvable): any { +export function dashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), - value: cdktf.stringToTerraform(struct!.value), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleActionBlockCustomResponseResponseHeader | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.aggregation = this._aggregation; } - if (this._value !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.value = this._value; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleActionBlockCustomResponseResponseHeader | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._name = undefined; - this._value = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._name = value.name; - this._value = value.value; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set name(value: string) { - this._name = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get aggregationInput() { + return this._aggregation; } - // value - computed: false, optional: false, required: true - private _value?: string; - public get value() { - return this.getStringAttribute('value'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set value(value: string) { - this._value = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get valueInput() { - return this._value; + public get facetInput() { + return this._facet; } -} - -export class Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleActionBlockCustomResponseResponseHeader[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderOutputReference { - return new Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleActionBlockCustomResponse { +export interface DashboardWidgetChangeDefinitionRequestApmQueryGroupBy { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#response_code Wafv2WebAcl#response_code} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly responseCode: number; + readonly facet?: string; /** - * response_header block + * The maximum number of items in the group. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#response_header Wafv2WebAcl#response_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly responseHeader?: Wafv2WebAclRuleActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable; + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery; } -export function wafv2WebAclRuleActionBlockCustomResponseToTerraform(struct?: Wafv2WebAclRuleActionBlockCustomResponseOutputReference | Wafv2WebAclRuleActionBlockCustomResponse): any { +export function dashboardWidgetChangeDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - response_code: cdktf.numberToTerraform(struct!.responseCode), - response_header: cdktf.listMapper(wafv2WebAclRuleActionBlockCustomResponseResponseHeaderToTerraform, true)(struct!.responseHeader), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleActionBlockCustomResponseOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleActionBlockCustomResponse | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._responseCode !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.responseCode = this._responseCode; + internalValueResult.facet = this._facet; } - if (this._responseHeader?.internalValue !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.responseHeader = this._responseHeader?.internalValue; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleActionBlockCustomResponse | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._responseCode = undefined; - this._responseHeader.internalValue = undefined; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._responseCode = value.responseCode; - this._responseHeader.internalValue = value.responseHeader; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // response_code - computed: false, optional: false, required: true - private _responseCode?: number; - public get responseCode() { - return this.getNumberAttribute('response_code'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set responseCode(value: number) { - this._responseCode = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get responseCodeInput() { - return this._responseCode; + public get facetInput() { + return this._facet; } - // response_header - computed: false, optional: true, required: false - private _responseHeader = new Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderList(this, "response_header", true); - public get responseHeader() { - return this._responseHeader; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public putResponseHeader(value: Wafv2WebAclRuleActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable) { - this._responseHeader.internalValue = value; + public set limit(value: number) { + this._limit = value; } - public resetResponseHeader() { - this._responseHeader.internalValue = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get responseHeaderInput() { - return this._responseHeader.internalValue; + public get limitInput() { + return this._limit; } -} -export interface Wafv2WebAclRuleActionBlock { - /** - * custom_response block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_response Wafv2WebAcl#custom_response} - */ - readonly customResponse?: Wafv2WebAclRuleActionBlockCustomResponse; -} -export function wafv2WebAclRuleActionBlockToTerraform(struct?: Wafv2WebAclRuleActionBlockOutputReference | Wafv2WebAclRuleActionBlock): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - return { - custom_response: wafv2WebAclRuleActionBlockCustomResponseToTerraform(struct!.customResponse), + public putSortQuery(value: DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; + } + public resetSortQuery() { + this._sortQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleActionBlockOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetChangeDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionRequestApmQueryGroupBy[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleActionBlock | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._customResponse?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.customResponse = this._customResponse?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleActionBlock | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._customResponse.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._customResponse.internalValue = value.customResponse; - } + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // custom_response - computed: false, optional: true, required: false - private _customResponse = new Wafv2WebAclRuleActionBlockCustomResponseOutputReference(this, "custom_response"); - public get customResponse() { - return this._customResponse; - } - public putCustomResponse(value: Wafv2WebAclRuleActionBlockCustomResponse) { - this._customResponse.internalValue = value; - } - public resetCustomResponse() { - this._customResponse.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get customResponseInput() { - return this._customResponse.internalValue; + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReference { + return new DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader { +export interface DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly name: string; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly value: string; + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderToTerraform(struct?: Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader | cdktf.IResolvable): any { +export function dashboardWidgetChangeDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), - value: cdktf.stringToTerraform(struct!.value), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -1596,29 +1910,34 @@ export class Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderOutputRe super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.aggregation = this._aggregation; } - if (this._value !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.value = this._value; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._name = undefined; - this._value = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -1627,40 +1946,60 @@ export class Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderOutputRe else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._name = value.name; - this._value = value.value; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set name(value: string) { - this._name = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get aggregationInput() { + return this._aggregation; } - // value - computed: false, optional: false, required: true - private _value?: string; - public get value() { - return this.getStringAttribute('value'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set value(value: string) { - this._value = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get valueInput() { - return this._value; + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader[] | cdktf.IResolvable +export class DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -1674,30 +2013,58 @@ export class Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderList ext /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderOutputReference { - return new Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference { + return new DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleActionCountCustomRequestHandling { +export interface DashboardWidgetChangeDefinitionRequestApmQuery { /** - * insert_header block + * The name of the index to query. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#insert_header Wafv2WebAcl#insert_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly insertHeader: Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader[] | cdktf.IResolvable; + readonly index: string; + /** + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + */ + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleActionCountCustomRequestHandlingToTerraform(struct?: Wafv2WebAclRuleActionCountCustomRequestHandlingOutputReference | Wafv2WebAclRuleActionCountCustomRequestHandling): any { +export function dashboardWidgetChangeDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryOutputReference | DashboardWidgetChangeDefinitionRequestApmQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - insert_header: cdktf.listMapper(wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderToTerraform, true)(struct!.insertHeader), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetChangeDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleActionCountCustomRequestHandlingOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -1708,141 +2075,162 @@ export class Wafv2WebAclRuleActionCountCustomRequestHandlingOutputReference exte super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleActionCountCustomRequestHandling | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._insertHeader?.internalValue !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.insertHeader = this._insertHeader?.internalValue; + internalValueResult.index = this._index; + } + if (this._searchQuery !== undefined) { + hasAnyValues = true; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleActionCountCustomRequestHandling | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._insertHeader.internalValue = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._insertHeader.internalValue = value.insertHeader; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // insert_header - computed: false, optional: false, required: true - private _insertHeader = new Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderList(this, "insert_header", true); - public get insertHeader() { - return this._insertHeader; + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public putInsertHeader(value: Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader[] | cdktf.IResolvable) { - this._insertHeader.internalValue = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get insertHeaderInput() { - return this._insertHeader.internalValue; + public get indexInput() { + return this._index; } -} -export interface Wafv2WebAclRuleActionCount { - /** - * custom_request_handling block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_request_handling Wafv2WebAcl#custom_request_handling} - */ - readonly customRequestHandling?: Wafv2WebAclRuleActionCountCustomRequestHandling; -} -export function wafv2WebAclRuleActionCountToTerraform(struct?: Wafv2WebAclRuleActionCountOutputReference | Wafv2WebAclRuleActionCount): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - return { - custom_request_handling: wafv2WebAclRuleActionCountCustomRequestHandlingToTerraform(struct!.customRequestHandling), + public set searchQuery(value: string) { + this._searchQuery = value; } -} - -export class Wafv2WebAclRuleActionCountOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetSearchQuery() { + this._searchQuery = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchQueryInput() { + return this._searchQuery; } - public get internalValue(): Wafv2WebAclRuleActionCount | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._customRequestHandling?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.customRequestHandling = this._customRequestHandling?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; } - public set internalValue(value: Wafv2WebAclRuleActionCount | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._customRequestHandling.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._customRequestHandling.internalValue = value.customRequestHandling; - } + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetChangeDefinitionRequestApmQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; } - // custom_request_handling - computed: false, optional: true, required: false - private _customRequestHandling = new Wafv2WebAclRuleActionCountCustomRequestHandlingOutputReference(this, "custom_request_handling"); - public get customRequestHandling() { - return this._customRequestHandling; + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } - public putCustomRequestHandling(value: Wafv2WebAclRuleActionCountCustomRequestHandling) { - this._customRequestHandling.internalValue = value; + public putMultiCompute(value: DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; } - public resetCustomRequestHandling() { - this._customRequestHandling.internalValue = undefined; + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get customRequestHandlingInput() { - return this._customRequestHandling.internalValue; + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleAction { +export interface DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery { /** - * allow block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#allow Wafv2WebAcl#allow} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly allow?: Wafv2WebAclRuleActionAllow; + readonly aggregation: string; /** - * block block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#block Wafv2WebAcl#block} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly block?: Wafv2WebAclRuleActionBlock; + readonly facet?: string; /** - * count block + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#count Wafv2WebAcl#count} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly count?: Wafv2WebAclRuleActionCount; + readonly interval?: number; } -export function wafv2WebAclRuleActionToTerraform(struct?: Wafv2WebAclRuleActionOutputReference | Wafv2WebAclRuleAction): any { +export function dashboardWidgetChangeDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - allow: wafv2WebAclRuleActionAllowToTerraform(struct!.allow), - block: wafv2WebAclRuleActionBlockToTerraform(struct!.block), - count: wafv2WebAclRuleActionCountToTerraform(struct!.count), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleActionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -1853,100 +2241,118 @@ export class Wafv2WebAclRuleActionOutputReference extends cdktf.ComplexObject { super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleAction | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allow?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.allow = this._allow?.internalValue; + internalValueResult.aggregation = this._aggregation; } - if (this._block?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.block = this._block?.internalValue; + internalValueResult.facet = this._facet; } - if (this._count?.internalValue !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.count = this._count?.internalValue; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleAction | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allow.internalValue = undefined; - this._block.internalValue = undefined; - this._count.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allow.internalValue = value.allow; - this._block.internalValue = value.block; - this._count.internalValue = value.count; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // allow - computed: false, optional: true, required: false - private _allow = new Wafv2WebAclRuleActionAllowOutputReference(this, "allow"); - public get allow() { - return this._allow; - } - public putAllow(value: Wafv2WebAclRuleActionAllow) { - this._allow.internalValue = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetAllow() { - this._allow.internalValue = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get allowInput() { - return this._allow.internalValue; + public get aggregationInput() { + return this._aggregation; } - // block - computed: false, optional: true, required: false - private _block = new Wafv2WebAclRuleActionBlockOutputReference(this, "block"); - public get block() { - return this._block; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putBlock(value: Wafv2WebAclRuleActionBlock) { - this._block.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetBlock() { - this._block.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get blockInput() { - return this._block.internalValue; + public get facetInput() { + return this._facet; } - // count - computed: false, optional: true, required: false - private _count = new Wafv2WebAclRuleActionCountOutputReference(this, "count"); - public get count() { - return this._count; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putCount(value: Wafv2WebAclRuleActionCount) { - this._count.internalValue = value; + public set interval(value: number) { + this._interval = value; } - public resetCount() { - this._count.internalValue = undefined; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get countInput() { - return this._count.internalValue; + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleOverrideActionCount { +export interface DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleOverrideActionCountToTerraform(struct?: Wafv2WebAclRuleOverrideActionCountOutputReference | Wafv2WebAclRuleOverrideActionCount): any { +export function dashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleOverrideActionCountOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -1957,325 +2363,440 @@ export class Wafv2WebAclRuleOverrideActionCountOutputReference extends cdktf.Com super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleOverrideActionCount | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleOverrideActionCount | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } -} -export interface Wafv2WebAclRuleOverrideActionNone { -} -export function wafv2WebAclRuleOverrideActionNoneToTerraform(struct?: Wafv2WebAclRuleOverrideActionNoneOutputReference | Wafv2WebAclRuleOverrideActionNone): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - return { + public set aggregation(value: string) { + this._aggregation = value; } -} - -export class Wafv2WebAclRuleOverrideActionNoneOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; } - public get internalValue(): Wafv2WebAclRuleOverrideActionNone | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public set internalValue(value: Wafv2WebAclRuleOverrideActionNone | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleOverrideAction { +export interface DashboardWidgetChangeDefinitionRequestLogQueryGroupBy { /** - * count block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#count Wafv2WebAcl#count} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly count?: Wafv2WebAclRuleOverrideActionCount; + readonly facet?: string; /** - * none block + * The maximum number of items in the group. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#none Wafv2WebAcl#none} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly none?: Wafv2WebAclRuleOverrideActionNone; + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery; } -export function wafv2WebAclRuleOverrideActionToTerraform(struct?: Wafv2WebAclRuleOverrideActionOutputReference | Wafv2WebAclRuleOverrideAction): any { +export function dashboardWidgetChangeDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - count: wafv2WebAclRuleOverrideActionCountToTerraform(struct!.count), - none: wafv2WebAclRuleOverrideActionNoneToTerraform(struct!.none), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleOverrideActionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleOverrideAction | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._count?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.count = this._count?.internalValue; + internalValueResult.facet = this._facet; } - if (this._none?.internalValue !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.none = this._none?.internalValue; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleOverrideAction | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._count.internalValue = undefined; - this._none.internalValue = undefined; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._count.internalValue = value.count; - this._none.internalValue = value.none; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // count - computed: false, optional: true, required: false - private _count = new Wafv2WebAclRuleOverrideActionCountOutputReference(this, "count"); - public get count() { - return this._count; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putCount(value: Wafv2WebAclRuleOverrideActionCount) { - this._count.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetCount() { - this._count.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get countInput() { - return this._count.internalValue; + public get facetInput() { + return this._facet; } - // none - computed: false, optional: true, required: false - private _none = new Wafv2WebAclRuleOverrideActionNoneOutputReference(this, "none"); - public get none() { - return this._none; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public putNone(value: Wafv2WebAclRuleOverrideActionNone) { - this._none.internalValue = value; + public set limit(value: number) { + this._limit = value; } - public resetNone() { - this._none.internalValue = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get noneInput() { - return this._none.internalValue; + public get limitInput() { + return this._limit; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { -} -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - return { + public putSortQuery(value: DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; + } + public resetSortQuery() { + this._sortQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetChangeDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionRequestLogQueryGroupBy[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReference { + return new DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody { +export interface DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody): any { +export function dashboardWidgetChangeDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod { -} -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - return { + public set aggregation(value: string) { + this._aggregation = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString { -} -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - return { + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference { + return new DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader { +export interface DashboardWidgetChangeDefinitionRequestLogQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly name: string; + readonly index: string; + /** + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + */ + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { +export function dashboardWidgetChangeDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryOutputReference | DashboardWidgetChangeDefinitionRequestLogQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetChangeDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -2286,58 +2807,169 @@ export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFiel super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.index = this._index; + } + if (this._searchQuery !== undefined) { + hasAnyValues = true; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public set name(value: string) { - this._name = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get indexInput() { + return this._index; + } + + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); + } + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchQueryInput() { + return this._searchQuery; + } + + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; + } + + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetChangeDefinitionRequestLogQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; + } + + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { +export interface DashboardWidgetChangeDefinitionRequestProcessQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * A list of processes. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} */ - readonly name: string; + readonly filterBy?: string[]; + /** + * The max number of items in the filter list. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * Your chosen metric. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + */ + readonly metric: string; + /** + * Your chosen search term. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} + */ + readonly searchBy?: string; } -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { +export function dashboardWidgetChangeDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestProcessQueryOutputReference | DashboardWidgetChangeDefinitionRequestProcessQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), + limit: cdktf.numberToTerraform(struct!.limit), + metric: cdktf.stringToTerraform(struct!.metric), + search_by: cdktf.stringToTerraform(struct!.searchBy), } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -2348,53 +2980,140 @@ export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFiel super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestProcessQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._filterBy !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.filterBy = this._filterBy; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._metric !== undefined) { + hasAnyValues = true; + internalValueResult.metric = this._metric; + } + if (this._searchBy !== undefined) { + hasAnyValues = true; + internalValueResult.searchBy = this._searchBy; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestProcessQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._filterBy = undefined; + this._limit = undefined; + this._metric = undefined; + this._searchBy = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._filterBy = value.filterBy; + this._limit = value.limit; + this._metric = value.metric; + this._searchBy = value.searchBy; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // filter_by - computed: false, optional: true, required: false + private _filterBy?: string[]; + public get filterBy() { + return this.getListAttribute('filter_by'); } - public set name(value: string) { - this._name = value; + public set filterBy(value: string[]) { + this._filterBy = value; + } + public resetFilterBy() { + this._filterBy = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get filterByInput() { + return this._filterBy; + } + + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); + } + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; + } + + // metric - computed: false, optional: false, required: true + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); + } + public set metric(value: string) { + this._metric = value; + } + // Temporarily expose input value. Use with caution. + public get metricInput() { + return this._metric; + } + + // search_by - computed: false, optional: true, required: false + private _searchBy?: string; + public get searchBy() { + return this.getStringAttribute('search_by'); + } + public set searchBy(value: string) { + this._searchBy = value; + } + public resetSearchBy() { + this._searchBy = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchByInput() { + return this._searchBy; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath { +export interface DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath): any { +export function dashboardWidgetChangeDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -2405,83 +3124,118 @@ export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFiel super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); + } + public set aggregation(value: string) { + this._aggregation = value; + } + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; + } } -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} - */ - readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString; +export interface DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery { /** - * single_header block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader; + readonly aggregation: string; /** - * single_query_argument block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; + readonly facet?: string; /** - * uri_path block + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} */ - readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath; + readonly order: string; } -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch): any { +export function dashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -2492,198 +3246,115 @@ export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFiel super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.aggregation = this._aggregation; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.facet = this._facet; } - if (this._uriPath?.internalValue !== undefined) { + if (this._order !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody) { - this._body.internalValue = value; - } - public resetBody() { - this._body.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; - } - - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; - } - public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; - } - public resetMethod() { - this._method.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; - } - - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; - } - public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; - } - public resetQueryString() { - this._queryString.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; - } - - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; - } - public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get aggregationInput() { + return this._aggregation; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get facetInput() { + return this._facet; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; - } - public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public set order(value: string) { + this._order = value; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation { +export interface DashboardWidgetChangeDefinitionRequestRumQueryGroupBy { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly priority: number; + readonly facet?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly type: string; + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetChangeDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -2697,29 +3368,34 @@ export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementText super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.facet = this._facet; } - if (this._type !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -2728,40 +3404,63 @@ export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementText else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set priority(value: number) { - this._priority = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get facetInput() { + return this._facet; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public set type(value: string) { - this._type = value; + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get limitInput() { + return this._limit; + } + + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; + } + public putSortQuery(value: DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; + } + public resetSortQuery() { + this._sortQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable +export class DashboardWidgetChangeDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -2775,174 +3474,212 @@ export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementText /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReference { + return new DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} - */ - readonly positionalConstraint: string; +export interface DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly searchString: string; + readonly aggregation: string; /** - * field_to_match block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch; + readonly facet?: string; /** - * text_transformation block + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement): any { +export function dashboardWidgetChangeDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), - search_string: cdktf.stringToTerraform(struct!.searchString), - field_to_match: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._positionalConstraint !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.positionalConstraint = this._positionalConstraint; + internalValueResult.aggregation = this._aggregation; } - if (this._searchString !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.searchString = this._searchString; + internalValueResult.facet = this._facet; } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; - } - if (this._textTransformation?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._positionalConstraint = undefined; - this._searchString = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._positionalConstraint = value.positionalConstraint; - this._searchString = value.searchString; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // positional_constraint - computed: false, optional: false, required: true - private _positionalConstraint?: string; - public get positionalConstraint() { - return this.getStringAttribute('positional_constraint'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set positionalConstraint(value: string) { - this._positionalConstraint = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get positionalConstraintInput() { - return this._positionalConstraint; + public get aggregationInput() { + return this._aggregation; } - // search_string - computed: false, optional: false, required: true - private _searchString?: string; - public get searchString() { - return this.getStringAttribute('search_string'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set searchString(value: string) { - this._searchString = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get searchStringInput() { - return this._searchString; + public get facetInput() { + return this._facet; } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public set interval(value: number) { + this._interval = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get intervalInput() { + return this._interval; } +} - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; - } - public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; +export class DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference { + return new DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig { +export interface DashboardWidgetChangeDefinitionRequestRumQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly fallbackBehavior: string; + readonly index: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly headerName: string; + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig): any { +export function dashboardWidgetChangeDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryOutputReference | DashboardWidgetChangeDefinitionRequestRumQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetChangeDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -2953,178 +3690,162 @@ export class Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwa super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; + internalValueResult.index = this._index; } - if (this._headerName !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + public get indexInput() { + return this._index; } - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public set headerName(value: string) { - this._headerName = value; + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get searchQueryInput() { + return this._searchQuery; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} - */ - readonly countryCodes: string[]; - /** - * forwarded_ip_config block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} - */ - readonly forwardedIpConfig?: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig; -} -export function wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - return { - country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), - forwarded_ip_config: wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), + public putComputeQuery(value: DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery) { + this._computeQuery.internalValue = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._countryCodes !== undefined) { - hasAnyValues = true; - internalValueResult.countryCodes = this._countryCodes; - } - if (this._forwardedIpConfig?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._countryCodes = undefined; - this._forwardedIpConfig.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._countryCodes = value.countryCodes; - this._forwardedIpConfig.internalValue = value.forwardedIpConfig; - } + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetChangeDefinitionRequestRumQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - - // country_codes - computed: false, optional: false, required: true - private _countryCodes?: string[]; - public get countryCodes() { - return this.getListAttribute('country_codes'); + public putGroupBy(value: DashboardWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; } - public set countryCodes(value: string[]) { - this._countryCodes = value; + public resetGroupBy() { + this._groupBy.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get countryCodesInput() { - return this._countryCodes; + public get groupByInput() { + return this._groupBy.internalValue; } - // forwarded_ip_config - computed: false, optional: true, required: false - private _forwardedIpConfig = new Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); - public get forwardedIpConfig() { - return this._forwardedIpConfig; + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } - public putForwardedIpConfig(value: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig) { - this._forwardedIpConfig.internalValue = value; + public putMultiCompute(value: DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; } - public resetForwardedIpConfig() { - this._forwardedIpConfig.internalValue = undefined; + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get forwardedIpConfigInput() { - return this._forwardedIpConfig.internalValue; + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { +export interface DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly fallbackBehavior: string; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly headerName: string; + readonly facet?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly position: string; + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { +export function dashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), - position: cdktf.stringToTerraform(struct!.position), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -3135,103 +3856,118 @@ export class Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatemen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; + internalValueResult.aggregation = this._aggregation; } - if (this._headerName !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.facet = this._facet; } - if (this._position !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.position = this._position; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; - this._position = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; - this._position = value.position; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + public get aggregationInput() { + return this._aggregation; } - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set headerName(value: string) { - this._headerName = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get facetInput() { + return this._facet; } - // position - computed: false, optional: false, required: true - private _position?: string; - public get position() { - return this.getStringAttribute('position'); + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public set position(value: string) { - this._position = value; + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get positionInput() { - return this._position; + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement { +export interface DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly arn: string; + readonly aggregation: string; /** - * ip_set_forwarded_ip_config block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement): any { +export function dashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - arn: cdktf.stringToTerraform(struct!.arn), - ip_set_forwarded_ip_config: wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -3242,360 +3978,440 @@ export class Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatemen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._arn !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.arn = this._arn; + internalValueResult.aggregation = this._aggregation; } - if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._arn = undefined; - this._ipSetForwardedIpConfig.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; - this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set arn(value: string) { - this._arn = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; + public get aggregationInput() { + return this._aggregation; } - // ip_set_forwarded_ip_config - computed: false, optional: true, required: false - private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); - public get ipSetForwardedIpConfig() { - return this._ipSetForwardedIpConfig; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { - this._ipSetForwardedIpConfig.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetIpSetForwardedIpConfig() { - this._ipSetForwardedIpConfig.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get ipSetForwardedIpConfigInput() { - return this._ipSetForwardedIpConfig.internalValue; + public get facetInput() { + return this._facet; + } + + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementNotStatement { +export interface DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy { /** - * statement block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly statement: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable; + readonly facet?: string; + /** + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementAndStatementStatementNotStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementNotStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementNotStatement): any { +export function dashboardWidgetChangeDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - statement: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementToTerraform, true)(struct!.statement), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementAndStatementStatementNotStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementNotStatement | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._statement?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.statement = this._statement?.internalValue; + internalValueResult.facet = this._facet; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementNotStatement | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._statement.internalValue = undefined; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._statement.internalValue = value.statement; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // statement - computed: false, optional: false, required: true - private _statement = new Wafv2WebAclRuleStatementAndStatementStatementList(this, "statement", false); - public get statement() { - return this._statement; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putStatement(value: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable) { - this._statement.internalValue = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get statementInput() { - return this._statement.internalValue; + public get facetInput() { + return this._facet; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementOrStatement { - /** - * statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} - */ - readonly statement: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable; -} -export function wafv2WebAclRuleStatementAndStatementStatementOrStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementOrStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementOrStatement): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - return { - statement: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementToTerraform, true)(struct!.statement), + public set limit(value: number) { + this._limit = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementOrStatementOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetLimit() { + this._limit = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementOrStatement | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._statement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.statement = this._statement?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementOrStatement | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._statement.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._statement.internalValue = value.statement; - } + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - - // statement - computed: false, optional: false, required: true - private _statement = new Wafv2WebAclRuleStatementAndStatementStatementList(this, "statement", false); - public get statement() { - return this._statement; + public putSortQuery(value: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public putStatement(value: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable) { - this._statement.internalValue = value; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get statementInput() { - return this._statement.internalValue; - } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments { -} - -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference { + return new DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody { +export interface DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody): any { +export function dashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod { -} -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - return { + public set aggregation(value: string) { + this._aggregation = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString { -} -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - return { + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference { + return new DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader { +export interface DashboardWidgetChangeDefinitionRequestSecurityQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly name: string; + readonly index: string; + /** + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + */ + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader): any { +export function dashboardWidgetChangeDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference | DashboardWidgetChangeDefinitionRequestSecurityQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -3606,482 +4422,529 @@ export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.index = this._index; + } + if (this._searchQuery !== undefined) { + hasAnyValues = true; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public set name(value: string) { - this._name = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get indexInput() { + return this._index; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - return { - name: cdktf.stringToTerraform(struct!.name), + public set searchQuery(value: string) { + this._searchQuery = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetSearchQuery() { + this._searchQuery = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { - hasAnyValues = true; - internalValueResult.name = this._name; - } - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get searchQueryInput() { + return this._searchQuery; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._name = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; - } + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + public putComputeQuery(value: DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery) { + this._computeQuery.internalValue = value; } - public set name(value: string) { - this._name = value; + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get computeQueryInput() { + return this._computeQuery.internalValue; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath { -} -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - return { + public putGroupBy(value: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetGroupBy() { + this._groupBy.internalValue = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch { +export interface DashboardWidgetChangeDefinitionRequest { /** - * all_query_arguments block + * Whether to show absolute or relative change. Valid values are \`absolute\`, \`relative\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#change_type Dashboard#change_type} */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments; + readonly changeType?: string; /** - * body block + * Choose from when to compare current data to. Valid values are \`hour_before\`, \`day_before\`, \`week_before\`, \`month_before\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compare_to Dashboard#compare_to} */ - readonly body?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody; + readonly compareTo?: string; /** - * method block + * A Boolean indicating whether an increase in the value is good (displayed in green) or not (displayed in red). * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#increase_good Dashboard#increase_good} */ - readonly method?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod; + readonly increaseGood?: boolean | cdktf.IResolvable; /** - * query_string block + * What to order by. Valid values are \`change\`, \`name\`, \`present\`, \`past\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order_by Dashboard#order_by} */ - readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; + readonly orderBy?: string; /** - * single_header block + * Widget sorting method. Valid values are \`asc\`, \`desc\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order_dir Dashboard#order_dir} */ - readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader; + readonly orderDir?: string; /** - * single_query_argument block + * The metric query to use for this widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument; + readonly q?: string; /** - * uri_path block + * If set to \`true\`, displays the current value. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#show_present Dashboard#show_present} */ - readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath; + readonly showPresent?: boolean | cdktf.IResolvable; + /** + * apm_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} + */ + readonly apmQuery?: DashboardWidgetChangeDefinitionRequestApmQuery; + /** + * log_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} + */ + readonly logQuery?: DashboardWidgetChangeDefinitionRequestLogQuery; + /** + * process_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} + */ + readonly processQuery?: DashboardWidgetChangeDefinitionRequestProcessQuery; + /** + * rum_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} + */ + readonly rumQuery?: DashboardWidgetChangeDefinitionRequestRumQuery; + /** + * security_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} + */ + readonly securityQuery?: DashboardWidgetChangeDefinitionRequestSecurityQuery; } -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch): any { +export function dashboardWidgetChangeDefinitionRequestToTerraform(struct?: DashboardWidgetChangeDefinitionRequest | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + change_type: cdktf.stringToTerraform(struct!.changeType), + compare_to: cdktf.stringToTerraform(struct!.compareTo), + increase_good: cdktf.booleanToTerraform(struct!.increaseGood), + order_by: cdktf.stringToTerraform(struct!.orderBy), + order_dir: cdktf.stringToTerraform(struct!.orderDir), + q: cdktf.stringToTerraform(struct!.q), + show_present: cdktf.booleanToTerraform(struct!.showPresent), + apm_query: dashboardWidgetChangeDefinitionRequestApmQueryToTerraform(struct!.apmQuery), + log_query: dashboardWidgetChangeDefinitionRequestLogQueryToTerraform(struct!.logQuery), + process_query: dashboardWidgetChangeDefinitionRequestProcessQueryToTerraform(struct!.processQuery), + rum_query: dashboardWidgetChangeDefinitionRequestRumQueryToTerraform(struct!.rumQuery), + security_query: dashboardWidgetChangeDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), } } -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetChangeDefinitionRequest | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { + if (this._changeType !== undefined) { hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; + internalValueResult.changeType = this._changeType; } - if (this._body?.internalValue !== undefined) { + if (this._compareTo !== undefined) { hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; + internalValueResult.compareTo = this._compareTo; } - if (this._method?.internalValue !== undefined) { + if (this._increaseGood !== undefined) { hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; + internalValueResult.increaseGood = this._increaseGood; } - if (this._queryString?.internalValue !== undefined) { + if (this._orderBy !== undefined) { hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; + internalValueResult.orderBy = this._orderBy; } - if (this._singleHeader?.internalValue !== undefined) { + if (this._orderDir !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.orderDir = this._orderDir; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._q !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.q = this._q; } - if (this._uriPath?.internalValue !== undefined) { + if (this._showPresent !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.showPresent = this._showPresent; + } + if (this._apmQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.apmQuery = this._apmQuery?.internalValue; + } + if (this._logQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.logQuery = this._logQuery?.internalValue; + } + if (this._processQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.processQuery = this._processQuery?.internalValue; + } + if (this._rumQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.rumQuery = this._rumQuery?.internalValue; + } + if (this._securityQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.securityQuery = this._securityQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinitionRequest | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this.resolvableValue = undefined; + this._changeType = undefined; + this._compareTo = undefined; + this._increaseGood = undefined; + this._orderBy = undefined; + this._orderDir = undefined; + this._q = undefined; + this._showPresent = undefined; + this._apmQuery.internalValue = undefined; + this._logQuery.internalValue = undefined; + this._processQuery.internalValue = undefined; + this._rumQuery.internalValue = undefined; + this._securityQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this.resolvableValue = undefined; + this._changeType = value.changeType; + this._compareTo = value.compareTo; + this._increaseGood = value.increaseGood; + this._orderBy = value.orderBy; + this._orderDir = value.orderDir; + this._q = value.q; + this._showPresent = value.showPresent; + this._apmQuery.internalValue = value.apmQuery; + this._logQuery.internalValue = value.logQuery; + this._processQuery.internalValue = value.processQuery; + this._rumQuery.internalValue = value.rumQuery; + this._securityQuery.internalValue = value.securityQuery; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; + // change_type - computed: false, optional: true, required: false + private _changeType?: string; + public get changeType() { + return this.getStringAttribute('change_type'); } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; + public set changeType(value: string) { + this._changeType = value; } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; + public resetChangeType() { + this._changeType = undefined; } // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; + public get changeTypeInput() { + return this._changeType; } - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; + // compare_to - computed: false, optional: true, required: false + private _compareTo?: string; + public get compareTo() { + return this.getStringAttribute('compare_to'); } - public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody) { - this._body.internalValue = value; + public set compareTo(value: string) { + this._compareTo = value; } - public resetBody() { - this._body.internalValue = undefined; + public resetCompareTo() { + this._compareTo = undefined; } // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; + public get compareToInput() { + return this._compareTo; } - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; + // increase_good - computed: false, optional: true, required: false + private _increaseGood?: boolean | cdktf.IResolvable; + public get increaseGood() { + return this.getBooleanAttribute('increase_good'); } - public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod) { - this._method.internalValue = value; + public set increaseGood(value: boolean | cdktf.IResolvable) { + this._increaseGood = value; } - public resetMethod() { - this._method.internalValue = undefined; + public resetIncreaseGood() { + this._increaseGood = undefined; } // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + public get increaseGoodInput() { + return this._increaseGood; } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + // order_by - computed: false, optional: true, required: false + private _orderBy?: string; + public get orderBy() { + return this.getStringAttribute('order_by'); } - public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + public set orderBy(value: string) { + this._orderBy = value; } - public resetQueryString() { - this._queryString.internalValue = undefined; + public resetOrderBy() { + this._orderBy = undefined; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get orderByInput() { + return this._orderBy; } - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; + // order_dir - computed: false, optional: true, required: false + private _orderDir?: string; + public get orderDir() { + return this.getStringAttribute('order_dir'); } - public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + public set orderDir(value: string) { + this._orderDir = value; } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public resetOrderDir() { + this._orderDir = undefined; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get orderDirInput() { + return this._orderDir; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // q - computed: false, optional: true, required: false + private _q?: string; + public get q() { + return this.getStringAttribute('q'); } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public set q(value: string) { + this._q = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetQ() { + this._q = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get qInput() { + return this._q; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; + // show_present - computed: false, optional: true, required: false + private _showPresent?: boolean | cdktf.IResolvable; + public get showPresent() { + return this.getBooleanAttribute('show_present'); } - public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + public set showPresent(value: boolean | cdktf.IResolvable) { + this._showPresent = value; } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public resetShowPresent() { + this._showPresent = undefined; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get showPresentInput() { + return this._showPresent; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} - */ - readonly priority: number; - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} - */ - readonly type: string; -} -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // apm_query - computed: false, optional: true, required: false + private _apmQuery = new DashboardWidgetChangeDefinitionRequestApmQueryOutputReference(this, "apm_query"); + public get apmQuery() { + return this._apmQuery; } - return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + public putApmQuery(value: DashboardWidgetChangeDefinitionRequestApmQuery) { + this._apmQuery.internalValue = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; - - /** - * @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) - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public resetApmQuery() { + this._apmQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get apmQueryInput() { + return this._apmQuery.internalValue; } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._priority !== undefined) { - hasAnyValues = true; - internalValueResult.priority = this._priority; - } - if (this._type !== undefined) { - hasAnyValues = true; - internalValueResult.type = this._type; - } - return hasAnyValues ? internalValueResult : undefined; + // log_query - computed: false, optional: true, required: false + private _logQuery = new DashboardWidgetChangeDefinitionRequestLogQueryOutputReference(this, "log_query"); + public get logQuery() { + return this._logQuery; + } + public putLogQuery(value: DashboardWidgetChangeDefinitionRequestLogQuery) { + this._logQuery.internalValue = value; + } + public resetLogQuery() { + this._logQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get logQueryInput() { + return this._logQuery.internalValue; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; - } + // process_query - computed: false, optional: true, required: false + private _processQuery = new DashboardWidgetChangeDefinitionRequestProcessQueryOutputReference(this, "process_query"); + public get processQuery() { + return this._processQuery; + } + public putProcessQuery(value: DashboardWidgetChangeDefinitionRequestProcessQuery) { + this._processQuery.internalValue = value; + } + public resetProcessQuery() { + this._processQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get processQueryInput() { + return this._processQuery.internalValue; } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // rum_query - computed: false, optional: true, required: false + private _rumQuery = new DashboardWidgetChangeDefinitionRequestRumQueryOutputReference(this, "rum_query"); + public get rumQuery() { + return this._rumQuery; } - public set priority(value: number) { - this._priority = value; + public putRumQuery(value: DashboardWidgetChangeDefinitionRequestRumQuery) { + this._rumQuery.internalValue = value; + } + public resetRumQuery() { + this._rumQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get rumQueryInput() { + return this._rumQuery.internalValue; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // security_query - computed: false, optional: true, required: false + private _securityQuery = new DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference(this, "security_query"); + public get securityQuery() { + return this._securityQuery; } - public set type(value: string) { - this._type = value; + public putSecurityQuery(value: DashboardWidgetChangeDefinitionRequestSecurityQuery) { + this._securityQuery.internalValue = value; + } + public resetSecurityQuery() { + this._securityQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get securityQueryInput() { + return this._securityQuery.internalValue; } } -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable +export class DashboardWidgetChangeDefinitionRequestList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetChangeDefinitionRequest[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -4095,42 +4958,65 @@ export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferen /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetChangeDefinitionRequestOutputReference { + return new DashboardWidgetChangeDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement { +export interface DashboardWidgetChangeDefinition { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} */ - readonly arn: string; + readonly liveSpan?: string; /** - * field_to_match block + * The title of the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch; + readonly title?: string; /** - * text_transformation block + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} */ - readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable; + readonly titleAlign?: string; + /** + * The size of the widget's title (defaults to 16). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + */ + readonly titleSize?: string; + /** + * custom_link block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_link Dashboard#custom_link} + */ + readonly customLink?: DashboardWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable; + /** + * request block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} + */ + readonly request?: DashboardWidgetChangeDefinitionRequest[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement): any { +export function dashboardWidgetChangeDefinitionToTerraform(struct?: DashboardWidgetChangeDefinitionOutputReference | DashboardWidgetChangeDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - arn: cdktf.stringToTerraform(struct!.arn), - field_to_match: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform, true)(struct!.textTransformation), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), + custom_link: cdktf.listMapper(dashboardWidgetChangeDefinitionCustomLinkToTerraform, true)(struct!.customLink), + request: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestToTerraform, true)(struct!.request), } } -export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetChangeDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -4141,94 +5027,229 @@ export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement | undefined { + public get internalValue(): DashboardWidgetChangeDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._arn !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.arn = this._arn; + internalValueResult.liveSpan = this._liveSpan; } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._title !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.title = this._title; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._titleAlign !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; + } + if (this._customLink?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.customLink = this._customLink?.internalValue; + } + if (this._request?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.request = this._request?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement | undefined) { + public set internalValue(value: DashboardWidgetChangeDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._arn = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._liveSpan = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; + this._customLink.internalValue = undefined; + this._request.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._liveSpan = value.liveSpan; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; + this._customLink.internalValue = value.customLink; + this._request.internalValue = value.request; } } - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public set arn(value: string) { - this._arn = value; + public set liveSpan(value: string) { + this._liveSpan = value; + } + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; + public get liveSpanInput() { + return this._liveSpan; } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); } - public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public set title(value: string) { + this._title = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public resetTitle() { + this._title = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get titleInput() { + return this._title; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); } - public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get titleAlignInput() { + return this._titleAlign; + } + + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; + } + + // custom_link - computed: false, optional: true, required: false + private _customLink = new DashboardWidgetChangeDefinitionCustomLinkList(this, "custom_link", false); + public get customLink() { + return this._customLink; + } + public putCustomLink(value: DashboardWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable) { + this._customLink.internalValue = value; + } + public resetCustomLink() { + this._customLink.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get customLinkInput() { + return this._customLink.internalValue; + } + + // request - computed: false, optional: true, required: false + private _request = new DashboardWidgetChangeDefinitionRequestList(this, "request", false); + public get request() { + return this._request; + } + public putRequest(value: DashboardWidgetChangeDefinitionRequest[] | cdktf.IResolvable) { + this._request.internalValue = value; + } + public resetRequest() { + this._request.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get requestInput() { + return this._request.internalValue; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments { +export interface DashboardWidgetCheckStatusDefinition { + /** + * The check to use in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#check Dashboard#check} + */ + readonly check: string; + /** + * The check group to use in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group Dashboard#group} + */ + readonly group?: string; + /** + * When \`grouping = "cluster"\`, indicates a list of tags to use for grouping. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: string[]; + /** + * The kind of grouping to use. Valid values are \`check\`, \`cluster\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#grouping Dashboard#grouping} + */ + readonly grouping: string; + /** + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} + */ + readonly liveSpan?: string; + /** + * A list of tags to use in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags Dashboard#tags} + */ + readonly tags?: string[]; + /** + * The title of the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + */ + readonly title?: string; + /** + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + */ + readonly titleAlign?: string; + /** + * The size of the widget's title (defaults to 16). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + */ + readonly titleSize?: string; } -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments): any { +export function dashboardWidgetCheckStatusDefinitionToTerraform(struct?: DashboardWidgetCheckStatusDefinitionOutputReference | DashboardWidgetCheckStatusDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + check: cdktf.stringToTerraform(struct!.check), + group: cdktf.stringToTerraform(struct!.group), + group_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.groupBy), + grouping: cdktf.stringToTerraform(struct!.grouping), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + tags: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.tags), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetCheckStatusDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -4239,110 +5260,247 @@ export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatemen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): DashboardWidgetCheckStatusDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._check !== undefined) { + hasAnyValues = true; + internalValueResult.check = this._check; + } + if (this._group !== undefined) { + hasAnyValues = true; + internalValueResult.group = this._group; + } + if (this._groupBy !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy; + } + if (this._grouping !== undefined) { + hasAnyValues = true; + internalValueResult.grouping = this._grouping; + } + if (this._liveSpan !== undefined) { + hasAnyValues = true; + internalValueResult.liveSpan = this._liveSpan; + } + if (this._tags !== undefined) { + hasAnyValues = true; + internalValueResult.tags = this._tags; + } + if (this._title !== undefined) { + hasAnyValues = true; + internalValueResult.title = this._title; + } + if (this._titleAlign !== undefined) { + hasAnyValues = true; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: DashboardWidgetCheckStatusDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._check = undefined; + this._group = undefined; + this._groupBy = undefined; + this._grouping = undefined; + this._liveSpan = undefined; + this._tags = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._check = value.check; + this._group = value.group; + this._groupBy = value.groupBy; + this._grouping = value.grouping; + this._liveSpan = value.liveSpan; + this._tags = value.tags; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; } } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody { -} -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // check - computed: false, optional: false, required: true + private _check?: string; + public get check() { + return this.getStringAttribute('check'); } - return { + public set check(value: string) { + this._check = value; + } + // Temporarily expose input value. Use with caution. + public get checkInput() { + return this._check; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // group - computed: false, optional: true, required: false + private _group?: string; + public get group() { + return this.getStringAttribute('group'); + } + public set group(value: string) { + this._group = value; + } + public resetGroup() { + this._group = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupInput() { + return this._group; } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // group_by - computed: false, optional: true, required: false + private _groupBy?: string[]; + public get groupBy() { + return this.getListAttribute('group_by'); + } + public set groupBy(value: string[]) { + this._groupBy = value; + } + public resetGroupBy() { + this._groupBy = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // grouping - computed: false, optional: false, required: true + private _grouping?: string; + public get grouping() { + return this.getStringAttribute('grouping'); + } + public set grouping(value: string) { + this._grouping = value; + } + // Temporarily expose input value. Use with caution. + public get groupingInput() { + return this._grouping; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod { -} -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - return { + public set liveSpan(value: string) { + this._liveSpan = value; + } + public resetLiveSpan() { + this._liveSpan = undefined; + } + // Temporarily expose input value. Use with caution. + public get liveSpanInput() { + return this._liveSpan; } -} -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; + // tags - computed: false, optional: true, required: false + private _tags?: string[]; + public get tags() { + return this.getListAttribute('tags'); + } + public set tags(value: string[]) { + this._tags = value; + } + public resetTags() { + this._tags = undefined; + } + // Temporarily expose input value. Use with caution. + public get tagsInput() { + return this._tags; + } - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); + } + public set title(value: string) { + this._title = value; + } + public resetTitle() { + this._title = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleInput() { + return this._title; } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); + } + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleAlignInput() { + return this._titleAlign; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString { +export interface DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString): any { +export function dashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -4353,39 +5511,118 @@ export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatemen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); + } + public set aggregation(value: string) { + this._aggregation = value; + } + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; + } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader { +export interface DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly name: string; + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader): any { +export function dashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -4396,536 +5633,606 @@ export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatemen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set name(value: string) { - this._name = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument { +export interface DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly name: string; + readonly facet?: string; + /** + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument): any { +export function dashboardWidgetDistributionDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.facet = this._facet; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set name(value: string) { - this._name = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get facetInput() { + return this._facet; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath { -} -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - return { + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; + } + + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; + } + public putSortQuery(value: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; + } + public resetSortQuery() { + this._sortQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch { /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + * @param index the index of the item to return */ - readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString; + public get(index: number): DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference { + return new DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute { /** - * single_header block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader; + readonly aggregation: string; /** - * single_query_argument block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument; + readonly facet?: string; /** - * uri_path block + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath; + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch): any { +export function dashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.aggregation = this._aggregation; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.facet = this._facet; } - if (this._uriPath?.internalValue !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody) { - this._body.internalValue = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetBody() { - this._body.internalValue = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; + public get aggregationInput() { + return this._aggregation; } - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod) { - this._method.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetMethod() { - this._method.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + public get facetInput() { + return this._facet; } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + public set interval(value: number) { + this._interval = value; } - public resetQueryString() { - this._queryString.internalValue = undefined; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get intervalInput() { + return this._interval; } +} - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; - } - public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; - } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; - } +export class DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; - } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; - } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + /** + * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; - } - public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; - } - public resetUriPath() { - this._uriPath.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference { + return new DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation { +export interface DashboardWidgetDistributionDefinitionRequestApmQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly priority: number; + readonly index: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly type: string; + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetDistributionDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryOutputReference | DashboardWidgetDistributionDefinitionRequestApmQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.index = this._index; } - if (this._type !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public set priority(value: number) { - this._priority = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get indexInput() { + return this._index; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public set type(value: string) { - this._type = value; + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get searchQueryInput() { + return this._searchQuery; } -} -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; + } - /** - * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetDistributionDefinitionRequestApmQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; } - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#comparison_operator Wafv2WebAcl#comparison_operator} - */ - readonly comparisonOperator: string; +export interface DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size Wafv2WebAcl#size} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly size: number; + readonly aggregation: string; /** - * field_to_match block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch; + readonly facet?: string; /** - * text_transformation block + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable; + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement): any { +export function dashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - comparison_operator: cdktf.stringToTerraform(struct!.comparisonOperator), - size: cdktf.numberToTerraform(struct!.size), - field_to_match: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationToTerraform, true)(struct!.textTransformation), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -4936,113 +6243,118 @@ export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatemen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._comparisonOperator !== undefined) { - hasAnyValues = true; - internalValueResult.comparisonOperator = this._comparisonOperator; - } - if (this._size !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.size = this._size; + internalValueResult.aggregation = this._aggregation; } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.facet = this._facet; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._comparisonOperator = undefined; - this._size = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._comparisonOperator = value.comparisonOperator; - this._size = value.size; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // comparison_operator - computed: false, optional: false, required: true - private _comparisonOperator?: string; - public get comparisonOperator() { - return this.getStringAttribute('comparison_operator'); - } - public set comparisonOperator(value: string) { - this._comparisonOperator = value; - } - // Temporarily expose input value. Use with caution. - public get comparisonOperatorInput() { - return this._comparisonOperator; - } - - // size - computed: false, optional: false, required: true - private _size?: number; - public get size() { - return this.getNumberAttribute('size'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set size(value: number) { - this._size = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get sizeInput() { - return this._size; + public get aggregationInput() { + return this._aggregation; } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get facetInput() { + return this._facet; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments { +export interface DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments): any { +export function dashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -5053,359 +6365,440 @@ export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFiel super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody { -} -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - return { + public set aggregation(value: string) { + this._aggregation = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod { +export interface DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy { + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod): any { +export function dashboardWidgetDistributionDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString { -} -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); + } + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; + } + + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; + } + public putSortQuery(value: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; + } + public resetSortQuery() { + this._sortQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference { + return new DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader { +export interface DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly name: string; + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader): any { +export function dashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set name(value: string) { - this._name = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get aggregationInput() { + return this._aggregation; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { - name: cdktf.stringToTerraform(struct!.name), + public set facet(value: string) { + this._facet = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetFacet() { + this._facet = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { - hasAnyValues = true; - internalValueResult.name = this._name; - } - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._name = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; - } + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + public set interval(value: number) { + this._interval = value; } - public set name(value: string) { - this._name = value; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; - } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath { -} - -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments; /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} + * @param index the index of the item to return */ - readonly body?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody; + public get(index: number): DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference { + return new DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetDistributionDefinitionRequestLogQuery { /** - * method block + * The name of the index to query. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly method?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod; + readonly index: string; /** - * query_string block + * The search query to use. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString; + readonly searchQuery?: string; /** - * single_header block + * compute_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader; + readonly computeQuery?: DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery; /** - * single_query_argument block + * group_by block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument; + readonly groupBy?: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; /** - * uri_path block + * multi_compute block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath; + readonly multiCompute?: DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch): any { +export function dashboardWidgetDistributionDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference | DashboardWidgetDistributionDefinitionRequestLogQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -5416,320 +6809,313 @@ export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFiel super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; + internalValueResult.index = this._index; } - if (this._queryString?.internalValue !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; + internalValueResult.searchQuery = this._searchQuery; } - if (this._singleHeader?.internalValue !== undefined) { + if (this._computeQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.computeQuery = this._computeQuery?.internalValue; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._groupBy?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.groupBy = this._groupBy?.internalValue; } - if (this._uriPath?.internalValue !== undefined) { + if (this._multiCompute?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody) { - this._body.internalValue = value; - } - public resetBody() { - this._body.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; - } - - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; - } - public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public resetMethod() { - this._method.internalValue = undefined; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + public get indexInput() { + return this._index; } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + public set searchQuery(value: string) { + this._searchQuery = value; } - public resetQueryString() { - this._queryString.internalValue = undefined; + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get searchQueryInput() { + return this._searchQuery; } - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + public putComputeQuery(value: DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery) { + this._computeQuery.internalValue = value; } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get computeQueryInput() { + return this._computeQuery.internalValue; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetDistributionDefinitionRequestLogQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public putGroupBy(value: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetGroupBy() { + this._groupBy.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get groupByInput() { + return this._groupBy.internalValue; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } - public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + public putMultiCompute(value: DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation { +export interface DashboardWidgetDistributionDefinitionRequestProcessQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * A list of processes. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} */ - readonly priority: number; + readonly filterBy?: string[]; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The max number of items in the filter list. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly type: string; + readonly limit?: number; + /** + * Your chosen metric. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + */ + readonly metric: string; + /** + * Your chosen search term. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} + */ + readonly searchBy?: string; } -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetDistributionDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestProcessQueryOutputReference | DashboardWidgetDistributionDefinitionRequestProcessQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), + limit: cdktf.numberToTerraform(struct!.limit), + metric: cdktf.stringToTerraform(struct!.metric), + search_by: cdktf.stringToTerraform(struct!.searchBy), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetDistributionDefinitionRequestProcessQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._filterBy !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.filterBy = this._filterBy; } - if (this._type !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.limit = this._limit; + } + if (this._metric !== undefined) { + hasAnyValues = true; + internalValueResult.metric = this._metric; + } + if (this._searchBy !== undefined) { + hasAnyValues = true; + internalValueResult.searchBy = this._searchBy; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestProcessQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._filterBy = undefined; + this._limit = undefined; + this._metric = undefined; + this._searchBy = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._filterBy = value.filterBy; + this._limit = value.limit; + this._metric = value.metric; + this._searchBy = value.searchBy; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // filter_by - computed: false, optional: true, required: false + private _filterBy?: string[]; + public get filterBy() { + return this.getListAttribute('filter_by'); } - public set priority(value: number) { - this._priority = value; + public set filterBy(value: string[]) { + this._filterBy = value; + } + public resetFilterBy() { + this._filterBy = undefined; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get filterByInput() { + return this._filterBy; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public set type(value: string) { - this._type = value; + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get limitInput() { + return this._limit; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // metric - computed: false, optional: false, required: true + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); + } + public set metric(value: string) { + this._metric = value; + } + // Temporarily expose input value. Use with caution. + public get metricInput() { + return this._metric; } - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // search_by - computed: false, optional: true, required: false + private _searchBy?: string; + public get searchBy() { + return this.getStringAttribute('search_by'); + } + public set searchBy(value: string) { + this._searchBy = value; + } + public resetSearchBy() { + this._searchBy = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchByInput() { + return this._searchBy; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement { +export interface DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery { /** - * field_to_match block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch; + readonly aggregation: string; /** - * text_transformation block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement): any { +export function dashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - field_to_match: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -5740,75 +7126,118 @@ export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementOutp super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.aggregation = this._aggregation; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public set aggregation(value: string) { + this._aggregation = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get facetInput() { + return this._facet; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments { +export interface DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments): any { +export function dashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -5819,359 +7248,440 @@ export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementField super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody { -} -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - return { + public set aggregation(value: string) { + this._aggregation = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod { +export interface DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy { + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod): any { +export function dashboardWidgetDistributionDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString { -} -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); + } + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; + } + + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; + } + public putSortQuery(value: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; + } + public resetSortQuery() { + this._sortQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference { + return new DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader { +export interface DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly name: string; + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader): any { +export function dashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set name(value: string) { - this._name = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get aggregationInput() { + return this._aggregation; } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { - name: cdktf.stringToTerraform(struct!.name), + public set facet(value: string) { + this._facet = value; } -} - -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetFacet() { + this._facet = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { - hasAnyValues = true; - internalValueResult.name = this._name; - } - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._name = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; - } + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + public set interval(value: number) { + this._interval = value; } - public set name(value: string) { - this._name = value; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; - } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath { -} - -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch { /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} + * @param index the index of the item to return */ - readonly body?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody; + public get(index: number): DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference { + return new DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetDistributionDefinitionRequestRumQuery { /** - * method block + * The name of the index to query. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly method?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod; + readonly index: string; /** - * query_string block + * The search query to use. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString; + readonly searchQuery?: string; /** - * single_header block + * compute_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader; + readonly computeQuery?: DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery; /** - * single_query_argument block + * group_by block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument; + readonly groupBy?: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; /** - * uri_path block + * multi_compute block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath; + readonly multiCompute?: DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch): any { +export function dashboardWidgetDistributionDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference | DashboardWidgetDistributionDefinitionRequestRumQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -6182,320 +7692,284 @@ export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementField super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; + internalValueResult.index = this._index; } - if (this._queryString?.internalValue !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; + internalValueResult.searchQuery = this._searchQuery; } - if (this._singleHeader?.internalValue !== undefined) { + if (this._computeQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.computeQuery = this._computeQuery?.internalValue; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._groupBy?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.groupBy = this._groupBy?.internalValue; } - if (this._uriPath?.internalValue !== undefined) { + if (this._multiCompute?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody) { - this._body.internalValue = value; - } - public resetBody() { - this._body.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; - } - - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; - } - public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public resetMethod() { - this._method.internalValue = undefined; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + public get indexInput() { + return this._index; } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + public set searchQuery(value: string) { + this._searchQuery = value; } - public resetQueryString() { - this._queryString.internalValue = undefined; + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get searchQueryInput() { + return this._searchQuery; } - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + public putComputeQuery(value: DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery) { + this._computeQuery.internalValue = value; } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get computeQueryInput() { + return this._computeQuery.internalValue; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetDistributionDefinitionRequestRumQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public putGroupBy(value: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetGroupBy() { + this._groupBy.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get groupByInput() { + return this._groupBy.internalValue; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } - public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + public putMultiCompute(value: DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation { +export interface DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly priority: number; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly type: string; + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.aggregation = this._aggregation; } - if (this._type !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set priority(value: number) { - this._priority = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get aggregationInput() { + return this._aggregation; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set type(value: string) { - this._type = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get facetInput() { + return this._facet; } -} -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement { +export interface DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery { /** - * field_to_match block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch; + readonly aggregation: string; /** - * text_transformation block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement): any { +export function dashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - field_to_match: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -6506,145 +7980,115 @@ export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementOutpu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.aggregation = this._aggregation; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public set aggregation(value: string) { + this._aggregation = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get facetInput() { + return this._facet; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public set order(value: string) { + this._order = value; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementAndStatementStatement { - /** - * and_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#and_statement Wafv2WebAcl#and_statement} - */ - readonly andStatement?: Wafv2WebAclRuleStatementAndStatement; - /** - * byte_match_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#byte_match_statement Wafv2WebAcl#byte_match_statement} - */ - readonly byteMatchStatement?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement; - /** - * geo_match_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#geo_match_statement Wafv2WebAcl#geo_match_statement} - */ - readonly geoMatchStatement?: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement; - /** - * ip_set_reference_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_reference_statement Wafv2WebAcl#ip_set_reference_statement} - */ - readonly ipSetReferenceStatement?: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement; - /** - * not_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#not_statement Wafv2WebAcl#not_statement} - */ - readonly notStatement?: Wafv2WebAclRuleStatementAndStatementStatementNotStatement; - /** - * or_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#or_statement Wafv2WebAcl#or_statement} - */ - readonly orStatement?: Wafv2WebAclRuleStatementAndStatementStatementOrStatement; - /** - * regex_pattern_set_reference_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#regex_pattern_set_reference_statement Wafv2WebAcl#regex_pattern_set_reference_statement} - */ - readonly regexPatternSetReferenceStatement?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement; +export interface DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy { /** - * size_constraint_statement block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size_constraint_statement Wafv2WebAcl#size_constraint_statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly sizeConstraintStatement?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement; + readonly facet?: string; /** - * sqli_match_statement block + * The maximum number of items in the group. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#sqli_match_statement Wafv2WebAcl#sqli_match_statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly sqliMatchStatement?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement; + readonly limit?: number; /** - * xss_match_statement block + * sort_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#xss_match_statement Wafv2WebAcl#xss_match_statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly xssMatchStatement?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement; + readonly sortQuery?: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementAndStatementStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatement | cdktf.IResolvable): any { +export function dashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - and_statement: wafv2WebAclRuleStatementAndStatementToTerraform(struct!.andStatement), - byte_match_statement: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementToTerraform(struct!.byteMatchStatement), - geo_match_statement: wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementToTerraform(struct!.geoMatchStatement), - ip_set_reference_statement: wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct!.ipSetReferenceStatement), - not_statement: wafv2WebAclRuleStatementAndStatementStatementNotStatementToTerraform(struct!.notStatement), - or_statement: wafv2WebAclRuleStatementAndStatementStatementOrStatementToTerraform(struct!.orStatement), - regex_pattern_set_reference_statement: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform(struct!.regexPatternSetReferenceStatement), - size_constraint_statement: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementToTerraform(struct!.sizeConstraintStatement), - sqli_match_statement: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementToTerraform(struct!.sqliMatchStatement), - xss_match_statement: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementToTerraform(struct!.xssMatchStatement), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementAndStatementStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -6658,69 +8102,34 @@ export class Wafv2WebAclRuleStatementAndStatementStatementOutputReference extend super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatement | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._andStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.andStatement = this._andStatement?.internalValue; - } - if (this._byteMatchStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.byteMatchStatement = this._byteMatchStatement?.internalValue; - } - if (this._geoMatchStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.geoMatchStatement = this._geoMatchStatement?.internalValue; - } - if (this._ipSetReferenceStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.ipSetReferenceStatement = this._ipSetReferenceStatement?.internalValue; - } - if (this._notStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.notStatement = this._notStatement?.internalValue; - } - if (this._orStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.orStatement = this._orStatement?.internalValue; - } - if (this._regexPatternSetReferenceStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.regexPatternSetReferenceStatement = this._regexPatternSetReferenceStatement?.internalValue; - } - if (this._sizeConstraintStatement?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.sizeConstraintStatement = this._sizeConstraintStatement?.internalValue; + internalValueResult.facet = this._facet; } - if (this._sqliMatchStatement?.internalValue !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.sqliMatchStatement = this._sqliMatchStatement?.internalValue; + internalValueResult.limit = this._limit; } - if (this._xssMatchStatement?.internalValue !== undefined) { + if (this._sortQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.xssMatchStatement = this._xssMatchStatement?.internalValue; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatement | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._andStatement.internalValue = undefined; - this._byteMatchStatement.internalValue = undefined; - this._geoMatchStatement.internalValue = undefined; - this._ipSetReferenceStatement.internalValue = undefined; - this._notStatement.internalValue = undefined; - this._orStatement.internalValue = undefined; - this._regexPatternSetReferenceStatement.internalValue = undefined; - this._sizeConstraintStatement.internalValue = undefined; - this._sqliMatchStatement.internalValue = undefined; - this._xssMatchStatement.internalValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -6729,182 +8138,63 @@ export class Wafv2WebAclRuleStatementAndStatementStatementOutputReference extend else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._andStatement.internalValue = value.andStatement; - this._byteMatchStatement.internalValue = value.byteMatchStatement; - this._geoMatchStatement.internalValue = value.geoMatchStatement; - this._ipSetReferenceStatement.internalValue = value.ipSetReferenceStatement; - this._notStatement.internalValue = value.notStatement; - this._orStatement.internalValue = value.orStatement; - this._regexPatternSetReferenceStatement.internalValue = value.regexPatternSetReferenceStatement; - this._sizeConstraintStatement.internalValue = value.sizeConstraintStatement; - this._sqliMatchStatement.internalValue = value.sqliMatchStatement; - this._xssMatchStatement.internalValue = value.xssMatchStatement; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // and_statement - computed: false, optional: true, required: false - private _andStatement = new Wafv2WebAclRuleStatementAndStatementOutputReference(this, "and_statement"); - public get andStatement() { - return this._andStatement; - } - public putAndStatement(value: Wafv2WebAclRuleStatementAndStatement) { - this._andStatement.internalValue = value; - } - public resetAndStatement() { - this._andStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get andStatementInput() { - return this._andStatement.internalValue; - } - - // byte_match_statement - computed: false, optional: true, required: false - private _byteMatchStatement = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementOutputReference(this, "byte_match_statement"); - public get byteMatchStatement() { - return this._byteMatchStatement; - } - public putByteMatchStatement(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement) { - this._byteMatchStatement.internalValue = value; - } - public resetByteMatchStatement() { - this._byteMatchStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get byteMatchStatementInput() { - return this._byteMatchStatement.internalValue; - } - - // geo_match_statement - computed: false, optional: true, required: false - private _geoMatchStatement = new Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementOutputReference(this, "geo_match_statement"); - public get geoMatchStatement() { - return this._geoMatchStatement; - } - public putGeoMatchStatement(value: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement) { - this._geoMatchStatement.internalValue = value; - } - public resetGeoMatchStatement() { - this._geoMatchStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get geoMatchStatementInput() { - return this._geoMatchStatement.internalValue; - } - - // ip_set_reference_statement - computed: false, optional: true, required: false - private _ipSetReferenceStatement = new Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementOutputReference(this, "ip_set_reference_statement"); - public get ipSetReferenceStatement() { - return this._ipSetReferenceStatement; - } - public putIpSetReferenceStatement(value: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement) { - this._ipSetReferenceStatement.internalValue = value; - } - public resetIpSetReferenceStatement() { - this._ipSetReferenceStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get ipSetReferenceStatementInput() { - return this._ipSetReferenceStatement.internalValue; - } - - // not_statement - computed: false, optional: true, required: false - private _notStatement = new Wafv2WebAclRuleStatementAndStatementStatementNotStatementOutputReference(this, "not_statement"); - public get notStatement() { - return this._notStatement; - } - public putNotStatement(value: Wafv2WebAclRuleStatementAndStatementStatementNotStatement) { - this._notStatement.internalValue = value; - } - public resetNotStatement() { - this._notStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get notStatementInput() { - return this._notStatement.internalValue; - } - - // or_statement - computed: false, optional: true, required: false - private _orStatement = new Wafv2WebAclRuleStatementAndStatementStatementOrStatementOutputReference(this, "or_statement"); - public get orStatement() { - return this._orStatement; - } - public putOrStatement(value: Wafv2WebAclRuleStatementAndStatementStatementOrStatement) { - this._orStatement.internalValue = value; - } - public resetOrStatement() { - this._orStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get orStatementInput() { - return this._orStatement.internalValue; - } - - // regex_pattern_set_reference_statement - computed: false, optional: true, required: false - private _regexPatternSetReferenceStatement = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference(this, "regex_pattern_set_reference_statement"); - public get regexPatternSetReferenceStatement() { - return this._regexPatternSetReferenceStatement; - } - public putRegexPatternSetReferenceStatement(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement) { - this._regexPatternSetReferenceStatement.internalValue = value; - } - public resetRegexPatternSetReferenceStatement() { - this._regexPatternSetReferenceStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get regexPatternSetReferenceStatementInput() { - return this._regexPatternSetReferenceStatement.internalValue; - } - - // size_constraint_statement - computed: false, optional: true, required: false - private _sizeConstraintStatement = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementOutputReference(this, "size_constraint_statement"); - public get sizeConstraintStatement() { - return this._sizeConstraintStatement; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putSizeConstraintStatement(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement) { - this._sizeConstraintStatement.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetSizeConstraintStatement() { - this._sizeConstraintStatement.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get sizeConstraintStatementInput() { - return this._sizeConstraintStatement.internalValue; + public get facetInput() { + return this._facet; } - // sqli_match_statement - computed: false, optional: true, required: false - private _sqliMatchStatement = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementOutputReference(this, "sqli_match_statement"); - public get sqliMatchStatement() { - return this._sqliMatchStatement; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public putSqliMatchStatement(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement) { - this._sqliMatchStatement.internalValue = value; + public set limit(value: number) { + this._limit = value; } - public resetSqliMatchStatement() { - this._sqliMatchStatement.internalValue = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get sqliMatchStatementInput() { - return this._sqliMatchStatement.internalValue; + public get limitInput() { + return this._limit; } - // xss_match_statement - computed: false, optional: true, required: false - private _xssMatchStatement = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementOutputReference(this, "xss_match_statement"); - public get xssMatchStatement() { - return this._xssMatchStatement; + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - public putXssMatchStatement(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement) { - this._xssMatchStatement.internalValue = value; + public putSortQuery(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public resetXssMatchStatement() { - this._xssMatchStatement.internalValue = undefined; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get xssMatchStatementInput() { - return this._xssMatchStatement.internalValue; + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementAndStatementStatementList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable +export class DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -6918,163 +8208,212 @@ export class Wafv2WebAclRuleStatementAndStatementStatementList extends cdktf.Com /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementOutputReference { - return new Wafv2WebAclRuleStatementAndStatementStatementOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference { + return new DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementAndStatement { +export interface DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute { /** - * statement block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly statement: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable; + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementAndStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementOutputReference | Wafv2WebAclRuleStatementAndStatement): any { +export function dashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - statement: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementToTerraform, true)(struct!.statement), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementAndStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementAndStatement | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._statement?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.statement = this._statement?.internalValue; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementAndStatement | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._statement.internalValue = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._statement.internalValue = value.statement; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // statement - computed: false, optional: false, required: true - private _statement = new Wafv2WebAclRuleStatementAndStatementStatementList(this, "statement", false); - public get statement() { - return this._statement; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public putStatement(value: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable) { - this._statement.internalValue = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get statementInput() { - return this._statement.internalValue; + public get aggregationInput() { + return this._aggregation; } -} -export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments { -} -export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { + public set facet(value: string) { + this._facet = value; } -} - -export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetFacet() { + this._facet = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } -} -export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody { -} - -export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + public set interval(value: number) { + this._interval = value; } - return { + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference { + return new DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod { +export interface DashboardWidgetDistributionDefinitionRequestSecurityQuery { + /** + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} + */ + readonly index: string; + /** + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + */ + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod): any { +export function dashboardWidgetDistributionDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryOutputReference | DashboardWidgetDistributionDefinitionRequestSecurityQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -7085,77 +8424,148 @@ export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodOutputR super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._index !== undefined) { + hasAnyValues = true; + internalValueResult.index = this._index; + } + if (this._searchQuery !== undefined) { + hasAnyValues = true; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } -} -export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString { -} -export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - return { + public set index(value: string) { + this._index = value; + } + // Temporarily expose input value. Use with caution. + public get indexInput() { + return this._index; } -} -export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); + } + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchQueryInput() { + return this._searchQuery; + } - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; } - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader { +export interface DashboardWidgetDistributionDefinitionRequestStyle { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} */ - readonly name: string; + readonly palette?: string; } -export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader): any { +export function dashboardWidgetDistributionDefinitionRequestStyleToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestStyleOutputReference | DashboardWidgetDistributionDefinitionRequestStyle): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + palette: cdktf.stringToTerraform(struct!.palette), } } -export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestStyleOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -7166,202 +8576,378 @@ export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderO super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequestStyle | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._palette !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.palette = this._palette; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequestStyle | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._palette = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._palette = value.palette; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // palette - computed: false, optional: true, required: false + private _palette?: string; + public get palette() { + return this.getStringAttribute('palette'); } - public set name(value: string) { - this._name = value; + public set palette(value: string) { + this._palette = value; + } + public resetPalette() { + this._palette = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get paletteInput() { + return this._palette; } } -export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument { +export interface DashboardWidgetDistributionDefinitionRequest { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The metric query to use for this widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} */ - readonly name: string; + readonly q?: string; + /** + * apm_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} + */ + readonly apmQuery?: DashboardWidgetDistributionDefinitionRequestApmQuery; + /** + * log_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} + */ + readonly logQuery?: DashboardWidgetDistributionDefinitionRequestLogQuery; + /** + * process_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} + */ + readonly processQuery?: DashboardWidgetDistributionDefinitionRequestProcessQuery; + /** + * rum_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} + */ + readonly rumQuery?: DashboardWidgetDistributionDefinitionRequestRumQuery; + /** + * security_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} + */ + readonly securityQuery?: DashboardWidgetDistributionDefinitionRequestSecurityQuery; + /** + * style block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} + */ + readonly style?: DashboardWidgetDistributionDefinitionRequestStyle; } -export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { +export function dashboardWidgetDistributionDefinitionRequestToTerraform(struct?: DashboardWidgetDistributionDefinitionRequest | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + q: cdktf.stringToTerraform(struct!.q), + apm_query: dashboardWidgetDistributionDefinitionRequestApmQueryToTerraform(struct!.apmQuery), + log_query: dashboardWidgetDistributionDefinitionRequestLogQueryToTerraform(struct!.logQuery), + process_query: dashboardWidgetDistributionDefinitionRequestProcessQueryToTerraform(struct!.processQuery), + rum_query: dashboardWidgetDistributionDefinitionRequestRumQueryToTerraform(struct!.rumQuery), + security_query: dashboardWidgetDistributionDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), + style: dashboardWidgetDistributionDefinitionRequestStyleToTerraform(struct!.style), } } -export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionRequestOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): DashboardWidgetDistributionDefinitionRequest | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._q !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.q = this._q; + } + if (this._apmQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.apmQuery = this._apmQuery?.internalValue; + } + if (this._logQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.logQuery = this._logQuery?.internalValue; + } + if (this._processQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.processQuery = this._processQuery?.internalValue; + } + if (this._rumQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.rumQuery = this._rumQuery?.internalValue; + } + if (this._securityQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.securityQuery = this._securityQuery?.internalValue; + } + if (this._style?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.style = this._style?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinitionRequest | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this.resolvableValue = undefined; + this._q = undefined; + this._apmQuery.internalValue = undefined; + this._logQuery.internalValue = undefined; + this._processQuery.internalValue = undefined; + this._rumQuery.internalValue = undefined; + this._securityQuery.internalValue = undefined; + this._style.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this.resolvableValue = undefined; + this._q = value.q; + this._apmQuery.internalValue = value.apmQuery; + this._logQuery.internalValue = value.logQuery; + this._processQuery.internalValue = value.processQuery; + this._rumQuery.internalValue = value.rumQuery; + this._securityQuery.internalValue = value.securityQuery; + this._style.internalValue = value.style; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // q - computed: false, optional: true, required: false + private _q?: string; + public get q() { + return this.getStringAttribute('q'); } - public set name(value: string) { - this._name = value; + public set q(value: string) { + this._q = value; + } + public resetQ() { + this._q = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get qInput() { + return this._q; } -} -export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath { -} -export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // apm_query - computed: false, optional: true, required: false + private _apmQuery = new DashboardWidgetDistributionDefinitionRequestApmQueryOutputReference(this, "apm_query"); + public get apmQuery() { + return this._apmQuery; } - return { + public putApmQuery(value: DashboardWidgetDistributionDefinitionRequestApmQuery) { + this._apmQuery.internalValue = value; + } + public resetApmQuery() { + this._apmQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get apmQueryInput() { + return this._apmQuery.internalValue; + } + + // log_query - computed: false, optional: true, required: false + private _logQuery = new DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference(this, "log_query"); + public get logQuery() { + return this._logQuery; + } + public putLogQuery(value: DashboardWidgetDistributionDefinitionRequestLogQuery) { + this._logQuery.internalValue = value; + } + public resetLogQuery() { + this._logQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get logQueryInput() { + return this._logQuery.internalValue; + } + + // process_query - computed: false, optional: true, required: false + private _processQuery = new DashboardWidgetDistributionDefinitionRequestProcessQueryOutputReference(this, "process_query"); + public get processQuery() { + return this._processQuery; + } + public putProcessQuery(value: DashboardWidgetDistributionDefinitionRequestProcessQuery) { + this._processQuery.internalValue = value; + } + public resetProcessQuery() { + this._processQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get processQueryInput() { + return this._processQuery.internalValue; + } + + // rum_query - computed: false, optional: true, required: false + private _rumQuery = new DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference(this, "rum_query"); + public get rumQuery() { + return this._rumQuery; + } + public putRumQuery(value: DashboardWidgetDistributionDefinitionRequestRumQuery) { + this._rumQuery.internalValue = value; + } + public resetRumQuery() { + this._rumQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get rumQueryInput() { + return this._rumQuery.internalValue; + } + + // security_query - computed: false, optional: true, required: false + private _securityQuery = new DashboardWidgetDistributionDefinitionRequestSecurityQueryOutputReference(this, "security_query"); + public get securityQuery() { + return this._securityQuery; + } + public putSecurityQuery(value: DashboardWidgetDistributionDefinitionRequestSecurityQuery) { + this._securityQuery.internalValue = value; + } + public resetSecurityQuery() { + this._securityQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get securityQueryInput() { + return this._securityQuery.internalValue; + } + + // style - computed: false, optional: true, required: false + private _style = new DashboardWidgetDistributionDefinitionRequestStyleOutputReference(this, "style"); + public get style() { + return this._style; + } + public putStyle(value: DashboardWidgetDistributionDefinitionRequestStyle) { + this._style.internalValue = value; + } + public resetStyle() { + this._style.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get styleInput() { + return this._style.internalValue; } } -export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetDistributionDefinitionRequestList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetDistributionDefinitionRequest[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetDistributionDefinitionRequestOutputReference { + return new DashboardWidgetDistributionDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch { +export interface DashboardWidgetDistributionDefinition { /** - * all_query_arguments block + * The size of the legend displayed in the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#legend_size Dashboard#legend_size} */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments; + readonly legendSize?: string; /** - * body block + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} */ - readonly body?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody; + readonly liveSpan?: string; /** - * method block + * Whether or not to show the legend on this widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#show_legend Dashboard#show_legend} */ - readonly method?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod; + readonly showLegend?: boolean | cdktf.IResolvable; /** - * query_string block + * The title of the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} */ - readonly queryString?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString; + readonly title?: string; /** - * single_header block + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} */ - readonly singleHeader?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader; + readonly titleAlign?: string; /** - * single_query_argument block + * The size of the widget's title (defaults to 16). * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument; + readonly titleSize?: string; /** - * uri_path block + * request block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} */ - readonly uriPath?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath; + readonly request?: DashboardWidgetDistributionDefinitionRequest[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch): any { +export function dashboardWidgetDistributionDefinitionToTerraform(struct?: DashboardWidgetDistributionDefinitionOutputReference | DashboardWidgetDistributionDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + legend_size: cdktf.stringToTerraform(struct!.legendSize), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + show_legend: cdktf.booleanToTerraform(struct!.showLegend), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), + request: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestToTerraform, true)(struct!.request), } } -export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetDistributionDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -7372,330 +8958,468 @@ export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchOutputReferen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetDistributionDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { + if (this._legendSize !== undefined) { hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; + internalValueResult.legendSize = this._legendSize; } - if (this._body?.internalValue !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; + internalValueResult.liveSpan = this._liveSpan; } - if (this._method?.internalValue !== undefined) { + if (this._showLegend !== undefined) { hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; + internalValueResult.showLegend = this._showLegend; } - if (this._queryString?.internalValue !== undefined) { + if (this._title !== undefined) { hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; + internalValueResult.title = this._title; } - if (this._singleHeader?.internalValue !== undefined) { + if (this._titleAlign !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.titleAlign = this._titleAlign; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._titleSize !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.titleSize = this._titleSize; } - if (this._uriPath?.internalValue !== undefined) { + if (this._request?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.request = this._request?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetDistributionDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this._legendSize = undefined; + this._liveSpan = undefined; + this._showLegend = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; + this._request.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this._legendSize = value.legendSize; + this._liveSpan = value.liveSpan; + this._showLegend = value.showLegend; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; + this._request.internalValue = value.request; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; + // legend_size - computed: false, optional: true, required: false + private _legendSize?: string; + public get legendSize() { + return this.getStringAttribute('legend_size'); } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; + public set legendSize(value: string) { + this._legendSize = value; } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; + public resetLegendSize() { + this._legendSize = undefined; } // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; + public get legendSizeInput() { + return this._legendSize; } - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public putBody(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody) { - this._body.internalValue = value; + public set liveSpan(value: string) { + this._liveSpan = value; } - public resetBody() { - this._body.internalValue = undefined; + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; + public get liveSpanInput() { + return this._liveSpan; } - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; + // show_legend - computed: false, optional: true, required: false + private _showLegend?: boolean | cdktf.IResolvable; + public get showLegend() { + return this.getBooleanAttribute('show_legend'); } - public putMethod(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; + public set showLegend(value: boolean | cdktf.IResolvable) { + this._showLegend = value; } - public resetMethod() { - this._method.internalValue = undefined; + public resetShowLegend() { + this._showLegend = undefined; } // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + public get showLegendInput() { + return this._showLegend; } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); } - public putQueryString(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + public set title(value: string) { + this._title = value; } - public resetQueryString() { - this._queryString.internalValue = undefined; + public resetTitle() { + this._title = undefined; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get titleInput() { + return this._title; } - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); } - public putSingleHeader(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + public set titleAlign(value: string) { + this._titleAlign = value; } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public resetTitleAlign() { + this._titleAlign = undefined; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get titleAlignInput() { + return this._titleAlign; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public set titleSize(value: string) { + this._titleSize = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetTitleSize() { + this._titleSize = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get titleSizeInput() { + return this._titleSize; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; + // request - computed: false, optional: true, required: false + private _request = new DashboardWidgetDistributionDefinitionRequestList(this, "request", false); + public get request() { + return this._request; } - public putUriPath(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + public putRequest(value: DashboardWidgetDistributionDefinitionRequest[] | cdktf.IResolvable) { + this._request.internalValue = value; } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public resetRequest() { + this._request.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get requestInput() { + return this._request.internalValue; } } -export interface Wafv2WebAclRuleStatementByteMatchStatementTextTransformation { +export interface DashboardWidgetEventStreamDefinition { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * The size to use to display an event. Valid values are \`s\`, \`l\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event_size Dashboard#event_size} */ - readonly priority: number; + readonly eventSize?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} */ - readonly type: string; + readonly liveSpan?: string; + /** + * The query to use in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} + */ + readonly query: string; + /** + * The execution method for multi-value filters, options: \`and\` or \`or\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} + */ + readonly tagsExecution?: string; + /** + * The title of the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + */ + readonly title?: string; + /** + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + */ + readonly titleAlign?: string; + /** + * The size of the widget's title (defaults to 16). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + */ + readonly titleSize?: string; } -export function wafv2WebAclRuleStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetEventStreamDefinitionToTerraform(struct?: DashboardWidgetEventStreamDefinitionOutputReference | DashboardWidgetEventStreamDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + event_size: cdktf.stringToTerraform(struct!.eventSize), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + query: cdktf.stringToTerraform(struct!.query), + tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), } } -export class Wafv2WebAclRuleStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetEventStreamDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetEventStreamDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._eventSize !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.eventSize = this._eventSize; } - if (this._type !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.liveSpan = this._liveSpan; + } + if (this._query !== undefined) { + hasAnyValues = true; + internalValueResult.query = this._query; + } + if (this._tagsExecution !== undefined) { + hasAnyValues = true; + internalValueResult.tagsExecution = this._tagsExecution; + } + if (this._title !== undefined) { + hasAnyValues = true; + internalValueResult.title = this._title; + } + if (this._titleAlign !== undefined) { + hasAnyValues = true; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetEventStreamDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._eventSize = undefined; + this._liveSpan = undefined; + this._query = undefined; + this._tagsExecution = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._eventSize = value.eventSize; + this._liveSpan = value.liveSpan; + this._query = value.query; + this._tagsExecution = value.tagsExecution; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // event_size - computed: false, optional: true, required: false + private _eventSize?: string; + public get eventSize() { + return this.getStringAttribute('event_size'); } - public set priority(value: number) { - this._priority = value; + public set eventSize(value: string) { + this._eventSize = value; + } + public resetEventSize() { + this._eventSize = undefined; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get eventSizeInput() { + return this._eventSize; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public set type(value: string) { - this._type = value; + public set liveSpan(value: string) { + this._liveSpan = value; + } + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get liveSpanInput() { + return this._liveSpan; } -} -export class Wafv2WebAclRuleStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable + // query - computed: false, optional: false, required: true + private _query?: string; + public get query() { + return this.getStringAttribute('query'); + } + public set query(value: string) { + this._query = value; + } + // Temporarily expose input value. Use with caution. + public get queryInput() { + return this._query; + } - /** - * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // tags_execution - computed: false, optional: true, required: false + private _tagsExecution?: string; + public get tagsExecution() { + return this.getStringAttribute('tags_execution'); + } + public set tagsExecution(value: string) { + this._tagsExecution = value; + } + public resetTagsExecution() { + this._tagsExecution = undefined; + } + // Temporarily expose input value. Use with caution. + public get tagsExecutionInput() { + return this._tagsExecution; } - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleStatementByteMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); + } + public set title(value: string) { + this._title = value; + } + public resetTitle() { + this._title = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleInput() { + return this._title; + } + + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); + } + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleAlignInput() { + return this._titleAlign; + } + + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; } } -export interface Wafv2WebAclRuleStatementByteMatchStatement { +export interface DashboardWidgetEventTimelineDefinition { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} */ - readonly positionalConstraint: string; + readonly liveSpan?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} + * The query to use in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} */ - readonly searchString: string; + readonly query: string; /** - * field_to_match block + * The execution method for multi-value filters, options: \`and\` or \`or\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch; + readonly tagsExecution?: string; /** - * text_transformation block + * The title of the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} */ - readonly textTransformation: Wafv2WebAclRuleStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly title?: string; + /** + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + */ + readonly titleAlign?: string; + /** + * The size of the widget's title (defaults to 16). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + */ + readonly titleSize?: string; } -export function wafv2WebAclRuleStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementByteMatchStatement): any { +export function dashboardWidgetEventTimelineDefinitionToTerraform(struct?: DashboardWidgetEventTimelineDefinitionOutputReference | DashboardWidgetEventTimelineDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), - search_string: cdktf.stringToTerraform(struct!.searchString), - field_to_match: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + query: cdktf.stringToTerraform(struct!.query), + tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), } } -export class Wafv2WebAclRuleStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetEventTimelineDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -7706,123 +9430,191 @@ export class Wafv2WebAclRuleStatementByteMatchStatementOutputReference extends c super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatement | undefined { + public get internalValue(): DashboardWidgetEventTimelineDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._positionalConstraint !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.positionalConstraint = this._positionalConstraint; + internalValueResult.liveSpan = this._liveSpan; } - if (this._searchString !== undefined) { + if (this._query !== undefined) { hasAnyValues = true; - internalValueResult.searchString = this._searchString; + internalValueResult.query = this._query; } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._tagsExecution !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.tagsExecution = this._tagsExecution; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._title !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.title = this._title; + } + if (this._titleAlign !== undefined) { + hasAnyValues = true; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetEventTimelineDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._positionalConstraint = undefined; - this._searchString = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._liveSpan = undefined; + this._query = undefined; + this._tagsExecution = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._positionalConstraint = value.positionalConstraint; - this._searchString = value.searchString; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._liveSpan = value.liveSpan; + this._query = value.query; + this._tagsExecution = value.tagsExecution; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; } } - // positional_constraint - computed: false, optional: false, required: true - private _positionalConstraint?: string; - public get positionalConstraint() { - return this.getStringAttribute('positional_constraint'); + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public set positionalConstraint(value: string) { - this._positionalConstraint = value; + public set liveSpan(value: string) { + this._liveSpan = value; + } + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get positionalConstraintInput() { - return this._positionalConstraint; + public get liveSpanInput() { + return this._liveSpan; } - // search_string - computed: false, optional: false, required: true - private _searchString?: string; - public get searchString() { - return this.getStringAttribute('search_string'); + // query - computed: false, optional: false, required: true + private _query?: string; + public get query() { + return this.getStringAttribute('query'); } - public set searchString(value: string) { - this._searchString = value; + public set query(value: string) { + this._query = value; } // Temporarily expose input value. Use with caution. - public get searchStringInput() { - return this._searchString; + public get queryInput() { + return this._query; } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // tags_execution - computed: false, optional: true, required: false + private _tagsExecution?: string; + public get tagsExecution() { + return this.getStringAttribute('tags_execution'); } - public putFieldToMatch(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public set tagsExecution(value: string) { + this._tagsExecution = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public resetTagsExecution() { + this._tagsExecution = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get tagsExecutionInput() { + return this._tagsExecution; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); } - public putTextTransformation(value: Wafv2WebAclRuleStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public set title(value: string) { + this._title = value; + } + public resetTitle() { + this._title = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get titleInput() { + return this._title; + } + + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); + } + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleAlignInput() { + return this._titleAlign; + } + + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; } } -export interface Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig { +export interface DashboardWidgetFreeTextDefinition { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + * The color of the text in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#color Dashboard#color} */ - readonly fallbackBehavior: string; + readonly color?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * The size of the text in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#font_size Dashboard#font_size} */ - readonly headerName: string; + readonly fontSize?: string; + /** + * The text to display in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text Dashboard#text} + */ + readonly text: string; + /** + * The alignment of the text in the widget. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_align Dashboard#text_align} + */ + readonly textAlign?: string; } -export function wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig): any { +export function dashboardWidgetFreeTextDefinitionToTerraform(struct?: DashboardWidgetFreeTextDefinitionOutputReference | DashboardWidgetFreeTextDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), + color: cdktf.stringToTerraform(struct!.color), + font_size: cdktf.stringToTerraform(struct!.fontSize), + text: cdktf.stringToTerraform(struct!.text), + text_align: cdktf.stringToTerraform(struct!.textAlign), } } -export class Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetFreeTextDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -7833,285 +9625,641 @@ export class Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigOutputRef super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig | undefined { + public get internalValue(): DashboardWidgetFreeTextDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { + if (this._color !== undefined) { hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; + internalValueResult.color = this._color; } - if (this._headerName !== undefined) { + if (this._fontSize !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.fontSize = this._fontSize; + } + if (this._text !== undefined) { + hasAnyValues = true; + internalValueResult.text = this._text; + } + if (this._textAlign !== undefined) { + hasAnyValues = true; + internalValueResult.textAlign = this._textAlign; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig | undefined) { + public set internalValue(value: DashboardWidgetFreeTextDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; + this._color = undefined; + this._fontSize = undefined; + this._text = undefined; + this._textAlign = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; + this._color = value.color; + this._fontSize = value.fontSize; + this._text = value.text; + this._textAlign = value.textAlign; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); + // color - computed: false, optional: true, required: false + private _color?: string; + public get color() { + return this.getStringAttribute('color'); } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; + public set color(value: string) { + this._color = value; + } + public resetColor() { + this._color = undefined; } // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + public get colorInput() { + return this._color; } - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + // font_size - computed: false, optional: true, required: false + private _fontSize?: string; + public get fontSize() { + return this.getStringAttribute('font_size'); } - public set headerName(value: string) { - this._headerName = value; + public set fontSize(value: string) { + this._fontSize = value; + } + public resetFontSize() { + this._fontSize = undefined; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get fontSizeInput() { + return this._fontSize; + } + + // text - computed: false, optional: false, required: true + private _text?: string; + public get text() { + return this.getStringAttribute('text'); + } + public set text(value: string) { + this._text = value; + } + // Temporarily expose input value. Use with caution. + public get textInput() { + return this._text; + } + + // text_align - computed: false, optional: true, required: false + private _textAlign?: string; + public get textAlign() { + return this.getStringAttribute('text_align'); + } + public set textAlign(value: string) { + this._textAlign = value; + } + public resetTextAlign() { + this._textAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get textAlignInput() { + return this._textAlign; } } -export interface Wafv2WebAclRuleStatementGeoMatchStatement { +export interface DashboardWidgetGeomapDefinitionCustomLink { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} + * The flag for toggling context menu link visibility. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} */ - readonly countryCodes: string[]; + readonly isHidden?: boolean | cdktf.IResolvable; /** - * forwarded_ip_config block + * The label for the custom link URL. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} */ - readonly forwardedIpConfig?: Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig; + readonly label?: string; + /** + * The URL of the custom link. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} + */ + readonly link?: string; + /** + * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} + */ + readonly overrideLabel?: string; } -export function wafv2WebAclRuleStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementGeoMatchStatement): any { +export function dashboardWidgetGeomapDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGeomapDefinitionCustomLink | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), - forwarded_ip_config: wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), + is_hidden: cdktf.booleanToTerraform(struct!.isHidden), + label: cdktf.stringToTerraform(struct!.label), + link: cdktf.stringToTerraform(struct!.link), + override_label: cdktf.stringToTerraform(struct!.overrideLabel), } } -export class Wafv2WebAclRuleStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementGeoMatchStatement | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionCustomLink | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._countryCodes !== undefined) { + if (this._isHidden !== undefined) { hasAnyValues = true; - internalValueResult.countryCodes = this._countryCodes; + internalValueResult.isHidden = this._isHidden; } - if (this._forwardedIpConfig?.internalValue !== undefined) { + if (this._label !== undefined) { hasAnyValues = true; - internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; + internalValueResult.label = this._label; + } + if (this._link !== undefined) { + hasAnyValues = true; + internalValueResult.link = this._link; + } + if (this._overrideLabel !== undefined) { + hasAnyValues = true; + internalValueResult.overrideLabel = this._overrideLabel; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementGeoMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionCustomLink | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._countryCodes = undefined; - this._forwardedIpConfig.internalValue = undefined; + this.resolvableValue = undefined; + this._isHidden = undefined; + this._label = undefined; + this._link = undefined; + this._overrideLabel = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._countryCodes = value.countryCodes; - this._forwardedIpConfig.internalValue = value.forwardedIpConfig; + this.resolvableValue = undefined; + this._isHidden = value.isHidden; + this._label = value.label; + this._link = value.link; + this._overrideLabel = value.overrideLabel; } } - // country_codes - computed: false, optional: false, required: true - private _countryCodes?: string[]; - public get countryCodes() { - return this.getListAttribute('country_codes'); + // is_hidden - computed: false, optional: true, required: false + private _isHidden?: boolean | cdktf.IResolvable; + public get isHidden() { + return this.getBooleanAttribute('is_hidden'); } - public set countryCodes(value: string[]) { - this._countryCodes = value; + public set isHidden(value: boolean | cdktf.IResolvable) { + this._isHidden = value; + } + public resetIsHidden() { + this._isHidden = undefined; } // Temporarily expose input value. Use with caution. - public get countryCodesInput() { - return this._countryCodes; + public get isHiddenInput() { + return this._isHidden; } - // forwarded_ip_config - computed: false, optional: true, required: false - private _forwardedIpConfig = new Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); - public get forwardedIpConfig() { - return this._forwardedIpConfig; + // label - computed: false, optional: true, required: false + private _label?: string; + public get label() { + return this.getStringAttribute('label'); } - public putForwardedIpConfig(value: Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig) { - this._forwardedIpConfig.internalValue = value; + public set label(value: string) { + this._label = value; } - public resetForwardedIpConfig() { - this._forwardedIpConfig.internalValue = undefined; + public resetLabel() { + this._label = undefined; } // Temporarily expose input value. Use with caution. - public get forwardedIpConfigInput() { - return this._forwardedIpConfig.internalValue; + public get labelInput() { + return this._label; + } + + // link - computed: false, optional: true, required: false + private _link?: string; + public get link() { + return this.getStringAttribute('link'); + } + public set link(value: string) { + this._link = value; + } + public resetLink() { + this._link = undefined; + } + // Temporarily expose input value. Use with caution. + public get linkInput() { + return this._link; + } + + // override_label - computed: false, optional: true, required: false + private _overrideLabel?: string; + public get overrideLabel() { + return this.getStringAttribute('override_label'); + } + public set overrideLabel(value: string) { + this._overrideLabel = value; + } + public resetOverrideLabel() { + this._overrideLabel = undefined; + } + // Temporarily expose input value. Use with caution. + public get overrideLabelInput() { + return this._overrideLabel; } } -export interface Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig { + +export class DashboardWidgetGeomapDefinitionCustomLinkList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionCustomLink[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGeomapDefinitionCustomLinkOutputReference { + return new DashboardWidgetGeomapDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats { + /** + * The comparator to use. Valid values are \`>\`, \`>=\`, \`<\`, \`<=\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#comparator Dashboard#comparator} + */ + readonly comparator: string; + /** + * The color palette to apply to the background, same values available as palette. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_bg_color Dashboard#custom_bg_color} + */ + readonly customBgColor?: string; + /** + * The color palette to apply to the foreground, same values available as palette. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_fg_color Dashboard#custom_fg_color} + */ + readonly customFgColor?: string; + /** + * Setting this to True hides values. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#hide_value Dashboard#hide_value} + */ + readonly hideValue?: boolean | cdktf.IResolvable; + /** + * Displays an image as the background. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#image_url Dashboard#image_url} + */ + readonly imageUrl?: string; + /** + * The metric from the request to correlate with this conditional format. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + */ + readonly metric?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + * The color palette to apply. Valid values are \`blue\`, \`custom_bg\`, \`custom_image\`, \`custom_text\`, \`gray_on_white\`, \`grey\`, \`green\`, \`orange\`, \`red\`, \`red_on_white\`, \`white_on_gray\`, \`white_on_green\`, \`green_on_white\`, \`white_on_red\`, \`white_on_yellow\`, \`yellow_on_white\`, \`black_on_light_yellow\`, \`black_on_light_green\`, \`black_on_light_red\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} */ - readonly fallbackBehavior: string; + readonly palette: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * Defines the displayed timeframe. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#timeframe Dashboard#timeframe} */ - readonly headerName: string; + readonly timeframe?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} + * A value for the comparator. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#value Dashboard#value} */ - readonly position: string; + readonly value: number; } -export function wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { +export function dashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), - position: cdktf.stringToTerraform(struct!.position), + comparator: cdktf.stringToTerraform(struct!.comparator), + custom_bg_color: cdktf.stringToTerraform(struct!.customBgColor), + custom_fg_color: cdktf.stringToTerraform(struct!.customFgColor), + hide_value: cdktf.booleanToTerraform(struct!.hideValue), + image_url: cdktf.stringToTerraform(struct!.imageUrl), + metric: cdktf.stringToTerraform(struct!.metric), + palette: cdktf.stringToTerraform(struct!.palette), + timeframe: cdktf.stringToTerraform(struct!.timeframe), + value: cdktf.numberToTerraform(struct!.value), } } -export class Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { + if (this._comparator !== undefined) { hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; + internalValueResult.comparator = this._comparator; } - if (this._headerName !== undefined) { + if (this._customBgColor !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.customBgColor = this._customBgColor; } - if (this._position !== undefined) { + if (this._customFgColor !== undefined) { hasAnyValues = true; - internalValueResult.position = this._position; + internalValueResult.customFgColor = this._customFgColor; + } + if (this._hideValue !== undefined) { + hasAnyValues = true; + internalValueResult.hideValue = this._hideValue; + } + if (this._imageUrl !== undefined) { + hasAnyValues = true; + internalValueResult.imageUrl = this._imageUrl; + } + if (this._metric !== undefined) { + hasAnyValues = true; + internalValueResult.metric = this._metric; + } + if (this._palette !== undefined) { + hasAnyValues = true; + internalValueResult.palette = this._palette; + } + if (this._timeframe !== undefined) { + hasAnyValues = true; + internalValueResult.timeframe = this._timeframe; + } + if (this._value !== undefined) { + hasAnyValues = true; + internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; - this._position = undefined; + this.resolvableValue = undefined; + this._comparator = undefined; + this._customBgColor = undefined; + this._customFgColor = undefined; + this._hideValue = undefined; + this._imageUrl = undefined; + this._metric = undefined; + this._palette = undefined; + this._timeframe = undefined; + this._value = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; - this._position = value.position; + this.resolvableValue = undefined; + this._comparator = value.comparator; + this._customBgColor = value.customBgColor; + this._customFgColor = value.customFgColor; + this._hideValue = value.hideValue; + this._imageUrl = value.imageUrl; + this._metric = value.metric; + this._palette = value.palette; + this._timeframe = value.timeframe; + this._value = value.value; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); + // comparator - computed: false, optional: false, required: true + private _comparator?: string; + public get comparator() { + return this.getStringAttribute('comparator'); } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; + public set comparator(value: string) { + this._comparator = value; } // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + public get comparatorInput() { + return this._comparator; } - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + // custom_bg_color - computed: false, optional: true, required: false + private _customBgColor?: string; + public get customBgColor() { + return this.getStringAttribute('custom_bg_color'); } - public set headerName(value: string) { - this._headerName = value; + public set customBgColor(value: string) { + this._customBgColor = value; + } + public resetCustomBgColor() { + this._customBgColor = undefined; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get customBgColorInput() { + return this._customBgColor; } - // position - computed: false, optional: false, required: true - private _position?: string; - public get position() { - return this.getStringAttribute('position'); + // custom_fg_color - computed: false, optional: true, required: false + private _customFgColor?: string; + public get customFgColor() { + return this.getStringAttribute('custom_fg_color'); } - public set position(value: string) { - this._position = value; + public set customFgColor(value: string) { + this._customFgColor = value; + } + public resetCustomFgColor() { + this._customFgColor = undefined; } // Temporarily expose input value. Use with caution. - public get positionInput() { - return this._position; + public get customFgColorInput() { + return this._customFgColor; + } + + // hide_value - computed: false, optional: true, required: false + private _hideValue?: boolean | cdktf.IResolvable; + public get hideValue() { + return this.getBooleanAttribute('hide_value'); + } + public set hideValue(value: boolean | cdktf.IResolvable) { + this._hideValue = value; + } + public resetHideValue() { + this._hideValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get hideValueInput() { + return this._hideValue; + } + + // image_url - computed: false, optional: true, required: false + private _imageUrl?: string; + public get imageUrl() { + return this.getStringAttribute('image_url'); + } + public set imageUrl(value: string) { + this._imageUrl = value; + } + public resetImageUrl() { + this._imageUrl = undefined; + } + // Temporarily expose input value. Use with caution. + public get imageUrlInput() { + return this._imageUrl; + } + + // metric - computed: false, optional: true, required: false + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); + } + public set metric(value: string) { + this._metric = value; + } + public resetMetric() { + this._metric = undefined; + } + // Temporarily expose input value. Use with caution. + public get metricInput() { + return this._metric; + } + + // palette - computed: false, optional: false, required: true + private _palette?: string; + public get palette() { + return this.getStringAttribute('palette'); + } + public set palette(value: string) { + this._palette = value; + } + // Temporarily expose input value. Use with caution. + public get paletteInput() { + return this._palette; + } + + // timeframe - computed: false, optional: true, required: false + private _timeframe?: string; + public get timeframe() { + return this.getStringAttribute('timeframe'); + } + public set timeframe(value: string) { + this._timeframe = value; + } + public resetTimeframe() { + this._timeframe = undefined; + } + // Temporarily expose input value. Use with caution. + public get timeframeInput() { + return this._timeframe; + } + + // value - computed: false, optional: false, required: true + private _value?: number; + public get value() { + return this.getNumberAttribute('value'); + } + public set value(value: number) { + this._value = value; + } + // Temporarily expose input value. Use with caution. + public get valueInput() { + return this._value; } } -export interface Wafv2WebAclRuleStatementIpSetReferenceStatement { + +export class DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable + /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} + * @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) */ - readonly arn: string; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + /** - * ip_set_forwarded_ip_config block + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference { + return new DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGeomapDefinitionRequestFormulaLimit { + /** + * The number of results to return * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#count Dashboard#count} */ - readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig; + readonly count?: number; + /** + * The direction of the sort. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order?: string; } -export function wafv2WebAclRuleStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementIpSetReferenceStatement): any { +export function dashboardWidgetGeomapDefinitionRequestFormulaLimitToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestFormulaLimitOutputReference | DashboardWidgetGeomapDefinitionRequestFormulaLimit): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - arn: cdktf.stringToTerraform(struct!.arn), - ip_set_forwarded_ip_config: wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), + count: cdktf.numberToTerraform(struct!.count), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestFormulaLimitOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -8122,80 +10270,113 @@ export class Wafv2WebAclRuleStatementIpSetReferenceStatementOutputReference exte super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementIpSetReferenceStatement | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestFormulaLimit | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._arn !== undefined) { + if (this._count !== undefined) { hasAnyValues = true; - internalValueResult.arn = this._arn; + internalValueResult.count = this._count; } - if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { + if (this._order !== undefined) { hasAnyValues = true; - internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementIpSetReferenceStatement | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestFormulaLimit | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._arn = undefined; - this._ipSetForwardedIpConfig.internalValue = undefined; + this._count = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; - this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; + this._count = value.count; + this._order = value.order; } } - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); + // count - computed: false, optional: true, required: false + private _count?: number; + public get count() { + return this.getNumberAttribute('count'); } - public set arn(value: string) { - this._arn = value; + public set count(value: number) { + this._count = value; + } + public resetCount() { + this._count = undefined; } // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; + public get countInput() { + return this._count; } - // ip_set_forwarded_ip_config - computed: false, optional: true, required: false - private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); - public get ipSetForwardedIpConfig() { - return this._ipSetForwardedIpConfig; + // order - computed: false, optional: true, required: false + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig) { - this._ipSetForwardedIpConfig.internalValue = value; + public set order(value: string) { + this._order = value; } - public resetIpSetForwardedIpConfig() { - this._ipSetForwardedIpConfig.internalValue = undefined; + public resetOrder() { + this._order = undefined; } // Temporarily expose input value. Use with caution. - public get ipSetForwardedIpConfigInput() { - return this._ipSetForwardedIpConfig.internalValue; + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule { +export interface DashboardWidgetGeomapDefinitionRequestFormula { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * An expression alias. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#alias Dashboard#alias} */ - readonly name: string; + readonly alias?: string; + /** + * A list of display modes for each table cell. Valid values are \`number\`, \`bar\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#cell_display_mode Dashboard#cell_display_mode} + */ + readonly cellDisplayMode?: string; + /** + * A string expression built from queries, formulas, and functions. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#formula_expression Dashboard#formula_expression} + */ + readonly formulaExpression: string; + /** + * conditional_formats block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#conditional_formats Dashboard#conditional_formats} + */ + readonly conditionalFormats?: DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable; + /** + * limit block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: DashboardWidgetGeomapDefinitionRequestFormulaLimit; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule | cdktf.IResolvable): any { +export function dashboardWidgetGeomapDefinitionRequestFormulaToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + alias: cdktf.stringToTerraform(struct!.alias), + cell_display_mode: cdktf.stringToTerraform(struct!.cellDisplayMode), + formula_expression: cdktf.stringToTerraform(struct!.formulaExpression), + conditional_formats: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsToTerraform, true)(struct!.conditionalFormats), + limit: dashboardWidgetGeomapDefinitionRequestFormulaLimitToTerraform(struct!.limit), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestFormulaOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -8209,24 +10390,44 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleOutput super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._alias !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.alias = this._alias; + } + if (this._cellDisplayMode !== undefined) { + hasAnyValues = true; + internalValueResult.cellDisplayMode = this._cellDisplayMode; + } + if (this._formulaExpression !== undefined) { + hasAnyValues = true; + internalValueResult.formulaExpression = this._formulaExpression; + } + if (this._conditionalFormats?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.conditionalFormats = this._conditionalFormats?.internalValue; + } + if (this._limit?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._name = undefined; + this._alias = undefined; + this._cellDisplayMode = undefined; + this._formulaExpression = undefined; + this._conditionalFormats.internalValue = undefined; + this._limit.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -8235,170 +10436,145 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleOutput else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._name = value.name; + this._alias = value.alias; + this._cellDisplayMode = value.cellDisplayMode; + this._formulaExpression = value.formulaExpression; + this._conditionalFormats.internalValue = value.conditionalFormats; + this._limit.internalValue = value.limit; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // alias - computed: false, optional: true, required: false + private _alias?: string; + public get alias() { + return this.getStringAttribute('alias'); } - public set name(value: string) { - this._name = value; + public set alias(value: string) { + this._alias = value; + } + public resetAlias() { + this._alias = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get aliasInput() { + return this._alias; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // cell_display_mode - computed: false, optional: true, required: false + private _cellDisplayMode?: string; + public get cellDisplayMode() { + return this.getStringAttribute('cell_display_mode'); } - - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public set cellDisplayMode(value: string) { + this._cellDisplayMode = value; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + public resetCellDisplayMode() { + this._cellDisplayMode = undefined; } - return { + // Temporarily expose input value. Use with caution. + public get cellDisplayModeInput() { + return this._cellDisplayMode; } -} -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // formula_expression - computed: false, optional: false, required: true + private _formulaExpression?: string; + public get formulaExpression() { + return this.getStringAttribute('formula_expression'); } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + public set formulaExpression(value: string) { + this._formulaExpression = value; } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // Temporarily expose input value. Use with caution. + public get formulaExpressionInput() { + return this._formulaExpression; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // conditional_formats - computed: false, optional: true, required: false + private _conditionalFormats = new DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsList(this, "conditional_formats", false); + public get conditionalFormats() { + return this._conditionalFormats; } - return { + public putConditionalFormats(value: DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable) { + this._conditionalFormats.internalValue = value; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetConditionalFormats() { + this._conditionalFormats.internalValue = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get conditionalFormatsInput() { + return this._conditionalFormats.internalValue; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // limit - computed: false, optional: true, required: false + private _limit = new DashboardWidgetGeomapDefinitionRequestFormulaLimitOutputReference(this, "limit"); + public get limit() { + return this._limit; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + public putLimit(value: DashboardWidgetGeomapDefinitionRequestFormulaLimit) { + this._limit.internalValue = value; } - return { + public resetLimit() { + this._limit.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit.internalValue; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetGeomapDefinitionRequestFormulaList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequestFormula[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGeomapDefinitionRequestFormulaOutputReference { + return new DashboardWidgetGeomapDefinitionRequestFormulaOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString { +export interface DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString): any { +export function dashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -8409,101 +10585,118 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - return { - name: cdktf.stringToTerraform(struct!.name), + public set aggregation(value: string) { + this._aggregation = value; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { - hasAnyValues = true; - internalValueResult.name = this._name; - } - return hasAnyValues ? internalValueResult : undefined; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._name = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; - } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public set name(value: string) { - this._name = value; + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { +export interface DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly name: string; + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { +export function dashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -8514,342 +10707,272 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set name(value: string) { - this._name = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get aggregationInput() { + return this._aggregation; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { + public set facet(value: string) { + this._facet = value; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetFacet() { + this._facet = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} - */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString; +export interface DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy { /** - * single_header block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader; + readonly facet?: string; /** - * single_query_argument block + * The maximum number of items in the group. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; + readonly limit?: number; /** - * uri_path block + * sort_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath; + readonly sortQuery?: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch): any { +export function dashboardWidgetGeomapDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.facet = this._facet; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.limit = this._limit; } - if (this._uriPath?.internalValue !== undefined) { + if (this._sortQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; - } - } - - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody) { - this._body.internalValue = value; - } - public resetBody() { - this._body.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; + internalValueResult.sortQuery = this._sortQuery?.internalValue; + } + return hasAnyValues ? internalValueResult : undefined; } - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; - } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; - } - public resetMethod() { - this._method.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; + } } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetQueryString() { - this._queryString.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get facetInput() { + return this._facet; } - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + public set limit(value: number) { + this._limit = value; } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get limitInput() { + return this._limit; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public putSortQuery(value: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get sortQueryInput() { + return this._sortQuery.internalValue; } +} - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; - } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; - } - public resetUriPath() { - this._uriPath.internalValue = undefined; +export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference { + return new DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation { +export interface DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly priority: number; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly type: string; + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -8863,29 +10986,34 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.aggregation = this._aggregation; } - if (this._type !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -8894,40 +11022,60 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set priority(value: number) { - this._priority = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get aggregationInput() { + return this._aggregation; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set type(value: string) { - this._type = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable +export class DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -8941,47 +11089,58 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference { + return new DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement { +export interface DashboardWidgetGeomapDefinitionRequestLogQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly positionalConstraint: string; + readonly index: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly searchString: string; + readonly searchQuery?: string; /** - * field_to_match block + * compute_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch; + readonly computeQuery?: DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery; /** - * text_transformation block + * group_by block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement): any { +export function dashboardWidgetGeomapDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryOutputReference | DashboardWidgetGeomapDefinitionRequestLogQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), - search_string: cdktf.stringToTerraform(struct!.searchString), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -8992,123 +11151,211 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._positionalConstraint !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.positionalConstraint = this._positionalConstraint; + internalValueResult.index = this._index; } - if (this._searchString !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.searchString = this._searchString; + internalValueResult.searchQuery = this._searchQuery; } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._computeQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.computeQuery = this._computeQuery?.internalValue; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._groupBy?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._positionalConstraint = undefined; - this._searchString = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._positionalConstraint = value.positionalConstraint; - this._searchString = value.searchString; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // positional_constraint - computed: false, optional: false, required: true - private _positionalConstraint?: string; - public get positionalConstraint() { - return this.getStringAttribute('positional_constraint'); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public set positionalConstraint(value: string) { - this._positionalConstraint = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get positionalConstraintInput() { - return this._positionalConstraint; + public get indexInput() { + return this._index; } - // search_string - computed: false, optional: false, required: true - private _searchString?: string; - public get searchString() { - return this.getStringAttribute('search_string'); + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public set searchString(value: string) { - this._searchString = value; + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get searchStringInput() { - return this._searchString; + public get searchQueryInput() { + return this._searchQuery; } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public putComputeQuery(value: DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery) { + this._computeQuery.internalValue = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get computeQueryInput() { + return this._computeQuery.internalValue; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGeomapDefinitionRequestLogQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public putGroupBy(value: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get groupByInput() { + return this._groupBy.internalValue; + } + + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig { +export interface DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + * The data source for APM Dependency Stats queries. Valid values are \`apm_dependency_stats\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} */ - readonly fallbackBehavior: string; + readonly dataSource: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * APM Environment. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#env Dashboard#env} */ - readonly headerName: string; + readonly env: string; + /** + * Determines whether stats for upstream or downstream dependencies should be queried. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_upstream Dashboard#is_upstream} + */ + readonly isUpstream?: boolean | cdktf.IResolvable; + /** + * The name of query for use in formulas. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + */ + readonly name: string; + /** + * Name of operation on service. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#operation_name Dashboard#operation_name} + */ + readonly operationName: string; + /** + * The name of the second primary tag used within APM; required when \`primary_tag_value\` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_name Dashboard#primary_tag_name} + */ + readonly primaryTagName?: string; + /** + * Filter APM data by the second primary tag. \`primary_tag_name\` must also be specified. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_value Dashboard#primary_tag_value} + */ + readonly primaryTagValue?: string; + /** + * APM resource. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#resource_name Dashboard#resource_name} + */ + readonly resourceName: string; + /** + * APM service. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#service Dashboard#service} + */ + readonly service: string; + /** + * APM statistic. Valid values are \`avg_duration\`, \`avg_root_duration\`, \`avg_spans_per_trace\`, \`error_rate\`, \`pct_exec_time\`, \`pct_of_traces\`, \`total_traces_count\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#stat Dashboard#stat} + */ + readonly stat: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig): any { +export function dashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), + data_source: cdktf.stringToTerraform(struct!.dataSource), + env: cdktf.stringToTerraform(struct!.env), + is_upstream: cdktf.booleanToTerraform(struct!.isUpstream), + name: cdktf.stringToTerraform(struct!.name), + operation_name: cdktf.stringToTerraform(struct!.operationName), + primary_tag_name: cdktf.stringToTerraform(struct!.primaryTagName), + primary_tag_value: cdktf.stringToTerraform(struct!.primaryTagValue), + resource_name: cdktf.stringToTerraform(struct!.resourceName), + service: cdktf.stringToTerraform(struct!.service), + stat: cdktf.stringToTerraform(struct!.stat), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -9119,84 +11366,303 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { + if (this._dataSource !== undefined) { hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; + internalValueResult.dataSource = this._dataSource; } - if (this._headerName !== undefined) { + if (this._env !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.env = this._env; + } + if (this._isUpstream !== undefined) { + hasAnyValues = true; + internalValueResult.isUpstream = this._isUpstream; + } + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + if (this._operationName !== undefined) { + hasAnyValues = true; + internalValueResult.operationName = this._operationName; + } + if (this._primaryTagName !== undefined) { + hasAnyValues = true; + internalValueResult.primaryTagName = this._primaryTagName; + } + if (this._primaryTagValue !== undefined) { + hasAnyValues = true; + internalValueResult.primaryTagValue = this._primaryTagValue; + } + if (this._resourceName !== undefined) { + hasAnyValues = true; + internalValueResult.resourceName = this._resourceName; + } + if (this._service !== undefined) { + hasAnyValues = true; + internalValueResult.service = this._service; + } + if (this._stat !== undefined) { + hasAnyValues = true; + internalValueResult.stat = this._stat; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; + this._dataSource = undefined; + this._env = undefined; + this._isUpstream = undefined; + this._name = undefined; + this._operationName = undefined; + this._primaryTagName = undefined; + this._primaryTagValue = undefined; + this._resourceName = undefined; + this._service = undefined; + this._stat = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; + this._dataSource = value.dataSource; + this._env = value.env; + this._isUpstream = value.isUpstream; + this._name = value.name; + this._operationName = value.operationName; + this._primaryTagName = value.primaryTagName; + this._primaryTagValue = value.primaryTagValue; + this._resourceName = value.resourceName; + this._service = value.service; + this._stat = value.stat; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); + // data_source - computed: false, optional: false, required: true + private _dataSource?: string; + public get dataSource() { + return this.getStringAttribute('data_source'); } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; + public set dataSource(value: string) { + this._dataSource = value; } // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + public get dataSourceInput() { + return this._dataSource; } - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + // env - computed: false, optional: false, required: true + private _env?: string; + public get env() { + return this.getStringAttribute('env'); } - public set headerName(value: string) { - this._headerName = value; + public set env(value: string) { + this._env = value; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get envInput() { + return this._env; + } + + // is_upstream - computed: false, optional: true, required: false + private _isUpstream?: boolean | cdktf.IResolvable; + public get isUpstream() { + return this.getBooleanAttribute('is_upstream'); + } + public set isUpstream(value: boolean | cdktf.IResolvable) { + this._isUpstream = value; + } + public resetIsUpstream() { + this._isUpstream = undefined; + } + // Temporarily expose input value. Use with caution. + public get isUpstreamInput() { + return this._isUpstream; + } + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); + } + public set name(value: string) { + this._name = value; + } + // Temporarily expose input value. Use with caution. + public get nameInput() { + return this._name; + } + + // operation_name - computed: false, optional: false, required: true + private _operationName?: string; + public get operationName() { + return this.getStringAttribute('operation_name'); + } + public set operationName(value: string) { + this._operationName = value; + } + // Temporarily expose input value. Use with caution. + public get operationNameInput() { + return this._operationName; + } + + // primary_tag_name - computed: false, optional: true, required: false + private _primaryTagName?: string; + public get primaryTagName() { + return this.getStringAttribute('primary_tag_name'); + } + public set primaryTagName(value: string) { + this._primaryTagName = value; + } + public resetPrimaryTagName() { + this._primaryTagName = undefined; + } + // Temporarily expose input value. Use with caution. + public get primaryTagNameInput() { + return this._primaryTagName; + } + + // primary_tag_value - computed: false, optional: true, required: false + private _primaryTagValue?: string; + public get primaryTagValue() { + return this.getStringAttribute('primary_tag_value'); + } + public set primaryTagValue(value: string) { + this._primaryTagValue = value; + } + public resetPrimaryTagValue() { + this._primaryTagValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get primaryTagValueInput() { + return this._primaryTagValue; + } + + // resource_name - computed: false, optional: false, required: true + private _resourceName?: string; + public get resourceName() { + return this.getStringAttribute('resource_name'); + } + public set resourceName(value: string) { + this._resourceName = value; + } + // Temporarily expose input value. Use with caution. + public get resourceNameInput() { + return this._resourceName; + } + + // service - computed: false, optional: false, required: true + private _service?: string; + public get service() { + return this.getStringAttribute('service'); + } + public set service(value: string) { + this._service = value; + } + // Temporarily expose input value. Use with caution. + public get serviceInput() { + return this._service; + } + + // stat - computed: false, optional: false, required: true + private _stat?: string; + public get stat() { + return this.getStringAttribute('stat'); + } + public set stat(value: string) { + this._stat = value; + } + // Temporarily expose input value. Use with caution. + public get statInput() { + return this._stat; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement { +export interface DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} + * The data source for APM Resource Stats queries. Valid values are \`apm_resource_stats\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} */ - readonly countryCodes: string[]; + readonly dataSource: string; /** - * forwarded_ip_config block + * APM Environment. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#env Dashboard#env} */ - readonly forwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig; + readonly env: string; + /** + * Array of fields to group results by. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: string[]; + /** + * The name of query for use in formulas. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + */ + readonly name: string; + /** + * Name of operation on service. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#operation_name Dashboard#operation_name} + */ + readonly operationName?: string; + /** + * The name of the second primary tag used within APM; required when \`primary_tag_value\` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_name Dashboard#primary_tag_name} + */ + readonly primaryTagName?: string; + /** + * Filter APM data by the second primary tag. \`primary_tag_name\` must also be specified. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_value Dashboard#primary_tag_value} + */ + readonly primaryTagValue?: string; + /** + * APM resource. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#resource_name Dashboard#resource_name} + */ + readonly resourceName?: string; + /** + * APM service. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#service Dashboard#service} + */ + readonly service: string; + /** + * APM statistic. Valid values are \`errors\`, \`error_rate\`, \`hits\`, \`latency_avg\`, \`latency_max\`, \`latency_p50\`, \`latency_p75\`, \`latency_p90\`, \`latency_p95\`, \`latency_p99\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#stat Dashboard#stat} + */ + readonly stat: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement): any { +export function dashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), - forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), + data_source: cdktf.stringToTerraform(struct!.dataSource), + env: cdktf.stringToTerraform(struct!.env), + group_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.groupBy), + name: cdktf.stringToTerraform(struct!.name), + operation_name: cdktf.stringToTerraform(struct!.operationName), + primary_tag_name: cdktf.stringToTerraform(struct!.primaryTagName), + primary_tag_value: cdktf.stringToTerraform(struct!.primaryTagValue), + resource_name: cdktf.stringToTerraform(struct!.resourceName), + service: cdktf.stringToTerraform(struct!.service), + stat: cdktf.stringToTerraform(struct!.stat), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -9207,197 +11673,414 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._countryCodes !== undefined) { + if (this._dataSource !== undefined) { hasAnyValues = true; - internalValueResult.countryCodes = this._countryCodes; + internalValueResult.dataSource = this._dataSource; } - if (this._forwardedIpConfig?.internalValue !== undefined) { + if (this._env !== undefined) { hasAnyValues = true; - internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; + internalValueResult.env = this._env; + } + if (this._groupBy !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy; + } + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + if (this._operationName !== undefined) { + hasAnyValues = true; + internalValueResult.operationName = this._operationName; + } + if (this._primaryTagName !== undefined) { + hasAnyValues = true; + internalValueResult.primaryTagName = this._primaryTagName; + } + if (this._primaryTagValue !== undefined) { + hasAnyValues = true; + internalValueResult.primaryTagValue = this._primaryTagValue; + } + if (this._resourceName !== undefined) { + hasAnyValues = true; + internalValueResult.resourceName = this._resourceName; + } + if (this._service !== undefined) { + hasAnyValues = true; + internalValueResult.service = this._service; + } + if (this._stat !== undefined) { + hasAnyValues = true; + internalValueResult.stat = this._stat; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._countryCodes = undefined; - this._forwardedIpConfig.internalValue = undefined; + this._dataSource = undefined; + this._env = undefined; + this._groupBy = undefined; + this._name = undefined; + this._operationName = undefined; + this._primaryTagName = undefined; + this._primaryTagValue = undefined; + this._resourceName = undefined; + this._service = undefined; + this._stat = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._countryCodes = value.countryCodes; - this._forwardedIpConfig.internalValue = value.forwardedIpConfig; + this._dataSource = value.dataSource; + this._env = value.env; + this._groupBy = value.groupBy; + this._name = value.name; + this._operationName = value.operationName; + this._primaryTagName = value.primaryTagName; + this._primaryTagValue = value.primaryTagValue; + this._resourceName = value.resourceName; + this._service = value.service; + this._stat = value.stat; } } - // country_codes - computed: false, optional: false, required: true - private _countryCodes?: string[]; - public get countryCodes() { - return this.getListAttribute('country_codes'); + // data_source - computed: false, optional: false, required: true + private _dataSource?: string; + public get dataSource() { + return this.getStringAttribute('data_source'); } - public set countryCodes(value: string[]) { - this._countryCodes = value; + public set dataSource(value: string) { + this._dataSource = value; } // Temporarily expose input value. Use with caution. - public get countryCodesInput() { - return this._countryCodes; + public get dataSourceInput() { + return this._dataSource; } - // forwarded_ip_config - computed: false, optional: true, required: false - private _forwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); - public get forwardedIpConfig() { - return this._forwardedIpConfig; + // env - computed: false, optional: false, required: true + private _env?: string; + public get env() { + return this.getStringAttribute('env'); } - public putForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig) { - this._forwardedIpConfig.internalValue = value; + public set env(value: string) { + this._env = value; } - public resetForwardedIpConfig() { - this._forwardedIpConfig.internalValue = undefined; + // Temporarily expose input value. Use with caution. + public get envInput() { + return this._env; + } + + // group_by - computed: false, optional: true, required: false + private _groupBy?: string[]; + public get groupBy() { + return this.getListAttribute('group_by'); + } + public set groupBy(value: string[]) { + this._groupBy = value; + } + public resetGroupBy() { + this._groupBy = undefined; } // Temporarily expose input value. Use with caution. - public get forwardedIpConfigInput() { - return this._forwardedIpConfig.internalValue; + public get groupByInput() { + return this._groupBy; + } + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); + } + public set name(value: string) { + this._name = value; + } + // Temporarily expose input value. Use with caution. + public get nameInput() { + return this._name; + } + + // operation_name - computed: false, optional: true, required: false + private _operationName?: string; + public get operationName() { + return this.getStringAttribute('operation_name'); + } + public set operationName(value: string) { + this._operationName = value; + } + public resetOperationName() { + this._operationName = undefined; + } + // Temporarily expose input value. Use with caution. + public get operationNameInput() { + return this._operationName; + } + + // primary_tag_name - computed: false, optional: true, required: false + private _primaryTagName?: string; + public get primaryTagName() { + return this.getStringAttribute('primary_tag_name'); + } + public set primaryTagName(value: string) { + this._primaryTagName = value; + } + public resetPrimaryTagName() { + this._primaryTagName = undefined; + } + // Temporarily expose input value. Use with caution. + public get primaryTagNameInput() { + return this._primaryTagName; + } + + // primary_tag_value - computed: false, optional: true, required: false + private _primaryTagValue?: string; + public get primaryTagValue() { + return this.getStringAttribute('primary_tag_value'); + } + public set primaryTagValue(value: string) { + this._primaryTagValue = value; + } + public resetPrimaryTagValue() { + this._primaryTagValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get primaryTagValueInput() { + return this._primaryTagValue; + } + + // resource_name - computed: false, optional: true, required: false + private _resourceName?: string; + public get resourceName() { + return this.getStringAttribute('resource_name'); + } + public set resourceName(value: string) { + this._resourceName = value; + } + public resetResourceName() { + this._resourceName = undefined; + } + // Temporarily expose input value. Use with caution. + public get resourceNameInput() { + return this._resourceName; + } + + // service - computed: false, optional: false, required: true + private _service?: string; + public get service() { + return this.getStringAttribute('service'); + } + public set service(value: string) { + this._service = value; + } + // Temporarily expose input value. Use with caution. + public get serviceInput() { + return this._service; + } + + // stat - computed: false, optional: false, required: true + private _stat?: string; + public get stat() { + return this.getStringAttribute('stat'); + } + public set stat(value: string) { + this._stat = value; + } + // Temporarily expose input value. Use with caution. + public get statInput() { + return this._stat; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { +export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + * The aggregation methods for event platform queries. Valid values are \`count\`, \`cardinality\`, \`median\`, \`pc75\`, \`pc90\`, \`pc95\`, \`pc98\`, \`pc99\`, \`sum\`, \`min\`, \`max\`, \`avg\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly fallbackBehavior: string; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * A time interval in milliseconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly headerName: string; + readonly interval?: number; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} + * The measurable attribute to compute. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} */ - readonly position: string; + readonly metric?: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { +export function dashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), - position: cdktf.stringToTerraform(struct!.position), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + interval: cdktf.numberToTerraform(struct!.interval), + metric: cdktf.stringToTerraform(struct!.metric), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; + internalValueResult.aggregation = this._aggregation; } - if (this._headerName !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.interval = this._interval; } - if (this._position !== undefined) { + if (this._metric !== undefined) { hasAnyValues = true; - internalValueResult.position = this._position; + internalValueResult.metric = this._metric; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; - this._position = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._interval = undefined; + this._metric = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; - this._position = value.position; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._interval = value.interval; + this._metric = value.metric; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + public get aggregationInput() { + return this._aggregation; } - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public set headerName(value: string) { - this._headerName = value; + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get intervalInput() { + return this._interval; } - // position - computed: false, optional: false, required: true - private _position?: string; - public get position() { - return this.getStringAttribute('position'); + // metric - computed: false, optional: true, required: false + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); } - public set position(value: string) { - this._position = value; + public set metric(value: string) { + this._metric = value; + } + public resetMetric() { + this._metric = undefined; } // Temporarily expose input value. Use with caution. - public get positionInput() { - return this._position; + public get metricInput() { + return this._metric; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement { + +export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable + /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} + * @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) */ - readonly arn: string; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + /** - * ip_set_forwarded_ip_config block + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference { + return new DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort { + /** + * The aggregation methods for the event platform queries. Valid values are \`count\`, \`cardinality\`, \`median\`, \`pc75\`, \`pc90\`, \`pc95\`, \`pc98\`, \`pc99\`, \`sum\`, \`min\`, \`max\`, \`avg\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; + readonly aggregation: string; + /** + * The metric used for sorting group by results. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + */ + readonly metric?: string; + /** + * Direction of sort. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order?: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement): any { +export function dashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference | DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - arn: cdktf.stringToTerraform(struct!.arn), - ip_set_forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + metric: cdktf.stringToTerraform(struct!.metric), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -9408,189 +12091,258 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._arn !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.arn = this._arn; + internalValueResult.aggregation = this._aggregation; } - if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { + if (this._metric !== undefined) { hasAnyValues = true; - internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; + internalValueResult.metric = this._metric; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._arn = undefined; - this._ipSetForwardedIpConfig.internalValue = undefined; + this._aggregation = undefined; + this._metric = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; - this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; + this._aggregation = value.aggregation; + this._metric = value.metric; + this._order = value.order; } } - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set arn(value: string) { - this._arn = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; + public get aggregationInput() { + return this._aggregation; } - // ip_set_forwarded_ip_config - computed: false, optional: true, required: false - private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); - public get ipSetForwardedIpConfig() { - return this._ipSetForwardedIpConfig; + // metric - computed: false, optional: true, required: false + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); } - public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { - this._ipSetForwardedIpConfig.internalValue = value; + public set metric(value: string) { + this._metric = value; } - public resetIpSetForwardedIpConfig() { - this._ipSetForwardedIpConfig.internalValue = undefined; + public resetMetric() { + this._metric = undefined; } // Temporarily expose input value. Use with caution. - public get ipSetForwardedIpConfigInput() { - return this._ipSetForwardedIpConfig.internalValue; + public get metricInput() { + return this._metric; + } + + // order - computed: false, optional: true, required: false + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + public resetOrder() { + this._order = undefined; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments { +export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy { + /** + * The event facet. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet: string; + /** + * The number of groups to return. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * sort block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort Dashboard#sort} + */ + readonly sort?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments): any { +export function dashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort: dashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortToTerraform(struct!.sort), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._sort?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sort = this._sort?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sort.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sort.internalValue = value.sort; } } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: false, required: true + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { + public set facet(value: string) { + this._facet = value; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // sort - computed: false, optional: true, required: false + private _sort = new DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference(this, "sort"); + public get sort() { + return this._sort; } - return { + public putSort(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort) { + this._sort.internalValue = value; + } + public resetSort() { + this._sort.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortInput() { + return this._sort.internalValue; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference { + return new DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString { +export interface DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch { + /** + * The events search string. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} + */ + readonly query: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString): any { +export function dashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference | DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + query: cdktf.stringToTerraform(struct!.query), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -9601,39 +12353,95 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._query !== undefined) { + hasAnyValues = true; + internalValueResult.query = this._query; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._query = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._query = value.query; } } + + // query - computed: false, optional: false, required: true + private _query?: string; + public get query() { + return this.getStringAttribute('query'); + } + public set query(value: string) { + this._query = value; + } + // Temporarily expose input value. Use with caution. + public get queryInput() { + return this._query; + } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader { +export interface DashboardWidgetGeomapDefinitionRequestQueryEventQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The data source for event platform-based queries. Valid values are \`logs\`, \`spans\`, \`network\`, \`rum\`, \`security_signals\`, \`profiles\`, \`audit\`, \`events\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} + */ + readonly dataSource: string; + /** + * An array of index names to query in the stream. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#indexes Dashboard#indexes} + */ + readonly indexes?: string[]; + /** + * The name of query for use in formulas. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ readonly name: string; + /** + * compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute Dashboard#compute} + */ + readonly compute: DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable; + /** + * search block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search Dashboard#search} + */ + readonly search?: DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader): any { +export function dashboardWidgetGeomapDefinitionRequestQueryEventQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryEventQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + data_source: cdktf.stringToTerraform(struct!.dataSource), + indexes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.indexes), name: cdktf.stringToTerraform(struct!.name), + compute: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeToTerraform, true)(struct!.compute), + group_by: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByToTerraform, true)(struct!.groupBy), + search: dashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchToTerraform(struct!.search), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -9644,27 +12452,86 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._dataSource !== undefined) { + hasAnyValues = true; + internalValueResult.dataSource = this._dataSource; + } + if (this._indexes !== undefined) { + hasAnyValues = true; + internalValueResult.indexes = this._indexes; + } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } + if (this._compute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.compute = this._compute?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._search?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.search = this._search?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._dataSource = undefined; + this._indexes = undefined; this._name = undefined; + this._compute.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._search.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._dataSource = value.dataSource; + this._indexes = value.indexes; this._name = value.name; + this._compute.internalValue = value.compute; + this._groupBy.internalValue = value.groupBy; + this._search.internalValue = value.search; } } + // data_source - computed: false, optional: false, required: true + private _dataSource?: string; + public get dataSource() { + return this.getStringAttribute('data_source'); + } + public set dataSource(value: string) { + this._dataSource = value; + } + // Temporarily expose input value. Use with caution. + public get dataSourceInput() { + return this._dataSource; + } + + // indexes - computed: false, optional: true, required: false + private _indexes?: string[]; + public get indexes() { + return this.getListAttribute('indexes'); + } + public set indexes(value: string[]) { + this._indexes = value; + } + public resetIndexes() { + this._indexes = undefined; + } + // Temporarily expose input value. Use with caution. + public get indexesInput() { + return this._indexes; + } + // name - computed: false, optional: false, required: true private _name?: string; public get name() { @@ -9677,25 +12544,93 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement public get nameInput() { return this._name; } + + // compute - computed: false, optional: false, required: true + private _compute = new DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeList(this, "compute", false); + public get compute() { + return this._compute; + } + public putCompute(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable) { + this._compute.internalValue = value; + } + // Temporarily expose input value. Use with caution. + public get computeInput() { + return this._compute.internalValue; + } + + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; + } + + // search - computed: false, optional: true, required: false + private _search = new DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference(this, "search"); + public get search() { + return this._search; + } + public putSearch(value: DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch) { + this._search.internalValue = value; + } + public resetSearch() { + this._search.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchInput() { + return this._search.internalValue; + } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument { +export interface DashboardWidgetGeomapDefinitionRequestQueryMetricQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The aggregation methods available for metrics queries. Valid values are \`avg\`, \`min\`, \`max\`, \`sum\`, \`last\`, \`area\`, \`l2norm\`, \`percentile\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregator Dashboard#aggregator} + */ + readonly aggregator?: string; + /** + * The data source for metrics queries. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} + */ + readonly dataSource?: string; + /** + * The name of the query for use in formulas. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ readonly name: string; + /** + * The metrics query definition. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} + */ + readonly query: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument): any { +export function dashboardWidgetGeomapDefinitionRequestQueryMetricQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryMetricQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregator: cdktf.stringToTerraform(struct!.aggregator), + data_source: cdktf.stringToTerraform(struct!.dataSource), name: cdktf.stringToTerraform(struct!.name), + query: cdktf.stringToTerraform(struct!.query), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -9706,27 +12641,77 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryMetricQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregator !== undefined) { + hasAnyValues = true; + internalValueResult.aggregator = this._aggregator; + } + if (this._dataSource !== undefined) { + hasAnyValues = true; + internalValueResult.dataSource = this._dataSource; + } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } + if (this._query !== undefined) { + hasAnyValues = true; + internalValueResult.query = this._query; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryMetricQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._aggregator = undefined; + this._dataSource = undefined; this._name = undefined; + this._query = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._aggregator = value.aggregator; + this._dataSource = value.dataSource; this._name = value.name; + this._query = value.query; } } + // aggregator - computed: false, optional: true, required: false + private _aggregator?: string; + public get aggregator() { + return this.getStringAttribute('aggregator'); + } + public set aggregator(value: string) { + this._aggregator = value; + } + public resetAggregator() { + this._aggregator = undefined; + } + // Temporarily expose input value. Use with caution. + public get aggregatorInput() { + return this._aggregator; + } + + // data_source - computed: false, optional: true, required: false + private _dataSource?: string; + public get dataSource() { + return this.getStringAttribute('data_source'); + } + public set dataSource(value: string) { + this._dataSource = value; + } + public resetDataSource() { + this._dataSource = undefined; + } + // Temporarily expose input value. Use with caution. + public get dataSourceInput() { + return this._dataSource; + } + // name - computed: false, optional: false, required: true private _name?: string; public get name() { @@ -9739,107 +12724,96 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement public get nameInput() { return this._name; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // query - computed: false, optional: false, required: true + private _query?: string; + public get query() { + return this.getStringAttribute('query'); } - return { + public set query(value: string) { + this._query = value; + } + // Temporarily expose input value. Use with caution. + public get queryInput() { + return this._query; } } - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - +export interface DashboardWidgetGeomapDefinitionRequestQueryProcessQuery { /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * The aggregation methods available for metrics queries. Valid values are \`avg\`, \`min\`, \`max\`, \`sum\`, \`last\`, \`area\`, \`l2norm\`, \`percentile\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregator Dashboard#aggregator} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch { + readonly aggregator?: string; /** - * all_query_arguments block + * The data source for process queries. Valid values are \`process\`, \`container\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments; + readonly dataSource: string; /** - * body block + * Whether to normalize the CPU percentages. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_normalized_cpu Dashboard#is_normalized_cpu} */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody; + readonly isNormalizedCpu?: boolean | cdktf.IResolvable; /** - * method block + * The number of hits to return. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod; + readonly limit?: number; /** - * query_string block + * The process metric name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; + readonly metric: string; /** - * single_header block + * The name of query for use in formulas. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader; + readonly name: string; /** - * single_query_argument block + * The direction of the sort. Valid values are \`asc\`, \`desc\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort Dashboard#sort} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument; + readonly sort?: string; /** - * uri_path block + * An array of tags to filter by. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tag_filters Dashboard#tag_filters} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath; + readonly tagFilters?: string[]; + /** + * The text to use as a filter. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_filter Dashboard#text_filter} + */ + readonly textFilter?: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch): any { +export function dashboardWidgetGeomapDefinitionRequestQueryProcessQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryProcessQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + aggregator: cdktf.stringToTerraform(struct!.aggregator), + data_source: cdktf.stringToTerraform(struct!.dataSource), + is_normalized_cpu: cdktf.booleanToTerraform(struct!.isNormalizedCpu), + limit: cdktf.numberToTerraform(struct!.limit), + metric: cdktf.stringToTerraform(struct!.metric), + name: cdktf.stringToTerraform(struct!.name), + sort: cdktf.stringToTerraform(struct!.sort), + tag_filters: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.tagFilters), + text_filter: cdktf.stringToTerraform(struct!.textFilter), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -9850,198 +12824,258 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryProcessQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { + if (this._aggregator !== undefined) { hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; + internalValueResult.aggregator = this._aggregator; } - if (this._body?.internalValue !== undefined) { + if (this._dataSource !== undefined) { hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; + internalValueResult.dataSource = this._dataSource; } - if (this._method?.internalValue !== undefined) { + if (this._isNormalizedCpu !== undefined) { hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; + internalValueResult.isNormalizedCpu = this._isNormalizedCpu; } - if (this._queryString?.internalValue !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; + internalValueResult.limit = this._limit; } - if (this._singleHeader?.internalValue !== undefined) { + if (this._metric !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.metric = this._metric; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.name = this._name; } - if (this._uriPath?.internalValue !== undefined) { + if (this._sort !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.sort = this._sort; + } + if (this._tagFilters !== undefined) { + hasAnyValues = true; + internalValueResult.tagFilters = this._tagFilters; + } + if (this._textFilter !== undefined) { + hasAnyValues = true; + internalValueResult.textFilter = this._textFilter; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryProcessQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this._aggregator = undefined; + this._dataSource = undefined; + this._isNormalizedCpu = undefined; + this._limit = undefined; + this._metric = undefined; + this._name = undefined; + this._sort = undefined; + this._tagFilters = undefined; + this._textFilter = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this._aggregator = value.aggregator; + this._dataSource = value.dataSource; + this._isNormalizedCpu = value.isNormalizedCpu; + this._limit = value.limit; + this._metric = value.metric; + this._name = value.name; + this._sort = value.sort; + this._tagFilters = value.tagFilters; + this._textFilter = value.textFilter; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; + // aggregator - computed: false, optional: true, required: false + private _aggregator?: string; + public get aggregator() { + return this.getStringAttribute('aggregator'); } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; + public set aggregator(value: string) { + this._aggregator = value; } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; + public resetAggregator() { + this._aggregator = undefined; } // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; + public get aggregatorInput() { + return this._aggregator; } - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; + // data_source - computed: false, optional: false, required: true + private _dataSource?: string; + public get dataSource() { + return this.getStringAttribute('data_source'); } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody) { - this._body.internalValue = value; + public set dataSource(value: string) { + this._dataSource = value; } - public resetBody() { - this._body.internalValue = undefined; + // Temporarily expose input value. Use with caution. + public get dataSourceInput() { + return this._dataSource; + } + + // is_normalized_cpu - computed: false, optional: true, required: false + private _isNormalizedCpu?: boolean | cdktf.IResolvable; + public get isNormalizedCpu() { + return this.getBooleanAttribute('is_normalized_cpu'); + } + public set isNormalizedCpu(value: boolean | cdktf.IResolvable) { + this._isNormalizedCpu = value; + } + public resetIsNormalizedCpu() { + this._isNormalizedCpu = undefined; } // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; + public get isNormalizedCpuInput() { + return this._isNormalizedCpu; } - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod) { - this._method.internalValue = value; + public set limit(value: number) { + this._limit = value; } - public resetMethod() { - this._method.internalValue = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + public get limitInput() { + return this._limit; } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + // metric - computed: false, optional: false, required: true + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + public set metric(value: string) { + this._metric = value; } - public resetQueryString() { - this._queryString.internalValue = undefined; + // Temporarily expose input value. Use with caution. + public get metricInput() { + return this._metric; + } + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); + } + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get nameInput() { + return this._name; } - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; + // sort - computed: false, optional: true, required: false + private _sort?: string; + public get sort() { + return this.getStringAttribute('sort'); } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + public set sort(value: string) { + this._sort = value; } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public resetSort() { + this._sort = undefined; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get sortInput() { + return this._sort; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // tag_filters - computed: false, optional: true, required: false + private _tagFilters?: string[]; + public get tagFilters() { + return this.getListAttribute('tag_filters'); } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public set tagFilters(value: string[]) { + this._tagFilters = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetTagFilters() { + this._tagFilters = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get tagFiltersInput() { + return this._tagFilters; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; + // text_filter - computed: false, optional: true, required: false + private _textFilter?: string; + public get textFilter() { + return this.getStringAttribute('text_filter'); } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + public set textFilter(value: string) { + this._textFilter = value; } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public resetTextFilter() { + this._textFilter = undefined; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get textFilterInput() { + return this._textFilter; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation { +export interface DashboardWidgetGeomapDefinitionRequestQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * apm_dependency_stats_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_dependency_stats_query Dashboard#apm_dependency_stats_query} */ - readonly priority: number; + readonly apmDependencyStatsQuery?: DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * apm_resource_stats_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_resource_stats_query Dashboard#apm_resource_stats_query} */ - readonly type: string; + readonly apmResourceStatsQuery?: DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery; + /** + * event_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event_query Dashboard#event_query} + */ + readonly eventQuery?: DashboardWidgetGeomapDefinitionRequestQueryEventQuery; + /** + * metric_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric_query Dashboard#metric_query} + */ + readonly metricQuery?: DashboardWidgetGeomapDefinitionRequestQueryMetricQuery; + /** + * process_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} + */ + readonly processQuery?: DashboardWidgetGeomapDefinitionRequestQueryProcessQuery; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetGeomapDefinitionRequestQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + apm_dependency_stats_query: dashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryToTerraform(struct!.apmDependencyStatsQuery), + apm_resource_stats_query: dashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryToTerraform(struct!.apmResourceStatsQuery), + event_query: dashboardWidgetGeomapDefinitionRequestQueryEventQueryToTerraform(struct!.eventQuery), + metric_query: dashboardWidgetGeomapDefinitionRequestQueryMetricQueryToTerraform(struct!.metricQuery), + process_query: dashboardWidgetGeomapDefinitionRequestQueryProcessQueryToTerraform(struct!.processQuery), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -10055,29 +13089,44 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._apmDependencyStatsQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.apmDependencyStatsQuery = this._apmDependencyStatsQuery?.internalValue; } - if (this._type !== undefined) { + if (this._apmResourceStatsQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.apmResourceStatsQuery = this._apmResourceStatsQuery?.internalValue; + } + if (this._eventQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.eventQuery = this._eventQuery?.internalValue; + } + if (this._metricQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.metricQuery = this._metricQuery?.internalValue; + } + if (this._processQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.processQuery = this._processQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; + this._apmDependencyStatsQuery.internalValue = undefined; + this._apmResourceStatsQuery.internalValue = undefined; + this._eventQuery.internalValue = undefined; + this._metricQuery.internalValue = undefined; + this._processQuery.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -10086,40 +13135,97 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._apmDependencyStatsQuery.internalValue = value.apmDependencyStatsQuery; + this._apmResourceStatsQuery.internalValue = value.apmResourceStatsQuery; + this._eventQuery.internalValue = value.eventQuery; + this._metricQuery.internalValue = value.metricQuery; + this._processQuery.internalValue = value.processQuery; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // apm_dependency_stats_query - computed: false, optional: true, required: false + private _apmDependencyStatsQuery = new DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference(this, "apm_dependency_stats_query"); + public get apmDependencyStatsQuery() { + return this._apmDependencyStatsQuery; } - public set priority(value: number) { - this._priority = value; + public putApmDependencyStatsQuery(value: DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery) { + this._apmDependencyStatsQuery.internalValue = value; + } + public resetApmDependencyStatsQuery() { + this._apmDependencyStatsQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get apmDependencyStatsQueryInput() { + return this._apmDependencyStatsQuery.internalValue; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // apm_resource_stats_query - computed: false, optional: true, required: false + private _apmResourceStatsQuery = new DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference(this, "apm_resource_stats_query"); + public get apmResourceStatsQuery() { + return this._apmResourceStatsQuery; } - public set type(value: string) { - this._type = value; + public putApmResourceStatsQuery(value: DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery) { + this._apmResourceStatsQuery.internalValue = value; + } + public resetApmResourceStatsQuery() { + this._apmResourceStatsQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get apmResourceStatsQueryInput() { + return this._apmResourceStatsQuery.internalValue; + } + + // event_query - computed: false, optional: true, required: false + private _eventQuery = new DashboardWidgetGeomapDefinitionRequestQueryEventQueryOutputReference(this, "event_query"); + public get eventQuery() { + return this._eventQuery; + } + public putEventQuery(value: DashboardWidgetGeomapDefinitionRequestQueryEventQuery) { + this._eventQuery.internalValue = value; + } + public resetEventQuery() { + this._eventQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get eventQueryInput() { + return this._eventQuery.internalValue; + } + + // metric_query - computed: false, optional: true, required: false + private _metricQuery = new DashboardWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference(this, "metric_query"); + public get metricQuery() { + return this._metricQuery; + } + public putMetricQuery(value: DashboardWidgetGeomapDefinitionRequestQueryMetricQuery) { + this._metricQuery.internalValue = value; + } + public resetMetricQuery() { + this._metricQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get metricQueryInput() { + return this._metricQuery.internalValue; + } + + // process_query - computed: false, optional: true, required: false + private _processQuery = new DashboardWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference(this, "process_query"); + public get processQuery() { + return this._processQuery; + } + public putProcessQuery(value: DashboardWidgetGeomapDefinitionRequestQueryProcessQuery) { + this._processQuery.internalValue = value; + } + public resetProcessQuery() { + this._processQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get processQueryInput() { + return this._processQuery.internalValue; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable +export class DashboardWidgetGeomapDefinitionRequestQueryList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -10133,42 +13239,44 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGeomapDefinitionRequestQueryOutputReference { + return new DashboardWidgetGeomapDefinitionRequestQueryOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement { +export interface DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly arn: string; + readonly aggregation: string; /** - * field_to_match block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch; + readonly facet?: string; /** - * text_transformation block + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable; + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement): any { +export function dashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - arn: cdktf.stringToTerraform(struct!.arn), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform, true)(struct!.textTransformation), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -10179,208 +13287,118 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._arn !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.arn = this._arn; + internalValueResult.aggregation = this._aggregation; } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.facet = this._facet; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._arn = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set arn(value: string) { - this._arn = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; + public get aggregationInput() { + return this._aggregation; } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get facetInput() { + return this._facet; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; - } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public set interval(value: number) { + this._interval = value; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + public resetInterval() { + this._interval = undefined; } - return { + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - +export interface DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery { /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - + readonly aggregation: string; /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - + readonly facet?: string; /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString { + readonly order: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString): any { +export function dashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -10391,447 +13409,272 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; } - else { - this.isEmptyObject = Object.keys(value).length === 0; + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - name: cdktf.stringToTerraform(struct!.name), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._order !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set name(value: string) { - this._name = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - name: cdktf.stringToTerraform(struct!.name), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { - hasAnyValues = true; - internalValueResult.name = this._name; - } - return hasAnyValues ? internalValueResult : undefined; + public get aggregationInput() { + return this._aggregation; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._name = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; - } + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + public set facet(value: string) { + this._facet = value; } - public set name(value: string) { - this._name = value; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { + public get facetInput() { + return this._facet; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + public set order(value: string) { + this._order = value; } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} - */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString; +export interface DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy { /** - * single_header block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader; + readonly facet?: string; /** - * single_query_argument block + * The maximum number of items in the group. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument; + readonly limit?: number; /** - * uri_path block + * sort_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath; + readonly sortQuery?: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch): any { +export function dashboardWidgetGeomapDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.facet = this._facet; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.limit = this._limit; } - if (this._uriPath?.internalValue !== undefined) { + if (this._sortQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody) { - this._body.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetBody() { - this._body.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; + public get facetInput() { + return this._facet; } - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod) { - this._method.internalValue = value; + public set limit(value: number) { + this._limit = value; } - public resetMethod() { - this._method.internalValue = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + public get limitInput() { + return this._limit; } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + public putSortQuery(value: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public resetQueryString() { - this._queryString.internalValue = undefined; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get sortQueryInput() { + return this._sortQuery.internalValue; } +} - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; - } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; - } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; - } +export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; - } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; - } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + /** + * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; - } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; - } - public resetUriPath() { - this._uriPath.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference { + return new DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation { +export interface DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly priority: number; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly type: string; + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -10845,29 +13688,34 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.aggregation = this._aggregation; } - if (this._type !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -10876,40 +13724,60 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set priority(value: number) { - this._priority = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get aggregationInput() { + return this._aggregation; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set type(value: string) { - this._type = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable +export class DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -10923,47 +13791,58 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference { + return new DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement { +export interface DashboardWidgetGeomapDefinitionRequestRumQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#comparison_operator Wafv2WebAcl#comparison_operator} + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly comparisonOperator: string; + readonly index: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size Wafv2WebAcl#size} + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly size: number; + readonly searchQuery?: string; /** - * field_to_match block + * compute_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch; + readonly computeQuery?: DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery; /** - * text_transformation block + * group_by block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement): any { +export function dashboardWidgetGeomapDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference | DashboardWidgetGeomapDefinitionRequestRumQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - return { - comparison_operator: cdktf.stringToTerraform(struct!.comparisonOperator), - size: cdktf.numberToTerraform(struct!.size), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationToTerraform, true)(struct!.textTransformation), - } + return { + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -10974,184 +13853,176 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._comparisonOperator !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.comparisonOperator = this._comparisonOperator; + internalValueResult.index = this._index; } - if (this._size !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.size = this._size; + internalValueResult.searchQuery = this._searchQuery; } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._computeQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.computeQuery = this._computeQuery?.internalValue; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._groupBy?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._comparisonOperator = undefined; - this._size = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._comparisonOperator = value.comparisonOperator; - this._size = value.size; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // comparison_operator - computed: false, optional: false, required: true - private _comparisonOperator?: string; - public get comparisonOperator() { - return this.getStringAttribute('comparison_operator'); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public set comparisonOperator(value: string) { - this._comparisonOperator = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get comparisonOperatorInput() { - return this._comparisonOperator; + public get indexInput() { + return this._index; } - // size - computed: false, optional: false, required: true - private _size?: number; - public get size() { - return this.getNumberAttribute('size'); + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public set size(value: number) { - this._size = value; + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get sizeInput() { - return this._size; + public get searchQueryInput() { + return this._searchQuery; } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public putComputeQuery(value: DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery) { + this._computeQuery.internalValue = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get computeQueryInput() { + return this._computeQuery.internalValue; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGeomapDefinitionRequestRumQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public putGroupBy(value: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get groupByInput() { + return this._groupBy.internalValue; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public putMultiCompute(value: DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -" -`; - -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs0 2`] = ` -"import * as cdktf from 'cdktf'; -export interface DashboardTemplateVariable { +export interface DashboardWidgetGeomapDefinitionRequest { /** - * The list of values that the template variable drop-down is be limited to + * The metric query to use for this widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#available_values Dashboard#available_values} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} */ - readonly availableValues?: string[]; + readonly q?: string; /** - * The default value for the template variable on dashboard load. + * formula block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#default Dashboard#default} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#formula Dashboard#formula} */ - readonly default?: string; + readonly formula?: DashboardWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable; /** - * The name of the variable. + * log_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} */ - readonly name: string; + readonly logQuery?: DashboardWidgetGeomapDefinitionRequestLogQuery; /** - * The tag prefix associated with the variable. Only tags with this prefix appear in the variable dropdown. + * query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#prefix Dashboard#prefix} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} */ - readonly prefix?: string; + readonly query?: DashboardWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable; + /** + * rum_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} + */ + readonly rumQuery?: DashboardWidgetGeomapDefinitionRequestRumQuery; } -export function dashboardTemplateVariableToTerraform(struct?: DashboardTemplateVariable | cdktf.IResolvable): any { +export function dashboardWidgetGeomapDefinitionRequestToTerraform(struct?: DashboardWidgetGeomapDefinitionRequest | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - available_values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.availableValues), - default: cdktf.stringToTerraform(struct!.default), - name: cdktf.stringToTerraform(struct!.name), - prefix: cdktf.stringToTerraform(struct!.prefix), + q: cdktf.stringToTerraform(struct!.q), + formula: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestFormulaToTerraform, true)(struct!.formula), + log_query: dashboardWidgetGeomapDefinitionRequestLogQueryToTerraform(struct!.logQuery), + query: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestQueryToTerraform, true)(struct!.query), + rum_query: dashboardWidgetGeomapDefinitionRequestRumQueryToTerraform(struct!.rumQuery), } } -export class DashboardTemplateVariableOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionRequestOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -11165,39 +14036,44 @@ export class DashboardTemplateVariableOutputReference extends cdktf.ComplexObjec super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardTemplateVariable | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGeomapDefinitionRequest | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._availableValues !== undefined) { + if (this._q !== undefined) { hasAnyValues = true; - internalValueResult.availableValues = this._availableValues; + internalValueResult.q = this._q; } - if (this._default !== undefined) { + if (this._formula?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.default = this._default; + internalValueResult.formula = this._formula?.internalValue; } - if (this._name !== undefined) { + if (this._logQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.logQuery = this._logQuery?.internalValue; } - if (this._prefix !== undefined) { + if (this._query?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.prefix = this._prefix; + internalValueResult.query = this._query?.internalValue; + } + if (this._rumQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.rumQuery = this._rumQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardTemplateVariable | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionRequest | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._availableValues = undefined; - this._default = undefined; - this._name = undefined; - this._prefix = undefined; + this._q = undefined; + this._formula.internalValue = undefined; + this._logQuery.internalValue = undefined; + this._query.internalValue = undefined; + this._rumQuery.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -11206,77 +14082,97 @@ export class DashboardTemplateVariableOutputReference extends cdktf.ComplexObjec else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._availableValues = value.availableValues; - this._default = value.default; - this._name = value.name; - this._prefix = value.prefix; + this._q = value.q; + this._formula.internalValue = value.formula; + this._logQuery.internalValue = value.logQuery; + this._query.internalValue = value.query; + this._rumQuery.internalValue = value.rumQuery; } } - // available_values - computed: false, optional: true, required: false - private _availableValues?: string[]; - public get availableValues() { - return this.getListAttribute('available_values'); + // q - computed: false, optional: true, required: false + private _q?: string; + public get q() { + return this.getStringAttribute('q'); } - public set availableValues(value: string[]) { - this._availableValues = value; + public set q(value: string) { + this._q = value; } - public resetAvailableValues() { - this._availableValues = undefined; + public resetQ() { + this._q = undefined; } // Temporarily expose input value. Use with caution. - public get availableValuesInput() { - return this._availableValues; + public get qInput() { + return this._q; } - // default - computed: false, optional: true, required: false - private _default?: string; - public get default() { - return this.getStringAttribute('default'); + // formula - computed: false, optional: true, required: false + private _formula = new DashboardWidgetGeomapDefinitionRequestFormulaList(this, "formula", false); + public get formula() { + return this._formula; } - public set default(value: string) { - this._default = value; + public putFormula(value: DashboardWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable) { + this._formula.internalValue = value; } - public resetDefault() { - this._default = undefined; + public resetFormula() { + this._formula.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get defaultInput() { - return this._default; + public get formulaInput() { + return this._formula.internalValue; } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // log_query - computed: false, optional: true, required: false + private _logQuery = new DashboardWidgetGeomapDefinitionRequestLogQueryOutputReference(this, "log_query"); + public get logQuery() { + return this._logQuery; } - public set name(value: string) { - this._name = value; + public putLogQuery(value: DashboardWidgetGeomapDefinitionRequestLogQuery) { + this._logQuery.internalValue = value; + } + public resetLogQuery() { + this._logQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get logQueryInput() { + return this._logQuery.internalValue; } - // prefix - computed: false, optional: true, required: false - private _prefix?: string; - public get prefix() { - return this.getStringAttribute('prefix'); + // query - computed: false, optional: true, required: false + private _query = new DashboardWidgetGeomapDefinitionRequestQueryList(this, "query", false); + public get query() { + return this._query; } - public set prefix(value: string) { - this._prefix = value; + public putQuery(value: DashboardWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable) { + this._query.internalValue = value; } - public resetPrefix() { - this._prefix = undefined; + public resetQuery() { + this._query.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get prefixInput() { - return this._prefix; + public get queryInput() { + return this._query.internalValue; + } + + // rum_query - computed: false, optional: true, required: false + private _rumQuery = new DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference(this, "rum_query"); + public get rumQuery() { + return this._rumQuery; + } + public putRumQuery(value: DashboardWidgetGeomapDefinitionRequestRumQuery) { + this._rumQuery.internalValue = value; + } + public resetRumQuery() { + this._rumQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get rumQueryInput() { + return this._rumQuery.internalValue; } } -export class DashboardTemplateVariableList extends cdktf.ComplexList { - public internalValue? : DashboardTemplateVariable[] | cdktf.IResolvable +export class DashboardWidgetGeomapDefinitionRequestList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGeomapDefinitionRequest[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -11290,267 +14186,432 @@ export class DashboardTemplateVariableList extends cdktf.ComplexList { /** * @param index the index of the item to return */ - public get(index: number): DashboardTemplateVariableOutputReference { - return new DashboardTemplateVariableOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGeomapDefinitionRequestOutputReference { + return new DashboardWidgetGeomapDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardTemplateVariablePresetTemplateVariable { +export interface DashboardWidgetGeomapDefinitionStyle { /** - * The name of the template variable + * The color palette to apply to the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} */ - readonly name?: string; + readonly palette: string; /** - * The value that should be assumed by the template variable in this preset + * A Boolean indicating whether to flip the palette tones. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#value Dashboard#value} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette_flip Dashboard#palette_flip} */ - readonly value?: string; + readonly paletteFlip: boolean | cdktf.IResolvable; } -export function dashboardTemplateVariablePresetTemplateVariableToTerraform(struct?: DashboardTemplateVariablePresetTemplateVariable | cdktf.IResolvable): any { +export function dashboardWidgetGeomapDefinitionStyleToTerraform(struct?: DashboardWidgetGeomapDefinitionStyleOutputReference | DashboardWidgetGeomapDefinitionStyle): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), - value: cdktf.stringToTerraform(struct!.value), + palette: cdktf.stringToTerraform(struct!.palette), + palette_flip: cdktf.booleanToTerraform(struct!.paletteFlip), } } -export class DashboardTemplateVariablePresetTemplateVariableOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionStyleOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardTemplateVariablePresetTemplateVariable | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGeomapDefinitionStyle | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._palette !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.palette = this._palette; } - if (this._value !== undefined) { + if (this._paletteFlip !== undefined) { hasAnyValues = true; - internalValueResult.value = this._value; + internalValueResult.paletteFlip = this._paletteFlip; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardTemplateVariablePresetTemplateVariable | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinitionStyle | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._name = undefined; - this._value = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._palette = undefined; + this._paletteFlip = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._name = value.name; - this._value = value.value; + this._palette = value.palette; + this._paletteFlip = value.paletteFlip; } } - // name - computed: false, optional: true, required: false - private _name?: string; - public get name() { - return this.getStringAttribute('name'); - } - public set name(value: string) { - this._name = value; + // palette - computed: false, optional: false, required: true + private _palette?: string; + public get palette() { + return this.getStringAttribute('palette'); } - public resetName() { - this._name = undefined; + public set palette(value: string) { + this._palette = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get paletteInput() { + return this._palette; } - // value - computed: false, optional: true, required: false - private _value?: string; - public get value() { - return this.getStringAttribute('value'); - } - public set value(value: string) { - this._value = value; + // palette_flip - computed: false, optional: false, required: true + private _paletteFlip?: boolean | cdktf.IResolvable; + public get paletteFlip() { + return this.getBooleanAttribute('palette_flip'); } - public resetValue() { - this._value = undefined; + public set paletteFlip(value: boolean | cdktf.IResolvable) { + this._paletteFlip = value; } // Temporarily expose input value. Use with caution. - public get valueInput() { - return this._value; + public get paletteFlipInput() { + return this._paletteFlip; + } +} +export interface DashboardWidgetGeomapDefinitionView { + /** + * The two-letter ISO code of a country to focus the map on (or \`WORLD\`). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#focus Dashboard#focus} + */ + readonly focus: string; +} + +export function dashboardWidgetGeomapDefinitionViewToTerraform(struct?: DashboardWidgetGeomapDefinitionViewOutputReference | DashboardWidgetGeomapDefinitionView): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + focus: cdktf.stringToTerraform(struct!.focus), } } -export class DashboardTemplateVariablePresetTemplateVariableList extends cdktf.ComplexList { - public internalValue? : DashboardTemplateVariablePresetTemplateVariable[] | cdktf.IResolvable +export class DashboardWidgetGeomapDefinitionViewOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardTemplateVariablePresetTemplateVariableOutputReference { - return new DashboardTemplateVariablePresetTemplateVariableOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): DashboardWidgetGeomapDefinitionView | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._focus !== undefined) { + hasAnyValues = true; + internalValueResult.focus = this._focus; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGeomapDefinitionView | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._focus = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._focus = value.focus; + } + } + + // focus - computed: false, optional: false, required: true + private _focus?: string; + public get focus() { + return this.getStringAttribute('focus'); + } + public set focus(value: string) { + this._focus = value; + } + // Temporarily expose input value. Use with caution. + public get focusInput() { + return this._focus; } } -export interface DashboardTemplateVariablePreset { +export interface DashboardWidgetGeomapDefinition { /** - * The name of the preset. + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} */ - readonly name?: string; + readonly liveSpan?: string; /** - * template_variable block + * The title of the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#template_variable Dashboard#template_variable} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} */ - readonly templateVariable?: DashboardTemplateVariablePresetTemplateVariable[] | cdktf.IResolvable; + readonly title?: string; + /** + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + */ + readonly titleAlign?: string; + /** + * The size of the widget's title (defaults to 16). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + */ + readonly titleSize?: string; + /** + * custom_link block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_link Dashboard#custom_link} + */ + readonly customLink?: DashboardWidgetGeomapDefinitionCustomLink[] | cdktf.IResolvable; + /** + * request block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} + */ + readonly request?: DashboardWidgetGeomapDefinitionRequest[] | cdktf.IResolvable; + /** + * style block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} + */ + readonly style?: DashboardWidgetGeomapDefinitionStyle; + /** + * view block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#view Dashboard#view} + */ + readonly view: DashboardWidgetGeomapDefinitionView; } -export function dashboardTemplateVariablePresetToTerraform(struct?: DashboardTemplateVariablePreset | cdktf.IResolvable): any { +export function dashboardWidgetGeomapDefinitionToTerraform(struct?: DashboardWidgetGeomapDefinitionOutputReference | DashboardWidgetGeomapDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), - template_variable: cdktf.listMapper(dashboardTemplateVariablePresetTemplateVariableToTerraform, true)(struct!.templateVariable), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), + custom_link: cdktf.listMapper(dashboardWidgetGeomapDefinitionCustomLinkToTerraform, true)(struct!.customLink), + request: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestToTerraform, true)(struct!.request), + style: dashboardWidgetGeomapDefinitionStyleToTerraform(struct!.style), + view: dashboardWidgetGeomapDefinitionViewToTerraform(struct!.view), } } -export class DashboardTemplateVariablePresetOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGeomapDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardTemplateVariablePreset | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGeomapDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.liveSpan = this._liveSpan; } - if (this._templateVariable?.internalValue !== undefined) { + if (this._title !== undefined) { hasAnyValues = true; - internalValueResult.templateVariable = this._templateVariable?.internalValue; + internalValueResult.title = this._title; + } + if (this._titleAlign !== undefined) { + hasAnyValues = true; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; + } + if (this._customLink?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.customLink = this._customLink?.internalValue; + } + if (this._request?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.request = this._request?.internalValue; + } + if (this._style?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.style = this._style?.internalValue; + } + if (this._view?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.view = this._view?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardTemplateVariablePreset | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGeomapDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._name = undefined; - this._templateVariable.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._liveSpan = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; + this._customLink.internalValue = undefined; + this._request.internalValue = undefined; + this._style.internalValue = undefined; + this._view.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._name = value.name; - this._templateVariable.internalValue = value.templateVariable; + this._liveSpan = value.liveSpan; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; + this._customLink.internalValue = value.customLink; + this._request.internalValue = value.request; + this._style.internalValue = value.style; + this._view.internalValue = value.view; } } - // name - computed: false, optional: true, required: false - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public set name(value: string) { - this._name = value; + public set liveSpan(value: string) { + this._liveSpan = value; } - public resetName() { - this._name = undefined; + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get liveSpanInput() { + return this._liveSpan; } - // template_variable - computed: false, optional: true, required: false - private _templateVariable = new DashboardTemplateVariablePresetTemplateVariableList(this, "template_variable", false); - public get templateVariable() { - return this._templateVariable; + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); } - public putTemplateVariable(value: DashboardTemplateVariablePresetTemplateVariable[] | cdktf.IResolvable) { - this._templateVariable.internalValue = value; + public set title(value: string) { + this._title = value; } - public resetTemplateVariable() { - this._templateVariable.internalValue = undefined; + public resetTitle() { + this._title = undefined; } // Temporarily expose input value. Use with caution. - public get templateVariableInput() { - return this._templateVariable.internalValue; + public get titleInput() { + return this._title; } -} -export class DashboardTemplateVariablePresetList extends cdktf.ComplexList { - public internalValue? : DashboardTemplateVariablePreset[] | cdktf.IResolvable + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); + } + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleAlignInput() { + return this._titleAlign; + } - /** - * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardTemplateVariablePresetOutputReference { - return new DashboardTemplateVariablePresetOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // custom_link - computed: false, optional: true, required: false + private _customLink = new DashboardWidgetGeomapDefinitionCustomLinkList(this, "custom_link", false); + public get customLink() { + return this._customLink; + } + public putCustomLink(value: DashboardWidgetGeomapDefinitionCustomLink[] | cdktf.IResolvable) { + this._customLink.internalValue = value; + } + public resetCustomLink() { + this._customLink.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get customLinkInput() { + return this._customLink.internalValue; + } + + // request - computed: false, optional: true, required: false + private _request = new DashboardWidgetGeomapDefinitionRequestList(this, "request", false); + public get request() { + return this._request; + } + public putRequest(value: DashboardWidgetGeomapDefinitionRequest[] | cdktf.IResolvable) { + this._request.internalValue = value; + } + public resetRequest() { + this._request.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get requestInput() { + return this._request.internalValue; + } + + // style - computed: false, optional: true, required: false + private _style = new DashboardWidgetGeomapDefinitionStyleOutputReference(this, "style"); + public get style() { + return this._style; + } + public putStyle(value: DashboardWidgetGeomapDefinitionStyle) { + this._style.internalValue = value; + } + public resetStyle() { + this._style.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get styleInput() { + return this._style.internalValue; + } + + // view - computed: false, optional: false, required: true + private _view = new DashboardWidgetGeomapDefinitionViewOutputReference(this, "view"); + public get view() { + return this._view; + } + public putView(value: DashboardWidgetGeomapDefinitionView) { + this._view.internalValue = value; + } + // Temporarily expose input value. Use with caution. + public get viewInput() { + return this._view.internalValue; } } -export interface DashboardWidgetAlertGraphDefinition { +export interface DashboardWidgetGroupDefinitionWidgetAlertGraphDefinition { /** * The ID of the monitor used by the widget. * @@ -11589,7 +14650,7 @@ export interface DashboardWidgetAlertGraphDefinition { readonly vizType: string; } -export function dashboardWidgetAlertGraphDefinitionToTerraform(struct?: DashboardWidgetAlertGraphDefinitionOutputReference | DashboardWidgetAlertGraphDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetAlertGraphDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -11604,7 +14665,7 @@ export function dashboardWidgetAlertGraphDefinitionToTerraform(struct?: Dashboar } } -export class DashboardWidgetAlertGraphDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -11615,7 +14676,7 @@ export class DashboardWidgetAlertGraphDefinitionOutputReference extends cdktf.Co super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetAlertGraphDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetAlertGraphDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._alertId !== undefined) { @@ -11645,7 +14706,7 @@ export class DashboardWidgetAlertGraphDefinitionOutputReference extends cdktf.Co return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetAlertGraphDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetAlertGraphDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; this._alertId = undefined; @@ -11756,7 +14817,7 @@ export class DashboardWidgetAlertGraphDefinitionOutputReference extends cdktf.Co return this._vizType; } } -export interface DashboardWidgetAlertValueDefinition { +export interface DashboardWidgetGroupDefinitionWidgetAlertValueDefinition { /** * The ID of the monitor used by the widget. * @@ -11801,7 +14862,7 @@ export interface DashboardWidgetAlertValueDefinition { readonly unit?: string; } -export function dashboardWidgetAlertValueDefinitionToTerraform(struct?: DashboardWidgetAlertValueDefinitionOutputReference | DashboardWidgetAlertValueDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetAlertValueDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetAlertValueDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetAlertValueDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -11817,7 +14878,7 @@ export function dashboardWidgetAlertValueDefinitionToTerraform(struct?: Dashboar } } -export class DashboardWidgetAlertValueDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetAlertValueDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -11828,7 +14889,7 @@ export class DashboardWidgetAlertValueDefinitionOutputReference extends cdktf.Co super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetAlertValueDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetAlertValueDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._alertId !== undefined) { @@ -11862,7 +14923,7 @@ export class DashboardWidgetAlertValueDefinitionOutputReference extends cdktf.Co return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetAlertValueDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetAlertValueDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; this._alertId = undefined; @@ -11994,7 +15055,7 @@ export class DashboardWidgetAlertValueDefinitionOutputReference extends cdktf.Co return this._unit; } } -export interface DashboardWidgetChangeDefinitionCustomLink { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink { /** * The flag for toggling context menu link visibility. * @@ -12021,7 +15082,7 @@ export interface DashboardWidgetChangeDefinitionCustomLink { readonly overrideLabel?: string; } -export function dashboardWidgetChangeDefinitionCustomLinkToTerraform(struct?: DashboardWidgetChangeDefinitionCustomLink | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -12034,7 +15095,7 @@ export function dashboardWidgetChangeDefinitionCustomLinkToTerraform(struct?: Da } } -export class DashboardWidgetChangeDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -12048,7 +15109,7 @@ export class DashboardWidgetChangeDefinitionCustomLinkOutputReference extends cd super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionCustomLink | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -12073,7 +15134,7 @@ export class DashboardWidgetChangeDefinitionCustomLinkOutputReference extends cd return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionCustomLink | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -12161,8 +15222,8 @@ export class DashboardWidgetChangeDefinitionCustomLinkOutputReference extends cd } } -export class DashboardWidgetChangeDefinitionCustomLinkList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -12176,11 +15237,11 @@ export class DashboardWidgetChangeDefinitionCustomLinkList extends cdktf.Complex /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionCustomLinkOutputReference { - return new DashboardWidgetChangeDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. * @@ -12201,7 +15262,7 @@ export interface DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery { readonly interval?: number; } -export function dashboardWidgetChangeDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -12213,7 +15274,7 @@ export function dashboardWidgetChangeDefinitionRequestApmQueryComputeQueryToTerr } } -export class DashboardWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -12224,7 +15285,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryComputeQueryOutputRef super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -12242,7 +15303,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryComputeQueryOutputRef return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -12302,7 +15363,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryComputeQueryOutputRef return this._interval; } } -export interface DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. * @@ -12323,7 +15384,7 @@ export interface DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery readonly order: string; } -export function dashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -12335,7 +15396,7 @@ export function dashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryTo } } -export class DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -12346,7 +15407,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutpu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -12364,7 +15425,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutpu return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -12421,7 +15482,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutpu return this._order; } } -export interface DashboardWidgetChangeDefinitionRequestApmQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy { /** * The facet name. * @@ -12439,10 +15500,10 @@ export interface DashboardWidgetChangeDefinitionRequestApmQueryGroupBy { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery; } -export function dashboardWidgetChangeDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -12450,11 +15511,11 @@ export function dashboardWidgetChangeDefinitionRequestApmQueryGroupByToTerraform return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -12468,7 +15529,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReferenc super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -12489,7 +15550,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReferenc return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -12543,11 +15604,11 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReferenc } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetChangeDefinitionRequestApmQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -12559,8 +15620,8 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReferenc } } -export class DashboardWidgetChangeDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -12574,11 +15635,11 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryGroupByList extends c /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReference { - return new DashboardWidgetChangeDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. * @@ -12599,7 +15660,7 @@ export interface DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute { readonly interval?: number; } -export function dashboardWidgetChangeDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -12611,7 +15672,7 @@ export function dashboardWidgetChangeDefinitionRequestApmQueryMultiComputeToTerr } } -export class DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -12625,7 +15686,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeOutputRef super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -12646,7 +15707,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeOutputRef return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -12713,8 +15774,8 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeOutputRef } } -export class DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -12728,11 +15789,11 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeList exte /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference { - return new DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinitionRequestApmQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery { /** * The name of the index to query. * @@ -12750,22 +15811,22 @@ export interface DashboardWidgetChangeDefinitionRequestApmQuery { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetChangeDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestApmQueryOutputReference | DashboardWidgetChangeDefinitionRequestApmQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -12773,13 +15834,13 @@ export function dashboardWidgetChangeDefinitionRequestApmQueryToTerraform(struct return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetChangeDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetChangeDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -12790,7 +15851,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryOutputReference exten super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestApmQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -12816,7 +15877,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryOutputReference exten return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestApmQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -12865,11 +15926,11 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryOutputReference exten } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetChangeDefinitionRequestApmQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -12881,11 +15942,11 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryOutputReference exten } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetChangeDefinitionRequestApmQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -12897,11 +15958,11 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryOutputReference exten } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetChangeDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -12912,7 +15973,7 @@ export class DashboardWidgetChangeDefinitionRequestApmQueryOutputReference exten return this._multiCompute.internalValue; } } -export interface DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. * @@ -12933,7 +15994,7 @@ export interface DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery { readonly interval?: number; } -export function dashboardWidgetChangeDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -12945,7 +16006,7 @@ export function dashboardWidgetChangeDefinitionRequestLogQueryComputeQueryToTerr } } -export class DashboardWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -12956,7 +16017,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryComputeQueryOutputRef super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -12974,7 +16035,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryComputeQueryOutputRef return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -13034,7 +16095,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryComputeQueryOutputRef return this._interval; } } -export interface DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. * @@ -13055,7 +16116,7 @@ export interface DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery readonly order: string; } -export function dashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -13067,7 +16128,7 @@ export function dashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryTo } } -export class DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -13078,7 +16139,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutpu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -13096,7 +16157,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutpu return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -13153,7 +16214,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutpu return this._order; } } -export interface DashboardWidgetChangeDefinitionRequestLogQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy { /** * The facet name. * @@ -13171,10 +16232,10 @@ export interface DashboardWidgetChangeDefinitionRequestLogQueryGroupBy { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery; } -export function dashboardWidgetChangeDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -13182,11 +16243,11 @@ export function dashboardWidgetChangeDefinitionRequestLogQueryGroupByToTerraform return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -13200,7 +16261,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReferenc super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -13221,7 +16282,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReferenc return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -13275,11 +16336,11 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReferenc } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetChangeDefinitionRequestLogQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -13291,8 +16352,8 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReferenc } } -export class DashboardWidgetChangeDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -13306,11 +16367,11 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryGroupByList extends c /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReference { - return new DashboardWidgetChangeDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. * @@ -13331,7 +16392,7 @@ export interface DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute { readonly interval?: number; } -export function dashboardWidgetChangeDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -13343,7 +16404,7 @@ export function dashboardWidgetChangeDefinitionRequestLogQueryMultiComputeToTerr } } -export class DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -13357,7 +16418,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeOutputRef super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -13378,7 +16439,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeOutputRef return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -13445,8 +16506,8 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeOutputRef } } -export class DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -13460,11 +16521,11 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeList exte /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference { - return new DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinitionRequestLogQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery { /** * The name of the index to query. * @@ -13482,22 +16543,22 @@ export interface DashboardWidgetChangeDefinitionRequestLogQuery { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetChangeDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestLogQueryOutputReference | DashboardWidgetChangeDefinitionRequestLogQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -13505,13 +16566,13 @@ export function dashboardWidgetChangeDefinitionRequestLogQueryToTerraform(struct return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetChangeDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetChangeDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -13522,7 +16583,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryOutputReference exten super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestLogQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -13548,7 +16609,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryOutputReference exten return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestLogQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -13597,11 +16658,11 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryOutputReference exten } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetChangeDefinitionRequestLogQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -13613,11 +16674,11 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryOutputReference exten } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetChangeDefinitionRequestLogQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -13629,11 +16690,11 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryOutputReference exten } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetChangeDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -13644,7 +16705,7 @@ export class DashboardWidgetChangeDefinitionRequestLogQueryOutputReference exten return this._multiCompute.internalValue; } } -export interface DashboardWidgetChangeDefinitionRequestProcessQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery { /** * A list of processes. * @@ -13671,7 +16732,7 @@ export interface DashboardWidgetChangeDefinitionRequestProcessQuery { readonly searchBy?: string; } -export function dashboardWidgetChangeDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestProcessQueryOutputReference | DashboardWidgetChangeDefinitionRequestProcessQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -13684,7 +16745,7 @@ export function dashboardWidgetChangeDefinitionRequestProcessQueryToTerraform(st } } -export class DashboardWidgetChangeDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -13695,7 +16756,7 @@ export class DashboardWidgetChangeDefinitionRequestProcessQueryOutputReference e super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestProcessQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._filterBy !== undefined) { @@ -13717,7 +16778,7 @@ export class DashboardWidgetChangeDefinitionRequestProcessQueryOutputReference e return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestProcessQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._filterBy = undefined; @@ -13795,7 +16856,7 @@ export class DashboardWidgetChangeDefinitionRequestProcessQueryOutputReference e return this._searchBy; } } -export interface DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. * @@ -13816,7 +16877,7 @@ export interface DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery { readonly interval?: number; } -export function dashboardWidgetChangeDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -13828,7 +16889,7 @@ export function dashboardWidgetChangeDefinitionRequestRumQueryComputeQueryToTerr } } -export class DashboardWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -13839,7 +16900,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryComputeQueryOutputRef super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -13857,7 +16918,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryComputeQueryOutputRef return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -13917,7 +16978,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryComputeQueryOutputRef return this._interval; } } -export interface DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. * @@ -13938,7 +16999,7 @@ export interface DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery readonly order: string; } -export function dashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -13950,7 +17011,7 @@ export function dashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryTo } } -export class DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -13961,7 +17022,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutpu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -13979,7 +17040,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutpu return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -14036,7 +17097,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutpu return this._order; } } -export interface DashboardWidgetChangeDefinitionRequestRumQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy { /** * The facet name. * @@ -14054,10 +17115,10 @@ export interface DashboardWidgetChangeDefinitionRequestRumQueryGroupBy { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery; } -export function dashboardWidgetChangeDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -14065,11 +17126,11 @@ export function dashboardWidgetChangeDefinitionRequestRumQueryGroupByToTerraform return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -14083,7 +17144,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReferenc super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -14104,7 +17165,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReferenc return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -14158,11 +17219,11 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReferenc } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetChangeDefinitionRequestRumQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -14174,8 +17235,8 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReferenc } } -export class DashboardWidgetChangeDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -14189,11 +17250,11 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryGroupByList extends c /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReference { - return new DashboardWidgetChangeDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. * @@ -14214,7 +17275,7 @@ export interface DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute { readonly interval?: number; } -export function dashboardWidgetChangeDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -14226,7 +17287,7 @@ export function dashboardWidgetChangeDefinitionRequestRumQueryMultiComputeToTerr } } -export class DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -14240,7 +17301,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeOutputRef super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -14261,7 +17322,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeOutputRef return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -14328,8 +17389,8 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeOutputRef } } -export class DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -14343,11 +17404,11 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeList exte /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference { - return new DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinitionRequestRumQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery { /** * The name of the index to query. * @@ -14365,22 +17426,22 @@ export interface DashboardWidgetChangeDefinitionRequestRumQuery { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetChangeDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestRumQueryOutputReference | DashboardWidgetChangeDefinitionRequestRumQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -14388,13 +17449,13 @@ export function dashboardWidgetChangeDefinitionRequestRumQueryToTerraform(struct return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetChangeDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetChangeDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -14405,7 +17466,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryOutputReference exten super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestRumQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -14431,7 +17492,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryOutputReference exten return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestRumQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -14480,11 +17541,11 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryOutputReference exten } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetChangeDefinitionRequestRumQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -14496,11 +17557,11 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryOutputReference exten } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetChangeDefinitionRequestRumQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -14512,11 +17573,11 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryOutputReference exten } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetChangeDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -14527,7 +17588,7 @@ export class DashboardWidgetChangeDefinitionRequestRumQueryOutputReference exten return this._multiCompute.internalValue; } } -export interface DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. * @@ -14548,7 +17609,7 @@ export interface DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery readonly interval?: number; } -export function dashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -14560,7 +17621,7 @@ export function dashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryT } } -export class DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -14571,7 +17632,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutp super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -14589,7 +17650,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutp return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -14649,7 +17710,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutp return this._interval; } } -export interface DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. * @@ -14670,7 +17731,7 @@ export interface DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQ readonly order: string; } -export function dashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -14682,7 +17743,7 @@ export function dashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQu } } -export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -14693,7 +17754,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -14711,7 +17772,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -14768,7 +17829,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery return this._order; } } -export interface DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy { /** * The facet name. * @@ -14786,10 +17847,10 @@ export interface DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery; } -export function dashboardWidgetChangeDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -14797,11 +17858,11 @@ export function dashboardWidgetChangeDefinitionRequestSecurityQueryGroupByToTerr return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -14815,7 +17876,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputRef super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -14836,7 +17897,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputRef return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -14890,11 +17951,11 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputRef } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -14906,8 +17967,8 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputRef } } -export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -14921,11 +17982,11 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByList exte /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference { - return new DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. * @@ -14946,7 +18007,7 @@ export interface DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute readonly interval?: number; } -export function dashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -14958,7 +18019,7 @@ export function dashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeT } } -export class DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -14972,7 +18033,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutp super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -14993,7 +18054,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutp return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -15060,8 +18121,8 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutp } } -export class DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -15075,11 +18136,11 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeList /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference { - return new DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinitionRequestSecurityQuery { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery { /** * The name of the index to query. * @@ -15097,22 +18158,22 @@ export interface DashboardWidgetChangeDefinitionRequestSecurityQuery { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetChangeDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference | DashboardWidgetChangeDefinitionRequestSecurityQuery): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -15120,13 +18181,13 @@ export function dashboardWidgetChangeDefinitionRequestSecurityQueryToTerraform(s return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -15137,7 +18198,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinitionRequestSecurityQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -15163,7 +18224,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequestSecurityQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -15212,11 +18273,11 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetChangeDefinitionRequestSecurityQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -15228,11 +18289,11 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetChangeDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -15244,11 +18305,11 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetChangeDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -15259,7 +18320,7 @@ export class DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference return this._multiCompute.internalValue; } } -export interface DashboardWidgetChangeDefinitionRequest { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest { /** * Whether to show absolute or relative change. Valid values are \`absolute\`, \`relative\`. * @@ -15307,34 +18368,34 @@ export interface DashboardWidgetChangeDefinitionRequest { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} */ - readonly apmQuery?: DashboardWidgetChangeDefinitionRequestApmQuery; + readonly apmQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery; /** * log_query block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} */ - readonly logQuery?: DashboardWidgetChangeDefinitionRequestLogQuery; + readonly logQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery; /** * process_query block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} */ - readonly processQuery?: DashboardWidgetChangeDefinitionRequestProcessQuery; + readonly processQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery; /** * rum_query block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} */ - readonly rumQuery?: DashboardWidgetChangeDefinitionRequestRumQuery; + readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery; /** * security_query block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} */ - readonly securityQuery?: DashboardWidgetChangeDefinitionRequestSecurityQuery; + readonly securityQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery; } -export function dashboardWidgetChangeDefinitionRequestToTerraform(struct?: DashboardWidgetChangeDefinitionRequest | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -15347,15 +18408,15 @@ export function dashboardWidgetChangeDefinitionRequestToTerraform(struct?: Dashb order_dir: cdktf.stringToTerraform(struct!.orderDir), q: cdktf.stringToTerraform(struct!.q), show_present: cdktf.booleanToTerraform(struct!.showPresent), - apm_query: dashboardWidgetChangeDefinitionRequestApmQueryToTerraform(struct!.apmQuery), - log_query: dashboardWidgetChangeDefinitionRequestLogQueryToTerraform(struct!.logQuery), - process_query: dashboardWidgetChangeDefinitionRequestProcessQueryToTerraform(struct!.processQuery), - rum_query: dashboardWidgetChangeDefinitionRequestRumQueryToTerraform(struct!.rumQuery), - security_query: dashboardWidgetChangeDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), + apm_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryToTerraform(struct!.apmQuery), + log_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryToTerraform(struct!.logQuery), + process_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryToTerraform(struct!.processQuery), + rum_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryToTerraform(struct!.rumQuery), + security_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), } } -export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -15369,7 +18430,7 @@ export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetChangeDefinitionRequest | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -15426,7 +18487,7 @@ export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinitionRequest | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -15578,11 +18639,11 @@ export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf } // apm_query - computed: false, optional: true, required: false - private _apmQuery = new DashboardWidgetChangeDefinitionRequestApmQueryOutputReference(this, "apm_query"); + private _apmQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryOutputReference(this, "apm_query"); public get apmQuery() { return this._apmQuery; } - public putApmQuery(value: DashboardWidgetChangeDefinitionRequestApmQuery) { + public putApmQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery) { this._apmQuery.internalValue = value; } public resetApmQuery() { @@ -15594,11 +18655,11 @@ export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf } // log_query - computed: false, optional: true, required: false - private _logQuery = new DashboardWidgetChangeDefinitionRequestLogQueryOutputReference(this, "log_query"); + private _logQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryOutputReference(this, "log_query"); public get logQuery() { return this._logQuery; } - public putLogQuery(value: DashboardWidgetChangeDefinitionRequestLogQuery) { + public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery) { this._logQuery.internalValue = value; } public resetLogQuery() { @@ -15610,11 +18671,11 @@ export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf } // process_query - computed: false, optional: true, required: false - private _processQuery = new DashboardWidgetChangeDefinitionRequestProcessQueryOutputReference(this, "process_query"); + private _processQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryOutputReference(this, "process_query"); public get processQuery() { return this._processQuery; } - public putProcessQuery(value: DashboardWidgetChangeDefinitionRequestProcessQuery) { + public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery) { this._processQuery.internalValue = value; } public resetProcessQuery() { @@ -15626,11 +18687,11 @@ export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf } // rum_query - computed: false, optional: true, required: false - private _rumQuery = new DashboardWidgetChangeDefinitionRequestRumQueryOutputReference(this, "rum_query"); + private _rumQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryOutputReference(this, "rum_query"); public get rumQuery() { return this._rumQuery; } - public putRumQuery(value: DashboardWidgetChangeDefinitionRequestRumQuery) { + public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery) { this._rumQuery.internalValue = value; } public resetRumQuery() { @@ -15642,11 +18703,11 @@ export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf } // security_query - computed: false, optional: true, required: false - private _securityQuery = new DashboardWidgetChangeDefinitionRequestSecurityQueryOutputReference(this, "security_query"); + private _securityQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryOutputReference(this, "security_query"); public get securityQuery() { return this._securityQuery; } - public putSecurityQuery(value: DashboardWidgetChangeDefinitionRequestSecurityQuery) { + public putSecurityQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery) { this._securityQuery.internalValue = value; } public resetSecurityQuery() { @@ -15658,8 +18719,8 @@ export class DashboardWidgetChangeDefinitionRequestOutputReference extends cdktf } } -export class DashboardWidgetChangeDefinitionRequestList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetChangeDefinitionRequest[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -15673,11 +18734,11 @@ export class DashboardWidgetChangeDefinitionRequestList extends cdktf.ComplexLis /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetChangeDefinitionRequestOutputReference { - return new DashboardWidgetChangeDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestOutputReference { + return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetChangeDefinition { +export interface DashboardWidgetGroupDefinitionWidgetChangeDefinition { /** * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. * @@ -15707,16 +18768,16 @@ export interface DashboardWidgetChangeDefinition { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_link Dashboard#custom_link} */ - readonly customLink?: DashboardWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable; + readonly customLink?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable; /** * request block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} */ - readonly request?: DashboardWidgetChangeDefinitionRequest[] | cdktf.IResolvable; + readonly request?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest[] | cdktf.IResolvable; } -export function dashboardWidgetChangeDefinitionToTerraform(struct?: DashboardWidgetChangeDefinitionOutputReference | DashboardWidgetChangeDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -15726,12 +18787,12 @@ export function dashboardWidgetChangeDefinitionToTerraform(struct?: DashboardWid title: cdktf.stringToTerraform(struct!.title), title_align: cdktf.stringToTerraform(struct!.titleAlign), title_size: cdktf.stringToTerraform(struct!.titleSize), - custom_link: cdktf.listMapper(dashboardWidgetChangeDefinitionCustomLinkToTerraform, true)(struct!.customLink), - request: cdktf.listMapper(dashboardWidgetChangeDefinitionRequestToTerraform, true)(struct!.request), + custom_link: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkToTerraform, true)(struct!.customLink), + request: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestToTerraform, true)(struct!.request), } } -export class DashboardWidgetChangeDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -15742,7 +18803,7 @@ export class DashboardWidgetChangeDefinitionOutputReference extends cdktf.Comple super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetChangeDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._liveSpan !== undefined) { @@ -15772,7 +18833,7 @@ export class DashboardWidgetChangeDefinitionOutputReference extends cdktf.Comple return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetChangeDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; this._liveSpan = undefined; @@ -15858,11 +18919,11 @@ export class DashboardWidgetChangeDefinitionOutputReference extends cdktf.Comple } // custom_link - computed: false, optional: true, required: false - private _customLink = new DashboardWidgetChangeDefinitionCustomLinkList(this, "custom_link", false); + private _customLink = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkList(this, "custom_link", false); public get customLink() { return this._customLink; } - public putCustomLink(value: DashboardWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable) { + public putCustomLink(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable) { this._customLink.internalValue = value; } public resetCustomLink() { @@ -15874,11 +18935,11 @@ export class DashboardWidgetChangeDefinitionOutputReference extends cdktf.Comple } // request - computed: false, optional: true, required: false - private _request = new DashboardWidgetChangeDefinitionRequestList(this, "request", false); + private _request = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestList(this, "request", false); public get request() { return this._request; } - public putRequest(value: DashboardWidgetChangeDefinitionRequest[] | cdktf.IResolvable) { + public putRequest(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest[] | cdktf.IResolvable) { this._request.internalValue = value; } public resetRequest() { @@ -15889,7 +18950,7 @@ export class DashboardWidgetChangeDefinitionOutputReference extends cdktf.Comple return this._request.internalValue; } } -export interface DashboardWidgetCheckStatusDefinition { +export interface DashboardWidgetGroupDefinitionWidgetCheckStatusDefinition { /** * The check to use in the widget. * @@ -15946,7 +19007,7 @@ export interface DashboardWidgetCheckStatusDefinition { readonly titleSize?: string; } -export function dashboardWidgetCheckStatusDefinitionToTerraform(struct?: DashboardWidgetCheckStatusDefinitionOutputReference | DashboardWidgetCheckStatusDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetCheckStatusDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetCheckStatusDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetCheckStatusDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -15964,7 +19025,7 @@ export function dashboardWidgetCheckStatusDefinitionToTerraform(struct?: Dashboa } } -export class DashboardWidgetCheckStatusDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetCheckStatusDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -15975,7 +19036,7 @@ export class DashboardWidgetCheckStatusDefinitionOutputReference extends cdktf.C super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetCheckStatusDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetCheckStatusDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._check !== undefined) { @@ -16017,7 +19078,7 @@ export class DashboardWidgetCheckStatusDefinitionOutputReference extends cdktf.C return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetCheckStatusDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetCheckStatusDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; this._check = undefined; @@ -16182,7 +19243,7 @@ export class DashboardWidgetCheckStatusDefinitionOutputReference extends cdktf.C return this._titleSize; } } -export interface DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. * @@ -16203,7 +19264,7 @@ export interface DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuer readonly interval?: number; } -export function dashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -16215,7 +19276,7 @@ export function dashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery } } -export class DashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -16226,7 +19287,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryOut super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -16244,7 +19305,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryOut return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -16304,7 +19365,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryOut return this._interval; } } -export interface DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. * @@ -16325,7 +19386,7 @@ export interface DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySort readonly order: string; } -export function dashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -16337,7 +19398,7 @@ export function dashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQ } } -export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -16348,7 +19409,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -16366,7 +19427,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuer return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -16423,7 +19484,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuer return this._order; } } -export interface DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy { /** * The facet name. * @@ -16441,10 +19502,10 @@ export interface DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery; } -export function dashboardWidgetDistributionDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -16452,11 +19513,11 @@ export function dashboardWidgetDistributionDefinitionRequestApmQueryGroupByToTer return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -16470,7 +19531,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputRe super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -16491,7 +19552,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputRe return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -16545,11 +19606,11 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputRe } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -16561,8 +19622,8 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputRe } } -export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -16576,11 +19637,11 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryGroupByList ext /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference { - return new DashboardWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. * @@ -16601,7 +19662,7 @@ export interface DashboardWidgetDistributionDefinitionRequestApmQueryMultiComput readonly interval?: number; } -export function dashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -16613,7 +19674,7 @@ export function dashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute } } -export class DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -16627,7 +19688,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeOut super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -16648,7 +19709,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeOut return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -16715,8 +19776,8 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeOut } } -export class DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -16730,11 +19791,11 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeLis /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference { - return new DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetDistributionDefinitionRequestApmQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery { /** * The name of the index to query. * @@ -16752,22 +19813,22 @@ export interface DashboardWidgetDistributionDefinitionRequestApmQuery { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetDistributionDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestApmQueryOutputReference | DashboardWidgetDistributionDefinitionRequestApmQuery): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -16775,13 +19836,13 @@ export function dashboardWidgetDistributionDefinitionRequestApmQueryToTerraform( return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetDistributionDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -16792,7 +19853,7 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryOutputReference super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestApmQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -16818,7 +19879,750 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryOutputReference return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestApmQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; + } + } + + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); + } + public set index(value: string) { + this._index = value; + } + // Temporarily expose input value. Use with caution. + public get indexInput() { + return this._index; + } + + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); + } + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchQueryInput() { + return this._searchQuery; + } + + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; + } + + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; + } + + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; + } +} +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; +} + +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; + } + } + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); + } + public set aggregation(value: string) { + this._aggregation = value; + } + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; + } +} +" +`; + +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs400 1`] = ` +"import * as cdktf from 'cdktf'; +import { DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery, +dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform, +DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference, +DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery, +dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryToTerraform, +DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryOutputReference } from './structs0' +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; +} + +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; + } + } + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); + } + public set aggregation(value: string) { + this._aggregation = value; + } + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; + } +} +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy { + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery; +} + +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; + + /** + * @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) + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; + } + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); + } + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; + } + + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; + } + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; + } + public resetSortQuery() { + this._sortQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; +} + +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; + + /** + * @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) + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; + } + } + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); + } + public set aggregation(value: string) { + this._aggregation = value; + } + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery { + /** + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} + */ + readonly index: string; + /** + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + */ + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; +} + +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._index !== undefined) { + hasAnyValues = true; + internalValueResult.index = this._index; + } + if (this._searchQuery !== undefined) { + hasAnyValues = true; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -16855,66 +20659,217 @@ export class DashboardWidgetDistributionDefinitionRequestApmQueryOutputReference public get searchQuery() { return this.getStringAttribute('search_query'); } - public set searchQuery(value: string) { - this._searchQuery = value; + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchQueryInput() { + return this._searchQuery; + } + + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; + } + + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; + } + + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; + } +} +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery { + /** + * A list of processes. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} + */ + readonly filterBy?: string[]; + /** + * The max number of items in the filter list. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * Your chosen metric. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + */ + readonly metric: string; + /** + * Your chosen search term. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} + */ + readonly searchBy?: string; +} + +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), + limit: cdktf.numberToTerraform(struct!.limit), + metric: cdktf.stringToTerraform(struct!.metric), + search_by: cdktf.stringToTerraform(struct!.searchBy), + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._filterBy !== undefined) { + hasAnyValues = true; + internalValueResult.filterBy = this._filterBy; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._metric !== undefined) { + hasAnyValues = true; + internalValueResult.metric = this._metric; + } + if (this._searchBy !== undefined) { + hasAnyValues = true; + internalValueResult.searchBy = this._searchBy; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._filterBy = undefined; + this._limit = undefined; + this._metric = undefined; + this._searchBy = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._filterBy = value.filterBy; + this._limit = value.limit; + this._metric = value.metric; + this._searchBy = value.searchBy; + } + } + + // filter_by - computed: false, optional: true, required: false + private _filterBy?: string[]; + public get filterBy() { + return this.getListAttribute('filter_by'); + } + public set filterBy(value: string[]) { + this._filterBy = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetFilterBy() { + this._filterBy = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get filterByInput() { + return this._filterBy; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public putComputeQuery(value: DashboardWidgetDistributionDefinitionRequestApmQueryComputeQuery) { - this._computeQuery.internalValue = value; + public set limit(value: number) { + this._limit = value; } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get limitInput() { + return this._limit; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetDistributionDefinitionRequestApmQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + // metric - computed: false, optional: false, required: true + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public set metric(value: string) { + this._metric = value; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get metricInput() { + return this._metric; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetDistributionDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; + // search_by - computed: false, optional: true, required: false + private _searchBy?: string; + public get searchBy() { + return this.getStringAttribute('search_by'); } - public putMultiCompute(value: DashboardWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + public set searchBy(value: string) { + this._searchBy = value; } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public resetSearchBy() { + this._searchBy = undefined; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get searchByInput() { + return this._searchBy; } } -export interface DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. * @@ -16935,7 +20890,7 @@ export interface DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuer readonly interval?: number; } -export function dashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -16947,7 +20902,7 @@ export function dashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery } } -export class DashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -16958,7 +20913,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryOut super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -16976,7 +20931,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryOut return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -17036,7 +20991,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryOut return this._interval; } } -export interface DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. * @@ -17057,7 +21012,7 @@ export interface DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySort readonly order: string; } -export function dashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -17069,7 +21024,7 @@ export function dashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQ } } -export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -17080,7 +21035,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -17098,7 +21053,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuer return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -17155,7 +21110,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuer return this._order; } } -export interface DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy { /** * The facet name. * @@ -17173,10 +21128,10 @@ export interface DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery; } -export function dashboardWidgetDistributionDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -17184,11 +21139,11 @@ export function dashboardWidgetDistributionDefinitionRequestLogQueryGroupByToTer return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -17202,7 +21157,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputRe super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -17223,7 +21178,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputRe return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -17277,11 +21232,11 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputRe } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -17293,8 +21248,8 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputRe } } -export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -17308,11 +21263,11 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryGroupByList ext /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference { - return new DashboardWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. * @@ -17333,7 +21288,7 @@ export interface DashboardWidgetDistributionDefinitionRequestLogQueryMultiComput readonly interval?: number; } -export function dashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -17345,7 +21300,7 @@ export function dashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute } } -export class DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -17359,7 +21314,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeOut super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -17380,7 +21335,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeOut return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -17447,8 +21402,8 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeOut } } -export class DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -17462,11 +21417,11 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeLis /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference { - return new DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetDistributionDefinitionRequestLogQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery { /** * The name of the index to query. * @@ -17484,22 +21439,22 @@ export interface DashboardWidgetDistributionDefinitionRequestLogQuery { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetDistributionDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference | DashboardWidgetDistributionDefinitionRequestLogQuery): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -17507,13 +21462,13 @@ export function dashboardWidgetDistributionDefinitionRequestLogQueryToTerraform( return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -17524,7 +21479,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestLogQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -17550,7 +21505,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestLogQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -17599,11 +21554,11 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetDistributionDefinitionRequestLogQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -17615,11 +21570,11 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetDistributionDefinitionRequestLogQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -17631,11 +21586,11 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetDistributionDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -17646,158 +21601,7 @@ export class DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference return this._multiCompute.internalValue; } } -export interface DashboardWidgetDistributionDefinitionRequestProcessQuery { - /** - * A list of processes. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} - */ - readonly filterBy?: string[]; - /** - * The max number of items in the filter list. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; - /** - * Your chosen metric. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} - */ - readonly metric: string; - /** - * Your chosen search term. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} - */ - readonly searchBy?: string; -} - -export function dashboardWidgetDistributionDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestProcessQueryOutputReference | DashboardWidgetDistributionDefinitionRequestProcessQuery): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), - limit: cdktf.numberToTerraform(struct!.limit), - metric: cdktf.stringToTerraform(struct!.metric), - search_by: cdktf.stringToTerraform(struct!.searchBy), - } -} - -export class DashboardWidgetDistributionDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): DashboardWidgetDistributionDefinitionRequestProcessQuery | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._filterBy !== undefined) { - hasAnyValues = true; - internalValueResult.filterBy = this._filterBy; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._metric !== undefined) { - hasAnyValues = true; - internalValueResult.metric = this._metric; - } - if (this._searchBy !== undefined) { - hasAnyValues = true; - internalValueResult.searchBy = this._searchBy; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestProcessQuery | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._filterBy = undefined; - this._limit = undefined; - this._metric = undefined; - this._searchBy = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._filterBy = value.filterBy; - this._limit = value.limit; - this._metric = value.metric; - this._searchBy = value.searchBy; - } - } - - // filter_by - computed: false, optional: true, required: false - private _filterBy?: string[]; - public get filterBy() { - return this.getListAttribute('filter_by'); - } - public set filterBy(value: string[]) { - this._filterBy = value; - } - public resetFilterBy() { - this._filterBy = undefined; - } - // Temporarily expose input value. Use with caution. - public get filterByInput() { - return this._filterBy; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; - } - public resetLimit() { - this._limit = undefined; - } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; - } - - // metric - computed: false, optional: false, required: true - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); - } - public set metric(value: string) { - this._metric = value; - } - // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; - } - - // search_by - computed: false, optional: true, required: false - private _searchBy?: string; - public get searchBy() { - return this.getStringAttribute('search_by'); - } - public set searchBy(value: string) { - this._searchBy = value; - } - public resetSearchBy() { - this._searchBy = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchByInput() { - return this._searchBy; - } -} -export interface DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. * @@ -17818,7 +21622,7 @@ export interface DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuer readonly interval?: number; } -export function dashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -17830,7 +21634,7 @@ export function dashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery } } -export class DashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -17841,7 +21645,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryOut super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -17859,7 +21663,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryOut return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -17919,7 +21723,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryOut return this._interval; } } -export interface DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. * @@ -17940,7 +21744,7 @@ export interface DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySort readonly order: string; } -export function dashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -17952,7 +21756,7 @@ export function dashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQ } } -export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -17963,7 +21767,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -17981,7 +21785,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuer return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -18038,7 +21842,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuer return this._order; } } -export interface DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy { /** * The facet name. * @@ -18056,10 +21860,10 @@ export interface DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery; } -export function dashboardWidgetDistributionDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -18067,11 +21871,11 @@ export function dashboardWidgetDistributionDefinitionRequestRumQueryGroupByToTer return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -18085,7 +21889,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputRe super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -18106,7 +21910,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputRe return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -18160,11 +21964,11 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputRe } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -18176,8 +21980,8 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputRe } } -export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -18191,11 +21995,11 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryGroupByList ext /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference { - return new DashboardWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. * @@ -18216,7 +22020,7 @@ export interface DashboardWidgetDistributionDefinitionRequestRumQueryMultiComput readonly interval?: number; } -export function dashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -18228,7 +22032,7 @@ export function dashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute } } -export class DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -18242,7 +22046,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeOut super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -18263,7 +22067,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeOut return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -18330,8 +22134,8 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeOut } } -export class DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -18345,11 +22149,11 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeLis /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference { - return new DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetDistributionDefinitionRequestRumQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery { /** * The name of the index to query. * @@ -18367,22 +22171,22 @@ export interface DashboardWidgetDistributionDefinitionRequestRumQuery { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetDistributionDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference | DashboardWidgetDistributionDefinitionRequestRumQuery): any { +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -18390,13 +22194,13 @@ export function dashboardWidgetDistributionDefinitionRequestRumQueryToTerraform( return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -18407,7 +22211,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestRumQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -18433,7 +22237,7 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestRumQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -18482,11 +22286,11 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetDistributionDefinitionRequestRumQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -18498,11 +22302,11 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetDistributionDefinitionRequestRumQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -18514,11 +22318,11 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetDistributionDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -18529,40 +22333,649 @@ export class DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference return this._multiCompute.internalValue; } } -export interface DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle { + /** + * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} + */ + readonly palette?: string; +} + +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + palette: cdktf.stringToTerraform(struct!.palette), + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._palette !== undefined) { + hasAnyValues = true; + internalValueResult.palette = this._palette; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._palette = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._palette = value.palette; + } + } + + // palette - computed: false, optional: true, required: false + private _palette?: string; + public get palette() { + return this.getStringAttribute('palette'); + } + public set palette(value: string) { + this._palette = value; + } + public resetPalette() { + this._palette = undefined; + } + // Temporarily expose input value. Use with caution. + public get paletteInput() { + return this._palette; + } +} +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest { + /** + * The metric query to use for this widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} + */ + readonly q?: string; + /** + * apm_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} + */ + readonly apmQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery; + /** + * log_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} + */ + readonly logQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery; + /** + * process_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} + */ + readonly processQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery; + /** + * rum_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} + */ + readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery; + /** + * security_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} + */ + readonly securityQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery; + /** + * style block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} + */ + readonly style?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle; +} + +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest | cdktf.IResolvable): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + q: cdktf.stringToTerraform(struct!.q), + apm_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryToTerraform(struct!.apmQuery), + log_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryToTerraform(struct!.logQuery), + process_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryToTerraform(struct!.processQuery), + rum_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryToTerraform(struct!.rumQuery), + security_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), + style: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleToTerraform(struct!.style), + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; + + /** + * @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) + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._q !== undefined) { + hasAnyValues = true; + internalValueResult.q = this._q; + } + if (this._apmQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.apmQuery = this._apmQuery?.internalValue; + } + if (this._logQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.logQuery = this._logQuery?.internalValue; + } + if (this._processQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.processQuery = this._processQuery?.internalValue; + } + if (this._rumQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.rumQuery = this._rumQuery?.internalValue; + } + if (this._securityQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.securityQuery = this._securityQuery?.internalValue; + } + if (this._style?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.style = this._style?.internalValue; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest | cdktf.IResolvable | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this.resolvableValue = undefined; + this._q = undefined; + this._apmQuery.internalValue = undefined; + this._logQuery.internalValue = undefined; + this._processQuery.internalValue = undefined; + this._rumQuery.internalValue = undefined; + this._securityQuery.internalValue = undefined; + this._style.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._q = value.q; + this._apmQuery.internalValue = value.apmQuery; + this._logQuery.internalValue = value.logQuery; + this._processQuery.internalValue = value.processQuery; + this._rumQuery.internalValue = value.rumQuery; + this._securityQuery.internalValue = value.securityQuery; + this._style.internalValue = value.style; + } + } + + // q - computed: false, optional: true, required: false + private _q?: string; + public get q() { + return this.getStringAttribute('q'); + } + public set q(value: string) { + this._q = value; + } + public resetQ() { + this._q = undefined; + } + // Temporarily expose input value. Use with caution. + public get qInput() { + return this._q; + } + + // apm_query - computed: false, optional: true, required: false + private _apmQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryOutputReference(this, "apm_query"); + public get apmQuery() { + return this._apmQuery; + } + public putApmQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery) { + this._apmQuery.internalValue = value; + } + public resetApmQuery() { + this._apmQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get apmQueryInput() { + return this._apmQuery.internalValue; + } + + // log_query - computed: false, optional: true, required: false + private _logQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryOutputReference(this, "log_query"); + public get logQuery() { + return this._logQuery; + } + public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery) { + this._logQuery.internalValue = value; + } + public resetLogQuery() { + this._logQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get logQueryInput() { + return this._logQuery.internalValue; + } + + // process_query - computed: false, optional: true, required: false + private _processQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryOutputReference(this, "process_query"); + public get processQuery() { + return this._processQuery; + } + public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery) { + this._processQuery.internalValue = value; + } + public resetProcessQuery() { + this._processQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get processQueryInput() { + return this._processQuery.internalValue; + } + + // rum_query - computed: false, optional: true, required: false + private _rumQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryOutputReference(this, "rum_query"); + public get rumQuery() { + return this._rumQuery; + } + public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery) { + this._rumQuery.internalValue = value; + } + public resetRumQuery() { + this._rumQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get rumQueryInput() { + return this._rumQuery.internalValue; + } + + // security_query - computed: false, optional: true, required: false + private _securityQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryOutputReference(this, "security_query"); + public get securityQuery() { + return this._securityQuery; + } + public putSecurityQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery) { + this._securityQuery.internalValue = value; + } + public resetSecurityQuery() { + this._securityQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get securityQueryInput() { + return this._securityQuery.internalValue; + } + + // style - computed: false, optional: true, required: false + private _style = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleOutputReference(this, "style"); + public get style() { + return this._style; + } + public putStyle(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle) { + this._style.internalValue = value; + } + public resetStyle() { + this._style.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get styleInput() { + return this._style.internalValue; + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestOutputReference { + return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinition { + /** + * The size of the legend displayed in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#legend_size Dashboard#legend_size} + */ + readonly legendSize?: string; + /** + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} + */ + readonly liveSpan?: string; + /** + * Whether or not to show the legend on this widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#show_legend Dashboard#show_legend} + */ + readonly showLegend?: boolean | cdktf.IResolvable; + /** + * The title of the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + */ + readonly title?: string; + /** + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + */ + readonly titleAlign?: string; + /** + * The size of the widget's title (defaults to 16). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + */ + readonly titleSize?: string; + /** + * request block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} + */ + readonly request?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest[] | cdktf.IResolvable; +} + +export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinition): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + legend_size: cdktf.stringToTerraform(struct!.legendSize), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + show_legend: cdktf.booleanToTerraform(struct!.showLegend), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), + request: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestToTerraform, true)(struct!.request), + } +} + +export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinition | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._legendSize !== undefined) { + hasAnyValues = true; + internalValueResult.legendSize = this._legendSize; + } + if (this._liveSpan !== undefined) { + hasAnyValues = true; + internalValueResult.liveSpan = this._liveSpan; + } + if (this._showLegend !== undefined) { + hasAnyValues = true; + internalValueResult.showLegend = this._showLegend; + } + if (this._title !== undefined) { + hasAnyValues = true; + internalValueResult.title = this._title; + } + if (this._titleAlign !== undefined) { + hasAnyValues = true; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; + } + if (this._request?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.request = this._request?.internalValue; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinition | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._legendSize = undefined; + this._liveSpan = undefined; + this._showLegend = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; + this._request.internalValue = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._legendSize = value.legendSize; + this._liveSpan = value.liveSpan; + this._showLegend = value.showLegend; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; + this._request.internalValue = value.request; + } + } + + // legend_size - computed: false, optional: true, required: false + private _legendSize?: string; + public get legendSize() { + return this.getStringAttribute('legend_size'); + } + public set legendSize(value: string) { + this._legendSize = value; + } + public resetLegendSize() { + this._legendSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get legendSizeInput() { + return this._legendSize; + } + + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); + } + public set liveSpan(value: string) { + this._liveSpan = value; + } + public resetLiveSpan() { + this._liveSpan = undefined; + } + // Temporarily expose input value. Use with caution. + public get liveSpanInput() { + return this._liveSpan; + } + + // show_legend - computed: false, optional: true, required: false + private _showLegend?: boolean | cdktf.IResolvable; + public get showLegend() { + return this.getBooleanAttribute('show_legend'); + } + public set showLegend(value: boolean | cdktf.IResolvable) { + this._showLegend = value; + } + public resetShowLegend() { + this._showLegend = undefined; + } + // Temporarily expose input value. Use with caution. + public get showLegendInput() { + return this._showLegend; + } + + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); + } + public set title(value: string) { + this._title = value; + } + public resetTitle() { + this._title = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleInput() { + return this._title; + } + + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); + } + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleAlignInput() { + return this._titleAlign; + } + + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; + } + + // request - computed: false, optional: true, required: false + private _request = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestList(this, "request", false); + public get request() { + return this._request; + } + public putRequest(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest[] | cdktf.IResolvable) { + this._request.internalValue = value; + } + public resetRequest() { + this._request.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get requestInput() { + return this._request.internalValue; + } +} +export interface DashboardWidgetGroupDefinitionWidgetEventStreamDefinition { + /** + * The size to use to display an event. Valid values are \`s\`, \`l\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event_size Dashboard#event_size} + */ + readonly eventSize?: string; + /** + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} + */ + readonly liveSpan?: string; + /** + * The query to use in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} + */ + readonly query: string; + /** + * The execution method for multi-value filters, options: \`and\` or \`or\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} + */ + readonly tagsExecution?: string; /** - * The aggregation method. + * The title of the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} */ - readonly aggregation: string; + readonly title?: string; /** - * The facet name. + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} */ - readonly facet?: string; + readonly titleAlign?: string; /** - * Define the time interval in seconds. + * The size of the widget's title (defaults to 16). * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} */ - readonly interval?: number; + readonly titleSize?: string; } -export function dashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetEventStreamDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetEventStreamDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetEventStreamDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + event_size: cdktf.stringToTerraform(struct!.eventSize), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + query: cdktf.stringToTerraform(struct!.query), + tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), } } -export class DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetEventStreamDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -18573,118 +22986,227 @@ export class DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQue super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetEventStreamDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._eventSize !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.eventSize = this._eventSize; } - if (this._facet !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.liveSpan = this._liveSpan; } - if (this._interval !== undefined) { + if (this._query !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.query = this._query; + } + if (this._tagsExecution !== undefined) { + hasAnyValues = true; + internalValueResult.tagsExecution = this._tagsExecution; + } + if (this._title !== undefined) { + hasAnyValues = true; + internalValueResult.title = this._title; + } + if (this._titleAlign !== undefined) { + hasAnyValues = true; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetEventStreamDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._eventSize = undefined; + this._liveSpan = undefined; + this._query = undefined; + this._tagsExecution = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._eventSize = value.eventSize; + this._liveSpan = value.liveSpan; + this._query = value.query; + this._tagsExecution = value.tagsExecution; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // event_size - computed: false, optional: true, required: false + private _eventSize?: string; + public get eventSize() { + return this.getStringAttribute('event_size'); } - public set aggregation(value: string) { - this._aggregation = value; + public set eventSize(value: string) { + this._eventSize = value; + } + public resetEventSize() { + this._eventSize = undefined; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get eventSizeInput() { + return this._eventSize; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public set facet(value: string) { - this._facet = value; + public set liveSpan(value: string) { + this._liveSpan = value; } - public resetFacet() { - this._facet = undefined; + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get liveSpanInput() { + return this._liveSpan; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // query - computed: false, optional: false, required: true + private _query?: string; + public get query() { + return this.getStringAttribute('query'); } - public set interval(value: number) { - this._interval = value; + public set query(value: string) { + this._query = value; } - public resetInterval() { - this._interval = undefined; + // Temporarily expose input value. Use with caution. + public get queryInput() { + return this._query; + } + + // tags_execution - computed: false, optional: true, required: false + private _tagsExecution?: string; + public get tagsExecution() { + return this.getStringAttribute('tags_execution'); + } + public set tagsExecution(value: string) { + this._tagsExecution = value; + } + public resetTagsExecution() { + this._tagsExecution = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get tagsExecutionInput() { + return this._tagsExecution; + } + + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); + } + public set title(value: string) { + this._title = value; + } + public resetTitle() { + this._title = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleInput() { + return this._title; + } + + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); + } + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleAlignInput() { + return this._titleAlign; + } + + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; } } -export interface DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetEventTimelineDefinition { /** - * The aggregation method. + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} */ - readonly aggregation: string; + readonly liveSpan?: string; /** - * The facet name. + * The query to use in the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} */ - readonly facet?: string; + readonly query: string; /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * The execution method for multi-value filters, options: \`and\` or \`or\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} */ - readonly order: string; + readonly tagsExecution?: string; + /** + * The title of the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + */ + readonly title?: string; + /** + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + */ + readonly titleAlign?: string; + /** + * The size of the widget's title (defaults to 16). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + */ + readonly titleSize?: string; } -export function dashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetEventTimelineDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetEventTimelineDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetEventTimelineDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + query: cdktf.stringToTerraform(struct!.query), + tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), } } -export class DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetEventTimelineDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -18695,272 +23217,342 @@ export class DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySor super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetEventTimelineDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.liveSpan = this._liveSpan; } - if (this._facet !== undefined) { + if (this._query !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.query = this._query; } - if (this._order !== undefined) { + if (this._tagsExecution !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.tagsExecution = this._tagsExecution; + } + if (this._title !== undefined) { + hasAnyValues = true; + internalValueResult.title = this._title; + } + if (this._titleAlign !== undefined) { + hasAnyValues = true; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetEventTimelineDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._liveSpan = undefined; + this._query = undefined; + this._tagsExecution = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._liveSpan = value.liveSpan; + this._query = value.query; + this._tagsExecution = value.tagsExecution; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public set aggregation(value: string) { - this._aggregation = value; + public set liveSpan(value: string) { + this._liveSpan = value; + } + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get liveSpanInput() { + return this._liveSpan; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // query - computed: false, optional: false, required: true + private _query?: string; + public get query() { + return this.getStringAttribute('query'); } - public set facet(value: string) { - this._facet = value; + public set query(value: string) { + this._query = value; } - public resetFacet() { - this._facet = undefined; + // Temporarily expose input value. Use with caution. + public get queryInput() { + return this._query; + } + + // tags_execution - computed: false, optional: true, required: false + private _tagsExecution?: string; + public get tagsExecution() { + return this.getStringAttribute('tags_execution'); + } + public set tagsExecution(value: string) { + this._tagsExecution = value; + } + public resetTagsExecution() { + this._tagsExecution = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get tagsExecutionInput() { + return this._tagsExecution; } - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); } - public set order(value: string) { - this._order = value; + public set title(value: string) { + this._title = value; + } + public resetTitle() { + this._title = undefined; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get titleInput() { + return this._title; + } + + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); + } + public set titleAlign(value: string) { + this._titleAlign = value; + } + public resetTitleAlign() { + this._titleAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleAlignInput() { + return this._titleAlign; + } + + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; } } -export interface DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetFreeTextDefinition { /** - * The facet name. + * The color of the text in the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#color Dashboard#color} */ - readonly facet?: string; + readonly color?: string; /** - * The maximum number of items in the group. + * The size of the text in the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#font_size Dashboard#font_size} */ - readonly limit?: number; + readonly fontSize?: string; /** - * sort_query block + * The text to display in the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text Dashboard#text} */ - readonly sortQuery?: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery; + readonly text: string; + /** + * The alignment of the text in the widget. Valid values are \`center\`, \`left\`, \`right\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_align Dashboard#text_align} + */ + readonly textAlign?: string; } -export function dashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetFreeTextDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetFreeTextDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetFreeTextDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), + color: cdktf.stringToTerraform(struct!.color), + font_size: cdktf.stringToTerraform(struct!.fontSize), + text: cdktf.stringToTerraform(struct!.text), + text_align: cdktf.stringToTerraform(struct!.textAlign), } } -export class DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetFreeTextDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetFreeTextDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { + if (this._color !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.color = this._color; } - if (this._limit !== undefined) { + if (this._fontSize !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.fontSize = this._fontSize; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._text !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.text = this._text; + } + if (this._textAlign !== undefined) { + hasAnyValues = true; + internalValueResult.textAlign = this._textAlign; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetFreeTextDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._color = undefined; + this._fontSize = undefined; + this._text = undefined; + this._textAlign = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._color = value.color; + this._fontSize = value.fontSize; + this._text = value.text; + this._textAlign = value.textAlign; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // color - computed: false, optional: true, required: false + private _color?: string; + public get color() { + return this.getStringAttribute('color'); } - public set facet(value: string) { - this._facet = value; + public set color(value: string) { + this._color = value; } - public resetFacet() { - this._facet = undefined; + public resetColor() { + this._color = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get colorInput() { + return this._color; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // font_size - computed: false, optional: true, required: false + private _fontSize?: string; + public get fontSize() { + return this.getStringAttribute('font_size'); } - public set limit(value: number) { - this._limit = value; + public set fontSize(value: string) { + this._fontSize = value; } - public resetLimit() { - this._limit = undefined; + public resetFontSize() { + this._fontSize = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get fontSizeInput() { + return this._fontSize; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + // text - computed: false, optional: false, required: true + private _text?: string; + public get text() { + return this.getStringAttribute('text'); } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public set text(value: string) { + this._text = value; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get textInput() { + return this._text; } -} -export class DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // text_align - computed: false, optional: true, required: false + private _textAlign?: string; + public get textAlign() { + return this.getStringAttribute('text_align'); } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference { - return new DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public set textAlign(value: string) { + this._textAlign = value; + } + public resetTextAlign() { + this._textAlign = undefined; + } + // Temporarily expose input value. Use with caution. + public get textAlignInput() { + return this._textAlign; } } -export interface DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink { /** - * The aggregation method. + * The flag for toggling context menu link visibility. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} */ - readonly aggregation: string; + readonly isHidden?: boolean | cdktf.IResolvable; /** - * The facet name. + * The label for the custom link URL. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} */ - readonly facet?: string; + readonly label?: string; /** - * Define the time interval in seconds. + * The URL of the custom link. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} */ - readonly interval?: number; + readonly link?: string; + /** + * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} + */ + readonly overrideLabel?: string; } -export function dashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + is_hidden: cdktf.booleanToTerraform(struct!.isHidden), + label: cdktf.stringToTerraform(struct!.label), + link: cdktf.stringToTerraform(struct!.link), + override_label: cdktf.stringToTerraform(struct!.overrideLabel), } } -export class DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -18974,34 +23566,39 @@ export class DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompu super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._isHidden !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.isHidden = this._isHidden; } - if (this._facet !== undefined) { + if (this._label !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.label = this._label; } - if (this._interval !== undefined) { + if (this._link !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.link = this._link; + } + if (this._overrideLabel !== undefined) { + hasAnyValues = true; + internalValueResult.overrideLabel = this._overrideLabel; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._isHidden = undefined; + this._label = undefined; + this._link = undefined; + this._overrideLabel = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -19010,60 +23607,80 @@ export class DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompu else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._isHidden = value.isHidden; + this._label = value.label; + this._link = value.link; + this._overrideLabel = value.overrideLabel; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // is_hidden - computed: false, optional: true, required: false + private _isHidden?: boolean | cdktf.IResolvable; + public get isHidden() { + return this.getBooleanAttribute('is_hidden'); } - public set aggregation(value: string) { - this._aggregation = value; + public set isHidden(value: boolean | cdktf.IResolvable) { + this._isHidden = value; + } + public resetIsHidden() { + this._isHidden = undefined; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get isHiddenInput() { + return this._isHidden; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // label - computed: false, optional: true, required: false + private _label?: string; + public get label() { + return this.getStringAttribute('label'); } - public set facet(value: string) { - this._facet = value; + public set label(value: string) { + this._label = value; } - public resetFacet() { - this._facet = undefined; + public resetLabel() { + this._label = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get labelInput() { + return this._label; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // link - computed: false, optional: true, required: false + private _link?: string; + public get link() { + return this.getStringAttribute('link'); } - public set interval(value: number) { - this._interval = value; + public set link(value: string) { + this._link = value; } - public resetInterval() { - this._interval = undefined; + public resetLink() { + this._link = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get linkInput() { + return this._link; + } + + // override_label - computed: false, optional: true, required: false + private _overrideLabel?: string; + public get overrideLabel() { + return this.getStringAttribute('override_label'); + } + public set overrideLabel(value: string) { + this._overrideLabel = value; + } + public resetOverrideLabel() { + this._overrideLabel = undefined; + } + // Temporarily expose input value. Use with caution. + public get overrideLabelInput() { + return this._overrideLabel; } } -export class DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -19077,210 +23694,359 @@ export class DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompu /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference { - return new DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetDistributionDefinitionRequestSecurityQuery { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats { /** - * The name of the index to query. + * The comparator to use. Valid values are \`>\`, \`>=\`, \`<\`, \`<=\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#comparator Dashboard#comparator} */ - readonly index: string; + readonly comparator: string; /** - * The search query to use. + * The color palette to apply to the background, same values available as palette. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_bg_color Dashboard#custom_bg_color} */ - readonly searchQuery?: string; + readonly customBgColor?: string; /** - * compute_query block + * The color palette to apply to the foreground, same values available as palette. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_fg_color Dashboard#custom_fg_color} */ - readonly computeQuery?: DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery; + readonly customFgColor?: string; /** - * group_by block + * Setting this to True hides values. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#hide_value Dashboard#hide_value} */ - readonly groupBy?: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; + readonly hideValue?: boolean | cdktf.IResolvable; /** - * multi_compute block + * Displays an image as the background. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#image_url Dashboard#image_url} */ - readonly multiCompute?: DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; + readonly imageUrl?: string; + /** + * The metric from the request to correlate with this conditional format. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + */ + readonly metric?: string; + /** + * The color palette to apply. Valid values are \`blue\`, \`custom_bg\`, \`custom_image\`, \`custom_text\`, \`gray_on_white\`, \`grey\`, \`green\`, \`orange\`, \`red\`, \`red_on_white\`, \`white_on_gray\`, \`white_on_green\`, \`green_on_white\`, \`white_on_red\`, \`white_on_yellow\`, \`yellow_on_white\`, \`black_on_light_yellow\`, \`black_on_light_green\`, \`black_on_light_red\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} + */ + readonly palette: string; + /** + * Defines the displayed timeframe. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#timeframe Dashboard#timeframe} + */ + readonly timeframe?: string; + /** + * A value for the comparator. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#value Dashboard#value} + */ + readonly value: number; } -export function dashboardWidgetDistributionDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestSecurityQueryOutputReference | DashboardWidgetDistributionDefinitionRequestSecurityQuery): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), + comparator: cdktf.stringToTerraform(struct!.comparator), + custom_bg_color: cdktf.stringToTerraform(struct!.customBgColor), + custom_fg_color: cdktf.stringToTerraform(struct!.customFgColor), + hide_value: cdktf.booleanToTerraform(struct!.hideValue), + image_url: cdktf.stringToTerraform(struct!.imageUrl), + metric: cdktf.stringToTerraform(struct!.metric), + palette: cdktf.stringToTerraform(struct!.palette), + timeframe: cdktf.stringToTerraform(struct!.timeframe), + value: cdktf.numberToTerraform(struct!.value), } } -export class DashboardWidgetDistributionDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestSecurityQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { + if (this._comparator !== undefined) { hasAnyValues = true; - internalValueResult.index = this._index; + internalValueResult.comparator = this._comparator; } - if (this._searchQuery !== undefined) { + if (this._customBgColor !== undefined) { hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; + internalValueResult.customBgColor = this._customBgColor; } - if (this._computeQuery?.internalValue !== undefined) { + if (this._customFgColor !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.customFgColor = this._customFgColor; } - if (this._groupBy?.internalValue !== undefined) { + if (this._hideValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.hideValue = this._hideValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._imageUrl !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.imageUrl = this._imageUrl; + } + if (this._metric !== undefined) { + hasAnyValues = true; + internalValueResult.metric = this._metric; + } + if (this._palette !== undefined) { + hasAnyValues = true; + internalValueResult.palette = this._palette; + } + if (this._timeframe !== undefined) { + hasAnyValues = true; + internalValueResult.timeframe = this._timeframe; + } + if (this._value !== undefined) { + hasAnyValues = true; + internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestSecurityQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this.resolvableValue = undefined; + this._comparator = undefined; + this._customBgColor = undefined; + this._customFgColor = undefined; + this._hideValue = undefined; + this._imageUrl = undefined; + this._metric = undefined; + this._palette = undefined; + this._timeframe = undefined; + this._value = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this.resolvableValue = undefined; + this._comparator = value.comparator; + this._customBgColor = value.customBgColor; + this._customFgColor = value.customFgColor; + this._hideValue = value.hideValue; + this._imageUrl = value.imageUrl; + this._metric = value.metric; + this._palette = value.palette; + this._timeframe = value.timeframe; + this._value = value.value; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); + // comparator - computed: false, optional: false, required: true + private _comparator?: string; + public get comparator() { + return this.getStringAttribute('comparator'); } - public set index(value: string) { - this._index = value; + public set comparator(value: string) { + this._comparator = value; } // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + public get comparatorInput() { + return this._comparator; } - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); + // custom_bg_color - computed: false, optional: true, required: false + private _customBgColor?: string; + public get customBgColor() { + return this.getStringAttribute('custom_bg_color'); } - public set searchQuery(value: string) { - this._searchQuery = value; + public set customBgColor(value: string) { + this._customBgColor = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetCustomBgColor() { + this._customBgColor = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get customBgColorInput() { + return this._customBgColor; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; + // custom_fg_color - computed: false, optional: true, required: false + private _customFgColor?: string; + public get customFgColor() { + return this.getStringAttribute('custom_fg_color'); } - public putComputeQuery(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryComputeQuery) { - this._computeQuery.internalValue = value; + public set customFgColor(value: string) { + this._customFgColor = value; } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public resetCustomFgColor() { + this._customFgColor = undefined; + } + // Temporarily expose input value. Use with caution. + public get customFgColorInput() { + return this._customFgColor; + } + + // hide_value - computed: false, optional: true, required: false + private _hideValue?: boolean | cdktf.IResolvable; + public get hideValue() { + return this.getBooleanAttribute('hide_value'); + } + public set hideValue(value: boolean | cdktf.IResolvable) { + this._hideValue = value; + } + public resetHideValue() { + this._hideValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get hideValueInput() { + return this._hideValue; + } + + // image_url - computed: false, optional: true, required: false + private _imageUrl?: string; + public get imageUrl() { + return this.getStringAttribute('image_url'); + } + public set imageUrl(value: string) { + this._imageUrl = value; + } + public resetImageUrl() { + this._imageUrl = undefined; + } + // Temporarily expose input value. Use with caution. + public get imageUrlInput() { + return this._imageUrl; + } + + // metric - computed: false, optional: true, required: false + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); + } + public set metric(value: string) { + this._metric = value; + } + public resetMetric() { + this._metric = undefined; + } + // Temporarily expose input value. Use with caution. + public get metricInput() { + return this._metric; + } + + // palette - computed: false, optional: false, required: true + private _palette?: string; + public get palette() { + return this.getStringAttribute('palette'); + } + public set palette(value: string) { + this._palette = value; + } + // Temporarily expose input value. Use with caution. + public get paletteInput() { + return this._palette; + } + + // timeframe - computed: false, optional: true, required: false + private _timeframe?: string; + public get timeframe() { + return this.getStringAttribute('timeframe'); + } + public set timeframe(value: string) { + this._timeframe = value; + } + public resetTimeframe() { + this._timeframe = undefined; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get timeframeInput() { + return this._timeframe; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + // value - computed: false, optional: false, required: true + private _value?: number; + public get value() { + return this.getNumberAttribute('value'); } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public set value(value: number) { + this._value = value; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get valueInput() { + return this._value; } +} - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; - } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetDistributionDefinitionRequestStyle { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit { /** - * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. + * The number of results to return * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#count Dashboard#count} */ - readonly palette?: string; + readonly count?: number; + /** + * The direction of the sort. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order?: string; } -export function dashboardWidgetDistributionDefinitionRequestStyleToTerraform(struct?: DashboardWidgetDistributionDefinitionRequestStyleOutputReference | DashboardWidgetDistributionDefinitionRequestStyle): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - palette: cdktf.stringToTerraform(struct!.palette), + count: cdktf.numberToTerraform(struct!.count), + order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetDistributionDefinitionRequestStyleOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -19291,105 +24057,113 @@ export class DashboardWidgetDistributionDefinitionRequestStyleOutputReference ex super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequestStyle | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._palette !== undefined) { + if (this._count !== undefined) { hasAnyValues = true; - internalValueResult.palette = this._palette; + internalValueResult.count = this._count; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequestStyle | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._palette = undefined; + this._count = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._palette = value.palette; + this._count = value.count; + this._order = value.order; } } - // palette - computed: false, optional: true, required: false - private _palette?: string; - public get palette() { - return this.getStringAttribute('palette'); + // count - computed: false, optional: true, required: false + private _count?: number; + public get count() { + return this.getNumberAttribute('count'); } - public set palette(value: string) { - this._palette = value; + public set count(value: number) { + this._count = value; } - public resetPalette() { - this._palette = undefined; + public resetCount() { + this._count = undefined; } // Temporarily expose input value. Use with caution. - public get paletteInput() { - return this._palette; + public get countInput() { + return this._count; + } + + // order - computed: false, optional: true, required: false + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + public resetOrder() { + this._order = undefined; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface DashboardWidgetDistributionDefinitionRequest { - /** - * The metric query to use for this widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} - */ - readonly q?: string; - /** - * apm_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} - */ - readonly apmQuery?: DashboardWidgetDistributionDefinitionRequestApmQuery; +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula { /** - * log_query block + * An expression alias. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#alias Dashboard#alias} */ - readonly logQuery?: DashboardWidgetDistributionDefinitionRequestLogQuery; + readonly alias?: string; /** - * process_query block + * A list of display modes for each table cell. Valid values are \`number\`, \`bar\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#cell_display_mode Dashboard#cell_display_mode} */ - readonly processQuery?: DashboardWidgetDistributionDefinitionRequestProcessQuery; + readonly cellDisplayMode?: string; /** - * rum_query block + * A string expression built from queries, formulas, and functions. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#formula_expression Dashboard#formula_expression} */ - readonly rumQuery?: DashboardWidgetDistributionDefinitionRequestRumQuery; + readonly formulaExpression: string; /** - * security_query block + * conditional_formats block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#conditional_formats Dashboard#conditional_formats} */ - readonly securityQuery?: DashboardWidgetDistributionDefinitionRequestSecurityQuery; + readonly conditionalFormats?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable; /** - * style block + * limit block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly style?: DashboardWidgetDistributionDefinitionRequestStyle; + readonly limit?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit; } -export function dashboardWidgetDistributionDefinitionRequestToTerraform(struct?: DashboardWidgetDistributionDefinitionRequest | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - q: cdktf.stringToTerraform(struct!.q), - apm_query: dashboardWidgetDistributionDefinitionRequestApmQueryToTerraform(struct!.apmQuery), - log_query: dashboardWidgetDistributionDefinitionRequestLogQueryToTerraform(struct!.logQuery), - process_query: dashboardWidgetDistributionDefinitionRequestProcessQueryToTerraform(struct!.processQuery), - rum_query: dashboardWidgetDistributionDefinitionRequestRumQueryToTerraform(struct!.rumQuery), - security_query: dashboardWidgetDistributionDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), - style: dashboardWidgetDistributionDefinitionRequestStyleToTerraform(struct!.style), + alias: cdktf.stringToTerraform(struct!.alias), + cell_display_mode: cdktf.stringToTerraform(struct!.cellDisplayMode), + formula_expression: cdktf.stringToTerraform(struct!.formulaExpression), + conditional_formats: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsToTerraform, true)(struct!.conditionalFormats), + limit: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitToTerraform(struct!.limit), } } -export class DashboardWidgetDistributionDefinitionRequestOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -19403,54 +24177,44 @@ export class DashboardWidgetDistributionDefinitionRequestOutputReference extends super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetDistributionDefinitionRequest | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._q !== undefined) { - hasAnyValues = true; - internalValueResult.q = this._q; - } - if (this._apmQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.apmQuery = this._apmQuery?.internalValue; - } - if (this._logQuery?.internalValue !== undefined) { + if (this._alias !== undefined) { hasAnyValues = true; - internalValueResult.logQuery = this._logQuery?.internalValue; + internalValueResult.alias = this._alias; } - if (this._processQuery?.internalValue !== undefined) { + if (this._cellDisplayMode !== undefined) { hasAnyValues = true; - internalValueResult.processQuery = this._processQuery?.internalValue; + internalValueResult.cellDisplayMode = this._cellDisplayMode; } - if (this._rumQuery?.internalValue !== undefined) { + if (this._formulaExpression !== undefined) { hasAnyValues = true; - internalValueResult.rumQuery = this._rumQuery?.internalValue; + internalValueResult.formulaExpression = this._formulaExpression; } - if (this._securityQuery?.internalValue !== undefined) { + if (this._conditionalFormats?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.securityQuery = this._securityQuery?.internalValue; + internalValueResult.conditionalFormats = this._conditionalFormats?.internalValue; } - if (this._style?.internalValue !== undefined) { + if (this._limit?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.style = this._style?.internalValue; + internalValueResult.limit = this._limit?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinitionRequest | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._q = undefined; - this._apmQuery.internalValue = undefined; - this._logQuery.internalValue = undefined; - this._processQuery.internalValue = undefined; - this._rumQuery.internalValue = undefined; - this._securityQuery.internalValue = undefined; - this._style.internalValue = undefined; + this._alias = undefined; + this._cellDisplayMode = undefined; + this._formulaExpression = undefined; + this._conditionalFormats.internalValue = undefined; + this._limit.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -19459,131 +24223,94 @@ export class DashboardWidgetDistributionDefinitionRequestOutputReference extends else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._q = value.q; - this._apmQuery.internalValue = value.apmQuery; - this._logQuery.internalValue = value.logQuery; - this._processQuery.internalValue = value.processQuery; - this._rumQuery.internalValue = value.rumQuery; - this._securityQuery.internalValue = value.securityQuery; - this._style.internalValue = value.style; + this._alias = value.alias; + this._cellDisplayMode = value.cellDisplayMode; + this._formulaExpression = value.formulaExpression; + this._conditionalFormats.internalValue = value.conditionalFormats; + this._limit.internalValue = value.limit; } } - // q - computed: false, optional: true, required: false - private _q?: string; - public get q() { - return this.getStringAttribute('q'); - } - public set q(value: string) { - this._q = value; - } - public resetQ() { - this._q = undefined; - } - // Temporarily expose input value. Use with caution. - public get qInput() { - return this._q; - } - - // apm_query - computed: false, optional: true, required: false - private _apmQuery = new DashboardWidgetDistributionDefinitionRequestApmQueryOutputReference(this, "apm_query"); - public get apmQuery() { - return this._apmQuery; - } - public putApmQuery(value: DashboardWidgetDistributionDefinitionRequestApmQuery) { - this._apmQuery.internalValue = value; - } - public resetApmQuery() { - this._apmQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get apmQueryInput() { - return this._apmQuery.internalValue; - } - - // log_query - computed: false, optional: true, required: false - private _logQuery = new DashboardWidgetDistributionDefinitionRequestLogQueryOutputReference(this, "log_query"); - public get logQuery() { - return this._logQuery; + // alias - computed: false, optional: true, required: false + private _alias?: string; + public get alias() { + return this.getStringAttribute('alias'); } - public putLogQuery(value: DashboardWidgetDistributionDefinitionRequestLogQuery) { - this._logQuery.internalValue = value; + public set alias(value: string) { + this._alias = value; } - public resetLogQuery() { - this._logQuery.internalValue = undefined; + public resetAlias() { + this._alias = undefined; } // Temporarily expose input value. Use with caution. - public get logQueryInput() { - return this._logQuery.internalValue; + public get aliasInput() { + return this._alias; } - // process_query - computed: false, optional: true, required: false - private _processQuery = new DashboardWidgetDistributionDefinitionRequestProcessQueryOutputReference(this, "process_query"); - public get processQuery() { - return this._processQuery; + // cell_display_mode - computed: false, optional: true, required: false + private _cellDisplayMode?: string; + public get cellDisplayMode() { + return this.getStringAttribute('cell_display_mode'); } - public putProcessQuery(value: DashboardWidgetDistributionDefinitionRequestProcessQuery) { - this._processQuery.internalValue = value; + public set cellDisplayMode(value: string) { + this._cellDisplayMode = value; } - public resetProcessQuery() { - this._processQuery.internalValue = undefined; + public resetCellDisplayMode() { + this._cellDisplayMode = undefined; } // Temporarily expose input value. Use with caution. - public get processQueryInput() { - return this._processQuery.internalValue; + public get cellDisplayModeInput() { + return this._cellDisplayMode; } - // rum_query - computed: false, optional: true, required: false - private _rumQuery = new DashboardWidgetDistributionDefinitionRequestRumQueryOutputReference(this, "rum_query"); - public get rumQuery() { - return this._rumQuery; - } - public putRumQuery(value: DashboardWidgetDistributionDefinitionRequestRumQuery) { - this._rumQuery.internalValue = value; + // formula_expression - computed: false, optional: false, required: true + private _formulaExpression?: string; + public get formulaExpression() { + return this.getStringAttribute('formula_expression'); } - public resetRumQuery() { - this._rumQuery.internalValue = undefined; + public set formulaExpression(value: string) { + this._formulaExpression = value; } // Temporarily expose input value. Use with caution. - public get rumQueryInput() { - return this._rumQuery.internalValue; + public get formulaExpressionInput() { + return this._formulaExpression; } - // security_query - computed: false, optional: true, required: false - private _securityQuery = new DashboardWidgetDistributionDefinitionRequestSecurityQueryOutputReference(this, "security_query"); - public get securityQuery() { - return this._securityQuery; + // conditional_formats - computed: false, optional: true, required: false + private _conditionalFormats = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsList(this, "conditional_formats", false); + public get conditionalFormats() { + return this._conditionalFormats; } - public putSecurityQuery(value: DashboardWidgetDistributionDefinitionRequestSecurityQuery) { - this._securityQuery.internalValue = value; + public putConditionalFormats(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable) { + this._conditionalFormats.internalValue = value; } - public resetSecurityQuery() { - this._securityQuery.internalValue = undefined; + public resetConditionalFormats() { + this._conditionalFormats.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get securityQueryInput() { - return this._securityQuery.internalValue; + public get conditionalFormatsInput() { + return this._conditionalFormats.internalValue; } - // style - computed: false, optional: true, required: false - private _style = new DashboardWidgetDistributionDefinitionRequestStyleOutputReference(this, "style"); - public get style() { - return this._style; + // limit - computed: false, optional: true, required: false + private _limit = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitOutputReference(this, "limit"); + public get limit() { + return this._limit; } - public putStyle(value: DashboardWidgetDistributionDefinitionRequestStyle) { - this._style.internalValue = value; + public putLimit(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit) { + this._limit.internalValue = value; } - public resetStyle() { - this._style.internalValue = undefined; + public resetLimit() { + this._limit.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get styleInput() { - return this._style.internalValue; + public get limitInput() { + return this._limit.internalValue; } } -export class DashboardWidgetDistributionDefinitionRequestList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetDistributionDefinitionRequest[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -19597,72 +24324,44 @@ export class DashboardWidgetDistributionDefinitionRequestList extends cdktf.Comp /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetDistributionDefinitionRequestOutputReference { - return new DashboardWidgetDistributionDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetDistributionDefinition { - /** - * The size of the legend displayed in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#legend_size Dashboard#legend_size} - */ - readonly legendSize?: string; - /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} - */ - readonly liveSpan?: string; - /** - * Whether or not to show the legend on this widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#show_legend Dashboard#show_legend} - */ - readonly showLegend?: boolean | cdktf.IResolvable; - /** - * The title of the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} - */ - readonly title?: string; +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery { /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly titleAlign?: string; + readonly aggregation: string; /** - * The size of the widget's title (defaults to 16). + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly titleSize?: string; + readonly facet?: string; /** - * request block + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly request?: DashboardWidgetDistributionDefinitionRequest[] | cdktf.IResolvable; + readonly interval?: number; } -export function dashboardWidgetDistributionDefinitionToTerraform(struct?: DashboardWidgetDistributionDefinitionOutputReference | DashboardWidgetDistributionDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - legend_size: cdktf.stringToTerraform(struct!.legendSize), - live_span: cdktf.stringToTerraform(struct!.liveSpan), - show_legend: cdktf.booleanToTerraform(struct!.showLegend), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), - request: cdktf.listMapper(dashboardWidgetDistributionDefinitionRequestToTerraform, true)(struct!.request), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetDistributionDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -19673,237 +24372,118 @@ export class DashboardWidgetDistributionDefinitionOutputReference extends cdktf. super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetDistributionDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._legendSize !== undefined) { - hasAnyValues = true; - internalValueResult.legendSize = this._legendSize; - } - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._showLegend !== undefined) { - hasAnyValues = true; - internalValueResult.showLegend = this._showLegend; - } - if (this._title !== undefined) { - hasAnyValues = true; - internalValueResult.title = this._title; - } - if (this._titleAlign !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.aggregation = this._aggregation; } - if (this._titleSize !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.facet = this._facet; } - if (this._request?.internalValue !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.request = this._request?.internalValue; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetDistributionDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._legendSize = undefined; - this._liveSpan = undefined; - this._showLegend = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; - this._request.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._legendSize = value.legendSize; - this._liveSpan = value.liveSpan; - this._showLegend = value.showLegend; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; - this._request.internalValue = value.request; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // legend_size - computed: false, optional: true, required: false - private _legendSize?: string; - public get legendSize() { - return this.getStringAttribute('legend_size'); - } - public set legendSize(value: string) { - this._legendSize = value; - } - public resetLegendSize() { - this._legendSize = undefined; - } - // Temporarily expose input value. Use with caution. - public get legendSizeInput() { - return this._legendSize; - } - - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; - } - public resetLiveSpan() { - this._liveSpan = undefined; - } - // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; - } - - // show_legend - computed: false, optional: true, required: false - private _showLegend?: boolean | cdktf.IResolvable; - public get showLegend() { - return this.getBooleanAttribute('show_legend'); - } - public set showLegend(value: boolean | cdktf.IResolvable) { - this._showLegend = value; - } - public resetShowLegend() { - this._showLegend = undefined; - } - // Temporarily expose input value. Use with caution. - public get showLegendInput() { - return this._showLegend; - } - - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); - } - public set title(value: string) { - this._title = value; - } - public resetTitle() { - this._title = undefined; - } - // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; - } - - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); - } - public set titleAlign(value: string) { - this._titleAlign = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetTitleAlign() { - this._titleAlign = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + public get aggregationInput() { + return this._aggregation; } - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set titleSize(value: string) { - this._titleSize = value; + public set facet(value: string) { + this._facet = value; } - public resetTitleSize() { - this._titleSize = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + public get facetInput() { + return this._facet; } - // request - computed: false, optional: true, required: false - private _request = new DashboardWidgetDistributionDefinitionRequestList(this, "request", false); - public get request() { - return this._request; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putRequest(value: DashboardWidgetDistributionDefinitionRequest[] | cdktf.IResolvable) { - this._request.internalValue = value; + public set interval(value: number) { + this._interval = value; } - public resetRequest() { - this._request.internalValue = undefined; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get requestInput() { - return this._request.internalValue; + public get intervalInput() { + return this._interval; } } -export interface DashboardWidgetEventStreamDefinition { - /** - * The size to use to display an event. Valid values are \`s\`, \`l\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event_size Dashboard#event_size} - */ - readonly eventSize?: string; - /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} - */ - readonly liveSpan?: string; - /** - * The query to use in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} - */ - readonly query: string; - /** - * The execution method for multi-value filters, options: \`and\` or \`or\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} - */ - readonly tagsExecution?: string; +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery { /** - * The title of the widget. + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly title?: string; + readonly aggregation: string; /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly titleAlign?: string; + readonly facet?: string; /** - * The size of the widget's title (defaults to 16). + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} */ - readonly titleSize?: string; + readonly order: string; } -export function dashboardWidgetEventStreamDefinitionToTerraform(struct?: DashboardWidgetEventStreamDefinitionOutputReference | DashboardWidgetEventStreamDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - event_size: cdktf.stringToTerraform(struct!.eventSize), - live_span: cdktf.stringToTerraform(struct!.liveSpan), - query: cdktf.stringToTerraform(struct!.query), - tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetEventStreamDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -19914,1422 +24494,1278 @@ export class DashboardWidgetEventStreamDefinitionOutputReference extends cdktf.C super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetEventStreamDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._eventSize !== undefined) { - hasAnyValues = true; - internalValueResult.eventSize = this._eventSize; - } - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._query !== undefined) { - hasAnyValues = true; - internalValueResult.query = this._query; - } - if (this._tagsExecution !== undefined) { - hasAnyValues = true; - internalValueResult.tagsExecution = this._tagsExecution; - } - if (this._title !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.title = this._title; + internalValueResult.aggregation = this._aggregation; } - if (this._titleAlign !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.facet = this._facet; } - if (this._titleSize !== undefined) { + if (this._order !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetEventStreamDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._eventSize = undefined; - this._liveSpan = undefined; - this._query = undefined; - this._tagsExecution = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._eventSize = value.eventSize; - this._liveSpan = value.liveSpan; - this._query = value.query; - this._tagsExecution = value.tagsExecution; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // event_size - computed: false, optional: true, required: false - private _eventSize?: string; - public get eventSize() { - return this.getStringAttribute('event_size'); - } - public set eventSize(value: string) { - this._eventSize = value; - } - public resetEventSize() { - this._eventSize = undefined; - } - // Temporarily expose input value. Use with caution. - public get eventSizeInput() { - return this._eventSize; - } - - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; - } - public resetLiveSpan() { - this._liveSpan = undefined; - } - // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; - } - - // query - computed: false, optional: false, required: true - private _query?: string; - public get query() { - return this.getStringAttribute('query'); - } - public set query(value: string) { - this._query = value; - } - // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query; - } - - // tags_execution - computed: false, optional: true, required: false - private _tagsExecution?: string; - public get tagsExecution() { - return this.getStringAttribute('tags_execution'); - } - public set tagsExecution(value: string) { - this._tagsExecution = value; - } - public resetTagsExecution() { - this._tagsExecution = undefined; - } - // Temporarily expose input value. Use with caution. - public get tagsExecutionInput() { - return this._tagsExecution; - } - - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); - } - public set title(value: string) { - this._title = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetTitle() { - this._title = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + public get aggregationInput() { + return this._aggregation; } - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set titleAlign(value: string) { - this._titleAlign = value; + public set facet(value: string) { + this._facet = value; } - public resetTitleAlign() { - this._titleAlign = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + public get facetInput() { + return this._facet; } - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); - } - public set titleSize(value: string) { - this._titleSize = value; + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - public resetTitleSize() { - this._titleSize = undefined; + public set order(value: string) { + this._order = value; } // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + public get orderInput() { + return this._order; } } -export interface DashboardWidgetEventTimelineDefinition { - /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} - */ - readonly liveSpan?: string; - /** - * The query to use in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} - */ - readonly query: string; - /** - * The execution method for multi-value filters, options: \`and\` or \`or\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} - */ - readonly tagsExecution?: string; +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy { /** - * The title of the widget. + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly title?: string; + readonly facet?: string; /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * The maximum number of items in the group. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly titleAlign?: string; + readonly limit?: number; /** - * The size of the widget's title (defaults to 16). + * sort_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly titleSize?: string; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery; } -export function dashboardWidgetEventTimelineDefinitionToTerraform(struct?: DashboardWidgetEventTimelineDefinitionOutputReference | DashboardWidgetEventTimelineDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - live_span: cdktf.stringToTerraform(struct!.liveSpan), - query: cdktf.stringToTerraform(struct!.query), - tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetEventTimelineDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetEventTimelineDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._query !== undefined) { - hasAnyValues = true; - internalValueResult.query = this._query; - } - if (this._tagsExecution !== undefined) { - hasAnyValues = true; - internalValueResult.tagsExecution = this._tagsExecution; - } - if (this._title !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.title = this._title; + internalValueResult.facet = this._facet; } - if (this._titleAlign !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.limit = this._limit; } - if (this._titleSize !== undefined) { + if (this._sortQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetEventTimelineDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._liveSpan = undefined; - this._query = undefined; - this._tagsExecution = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._liveSpan = value.liveSpan; - this._query = value.query; - this._tagsExecution = value.tagsExecution; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; - } - public resetLiveSpan() { - this._liveSpan = undefined; - } - // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; - } - - // query - computed: false, optional: false, required: true - private _query?: string; - public get query() { - return this.getStringAttribute('query'); - } - public set query(value: string) { - this._query = value; - } - // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query; - } - - // tags_execution - computed: false, optional: true, required: false - private _tagsExecution?: string; - public get tagsExecution() { - return this.getStringAttribute('tags_execution'); - } - public set tagsExecution(value: string) { - this._tagsExecution = value; - } - public resetTagsExecution() { - this._tagsExecution = undefined; - } - // Temporarily expose input value. Use with caution. - public get tagsExecutionInput() { - return this._tagsExecution; - } - - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set title(value: string) { - this._title = value; + public set facet(value: string) { + this._facet = value; } - public resetTitle() { - this._title = undefined; + public resetFacet() { + this._facet = undefined; } - // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public set titleAlign(value: string) { - this._titleAlign = value; + public set limit(value: number) { + this._limit = value; } - public resetTitleAlign() { - this._titleAlign = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + public get limitInput() { + return this._limit; } - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - public set titleSize(value: string) { - this._titleSize = value; + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public resetTitleSize() { - this._titleSize = undefined; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export interface DashboardWidgetFreeTextDefinition { + +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable + /** - * The color of the text in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#color Dashboard#color} + * @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) */ - readonly color?: string; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + /** - * The size of the text in the widget. + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute { + /** + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#font_size Dashboard#font_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly fontSize?: string; + readonly aggregation: string; /** - * The text to display in the widget. + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text Dashboard#text} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly text: string; + readonly facet?: string; /** - * The alignment of the text in the widget. Valid values are \`center\`, \`left\`, \`right\`. + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_align Dashboard#text_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly textAlign?: string; + readonly interval?: number; } -export function dashboardWidgetFreeTextDefinitionToTerraform(struct?: DashboardWidgetFreeTextDefinitionOutputReference | DashboardWidgetFreeTextDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - color: cdktf.stringToTerraform(struct!.color), - font_size: cdktf.stringToTerraform(struct!.fontSize), - text: cdktf.stringToTerraform(struct!.text), - text_align: cdktf.stringToTerraform(struct!.textAlign), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetFreeTextDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetFreeTextDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._color !== undefined) { - hasAnyValues = true; - internalValueResult.color = this._color; - } - if (this._fontSize !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.fontSize = this._fontSize; + internalValueResult.aggregation = this._aggregation; } - if (this._text !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.text = this._text; + internalValueResult.facet = this._facet; } - if (this._textAlign !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.textAlign = this._textAlign; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetFreeTextDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._color = undefined; - this._fontSize = undefined; - this._text = undefined; - this._textAlign = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._color = value.color; - this._fontSize = value.fontSize; - this._text = value.text; - this._textAlign = value.textAlign; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // color - computed: false, optional: true, required: false - private _color?: string; - public get color() { - return this.getStringAttribute('color'); - } - public set color(value: string) { - this._color = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetColor() { - this._color = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get colorInput() { - return this._color; + public get aggregationInput() { + return this._aggregation; } - // font_size - computed: false, optional: true, required: false - private _fontSize?: string; - public get fontSize() { - return this.getStringAttribute('font_size'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set fontSize(value: string) { - this._fontSize = value; + public set facet(value: string) { + this._facet = value; } - public resetFontSize() { - this._fontSize = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get fontSizeInput() { - return this._fontSize; + public get facetInput() { + return this._facet; } - // text - computed: false, optional: false, required: true - private _text?: string; - public get text() { - return this.getStringAttribute('text'); + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public set text(value: string) { - this._text = value; + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get textInput() { - return this._text; + public get intervalInput() { + return this._interval; } +} - // text_align - computed: false, optional: true, required: false - private _textAlign?: string; - public get textAlign() { - return this.getStringAttribute('text_align'); - } - public set textAlign(value: string) { - this._textAlign = value; - } - public resetTextAlign() { - this._textAlign = undefined; +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // Temporarily expose input value. Use with caution. - public get textAlignInput() { - return this._textAlign; + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGeomapDefinitionCustomLink { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery { /** - * The flag for toggling context menu link visibility. + * The name of the index to query. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly isHidden?: boolean | cdktf.IResolvable; + readonly index: string; /** - * The label for the custom link URL. + * The search query to use. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly label?: string; + readonly searchQuery?: string; /** - * The URL of the custom link. + * compute_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly link?: string; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery; /** - * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. + * group_by block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly overrideLabel?: string; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetGeomapDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGeomapDefinitionCustomLink | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - is_hidden: cdktf.booleanToTerraform(struct!.isHidden), - label: cdktf.stringToTerraform(struct!.label), - link: cdktf.stringToTerraform(struct!.link), - override_label: cdktf.stringToTerraform(struct!.overrideLabel), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGeomapDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionCustomLink | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._isHidden !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.isHidden = this._isHidden; + internalValueResult.index = this._index; } - if (this._label !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.label = this._label; + internalValueResult.searchQuery = this._searchQuery; } - if (this._link !== undefined) { + if (this._computeQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.link = this._link; + internalValueResult.computeQuery = this._computeQuery?.internalValue; } - if (this._overrideLabel !== undefined) { + if (this._groupBy?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.overrideLabel = this._overrideLabel; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionCustomLink | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._isHidden = undefined; - this._label = undefined; - this._link = undefined; - this._overrideLabel = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._isHidden = value.isHidden; - this._label = value.label; - this._link = value.link; - this._overrideLabel = value.overrideLabel; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // is_hidden - computed: false, optional: true, required: false - private _isHidden?: boolean | cdktf.IResolvable; - public get isHidden() { - return this.getBooleanAttribute('is_hidden'); - } - public set isHidden(value: boolean | cdktf.IResolvable) { - this._isHidden = value; + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public resetIsHidden() { - this._isHidden = undefined; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get isHiddenInput() { - return this._isHidden; + public get indexInput() { + return this._index; } - // label - computed: false, optional: true, required: false - private _label?: string; - public get label() { - return this.getStringAttribute('label'); + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public set label(value: string) { - this._label = value; + public set searchQuery(value: string) { + this._searchQuery = value; } - public resetLabel() { - this._label = undefined; + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get labelInput() { - return this._label; + public get searchQueryInput() { + return this._searchQuery; } - // link - computed: false, optional: true, required: false - private _link?: string; - public get link() { - return this.getStringAttribute('link'); + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - public set link(value: string) { - this._link = value; + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery) { + this._computeQuery.internalValue = value; } - public resetLink() { - this._link = undefined; + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get linkInput() { - return this._link; + public get computeQueryInput() { + return this._computeQuery.internalValue; } - // override_label - computed: false, optional: true, required: false - private _overrideLabel?: string; - public get overrideLabel() { - return this.getStringAttribute('override_label'); + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - public set overrideLabel(value: string) { - this._overrideLabel = value; + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; } - public resetOverrideLabel() { - this._overrideLabel = undefined; + public resetGroupBy() { + this._groupBy.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get overrideLabelInput() { - return this._overrideLabel; + public get groupByInput() { + return this._groupBy.internalValue; } -} - -export class DashboardWidgetGeomapDefinitionCustomLinkList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionCustomLink[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGeomapDefinitionCustomLinkOutputReference { - return new DashboardWidgetGeomapDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery { /** - * The comparator to use. Valid values are \`>\`, \`>=\`, \`<\`, \`<=\`. + * The data source for APM Dependency Stats queries. Valid values are \`apm_dependency_stats\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#comparator Dashboard#comparator} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} */ - readonly comparator: string; + readonly dataSource: string; /** - * The color palette to apply to the background, same values available as palette. + * APM Environment. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_bg_color Dashboard#custom_bg_color} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#env Dashboard#env} */ - readonly customBgColor?: string; + readonly env: string; /** - * The color palette to apply to the foreground, same values available as palette. + * Determines whether stats for upstream or downstream dependencies should be queried. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_fg_color Dashboard#custom_fg_color} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_upstream Dashboard#is_upstream} */ - readonly customFgColor?: string; + readonly isUpstream?: boolean | cdktf.IResolvable; /** - * Setting this to True hides values. + * The name of query for use in formulas. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#hide_value Dashboard#hide_value} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ - readonly hideValue?: boolean | cdktf.IResolvable; + readonly name: string; /** - * Displays an image as the background. + * Name of operation on service. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#image_url Dashboard#image_url} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#operation_name Dashboard#operation_name} */ - readonly imageUrl?: string; + readonly operationName: string; /** - * The metric from the request to correlate with this conditional format. + * The name of the second primary tag used within APM; required when \`primary_tag_value\` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_name Dashboard#primary_tag_name} */ - readonly metric?: string; + readonly primaryTagName?: string; /** - * The color palette to apply. Valid values are \`blue\`, \`custom_bg\`, \`custom_image\`, \`custom_text\`, \`gray_on_white\`, \`grey\`, \`green\`, \`orange\`, \`red\`, \`red_on_white\`, \`white_on_gray\`, \`white_on_green\`, \`green_on_white\`, \`white_on_red\`, \`white_on_yellow\`, \`yellow_on_white\`, \`black_on_light_yellow\`, \`black_on_light_green\`, \`black_on_light_red\`. + * Filter APM data by the second primary tag. \`primary_tag_name\` must also be specified. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_value Dashboard#primary_tag_value} */ - readonly palette: string; + readonly primaryTagValue?: string; /** - * Defines the displayed timeframe. + * APM resource. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#timeframe Dashboard#timeframe} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#resource_name Dashboard#resource_name} */ - readonly timeframe?: string; + readonly resourceName: string; /** - * A value for the comparator. + * APM service. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#value Dashboard#value} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#service Dashboard#service} */ - readonly value: number; + readonly service: string; + /** + * APM statistic. Valid values are \`avg_duration\`, \`avg_root_duration\`, \`avg_spans_per_trace\`, \`error_rate\`, \`pct_exec_time\`, \`pct_of_traces\`, \`total_traces_count\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#stat Dashboard#stat} + */ + readonly stat: string; } -export function dashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - comparator: cdktf.stringToTerraform(struct!.comparator), - custom_bg_color: cdktf.stringToTerraform(struct!.customBgColor), - custom_fg_color: cdktf.stringToTerraform(struct!.customFgColor), - hide_value: cdktf.booleanToTerraform(struct!.hideValue), - image_url: cdktf.stringToTerraform(struct!.imageUrl), - metric: cdktf.stringToTerraform(struct!.metric), - palette: cdktf.stringToTerraform(struct!.palette), - timeframe: cdktf.stringToTerraform(struct!.timeframe), - value: cdktf.numberToTerraform(struct!.value), + data_source: cdktf.stringToTerraform(struct!.dataSource), + env: cdktf.stringToTerraform(struct!.env), + is_upstream: cdktf.booleanToTerraform(struct!.isUpstream), + name: cdktf.stringToTerraform(struct!.name), + operation_name: cdktf.stringToTerraform(struct!.operationName), + primary_tag_name: cdktf.stringToTerraform(struct!.primaryTagName), + primary_tag_value: cdktf.stringToTerraform(struct!.primaryTagValue), + resource_name: cdktf.stringToTerraform(struct!.resourceName), + service: cdktf.stringToTerraform(struct!.service), + stat: cdktf.stringToTerraform(struct!.stat), } } -export class DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._comparator !== undefined) { + if (this._dataSource !== undefined) { hasAnyValues = true; - internalValueResult.comparator = this._comparator; + internalValueResult.dataSource = this._dataSource; } - if (this._customBgColor !== undefined) { + if (this._env !== undefined) { hasAnyValues = true; - internalValueResult.customBgColor = this._customBgColor; + internalValueResult.env = this._env; } - if (this._customFgColor !== undefined) { + if (this._isUpstream !== undefined) { hasAnyValues = true; - internalValueResult.customFgColor = this._customFgColor; + internalValueResult.isUpstream = this._isUpstream; } - if (this._hideValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.hideValue = this._hideValue; + internalValueResult.name = this._name; } - if (this._imageUrl !== undefined) { + if (this._operationName !== undefined) { hasAnyValues = true; - internalValueResult.imageUrl = this._imageUrl; + internalValueResult.operationName = this._operationName; } - if (this._metric !== undefined) { + if (this._primaryTagName !== undefined) { hasAnyValues = true; - internalValueResult.metric = this._metric; + internalValueResult.primaryTagName = this._primaryTagName; } - if (this._palette !== undefined) { + if (this._primaryTagValue !== undefined) { hasAnyValues = true; - internalValueResult.palette = this._palette; + internalValueResult.primaryTagValue = this._primaryTagValue; } - if (this._timeframe !== undefined) { + if (this._resourceName !== undefined) { hasAnyValues = true; - internalValueResult.timeframe = this._timeframe; + internalValueResult.resourceName = this._resourceName; } - if (this._value !== undefined) { + if (this._service !== undefined) { hasAnyValues = true; - internalValueResult.value = this._value; + internalValueResult.service = this._service; + } + if (this._stat !== undefined) { + hasAnyValues = true; + internalValueResult.stat = this._stat; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._comparator = undefined; - this._customBgColor = undefined; - this._customFgColor = undefined; - this._hideValue = undefined; - this._imageUrl = undefined; - this._metric = undefined; - this._palette = undefined; - this._timeframe = undefined; - this._value = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._dataSource = undefined; + this._env = undefined; + this._isUpstream = undefined; + this._name = undefined; + this._operationName = undefined; + this._primaryTagName = undefined; + this._primaryTagValue = undefined; + this._resourceName = undefined; + this._service = undefined; + this._stat = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._comparator = value.comparator; - this._customBgColor = value.customBgColor; - this._customFgColor = value.customFgColor; - this._hideValue = value.hideValue; - this._imageUrl = value.imageUrl; - this._metric = value.metric; - this._palette = value.palette; - this._timeframe = value.timeframe; - this._value = value.value; + this._dataSource = value.dataSource; + this._env = value.env; + this._isUpstream = value.isUpstream; + this._name = value.name; + this._operationName = value.operationName; + this._primaryTagName = value.primaryTagName; + this._primaryTagValue = value.primaryTagValue; + this._resourceName = value.resourceName; + this._service = value.service; + this._stat = value.stat; } } - // comparator - computed: false, optional: false, required: true - private _comparator?: string; - public get comparator() { - return this.getStringAttribute('comparator'); + // data_source - computed: false, optional: false, required: true + private _dataSource?: string; + public get dataSource() { + return this.getStringAttribute('data_source'); } - public set comparator(value: string) { - this._comparator = value; + public set dataSource(value: string) { + this._dataSource = value; } // Temporarily expose input value. Use with caution. - public get comparatorInput() { - return this._comparator; + public get dataSourceInput() { + return this._dataSource; } - // custom_bg_color - computed: false, optional: true, required: false - private _customBgColor?: string; - public get customBgColor() { - return this.getStringAttribute('custom_bg_color'); - } - public set customBgColor(value: string) { - this._customBgColor = value; + // env - computed: false, optional: false, required: true + private _env?: string; + public get env() { + return this.getStringAttribute('env'); } - public resetCustomBgColor() { - this._customBgColor = undefined; + public set env(value: string) { + this._env = value; } // Temporarily expose input value. Use with caution. - public get customBgColorInput() { - return this._customBgColor; + public get envInput() { + return this._env; } - // custom_fg_color - computed: false, optional: true, required: false - private _customFgColor?: string; - public get customFgColor() { - return this.getStringAttribute('custom_fg_color'); + // is_upstream - computed: false, optional: true, required: false + private _isUpstream?: boolean | cdktf.IResolvable; + public get isUpstream() { + return this.getBooleanAttribute('is_upstream'); } - public set customFgColor(value: string) { - this._customFgColor = value; + public set isUpstream(value: boolean | cdktf.IResolvable) { + this._isUpstream = value; } - public resetCustomFgColor() { - this._customFgColor = undefined; + public resetIsUpstream() { + this._isUpstream = undefined; } // Temporarily expose input value. Use with caution. - public get customFgColorInput() { - return this._customFgColor; + public get isUpstreamInput() { + return this._isUpstream; } - // hide_value - computed: false, optional: true, required: false - private _hideValue?: boolean | cdktf.IResolvable; - public get hideValue() { - return this.getBooleanAttribute('hide_value'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set hideValue(value: boolean | cdktf.IResolvable) { - this._hideValue = value; + public set name(value: string) { + this._name = value; } - public resetHideValue() { - this._hideValue = undefined; + // Temporarily expose input value. Use with caution. + public get nameInput() { + return this._name; + } + + // operation_name - computed: false, optional: false, required: true + private _operationName?: string; + public get operationName() { + return this.getStringAttribute('operation_name'); + } + public set operationName(value: string) { + this._operationName = value; } // Temporarily expose input value. Use with caution. - public get hideValueInput() { - return this._hideValue; + public get operationNameInput() { + return this._operationName; } - // image_url - computed: false, optional: true, required: false - private _imageUrl?: string; - public get imageUrl() { - return this.getStringAttribute('image_url'); + // primary_tag_name - computed: false, optional: true, required: false + private _primaryTagName?: string; + public get primaryTagName() { + return this.getStringAttribute('primary_tag_name'); } - public set imageUrl(value: string) { - this._imageUrl = value; + public set primaryTagName(value: string) { + this._primaryTagName = value; } - public resetImageUrl() { - this._imageUrl = undefined; + public resetPrimaryTagName() { + this._primaryTagName = undefined; } // Temporarily expose input value. Use with caution. - public get imageUrlInput() { - return this._imageUrl; + public get primaryTagNameInput() { + return this._primaryTagName; } - // metric - computed: false, optional: true, required: false - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); + // primary_tag_value - computed: false, optional: true, required: false + private _primaryTagValue?: string; + public get primaryTagValue() { + return this.getStringAttribute('primary_tag_value'); } - public set metric(value: string) { - this._metric = value; + public set primaryTagValue(value: string) { + this._primaryTagValue = value; } - public resetMetric() { - this._metric = undefined; + public resetPrimaryTagValue() { + this._primaryTagValue = undefined; } // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + public get primaryTagValueInput() { + return this._primaryTagValue; } - // palette - computed: false, optional: false, required: true - private _palette?: string; - public get palette() { - return this.getStringAttribute('palette'); + // resource_name - computed: false, optional: false, required: true + private _resourceName?: string; + public get resourceName() { + return this.getStringAttribute('resource_name'); } - public set palette(value: string) { - this._palette = value; + public set resourceName(value: string) { + this._resourceName = value; } // Temporarily expose input value. Use with caution. - public get paletteInput() { - return this._palette; + public get resourceNameInput() { + return this._resourceName; } - // timeframe - computed: false, optional: true, required: false - private _timeframe?: string; - public get timeframe() { - return this.getStringAttribute('timeframe'); - } - public set timeframe(value: string) { - this._timeframe = value; + // service - computed: false, optional: false, required: true + private _service?: string; + public get service() { + return this.getStringAttribute('service'); } - public resetTimeframe() { - this._timeframe = undefined; + public set service(value: string) { + this._service = value; } // Temporarily expose input value. Use with caution. - public get timeframeInput() { - return this._timeframe; + public get serviceInput() { + return this._service; } - // value - computed: false, optional: false, required: true - private _value?: number; - public get value() { - return this.getNumberAttribute('value'); + // stat - computed: false, optional: false, required: true + private _stat?: string; + public get stat() { + return this.getStringAttribute('stat'); } - public set value(value: number) { - this._value = value; + public set stat(value: string) { + this._stat = value; } // Temporarily expose input value. Use with caution. - public get valueInput() { - return this._value; + public get statInput() { + return this._stat; } } - -export class DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable - +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery { /** - * @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) + * The data source for APM Resource Stats queries. Valid values are \`apm_resource_stats\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} */ - constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - + readonly dataSource: string; /** - * @param index the index of the item to return + * APM Environment. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#env Dashboard#env} */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference { - return new DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); - } -} -export interface DashboardWidgetGeomapDefinitionRequestFormulaLimit { + readonly env: string; /** - * The number of results to return + * Array of fields to group results by. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#count Dashboard#count} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly count?: number; + readonly groupBy?: string[]; /** - * The direction of the sort. Valid values are \`asc\`, \`desc\`. + * The name of query for use in formulas. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ - readonly order?: string; -} - -export function dashboardWidgetGeomapDefinitionRequestFormulaLimitToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestFormulaLimitOutputReference | DashboardWidgetGeomapDefinitionRequestFormulaLimit): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - count: cdktf.numberToTerraform(struct!.count), - order: cdktf.stringToTerraform(struct!.order), - } -} - -export class DashboardWidgetGeomapDefinitionRequestFormulaLimitOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - + readonly name: string; /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * Name of operation on service. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#operation_name Dashboard#operation_name} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): DashboardWidgetGeomapDefinitionRequestFormulaLimit | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._count !== undefined) { - hasAnyValues = true; - internalValueResult.count = this._count; - } - if (this._order !== undefined) { - hasAnyValues = true; - internalValueResult.order = this._order; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestFormulaLimit | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._count = undefined; - this._order = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._count = value.count; - this._order = value.order; - } - } - - // count - computed: false, optional: true, required: false - private _count?: number; - public get count() { - return this.getNumberAttribute('count'); - } - public set count(value: number) { - this._count = value; - } - public resetCount() { - this._count = undefined; - } - // Temporarily expose input value. Use with caution. - public get countInput() { - return this._count; - } - - // order - computed: false, optional: true, required: false - private _order?: string; - public get order() { - return this.getStringAttribute('order'); - } - public set order(value: string) { - this._order = value; - } - public resetOrder() { - this._order = undefined; - } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; - } -} -export interface DashboardWidgetGeomapDefinitionRequestFormula { + readonly operationName?: string; /** - * An expression alias. + * The name of the second primary tag used within APM; required when \`primary_tag_value\` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#alias Dashboard#alias} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_name Dashboard#primary_tag_name} */ - readonly alias?: string; + readonly primaryTagName?: string; /** - * A list of display modes for each table cell. Valid values are \`number\`, \`bar\`. + * Filter APM data by the second primary tag. \`primary_tag_name\` must also be specified. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#cell_display_mode Dashboard#cell_display_mode} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_value Dashboard#primary_tag_value} */ - readonly cellDisplayMode?: string; + readonly primaryTagValue?: string; /** - * A string expression built from queries, formulas, and functions. + * APM resource. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#formula_expression Dashboard#formula_expression} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#resource_name Dashboard#resource_name} */ - readonly formulaExpression: string; + readonly resourceName?: string; /** - * conditional_formats block + * APM service. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#conditional_formats Dashboard#conditional_formats} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#service Dashboard#service} */ - readonly conditionalFormats?: DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable; + readonly service: string; /** - * limit block + * APM statistic. Valid values are \`errors\`, \`error_rate\`, \`hits\`, \`latency_avg\`, \`latency_max\`, \`latency_p50\`, \`latency_p75\`, \`latency_p90\`, \`latency_p95\`, \`latency_p99\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#stat Dashboard#stat} */ - readonly limit?: DashboardWidgetGeomapDefinitionRequestFormulaLimit; + readonly stat: string; } -export function dashboardWidgetGeomapDefinitionRequestFormulaToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - alias: cdktf.stringToTerraform(struct!.alias), - cell_display_mode: cdktf.stringToTerraform(struct!.cellDisplayMode), - formula_expression: cdktf.stringToTerraform(struct!.formulaExpression), - conditional_formats: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsToTerraform, true)(struct!.conditionalFormats), - limit: dashboardWidgetGeomapDefinitionRequestFormulaLimitToTerraform(struct!.limit), + data_source: cdktf.stringToTerraform(struct!.dataSource), + env: cdktf.stringToTerraform(struct!.env), + group_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.groupBy), + name: cdktf.stringToTerraform(struct!.name), + operation_name: cdktf.stringToTerraform(struct!.operationName), + primary_tag_name: cdktf.stringToTerraform(struct!.primaryTagName), + primary_tag_value: cdktf.stringToTerraform(struct!.primaryTagValue), + resource_name: cdktf.stringToTerraform(struct!.resourceName), + service: cdktf.stringToTerraform(struct!.service), + stat: cdktf.stringToTerraform(struct!.stat), } } -export class DashboardWidgetGeomapDefinitionRequestFormulaOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._alias !== undefined) { + if (this._dataSource !== undefined) { hasAnyValues = true; - internalValueResult.alias = this._alias; + internalValueResult.dataSource = this._dataSource; } - if (this._cellDisplayMode !== undefined) { + if (this._env !== undefined) { hasAnyValues = true; - internalValueResult.cellDisplayMode = this._cellDisplayMode; + internalValueResult.env = this._env; } - if (this._formulaExpression !== undefined) { + if (this._groupBy !== undefined) { hasAnyValues = true; - internalValueResult.formulaExpression = this._formulaExpression; + internalValueResult.groupBy = this._groupBy; } - if (this._conditionalFormats?.internalValue !== undefined) { + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + if (this._operationName !== undefined) { + hasAnyValues = true; + internalValueResult.operationName = this._operationName; + } + if (this._primaryTagName !== undefined) { + hasAnyValues = true; + internalValueResult.primaryTagName = this._primaryTagName; + } + if (this._primaryTagValue !== undefined) { + hasAnyValues = true; + internalValueResult.primaryTagValue = this._primaryTagValue; + } + if (this._resourceName !== undefined) { + hasAnyValues = true; + internalValueResult.resourceName = this._resourceName; + } + if (this._service !== undefined) { hasAnyValues = true; - internalValueResult.conditionalFormats = this._conditionalFormats?.internalValue; + internalValueResult.service = this._service; } - if (this._limit?.internalValue !== undefined) { + if (this._stat !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit?.internalValue; + internalValueResult.stat = this._stat; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._alias = undefined; - this._cellDisplayMode = undefined; - this._formulaExpression = undefined; - this._conditionalFormats.internalValue = undefined; - this._limit.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._dataSource = undefined; + this._env = undefined; + this._groupBy = undefined; + this._name = undefined; + this._operationName = undefined; + this._primaryTagName = undefined; + this._primaryTagValue = undefined; + this._resourceName = undefined; + this._service = undefined; + this._stat = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._alias = value.alias; - this._cellDisplayMode = value.cellDisplayMode; - this._formulaExpression = value.formulaExpression; - this._conditionalFormats.internalValue = value.conditionalFormats; - this._limit.internalValue = value.limit; + this._dataSource = value.dataSource; + this._env = value.env; + this._groupBy = value.groupBy; + this._name = value.name; + this._operationName = value.operationName; + this._primaryTagName = value.primaryTagName; + this._primaryTagValue = value.primaryTagValue; + this._resourceName = value.resourceName; + this._service = value.service; + this._stat = value.stat; } } - // alias - computed: false, optional: true, required: false - private _alias?: string; - public get alias() { - return this.getStringAttribute('alias'); + // data_source - computed: false, optional: false, required: true + private _dataSource?: string; + public get dataSource() { + return this.getStringAttribute('data_source'); } - public set alias(value: string) { - this._alias = value; + public set dataSource(value: string) { + this._dataSource = value; } - public resetAlias() { - this._alias = undefined; + // Temporarily expose input value. Use with caution. + public get dataSourceInput() { + return this._dataSource; + } + + // env - computed: false, optional: false, required: true + private _env?: string; + public get env() { + return this.getStringAttribute('env'); + } + public set env(value: string) { + this._env = value; } // Temporarily expose input value. Use with caution. - public get aliasInput() { - return this._alias; + public get envInput() { + return this._env; } - // cell_display_mode - computed: false, optional: true, required: false - private _cellDisplayMode?: string; - public get cellDisplayMode() { - return this.getStringAttribute('cell_display_mode'); + // group_by - computed: false, optional: true, required: false + private _groupBy?: string[]; + public get groupBy() { + return this.getListAttribute('group_by'); } - public set cellDisplayMode(value: string) { - this._cellDisplayMode = value; + public set groupBy(value: string[]) { + this._groupBy = value; } - public resetCellDisplayMode() { - this._cellDisplayMode = undefined; + public resetGroupBy() { + this._groupBy = undefined; } // Temporarily expose input value. Use with caution. - public get cellDisplayModeInput() { - return this._cellDisplayMode; + public get groupByInput() { + return this._groupBy; } - // formula_expression - computed: false, optional: false, required: true - private _formulaExpression?: string; - public get formulaExpression() { - return this.getStringAttribute('formula_expression'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set formulaExpression(value: string) { - this._formulaExpression = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get formulaExpressionInput() { - return this._formulaExpression; + public get nameInput() { + return this._name; } - // conditional_formats - computed: false, optional: true, required: false - private _conditionalFormats = new DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormatsList(this, "conditional_formats", false); - public get conditionalFormats() { - return this._conditionalFormats; + // operation_name - computed: false, optional: true, required: false + private _operationName?: string; + public get operationName() { + return this.getStringAttribute('operation_name'); } - public putConditionalFormats(value: DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable) { - this._conditionalFormats.internalValue = value; + public set operationName(value: string) { + this._operationName = value; } - public resetConditionalFormats() { - this._conditionalFormats.internalValue = undefined; + public resetOperationName() { + this._operationName = undefined; } // Temporarily expose input value. Use with caution. - public get conditionalFormatsInput() { - return this._conditionalFormats.internalValue; + public get operationNameInput() { + return this._operationName; } - // limit - computed: false, optional: true, required: false - private _limit = new DashboardWidgetGeomapDefinitionRequestFormulaLimitOutputReference(this, "limit"); - public get limit() { - return this._limit; + // primary_tag_name - computed: false, optional: true, required: false + private _primaryTagName?: string; + public get primaryTagName() { + return this.getStringAttribute('primary_tag_name'); } - public putLimit(value: DashboardWidgetGeomapDefinitionRequestFormulaLimit) { - this._limit.internalValue = value; + public set primaryTagName(value: string) { + this._primaryTagName = value; } - public resetLimit() { - this._limit.internalValue = undefined; + public resetPrimaryTagName() { + this._primaryTagName = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit.internalValue; + public get primaryTagNameInput() { + return this._primaryTagName; } -} -export class DashboardWidgetGeomapDefinitionRequestFormulaList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable + // primary_tag_value - computed: false, optional: true, required: false + private _primaryTagValue?: string; + public get primaryTagValue() { + return this.getStringAttribute('primary_tag_value'); + } + public set primaryTagValue(value: string) { + this._primaryTagValue = value; + } + public resetPrimaryTagValue() { + this._primaryTagValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get primaryTagValueInput() { + return this._primaryTagValue; + } - /** - * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // resource_name - computed: false, optional: true, required: false + private _resourceName?: string; + public get resourceName() { + return this.getStringAttribute('resource_name'); + } + public set resourceName(value: string) { + this._resourceName = value; + } + public resetResourceName() { + this._resourceName = undefined; + } + // Temporarily expose input value. Use with caution. + public get resourceNameInput() { + return this._resourceName; } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestFormulaOutputReference { - return new DashboardWidgetGeomapDefinitionRequestFormulaOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // service - computed: false, optional: false, required: true + private _service?: string; + public get service() { + return this.getStringAttribute('service'); + } + public set service(value: string) { + this._service = value; + } + // Temporarily expose input value. Use with caution. + public get serviceInput() { + return this._service; + } + + // stat - computed: false, optional: false, required: true + private _stat?: string; + public get stat() { + return this.getStringAttribute('stat'); + } + public set stat(value: string) { + this._stat = value; + } + // Temporarily expose input value. Use with caution. + public get statInput() { + return this._stat; } } -export interface DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute { /** - * The aggregation method. + * The aggregation methods for event platform queries. Valid values are \`count\`, \`cardinality\`, \`median\`, \`pc75\`, \`pc90\`, \`pc95\`, \`pc98\`, \`pc99\`, \`sum\`, \`min\`, \`max\`, \`avg\`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ readonly aggregation: string; /** - * The facet name. + * A time interval in milliseconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly facet?: string; + readonly interval?: number; /** - * Define the time interval in seconds. + * The measurable attribute to compute. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} */ - readonly interval?: number; + readonly metric?: string; } -export function dashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), interval: cdktf.numberToTerraform(struct!.interval), + metric: cdktf.stringToTerraform(struct!.metric), } } -export class DashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { hasAnyValues = true; internalValueResult.aggregation = this._aggregation; } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } if (this._interval !== undefined) { hasAnyValues = true; internalValueResult.interval = this._interval; } + if (this._metric !== undefined) { + hasAnyValues = true; + internalValueResult.metric = this._metric; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; this._aggregation = undefined; - this._facet = undefined; this._interval = undefined; + this._metric = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; this._aggregation = value.aggregation; - this._facet = value.facet; this._interval = value.interval; + this._metric = value.metric; } } @@ -21346,22 +25782,6 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputRef return this._aggregation; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - // interval - computed: false, optional: true, required: false private _interval?: number; public get interval() { @@ -21377,41 +25797,77 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputRef public get intervalInput() { return this._interval; } + + // metric - computed: false, optional: true, required: false + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); + } + public set metric(value: string) { + this._metric = value; + } + public resetMetric() { + this._metric = undefined; + } + // Temporarily expose input value. Use with caution. + public get metricInput() { + return this._metric; + } } -export interface DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery { + +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable + /** - * The aggregation method. + * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort { + /** + * The aggregation methods for the event platform queries. Valid values are \`count\`, \`cardinality\`, \`median\`, \`pc75\`, \`pc90\`, \`pc95\`, \`pc98\`, \`pc99\`, \`sum\`, \`min\`, \`max\`, \`avg\`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ readonly aggregation: string; /** - * The facet name. + * The metric used for sorting group by results. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} */ - readonly facet?: string; + readonly metric?: string; /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * Direction of sort. Valid values are \`asc\`, \`desc\`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} */ - readonly order: string; + readonly order?: string; } -export function dashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), + metric: cdktf.stringToTerraform(struct!.metric), order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -21422,16 +25878,16 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutpu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { hasAnyValues = true; internalValueResult.aggregation = this._aggregation; } - if (this._facet !== undefined) { + if (this._metric !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.metric = this._metric; } if (this._order !== undefined) { hasAnyValues = true; @@ -21440,17 +25896,17 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutpu return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; - this._facet = undefined; + this._metric = undefined; this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._aggregation = value.aggregation; - this._facet = value.facet; + this._metric = value.metric; this._order = value.order; } } @@ -21468,23 +25924,23 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutpu return this._aggregation; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // metric - computed: false, optional: true, required: false + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); } - public set facet(value: string) { - this._facet = value; + public set metric(value: string) { + this._metric = value; } - public resetFacet() { - this._facet = undefined; + public resetMetric() { + this._metric = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get metricInput() { + return this._metric; } - // order - computed: false, optional: false, required: true + // order - computed: false, optional: true, required: false private _order?: string; public get order() { return this.getStringAttribute('order'); @@ -21492,33 +25948,36 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutpu public set order(value: string) { this._order = value; } + public resetOrder() { + this._order = undefined; + } // Temporarily expose input value. Use with caution. public get orderInput() { return this._order; } } -export interface DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy { /** - * The facet name. + * The event facet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly facet?: string; + readonly facet: string; /** - * The maximum number of items in the group. + * The number of groups to return. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ readonly limit?: number; /** - * sort_query block + * sort block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort Dashboard#sort} */ - readonly sortQuery?: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery; + readonly sort?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort; } -export function dashboardWidgetGeomapDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -21526,11 +25985,11 @@ export function dashboardWidgetGeomapDefinitionRequestLogQueryGroupByToTerraform return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortToTerraform(struct!.sort), } } -export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -21544,7 +26003,7 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReferenc super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -21558,20 +26017,20 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReferenc hasAnyValues = true; internalValueResult.limit = this._limit; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._sort?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.sort = this._sort?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._facet = undefined; this._limit = undefined; - this._sortQuery.internalValue = undefined; + this._sort.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -21582,11 +26041,11 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReferenc this.resolvableValue = undefined; this._facet = value.facet; this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._sort.internalValue = value.sort; } } - // facet - computed: false, optional: true, required: false + // facet - computed: false, optional: false, required: true private _facet?: string; public get facet() { return this.getStringAttribute('facet'); @@ -21594,9 +26053,6 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReferenc public set facet(value: string) { this._facet = value; } - public resetFacet() { - this._facet = undefined; - } // Temporarily expose input value. Use with caution. public get facetInput() { return this._facet; @@ -21618,25 +26074,25 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReferenc return this._limit; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // sort - computed: false, optional: true, required: false + private _sort = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference(this, "sort"); + public get sort() { + return this._sort; } - public putSortQuery(value: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putSort(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort) { + this._sort.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetSort() { + this._sort.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get sortInput() { + return this._sort.internalValue; } } -export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -21650,212 +26106,129 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryGroupByList extends c /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference { - return new DashboardWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch { /** - * Define the time interval in seconds. + * The events search string. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} */ - readonly interval?: number; + readonly query: string; } -export function dashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + query: cdktf.stringToTerraform(struct!.query), } } -export class DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { + if (this._query !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.query = this._query; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._query = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._query = value.query; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // query - computed: false, optional: false, required: true + private _query?: string; + public get query() { + return this.getStringAttribute('query'); } - public resetInterval() { - this._interval = undefined; + public set query(value: string) { + this._query = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get queryInput() { + return this._query; } } - -export class DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery { /** - * @param index the index of the item to return + * The data source for event platform-based queries. Valid values are \`logs\`, \`spans\`, \`network\`, \`rum\`, \`security_signals\`, \`profiles\`, \`audit\`, \`events\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference { - return new DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); - } -} -export interface DashboardWidgetGeomapDefinitionRequestLogQuery { + readonly dataSource: string; /** - * The name of the index to query. + * An array of index names to query in the stream. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#indexes Dashboard#indexes} */ - readonly index: string; + readonly indexes?: string[]; /** - * The search query to use. + * The name of query for use in formulas. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ - readonly searchQuery?: string; + readonly name: string; /** - * compute_query block + * compute block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute Dashboard#compute} */ - readonly computeQuery?: DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery; + readonly compute: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable; /** - * multi_compute block + * search block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search Dashboard#search} */ - readonly multiCompute?: DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; + readonly search?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch; } -export function dashboardWidgetGeomapDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestLogQueryOutputReference | DashboardWidgetGeomapDefinitionRequestLogQuery): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), + data_source: cdktf.stringToTerraform(struct!.dataSource), + indexes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.indexes), + name: cdktf.stringToTerraform(struct!.name), + compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeToTerraform, true)(struct!.compute), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByToTerraform, true)(struct!.groupBy), + search: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchToTerraform(struct!.search), } } -export class DashboardWidgetGeomapDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -21866,102 +26239,118 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryOutputReference exten super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestLogQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { + if (this._dataSource !== undefined) { hasAnyValues = true; - internalValueResult.index = this._index; + internalValueResult.dataSource = this._dataSource; } - if (this._searchQuery !== undefined) { + if (this._indexes !== undefined) { hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; + internalValueResult.indexes = this._indexes; } - if (this._computeQuery?.internalValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.name = this._name; + } + if (this._compute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.compute = this._compute?.internalValue; } if (this._groupBy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.groupBy = this._groupBy?.internalValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._search?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.search = this._search?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestLogQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; + this._dataSource = undefined; + this._indexes = undefined; + this._name = undefined; + this._compute.internalValue = undefined; this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._search.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; + this._dataSource = value.dataSource; + this._indexes = value.indexes; + this._name = value.name; + this._compute.internalValue = value.compute; this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._search.internalValue = value.search; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); + // data_source - computed: false, optional: false, required: true + private _dataSource?: string; + public get dataSource() { + return this.getStringAttribute('data_source'); } - public set index(value: string) { - this._index = value; + public set dataSource(value: string) { + this._dataSource = value; } // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + public get dataSourceInput() { + return this._dataSource; } - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); + // indexes - computed: false, optional: true, required: false + private _indexes?: string[]; + public get indexes() { + return this.getListAttribute('indexes'); } - public set searchQuery(value: string) { - this._searchQuery = value; + public set indexes(value: string[]) { + this._indexes = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetIndexes() { + this._indexes = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get indexesInput() { + return this._indexes; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public putComputeQuery(value: DashboardWidgetGeomapDefinitionRequestLogQueryComputeQuery) { - this._computeQuery.internalValue = value; + public set name(value: string) { + this._name = value; } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + // Temporarily expose input value. Use with caution. + public get nameInput() { + return this._name; + } + + // compute - computed: false, optional: false, required: true + private _compute = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeList(this, "compute", false); + public get compute() { + return this._compute; + } + public putCompute(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable) { + this._compute.internalValue = value; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get computeInput() { + return this._compute.internalValue; } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGeomapDefinitionRequestLogQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -21972,105 +26361,63 @@ export class DashboardWidgetGeomapDefinitionRequestLogQueryOutputReference exten return this._groupBy.internalValue; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGeomapDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; + // search - computed: false, optional: true, required: false + private _search = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference(this, "search"); + public get search() { + return this._search; } - public putMultiCompute(value: DashboardWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + public putSearch(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch) { + this._search.internalValue = value; } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public resetSearch() { + this._search.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get searchInput() { + return this._search.internalValue; } } -export interface DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery { - /** - * The data source for APM Dependency Stats queries. Valid values are \`apm_dependency_stats\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} - */ - readonly dataSource: string; +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery { /** - * APM Environment. + * The aggregation methods available for metrics queries. Valid values are \`avg\`, \`min\`, \`max\`, \`sum\`, \`last\`, \`area\`, \`l2norm\`, \`percentile\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#env Dashboard#env} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregator Dashboard#aggregator} */ - readonly env: string; + readonly aggregator?: string; /** - * Determines whether stats for upstream or downstream dependencies should be queried. + * The data source for metrics queries. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_upstream Dashboard#is_upstream} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} */ - readonly isUpstream?: boolean | cdktf.IResolvable; + readonly dataSource?: string; /** - * The name of query for use in formulas. + * The name of the query for use in formulas. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ readonly name: string; /** - * Name of operation on service. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#operation_name Dashboard#operation_name} - */ - readonly operationName: string; - /** - * The name of the second primary tag used within APM; required when \`primary_tag_value\` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_name Dashboard#primary_tag_name} - */ - readonly primaryTagName?: string; - /** - * Filter APM data by the second primary tag. \`primary_tag_name\` must also be specified. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_value Dashboard#primary_tag_value} - */ - readonly primaryTagValue?: string; - /** - * APM resource. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#resource_name Dashboard#resource_name} - */ - readonly resourceName: string; - /** - * APM service. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#service Dashboard#service} - */ - readonly service: string; - /** - * APM statistic. Valid values are \`avg_duration\`, \`avg_root_duration\`, \`avg_spans_per_trace\`, \`error_rate\`, \`pct_exec_time\`, \`pct_of_traces\`, \`total_traces_count\`. + * The metrics query definition. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#stat Dashboard#stat} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} */ - readonly stat: string; + readonly query: string; } -export function dashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregator: cdktf.stringToTerraform(struct!.aggregator), data_source: cdktf.stringToTerraform(struct!.dataSource), - env: cdktf.stringToTerraform(struct!.env), - is_upstream: cdktf.booleanToTerraform(struct!.isUpstream), name: cdktf.stringToTerraform(struct!.name), - operation_name: cdktf.stringToTerraform(struct!.operationName), - primary_tag_name: cdktf.stringToTerraform(struct!.primaryTagName), - primary_tag_value: cdktf.stringToTerraform(struct!.primaryTagValue), - resource_name: cdktf.stringToTerraform(struct!.resourceName), - service: cdktf.stringToTerraform(struct!.service), - stat: cdktf.stringToTerraform(struct!.stat), + query: cdktf.stringToTerraform(struct!.query), } } -export class DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -22081,121 +26428,75 @@ export class DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryO super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._dataSource !== undefined) { - hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; - } - if (this._env !== undefined) { + if (this._aggregator !== undefined) { hasAnyValues = true; - internalValueResult.env = this._env; + internalValueResult.aggregator = this._aggregator; } - if (this._isUpstream !== undefined) { + if (this._dataSource !== undefined) { hasAnyValues = true; - internalValueResult.isUpstream = this._isUpstream; + internalValueResult.dataSource = this._dataSource; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } - if (this._operationName !== undefined) { - hasAnyValues = true; - internalValueResult.operationName = this._operationName; - } - if (this._primaryTagName !== undefined) { - hasAnyValues = true; - internalValueResult.primaryTagName = this._primaryTagName; - } - if (this._primaryTagValue !== undefined) { - hasAnyValues = true; - internalValueResult.primaryTagValue = this._primaryTagValue; - } - if (this._resourceName !== undefined) { - hasAnyValues = true; - internalValueResult.resourceName = this._resourceName; - } - if (this._service !== undefined) { - hasAnyValues = true; - internalValueResult.service = this._service; - } - if (this._stat !== undefined) { + if (this._query !== undefined) { hasAnyValues = true; - internalValueResult.stat = this._stat; + internalValueResult.query = this._query; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._aggregator = undefined; this._dataSource = undefined; - this._env = undefined; - this._isUpstream = undefined; this._name = undefined; - this._operationName = undefined; - this._primaryTagName = undefined; - this._primaryTagValue = undefined; - this._resourceName = undefined; - this._service = undefined; - this._stat = undefined; + this._query = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._aggregator = value.aggregator; this._dataSource = value.dataSource; - this._env = value.env; - this._isUpstream = value.isUpstream; this._name = value.name; - this._operationName = value.operationName; - this._primaryTagName = value.primaryTagName; - this._primaryTagValue = value.primaryTagValue; - this._resourceName = value.resourceName; - this._service = value.service; - this._stat = value.stat; + this._query = value.query; } } - // data_source - computed: false, optional: false, required: true - private _dataSource?: string; - public get dataSource() { - return this.getStringAttribute('data_source'); - } - public set dataSource(value: string) { - this._dataSource = value; - } - // Temporarily expose input value. Use with caution. - public get dataSourceInput() { - return this._dataSource; + // aggregator - computed: false, optional: true, required: false + private _aggregator?: string; + public get aggregator() { + return this.getStringAttribute('aggregator'); } - - // env - computed: false, optional: false, required: true - private _env?: string; - public get env() { - return this.getStringAttribute('env'); + public set aggregator(value: string) { + this._aggregator = value; } - public set env(value: string) { - this._env = value; + public resetAggregator() { + this._aggregator = undefined; } // Temporarily expose input value. Use with caution. - public get envInput() { - return this._env; + public get aggregatorInput() { + return this._aggregator; } - // is_upstream - computed: false, optional: true, required: false - private _isUpstream?: boolean | cdktf.IResolvable; - public get isUpstream() { - return this.getBooleanAttribute('is_upstream'); + // data_source - computed: false, optional: true, required: false + private _dataSource?: string; + public get dataSource() { + return this.getStringAttribute('data_source'); } - public set isUpstream(value: boolean | cdktf.IResolvable) { - this._isUpstream = value; + public set dataSource(value: string) { + this._dataSource = value; } - public resetIsUpstream() { - this._isUpstream = undefined; + public resetDataSource() { + this._dataSource = undefined; } // Temporarily expose input value. Use with caution. - public get isUpstreamInput() { - return this._isUpstream; + public get dataSourceInput() { + return this._dataSource; } // name - computed: false, optional: false, required: true @@ -22211,173 +26512,95 @@ export class DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryO return this._name; } - // operation_name - computed: false, optional: false, required: true - private _operationName?: string; - public get operationName() { - return this.getStringAttribute('operation_name'); - } - public set operationName(value: string) { - this._operationName = value; - } - // Temporarily expose input value. Use with caution. - public get operationNameInput() { - return this._operationName; - } - - // primary_tag_name - computed: false, optional: true, required: false - private _primaryTagName?: string; - public get primaryTagName() { - return this.getStringAttribute('primary_tag_name'); - } - public set primaryTagName(value: string) { - this._primaryTagName = value; - } - public resetPrimaryTagName() { - this._primaryTagName = undefined; - } - // Temporarily expose input value. Use with caution. - public get primaryTagNameInput() { - return this._primaryTagName; - } - - // primary_tag_value - computed: false, optional: true, required: false - private _primaryTagValue?: string; - public get primaryTagValue() { - return this.getStringAttribute('primary_tag_value'); - } - public set primaryTagValue(value: string) { - this._primaryTagValue = value; - } - public resetPrimaryTagValue() { - this._primaryTagValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get primaryTagValueInput() { - return this._primaryTagValue; - } - - // resource_name - computed: false, optional: false, required: true - private _resourceName?: string; - public get resourceName() { - return this.getStringAttribute('resource_name'); - } - public set resourceName(value: string) { - this._resourceName = value; - } - // Temporarily expose input value. Use with caution. - public get resourceNameInput() { - return this._resourceName; - } - - // service - computed: false, optional: false, required: true - private _service?: string; - public get service() { - return this.getStringAttribute('service'); - } - public set service(value: string) { - this._service = value; - } - // Temporarily expose input value. Use with caution. - public get serviceInput() { - return this._service; - } - - // stat - computed: false, optional: false, required: true - private _stat?: string; - public get stat() { - return this.getStringAttribute('stat'); + // query - computed: false, optional: false, required: true + private _query?: string; + public get query() { + return this.getStringAttribute('query'); } - public set stat(value: string) { - this._stat = value; + public set query(value: string) { + this._query = value; } // Temporarily expose input value. Use with caution. - public get statInput() { - return this._stat; + public get queryInput() { + return this._query; } } -export interface DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery { - /** - * The data source for APM Resource Stats queries. Valid values are \`apm_resource_stats\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} - */ - readonly dataSource: string; +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery { /** - * APM Environment. + * The aggregation methods available for metrics queries. Valid values are \`avg\`, \`min\`, \`max\`, \`sum\`, \`last\`, \`area\`, \`l2norm\`, \`percentile\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#env Dashboard#env} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregator Dashboard#aggregator} */ - readonly env: string; + readonly aggregator?: string; /** - * Array of fields to group results by. + * The data source for process queries. Valid values are \`process\`, \`container\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} */ - readonly groupBy?: string[]; + readonly dataSource: string; /** - * The name of query for use in formulas. + * Whether to normalize the CPU percentages. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_normalized_cpu Dashboard#is_normalized_cpu} */ - readonly name: string; + readonly isNormalizedCpu?: boolean | cdktf.IResolvable; /** - * Name of operation on service. + * The number of hits to return. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#operation_name Dashboard#operation_name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly operationName?: string; + readonly limit?: number; /** - * The name of the second primary tag used within APM; required when \`primary_tag_value\` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. + * The process metric name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_name Dashboard#primary_tag_name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} */ - readonly primaryTagName?: string; + readonly metric: string; /** - * Filter APM data by the second primary tag. \`primary_tag_name\` must also be specified. + * The name of query for use in formulas. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_value Dashboard#primary_tag_value} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} */ - readonly primaryTagValue?: string; + readonly name: string; /** - * APM resource. + * The direction of the sort. Valid values are \`asc\`, \`desc\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#resource_name Dashboard#resource_name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort Dashboard#sort} */ - readonly resourceName?: string; + readonly sort?: string; /** - * APM service. + * An array of tags to filter by. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#service Dashboard#service} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tag_filters Dashboard#tag_filters} */ - readonly service: string; + readonly tagFilters?: string[]; /** - * APM statistic. Valid values are \`errors\`, \`error_rate\`, \`hits\`, \`latency_avg\`, \`latency_max\`, \`latency_p50\`, \`latency_p75\`, \`latency_p90\`, \`latency_p95\`, \`latency_p99\`. + * The text to use as a filter. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#stat Dashboard#stat} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_filter Dashboard#text_filter} */ - readonly stat: string; + readonly textFilter?: string; } -export function dashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregator: cdktf.stringToTerraform(struct!.aggregator), data_source: cdktf.stringToTerraform(struct!.dataSource), - env: cdktf.stringToTerraform(struct!.env), - group_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.groupBy), + is_normalized_cpu: cdktf.booleanToTerraform(struct!.isNormalizedCpu), + limit: cdktf.numberToTerraform(struct!.limit), + metric: cdktf.stringToTerraform(struct!.metric), name: cdktf.stringToTerraform(struct!.name), - operation_name: cdktf.stringToTerraform(struct!.operationName), - primary_tag_name: cdktf.stringToTerraform(struct!.primaryTagName), - primary_tag_value: cdktf.stringToTerraform(struct!.primaryTagValue), - resource_name: cdktf.stringToTerraform(struct!.resourceName), - service: cdktf.stringToTerraform(struct!.service), - stat: cdktf.stringToTerraform(struct!.stat), + sort: cdktf.stringToTerraform(struct!.sort), + tag_filters: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.tagFilters), + text_filter: cdktf.stringToTerraform(struct!.textFilter), } } -export class DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -22388,81 +26611,91 @@ export class DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOut super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._dataSource !== undefined) { - hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; - } - if (this._env !== undefined) { + if (this._aggregator !== undefined) { hasAnyValues = true; - internalValueResult.env = this._env; + internalValueResult.aggregator = this._aggregator; } - if (this._groupBy !== undefined) { + if (this._dataSource !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy; + internalValueResult.dataSource = this._dataSource; } - if (this._name !== undefined) { + if (this._isNormalizedCpu !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.isNormalizedCpu = this._isNormalizedCpu; } - if (this._operationName !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.operationName = this._operationName; + internalValueResult.limit = this._limit; } - if (this._primaryTagName !== undefined) { + if (this._metric !== undefined) { hasAnyValues = true; - internalValueResult.primaryTagName = this._primaryTagName; + internalValueResult.metric = this._metric; } - if (this._primaryTagValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.primaryTagValue = this._primaryTagValue; + internalValueResult.name = this._name; } - if (this._resourceName !== undefined) { + if (this._sort !== undefined) { hasAnyValues = true; - internalValueResult.resourceName = this._resourceName; + internalValueResult.sort = this._sort; } - if (this._service !== undefined) { + if (this._tagFilters !== undefined) { hasAnyValues = true; - internalValueResult.service = this._service; + internalValueResult.tagFilters = this._tagFilters; } - if (this._stat !== undefined) { + if (this._textFilter !== undefined) { hasAnyValues = true; - internalValueResult.stat = this._stat; + internalValueResult.textFilter = this._textFilter; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._aggregator = undefined; this._dataSource = undefined; - this._env = undefined; - this._groupBy = undefined; + this._isNormalizedCpu = undefined; + this._limit = undefined; + this._metric = undefined; this._name = undefined; - this._operationName = undefined; - this._primaryTagName = undefined; - this._primaryTagValue = undefined; - this._resourceName = undefined; - this._service = undefined; - this._stat = undefined; + this._sort = undefined; + this._tagFilters = undefined; + this._textFilter = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._aggregator = value.aggregator; this._dataSource = value.dataSource; - this._env = value.env; - this._groupBy = value.groupBy; + this._isNormalizedCpu = value.isNormalizedCpu; + this._limit = value.limit; + this._metric = value.metric; this._name = value.name; - this._operationName = value.operationName; - this._primaryTagName = value.primaryTagName; - this._primaryTagValue = value.primaryTagValue; - this._resourceName = value.resourceName; - this._service = value.service; - this._stat = value.stat; + this._sort = value.sort; + this._tagFilters = value.tagFilters; + this._textFilter = value.textFilter; } } + // aggregator - computed: false, optional: true, required: false + private _aggregator?: string; + public get aggregator() { + return this.getStringAttribute('aggregator'); + } + public set aggregator(value: string) { + this._aggregator = value; + } + public resetAggregator() { + this._aggregator = undefined; + } + // Temporarily expose input value. Use with caution. + public get aggregatorInput() { + return this._aggregator; + } + // data_source - computed: false, optional: false, required: true private _dataSource?: string; public get dataSource() { @@ -22476,33 +26709,49 @@ export class DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOut return this._dataSource; } - // env - computed: false, optional: false, required: true - private _env?: string; - public get env() { - return this.getStringAttribute('env'); + // is_normalized_cpu - computed: false, optional: true, required: false + private _isNormalizedCpu?: boolean | cdktf.IResolvable; + public get isNormalizedCpu() { + return this.getBooleanAttribute('is_normalized_cpu'); } - public set env(value: string) { - this._env = value; + public set isNormalizedCpu(value: boolean | cdktf.IResolvable) { + this._isNormalizedCpu = value; + } + public resetIsNormalizedCpu() { + this._isNormalizedCpu = undefined; } // Temporarily expose input value. Use with caution. - public get envInput() { - return this._env; + public get isNormalizedCpuInput() { + return this._isNormalizedCpu; } - // group_by - computed: false, optional: true, required: false - private _groupBy?: string[]; - public get groupBy() { - return this.getListAttribute('group_by'); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public set groupBy(value: string[]) { - this._groupBy = value; + public set limit(value: number) { + this._limit = value; } - public resetGroupBy() { - this._groupBy = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy; + public get limitInput() { + return this._limit; + } + + // metric - computed: false, optional: false, required: true + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); + } + public set metric(value: string) { + this._metric = value; + } + // Temporarily expose input value. Use with caution. + public get metricInput() { + return this._metric; } // name - computed: false, optional: false, required: true @@ -22518,182 +26767,343 @@ export class DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOut return this._name; } - // operation_name - computed: false, optional: true, required: false - private _operationName?: string; - public get operationName() { - return this.getStringAttribute('operation_name'); + // sort - computed: false, optional: true, required: false + private _sort?: string; + public get sort() { + return this.getStringAttribute('sort'); } - public set operationName(value: string) { - this._operationName = value; + public set sort(value: string) { + this._sort = value; } - public resetOperationName() { - this._operationName = undefined; + public resetSort() { + this._sort = undefined; } // Temporarily expose input value. Use with caution. - public get operationNameInput() { - return this._operationName; + public get sortInput() { + return this._sort; } - // primary_tag_name - computed: false, optional: true, required: false - private _primaryTagName?: string; - public get primaryTagName() { - return this.getStringAttribute('primary_tag_name'); + // tag_filters - computed: false, optional: true, required: false + private _tagFilters?: string[]; + public get tagFilters() { + return this.getListAttribute('tag_filters'); } - public set primaryTagName(value: string) { - this._primaryTagName = value; + public set tagFilters(value: string[]) { + this._tagFilters = value; } - public resetPrimaryTagName() { - this._primaryTagName = undefined; + public resetTagFilters() { + this._tagFilters = undefined; } // Temporarily expose input value. Use with caution. - public get primaryTagNameInput() { - return this._primaryTagName; + public get tagFiltersInput() { + return this._tagFilters; } - // primary_tag_value - computed: false, optional: true, required: false - private _primaryTagValue?: string; - public get primaryTagValue() { - return this.getStringAttribute('primary_tag_value'); + // text_filter - computed: false, optional: true, required: false + private _textFilter?: string; + public get textFilter() { + return this.getStringAttribute('text_filter'); } - public set primaryTagValue(value: string) { - this._primaryTagValue = value; + public set textFilter(value: string) { + this._textFilter = value; } - public resetPrimaryTagValue() { - this._primaryTagValue = undefined; + public resetTextFilter() { + this._textFilter = undefined; } // Temporarily expose input value. Use with caution. - public get primaryTagValueInput() { - return this._primaryTagValue; + public get textFilterInput() { + return this._textFilter; + } +} +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery { + /** + * apm_dependency_stats_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_dependency_stats_query Dashboard#apm_dependency_stats_query} + */ + readonly apmDependencyStatsQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery; + /** + * apm_resource_stats_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_resource_stats_query Dashboard#apm_resource_stats_query} + */ + readonly apmResourceStatsQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery; + /** + * event_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event_query Dashboard#event_query} + */ + readonly eventQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery; + /** + * metric_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric_query Dashboard#metric_query} + */ + readonly metricQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery; + /** + * process_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} + */ + readonly processQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery; +} + +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + apm_dependency_stats_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryToTerraform(struct!.apmDependencyStatsQuery), + apm_resource_stats_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryToTerraform(struct!.apmResourceStatsQuery), + event_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryToTerraform(struct!.eventQuery), + metric_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryToTerraform(struct!.metricQuery), + process_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryToTerraform(struct!.processQuery), } +} - // resource_name - computed: false, optional: true, required: false - private _resourceName?: string; - public get resourceName() { - return this.getStringAttribute('resource_name'); +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; + + /** + * @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) + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public set resourceName(value: string) { - this._resourceName = value; + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._apmDependencyStatsQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.apmDependencyStatsQuery = this._apmDependencyStatsQuery?.internalValue; + } + if (this._apmResourceStatsQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.apmResourceStatsQuery = this._apmResourceStatsQuery?.internalValue; + } + if (this._eventQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.eventQuery = this._eventQuery?.internalValue; + } + if (this._metricQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.metricQuery = this._metricQuery?.internalValue; + } + if (this._processQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.processQuery = this._processQuery?.internalValue; + } + return hasAnyValues ? internalValueResult : undefined; } - public resetResourceName() { - this._resourceName = undefined; + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this.resolvableValue = undefined; + this._apmDependencyStatsQuery.internalValue = undefined; + this._apmResourceStatsQuery.internalValue = undefined; + this._eventQuery.internalValue = undefined; + this._metricQuery.internalValue = undefined; + this._processQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._apmDependencyStatsQuery.internalValue = value.apmDependencyStatsQuery; + this._apmResourceStatsQuery.internalValue = value.apmResourceStatsQuery; + this._eventQuery.internalValue = value.eventQuery; + this._metricQuery.internalValue = value.metricQuery; + this._processQuery.internalValue = value.processQuery; + } + } + + // apm_dependency_stats_query - computed: false, optional: true, required: false + private _apmDependencyStatsQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference(this, "apm_dependency_stats_query"); + public get apmDependencyStatsQuery() { + return this._apmDependencyStatsQuery; + } + public putApmDependencyStatsQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery) { + this._apmDependencyStatsQuery.internalValue = value; + } + public resetApmDependencyStatsQuery() { + this._apmDependencyStatsQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get resourceNameInput() { - return this._resourceName; + public get apmDependencyStatsQueryInput() { + return this._apmDependencyStatsQuery.internalValue; } - // service - computed: false, optional: false, required: true - private _service?: string; - public get service() { - return this.getStringAttribute('service'); + // apm_resource_stats_query - computed: false, optional: true, required: false + private _apmResourceStatsQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference(this, "apm_resource_stats_query"); + public get apmResourceStatsQuery() { + return this._apmResourceStatsQuery; } - public set service(value: string) { - this._service = value; + public putApmResourceStatsQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery) { + this._apmResourceStatsQuery.internalValue = value; + } + public resetApmResourceStatsQuery() { + this._apmResourceStatsQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get serviceInput() { - return this._service; + public get apmResourceStatsQueryInput() { + return this._apmResourceStatsQuery.internalValue; } - // stat - computed: false, optional: false, required: true - private _stat?: string; - public get stat() { - return this.getStringAttribute('stat'); + // event_query - computed: false, optional: true, required: false + private _eventQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryOutputReference(this, "event_query"); + public get eventQuery() { + return this._eventQuery; } - public set stat(value: string) { - this._stat = value; + public putEventQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery) { + this._eventQuery.internalValue = value; + } + public resetEventQuery() { + this._eventQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get statInput() { - return this._stat; + public get eventQueryInput() { + return this._eventQuery.internalValue; + } + + // metric_query - computed: false, optional: true, required: false + private _metricQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference(this, "metric_query"); + public get metricQuery() { + return this._metricQuery; + } + public putMetricQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery) { + this._metricQuery.internalValue = value; + } + public resetMetricQuery() { + this._metricQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get metricQueryInput() { + return this._metricQuery.internalValue; + } + + // process_query - computed: false, optional: true, required: false + private _processQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference(this, "process_query"); + public get processQuery() { + return this._processQuery; + } + public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery) { + this._processQuery.internalValue = value; + } + public resetProcessQuery() { + this._processQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get processQueryInput() { + return this._processQuery.internalValue; } } -export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute { + +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable + /** - * The aggregation methods for event platform queries. Valid values are \`count\`, \`cardinality\`, \`median\`, \`pc75\`, \`pc90\`, \`pc95\`, \`pc98\`, \`pc99\`, \`sum\`, \`min\`, \`max\`, \`avg\`. + * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery { + /** + * The aggregation method. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ readonly aggregation: string; /** - * A time interval in milliseconds. + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly interval?: number; + readonly facet?: string; /** - * The measurable attribute to compute. + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly metric?: string; + readonly interval?: number; } -export function dashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), interval: cdktf.numberToTerraform(struct!.interval), - metric: cdktf.stringToTerraform(struct!.metric), } } -export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { hasAnyValues = true; internalValueResult.aggregation = this._aggregation; } - if (this._interval !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.facet = this._facet; } - if (this._metric !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.metric = this._metric; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; this._aggregation = undefined; + this._facet = undefined; this._interval = undefined; - this._metric = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; this._aggregation = value.aggregation; + this._facet = value.facet; this._interval = value.interval; - this._metric = value.metric; } } @@ -22710,6 +27120,22 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputR return this._aggregation; } + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + // interval - computed: false, optional: true, required: false private _interval?: number; public get interval() { @@ -22725,77 +27151,41 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputR public get intervalInput() { return this._interval; } - - // metric - computed: false, optional: true, required: false - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); - } - public set metric(value: string) { - this._metric = value; - } - public resetMetric() { - this._metric = undefined; - } - // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; - } -} - -export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference { - return new DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); - } } -export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery { /** - * The aggregation methods for the event platform queries. Valid values are \`count\`, \`cardinality\`, \`median\`, \`pc75\`, \`pc90\`, \`pc95\`, \`pc98\`, \`pc99\`, \`sum\`, \`min\`, \`max\`, \`avg\`. + * The aggregation method. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ readonly aggregation: string; /** - * The metric used for sorting group by results. + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly metric?: string; + readonly facet?: string; /** - * Direction of sort. Valid values are \`asc\`, \`desc\`. + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} */ - readonly order?: string; + readonly order: string; } -export function dashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference | DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { aggregation: cdktf.stringToTerraform(struct!.aggregation), - metric: cdktf.stringToTerraform(struct!.metric), + facet: cdktf.stringToTerraform(struct!.facet), order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -22806,16 +27196,16 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOut super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { hasAnyValues = true; internalValueResult.aggregation = this._aggregation; } - if (this._metric !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.metric = this._metric; + internalValueResult.facet = this._facet; } if (this._order !== undefined) { hasAnyValues = true; @@ -22824,17 +27214,17 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOut return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; - this._metric = undefined; + this._facet = undefined; this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._aggregation = value.aggregation; - this._metric = value.metric; + this._facet = value.facet; this._order = value.order; } } @@ -22852,23 +27242,23 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOut return this._aggregation; } - // metric - computed: false, optional: true, required: false - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set metric(value: string) { - this._metric = value; + public set facet(value: string) { + this._facet = value; } - public resetMetric() { - this._metric = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + public get facetInput() { + return this._facet; } - // order - computed: false, optional: true, required: false + // order - computed: false, optional: false, required: true private _order?: string; public get order() { return this.getStringAttribute('order'); @@ -22876,36 +27266,33 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOut public set order(value: string) { this._order = value; } - public resetOrder() { - this._order = undefined; - } // Temporarily expose input value. Use with caution. public get orderInput() { return this._order; } } -export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy { /** - * The event facet. + * The facet name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly facet: string; + readonly facet?: string; /** - * The number of groups to return. + * The maximum number of items in the group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ readonly limit?: number; /** - * sort block + * sort_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort Dashboard#sort} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sort?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery; } -export function dashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -22913,11 +27300,11 @@ export function dashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByToTe return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort: dashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortToTerraform(struct!.sort), + sort_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -22931,7 +27318,7 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputR super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -22945,20 +27332,20 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputR hasAnyValues = true; internalValueResult.limit = this._limit; } - if (this._sort?.internalValue !== undefined) { + if (this._sortQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sort = this._sort?.internalValue; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._facet = undefined; this._limit = undefined; - this._sort.internalValue = undefined; + this._sortQuery.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -22969,11 +27356,11 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputR this.resolvableValue = undefined; this._facet = value.facet; this._limit = value.limit; - this._sort.internalValue = value.sort; + this._sortQuery.internalValue = value.sortQuery; } } - // facet - computed: false, optional: false, required: true + // facet - computed: false, optional: true, required: false private _facet?: string; public get facet() { return this.getStringAttribute('facet'); @@ -22981,6 +27368,9 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputR public set facet(value: string) { this._facet = value; } + public resetFacet() { + this._facet = undefined; + } // Temporarily expose input value. Use with caution. public get facetInput() { return this._facet; @@ -23002,25 +27392,25 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputR return this._limit; } - // sort - computed: false, optional: true, required: false - private _sort = new DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference(this, "sort"); - public get sort() { - return this._sort; + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - public putSort(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort) { - this._sort.internalValue = value; + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public resetSort() { - this._sort.internalValue = undefined; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortInput() { - return this._sort.internalValue; + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -23034,30 +27424,212 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByList ex /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference { - return new DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch { +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute { /** - * The events search string. + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly query: string; + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function dashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference | DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - query: cdktf.stringToTerraform(struct!.query), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; + + /** + * @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) + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; + } + } + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); + } + public set aggregation(value: string) { + this._aggregation = value; + } + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; + } +} + +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery { + /** + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} + */ + readonly index: string; + /** + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + */ + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; +} + +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + } +} + +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -23068,284 +27640,370 @@ export class DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputRe super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._query !== undefined) { - hasAnyValues = true; - internalValueResult.query = this._query; - } - return hasAnyValues ? internalValueResult : undefined; + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._index !== undefined) { + hasAnyValues = true; + internalValueResult.index = this._index; + } + if (this._searchQuery !== undefined) { + hasAnyValues = true; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; + } + } + + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); + } + public set index(value: string) { + this._index = value; + } + // Temporarily expose input value. Use with caution. + public get indexInput() { + return this._index; + } + + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); + } + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchQueryInput() { + return this._searchQuery; + } + + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; + } + + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._query = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._query = value.query; - } + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; } - // query - computed: false, optional: false, required: true - private _query?: string; - public get query() { - return this.getStringAttribute('query'); + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } - public set query(value: string) { - this._query = value; + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query; + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface DashboardWidgetGeomapDefinitionRequestQueryEventQuery { - /** - * The data source for event platform-based queries. Valid values are \`logs\`, \`spans\`, \`network\`, \`rum\`, \`security_signals\`, \`profiles\`, \`audit\`, \`events\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} - */ - readonly dataSource: string; +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest { /** - * An array of index names to query in the stream. + * The metric query to use for this widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#indexes Dashboard#indexes} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} */ - readonly indexes?: string[]; + readonly q?: string; /** - * The name of query for use in formulas. + * formula block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#formula Dashboard#formula} */ - readonly name: string; + readonly formula?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable; /** - * compute block + * log_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute Dashboard#compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} */ - readonly compute: DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable; + readonly logQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery; /** - * group_by block + * query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} */ - readonly groupBy?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable; + readonly query?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable; /** - * search block + * rum_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search Dashboard#search} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} */ - readonly search?: DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch; + readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery; } -export function dashboardWidgetGeomapDefinitionRequestQueryEventQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryEventQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryEventQuery): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - data_source: cdktf.stringToTerraform(struct!.dataSource), - indexes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.indexes), - name: cdktf.stringToTerraform(struct!.name), - compute: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeToTerraform, true)(struct!.compute), - group_by: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByToTerraform, true)(struct!.groupBy), - search: dashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchToTerraform(struct!.search), + q: cdktf.stringToTerraform(struct!.q), + formula: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaToTerraform, true)(struct!.formula), + log_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryToTerraform(struct!.logQuery), + query: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryToTerraform, true)(struct!.query), + rum_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryToTerraform(struct!.rumQuery), } } -export class DashboardWidgetGeomapDefinitionRequestQueryEventQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryEventQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._dataSource !== undefined) { - hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; - } - if (this._indexes !== undefined) { + if (this._q !== undefined) { hasAnyValues = true; - internalValueResult.indexes = this._indexes; + internalValueResult.q = this._q; } - if (this._name !== undefined) { + if (this._formula?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.formula = this._formula?.internalValue; } - if (this._compute?.internalValue !== undefined) { + if (this._logQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.compute = this._compute?.internalValue; + internalValueResult.logQuery = this._logQuery?.internalValue; } - if (this._groupBy?.internalValue !== undefined) { + if (this._query?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.query = this._query?.internalValue; } - if (this._search?.internalValue !== undefined) { + if (this._rumQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.search = this._search?.internalValue; + internalValueResult.rumQuery = this._rumQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryEventQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._dataSource = undefined; - this._indexes = undefined; - this._name = undefined; - this._compute.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._search.internalValue = undefined; + this.resolvableValue = undefined; + this._q = undefined; + this._formula.internalValue = undefined; + this._logQuery.internalValue = undefined; + this._query.internalValue = undefined; + this._rumQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._dataSource = value.dataSource; - this._indexes = value.indexes; - this._name = value.name; - this._compute.internalValue = value.compute; - this._groupBy.internalValue = value.groupBy; - this._search.internalValue = value.search; + this.resolvableValue = undefined; + this._q = value.q; + this._formula.internalValue = value.formula; + this._logQuery.internalValue = value.logQuery; + this._query.internalValue = value.query; + this._rumQuery.internalValue = value.rumQuery; } } - // data_source - computed: false, optional: false, required: true - private _dataSource?: string; - public get dataSource() { - return this.getStringAttribute('data_source'); + // q - computed: false, optional: true, required: false + private _q?: string; + public get q() { + return this.getStringAttribute('q'); } - public set dataSource(value: string) { - this._dataSource = value; + public set q(value: string) { + this._q = value; + } + public resetQ() { + this._q = undefined; } // Temporarily expose input value. Use with caution. - public get dataSourceInput() { - return this._dataSource; + public get qInput() { + return this._q; } - // indexes - computed: false, optional: true, required: false - private _indexes?: string[]; - public get indexes() { - return this.getListAttribute('indexes'); + // formula - computed: false, optional: true, required: false + private _formula = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaList(this, "formula", false); + public get formula() { + return this._formula; } - public set indexes(value: string[]) { - this._indexes = value; + public putFormula(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable) { + this._formula.internalValue = value; } - public resetIndexes() { - this._indexes = undefined; + public resetFormula() { + this._formula.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get indexesInput() { - return this._indexes; + public get formulaInput() { + return this._formula.internalValue; } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); - } - public set name(value: string) { - this._name = value; - } - // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + // log_query - computed: false, optional: true, required: false + private _logQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryOutputReference(this, "log_query"); + public get logQuery() { + return this._logQuery; } - - // compute - computed: false, optional: false, required: true - private _compute = new DashboardWidgetGeomapDefinitionRequestQueryEventQueryComputeList(this, "compute", false); - public get compute() { - return this._compute; + public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery) { + this._logQuery.internalValue = value; } - public putCompute(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable) { - this._compute.internalValue = value; + public resetLogQuery() { + this._logQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get computeInput() { - return this._compute.internalValue; + public get logQueryInput() { + return this._logQuery.internalValue; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + // query - computed: false, optional: true, required: false + private _query = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryList(this, "query", false); + public get query() { + return this._query; } - public putGroupBy(value: DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + public putQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable) { + this._query.internalValue = value; } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public resetQuery() { + this._query.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get queryInput() { + return this._query.internalValue; } - // search - computed: false, optional: true, required: false - private _search = new DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference(this, "search"); - public get search() { - return this._search; + // rum_query - computed: false, optional: true, required: false + private _rumQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryOutputReference(this, "rum_query"); + public get rumQuery() { + return this._rumQuery; } - public putSearch(value: DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch) { - this._search.internalValue = value; + public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery) { + this._rumQuery.internalValue = value; } - public resetSearch() { - this._search.internalValue = undefined; + public resetRumQuery() { + this._rumQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get searchInput() { - return this._search.internalValue; + public get rumQueryInput() { + return this._rumQuery.internalValue; } } -export interface DashboardWidgetGeomapDefinitionRequestQueryMetricQuery { + +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest[] | cdktf.IResolvable + /** - * The aggregation methods available for metrics queries. Valid values are \`avg\`, \`min\`, \`max\`, \`sum\`, \`last\`, \`area\`, \`l2norm\`, \`percentile\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregator Dashboard#aggregator} + * @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) */ - readonly aggregator?: string; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + /** - * The data source for metrics queries. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} + * @param index the index of the item to return */ - readonly dataSource?: string; + public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestOutputReference { + return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle { /** - * The name of the query for use in formulas. + * The color palette to apply to the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} */ - readonly name: string; + readonly palette: string; /** - * The metrics query definition. + * A Boolean indicating whether to flip the palette tones. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette_flip Dashboard#palette_flip} */ - readonly query: string; + readonly paletteFlip: boolean | cdktf.IResolvable; } -export function dashboardWidgetGeomapDefinitionRequestQueryMetricQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryMetricQuery): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregator: cdktf.stringToTerraform(struct!.aggregator), - data_source: cdktf.stringToTerraform(struct!.dataSource), - name: cdktf.stringToTerraform(struct!.name), - query: cdktf.stringToTerraform(struct!.query), + palette: cdktf.stringToTerraform(struct!.palette), + palette_flip: cdktf.booleanToTerraform(struct!.paletteFlip), } } -export class DashboardWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -23356,179 +28014,192 @@ export class DashboardWidgetGeomapDefinitionRequestQueryMetricQueryOutputReferen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryMetricQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregator !== undefined) { - hasAnyValues = true; - internalValueResult.aggregator = this._aggregator; - } - if (this._dataSource !== undefined) { - hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; - } - if (this._name !== undefined) { + if (this._palette !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.palette = this._palette; } - if (this._query !== undefined) { + if (this._paletteFlip !== undefined) { hasAnyValues = true; - internalValueResult.query = this._query; + internalValueResult.paletteFlip = this._paletteFlip; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryMetricQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregator = undefined; - this._dataSource = undefined; - this._name = undefined; - this._query = undefined; + this._palette = undefined; + this._paletteFlip = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregator = value.aggregator; - this._dataSource = value.dataSource; - this._name = value.name; - this._query = value.query; + this._palette = value.palette; + this._paletteFlip = value.paletteFlip; } } - // aggregator - computed: false, optional: true, required: false - private _aggregator?: string; - public get aggregator() { - return this.getStringAttribute('aggregator'); - } - public set aggregator(value: string) { - this._aggregator = value; + // palette - computed: false, optional: false, required: true + private _palette?: string; + public get palette() { + return this.getStringAttribute('palette'); } - public resetAggregator() { - this._aggregator = undefined; + public set palette(value: string) { + this._palette = value; } // Temporarily expose input value. Use with caution. - public get aggregatorInput() { - return this._aggregator; + public get paletteInput() { + return this._palette; } - // data_source - computed: false, optional: true, required: false - private _dataSource?: string; - public get dataSource() { - return this.getStringAttribute('data_source'); - } - public set dataSource(value: string) { - this._dataSource = value; + // palette_flip - computed: false, optional: false, required: true + private _paletteFlip?: boolean | cdktf.IResolvable; + public get paletteFlip() { + return this.getBooleanAttribute('palette_flip'); } - public resetDataSource() { - this._dataSource = undefined; + public set paletteFlip(value: boolean | cdktf.IResolvable) { + this._paletteFlip = value; } // Temporarily expose input value. Use with caution. - public get dataSourceInput() { - return this._dataSource; + public get paletteFlipInput() { + return this._paletteFlip; } +} +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView { + /** + * The two-letter ISO code of a country to focus the map on (or \`WORLD\`). + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#focus Dashboard#focus} + */ + readonly focus: string; +} - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public set name(value: string) { - this._name = value; + return { + focus: cdktf.stringToTerraform(struct!.focus), } - // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; +} + +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // query - computed: false, optional: false, required: true - private _query?: string; - public get query() { - return this.getStringAttribute('query'); + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._focus !== undefined) { + hasAnyValues = true; + internalValueResult.focus = this._focus; + } + return hasAnyValues ? internalValueResult : undefined; } - public set query(value: string) { - this._query = value; + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._focus = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._focus = value.focus; + } + } + + // focus - computed: false, optional: false, required: true + private _focus?: string; + public get focus() { + return this.getStringAttribute('focus'); + } + public set focus(value: string) { + this._focus = value; } // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query; + public get focusInput() { + return this._focus; } } -export interface DashboardWidgetGeomapDefinitionRequestQueryProcessQuery { - /** - * The aggregation methods available for metrics queries. Valid values are \`avg\`, \`min\`, \`max\`, \`sum\`, \`last\`, \`area\`, \`l2norm\`, \`percentile\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregator Dashboard#aggregator} - */ - readonly aggregator?: string; +export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinition { /** - * The data source for process queries. Valid values are \`process\`, \`container\`. + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} */ - readonly dataSource: string; + readonly liveSpan?: string; /** - * Whether to normalize the CPU percentages. + * The title of the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_normalized_cpu Dashboard#is_normalized_cpu} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} */ - readonly isNormalizedCpu?: boolean | cdktf.IResolvable; + readonly title?: string; /** - * The number of hits to return. + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} */ - readonly limit?: number; + readonly titleAlign?: string; /** - * The process metric name. + * The size of the widget's title (defaults to 16). * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} */ - readonly metric: string; + readonly titleSize?: string; /** - * The name of query for use in formulas. + * custom_link block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_link Dashboard#custom_link} */ - readonly name: string; + readonly customLink?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink[] | cdktf.IResolvable; /** - * The direction of the sort. Valid values are \`asc\`, \`desc\`. + * request block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort Dashboard#sort} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} */ - readonly sort?: string; + readonly request?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest[] | cdktf.IResolvable; /** - * An array of tags to filter by. + * style block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tag_filters Dashboard#tag_filters} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} */ - readonly tagFilters?: string[]; + readonly style?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle; /** - * The text to use as a filter. + * view block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_filter Dashboard#text_filter} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#view Dashboard#view} */ - readonly textFilter?: string; + readonly view: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView; } -export function dashboardWidgetGeomapDefinitionRequestQueryProcessQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference | DashboardWidgetGeomapDefinitionRequestQueryProcessQuery): any { +export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregator: cdktf.stringToTerraform(struct!.aggregator), - data_source: cdktf.stringToTerraform(struct!.dataSource), - is_normalized_cpu: cdktf.booleanToTerraform(struct!.isNormalizedCpu), - limit: cdktf.numberToTerraform(struct!.limit), - metric: cdktf.stringToTerraform(struct!.metric), - name: cdktf.stringToTerraform(struct!.name), - sort: cdktf.stringToTerraform(struct!.sort), - tag_filters: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.tagFilters), - text_filter: cdktf.stringToTerraform(struct!.textFilter), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), + custom_link: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkToTerraform, true)(struct!.customLink), + request: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestToTerraform, true)(struct!.request), + style: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleToTerraform(struct!.style), + view: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewToTerraform(struct!.view), } } -export class DashboardWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -23539,258 +28210,235 @@ export class DashboardWidgetGeomapDefinitionRequestQueryProcessQueryOutputRefere super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQueryProcessQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregator !== undefined) { - hasAnyValues = true; - internalValueResult.aggregator = this._aggregator; - } - if (this._dataSource !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; + internalValueResult.liveSpan = this._liveSpan; } - if (this._isNormalizedCpu !== undefined) { + if (this._title !== undefined) { hasAnyValues = true; - internalValueResult.isNormalizedCpu = this._isNormalizedCpu; + internalValueResult.title = this._title; } - if (this._limit !== undefined) { + if (this._titleAlign !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.titleAlign = this._titleAlign; } - if (this._metric !== undefined) { + if (this._titleSize !== undefined) { hasAnyValues = true; - internalValueResult.metric = this._metric; + internalValueResult.titleSize = this._titleSize; } - if (this._name !== undefined) { + if (this._customLink?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.customLink = this._customLink?.internalValue; } - if (this._sort !== undefined) { + if (this._request?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sort = this._sort; + internalValueResult.request = this._request?.internalValue; } - if (this._tagFilters !== undefined) { + if (this._style?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.tagFilters = this._tagFilters; + internalValueResult.style = this._style?.internalValue; } - if (this._textFilter !== undefined) { + if (this._view?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.textFilter = this._textFilter; + internalValueResult.view = this._view?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQueryProcessQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregator = undefined; - this._dataSource = undefined; - this._isNormalizedCpu = undefined; - this._limit = undefined; - this._metric = undefined; - this._name = undefined; - this._sort = undefined; - this._tagFilters = undefined; - this._textFilter = undefined; + this._liveSpan = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; + this._customLink.internalValue = undefined; + this._request.internalValue = undefined; + this._style.internalValue = undefined; + this._view.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregator = value.aggregator; - this._dataSource = value.dataSource; - this._isNormalizedCpu = value.isNormalizedCpu; - this._limit = value.limit; - this._metric = value.metric; - this._name = value.name; - this._sort = value.sort; - this._tagFilters = value.tagFilters; - this._textFilter = value.textFilter; + this._liveSpan = value.liveSpan; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; + this._customLink.internalValue = value.customLink; + this._request.internalValue = value.request; + this._style.internalValue = value.style; + this._view.internalValue = value.view; } } - // aggregator - computed: false, optional: true, required: false - private _aggregator?: string; - public get aggregator() { - return this.getStringAttribute('aggregator'); + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public set aggregator(value: string) { - this._aggregator = value; + public set liveSpan(value: string) { + this._liveSpan = value; } - public resetAggregator() { - this._aggregator = undefined; + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get aggregatorInput() { - return this._aggregator; + public get liveSpanInput() { + return this._liveSpan; } - // data_source - computed: false, optional: false, required: true - private _dataSource?: string; - public get dataSource() { - return this.getStringAttribute('data_source'); + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); } - public set dataSource(value: string) { - this._dataSource = value; + public set title(value: string) { + this._title = value; + } + public resetTitle() { + this._title = undefined; } // Temporarily expose input value. Use with caution. - public get dataSourceInput() { - return this._dataSource; + public get titleInput() { + return this._title; } - // is_normalized_cpu - computed: false, optional: true, required: false - private _isNormalizedCpu?: boolean | cdktf.IResolvable; - public get isNormalizedCpu() { - return this.getBooleanAttribute('is_normalized_cpu'); + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); } - public set isNormalizedCpu(value: boolean | cdktf.IResolvable) { - this._isNormalizedCpu = value; + public set titleAlign(value: string) { + this._titleAlign = value; } - public resetIsNormalizedCpu() { - this._isNormalizedCpu = undefined; + public resetTitleAlign() { + this._titleAlign = undefined; } // Temporarily expose input value. Use with caution. - public get isNormalizedCpuInput() { - return this._isNormalizedCpu; + public get titleAlignInput() { + return this._titleAlign; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); } - public set limit(value: number) { - this._limit = value; + public set titleSize(value: string) { + this._titleSize = value; } - public resetLimit() { - this._limit = undefined; + public resetTitleSize() { + this._titleSize = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get titleSizeInput() { + return this._titleSize; } - // metric - computed: false, optional: false, required: true - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); - } - public set metric(value: string) { - this._metric = value; - } - // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + // custom_link - computed: false, optional: true, required: false + private _customLink = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkList(this, "custom_link", false); + public get customLink() { + return this._customLink; } - - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + public putCustomLink(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink[] | cdktf.IResolvable) { + this._customLink.internalValue = value; } - public set name(value: string) { - this._name = value; + public resetCustomLink() { + this._customLink.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get customLinkInput() { + return this._customLink.internalValue; } - // sort - computed: false, optional: true, required: false - private _sort?: string; - public get sort() { - return this.getStringAttribute('sort'); + // request - computed: false, optional: true, required: false + private _request = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestList(this, "request", false); + public get request() { + return this._request; } - public set sort(value: string) { - this._sort = value; + public putRequest(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest[] | cdktf.IResolvable) { + this._request.internalValue = value; } - public resetSort() { - this._sort = undefined; + public resetRequest() { + this._request.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortInput() { - return this._sort; + public get requestInput() { + return this._request.internalValue; } - // tag_filters - computed: false, optional: true, required: false - private _tagFilters?: string[]; - public get tagFilters() { - return this.getListAttribute('tag_filters'); + // style - computed: false, optional: true, required: false + private _style = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleOutputReference(this, "style"); + public get style() { + return this._style; } - public set tagFilters(value: string[]) { - this._tagFilters = value; + public putStyle(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle) { + this._style.internalValue = value; } - public resetTagFilters() { - this._tagFilters = undefined; + public resetStyle() { + this._style.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get tagFiltersInput() { - return this._tagFilters; + public get styleInput() { + return this._style.internalValue; } - // text_filter - computed: false, optional: true, required: false - private _textFilter?: string; - public get textFilter() { - return this.getStringAttribute('text_filter'); - } - public set textFilter(value: string) { - this._textFilter = value; + // view - computed: false, optional: false, required: true + private _view = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewOutputReference(this, "view"); + public get view() { + return this._view; } - public resetTextFilter() { - this._textFilter = undefined; + public putView(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView) { + this._view.internalValue = value; } // Temporarily expose input value. Use with caution. - public get textFilterInput() { - return this._textFilter; + public get viewInput() { + return this._view.internalValue; } } -export interface DashboardWidgetGeomapDefinitionRequestQuery { - /** - * apm_dependency_stats_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_dependency_stats_query Dashboard#apm_dependency_stats_query} - */ - readonly apmDependencyStatsQuery?: DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery; +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink { /** - * apm_resource_stats_query block + * The flag for toggling context menu link visibility. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_resource_stats_query Dashboard#apm_resource_stats_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} */ - readonly apmResourceStatsQuery?: DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery; + readonly isHidden?: boolean | cdktf.IResolvable; /** - * event_query block + * The label for the custom link URL. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event_query Dashboard#event_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} */ - readonly eventQuery?: DashboardWidgetGeomapDefinitionRequestQueryEventQuery; + readonly label?: string; /** - * metric_query block + * The URL of the custom link. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric_query Dashboard#metric_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} */ - readonly metricQuery?: DashboardWidgetGeomapDefinitionRequestQueryMetricQuery; + readonly link?: string; /** - * process_query block + * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} */ - readonly processQuery?: DashboardWidgetGeomapDefinitionRequestQueryProcessQuery; + readonly overrideLabel?: string; } -export function dashboardWidgetGeomapDefinitionRequestQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - apm_dependency_stats_query: dashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryToTerraform(struct!.apmDependencyStatsQuery), - apm_resource_stats_query: dashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryToTerraform(struct!.apmResourceStatsQuery), - event_query: dashboardWidgetGeomapDefinitionRequestQueryEventQueryToTerraform(struct!.eventQuery), - metric_query: dashboardWidgetGeomapDefinitionRequestQueryMetricQueryToTerraform(struct!.metricQuery), - process_query: dashboardWidgetGeomapDefinitionRequestQueryProcessQueryToTerraform(struct!.processQuery), + is_hidden: cdktf.booleanToTerraform(struct!.isHidden), + label: cdktf.stringToTerraform(struct!.label), + link: cdktf.stringToTerraform(struct!.link), + override_label: cdktf.stringToTerraform(struct!.overrideLabel), } } -export class DashboardWidgetGeomapDefinitionRequestQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -23804,44 +28452,39 @@ export class DashboardWidgetGeomapDefinitionRequestQueryOutputReference extends super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._apmDependencyStatsQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.apmDependencyStatsQuery = this._apmDependencyStatsQuery?.internalValue; - } - if (this._apmResourceStatsQuery?.internalValue !== undefined) { + if (this._isHidden !== undefined) { hasAnyValues = true; - internalValueResult.apmResourceStatsQuery = this._apmResourceStatsQuery?.internalValue; + internalValueResult.isHidden = this._isHidden; } - if (this._eventQuery?.internalValue !== undefined) { + if (this._label !== undefined) { hasAnyValues = true; - internalValueResult.eventQuery = this._eventQuery?.internalValue; + internalValueResult.label = this._label; } - if (this._metricQuery?.internalValue !== undefined) { + if (this._link !== undefined) { hasAnyValues = true; - internalValueResult.metricQuery = this._metricQuery?.internalValue; + internalValueResult.link = this._link; } - if (this._processQuery?.internalValue !== undefined) { + if (this._overrideLabel !== undefined) { hasAnyValues = true; - internalValueResult.processQuery = this._processQuery?.internalValue; + internalValueResult.overrideLabel = this._overrideLabel; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._apmDependencyStatsQuery.internalValue = undefined; - this._apmResourceStatsQuery.internalValue = undefined; - this._eventQuery.internalValue = undefined; - this._metricQuery.internalValue = undefined; - this._processQuery.internalValue = undefined; + this._isHidden = undefined; + this._label = undefined; + this._link = undefined; + this._overrideLabel = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -23850,97 +28493,205 @@ export class DashboardWidgetGeomapDefinitionRequestQueryOutputReference extends else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._apmDependencyStatsQuery.internalValue = value.apmDependencyStatsQuery; - this._apmResourceStatsQuery.internalValue = value.apmResourceStatsQuery; - this._eventQuery.internalValue = value.eventQuery; - this._metricQuery.internalValue = value.metricQuery; - this._processQuery.internalValue = value.processQuery; + this._isHidden = value.isHidden; + this._label = value.label; + this._link = value.link; + this._overrideLabel = value.overrideLabel; } } - // apm_dependency_stats_query - computed: false, optional: true, required: false - private _apmDependencyStatsQuery = new DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference(this, "apm_dependency_stats_query"); - public get apmDependencyStatsQuery() { - return this._apmDependencyStatsQuery; + // is_hidden - computed: false, optional: true, required: false + private _isHidden?: boolean | cdktf.IResolvable; + public get isHidden() { + return this.getBooleanAttribute('is_hidden'); } - public putApmDependencyStatsQuery(value: DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery) { - this._apmDependencyStatsQuery.internalValue = value; + public set isHidden(value: boolean | cdktf.IResolvable) { + this._isHidden = value; } - public resetApmDependencyStatsQuery() { - this._apmDependencyStatsQuery.internalValue = undefined; + public resetIsHidden() { + this._isHidden = undefined; } // Temporarily expose input value. Use with caution. - public get apmDependencyStatsQueryInput() { - return this._apmDependencyStatsQuery.internalValue; + public get isHiddenInput() { + return this._isHidden; } - // apm_resource_stats_query - computed: false, optional: true, required: false - private _apmResourceStatsQuery = new DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference(this, "apm_resource_stats_query"); - public get apmResourceStatsQuery() { - return this._apmResourceStatsQuery; + // label - computed: false, optional: true, required: false + private _label?: string; + public get label() { + return this.getStringAttribute('label'); } - public putApmResourceStatsQuery(value: DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery) { - this._apmResourceStatsQuery.internalValue = value; + public set label(value: string) { + this._label = value; } - public resetApmResourceStatsQuery() { - this._apmResourceStatsQuery.internalValue = undefined; + public resetLabel() { + this._label = undefined; } // Temporarily expose input value. Use with caution. - public get apmResourceStatsQueryInput() { - return this._apmResourceStatsQuery.internalValue; + public get labelInput() { + return this._label; } - // event_query - computed: false, optional: true, required: false - private _eventQuery = new DashboardWidgetGeomapDefinitionRequestQueryEventQueryOutputReference(this, "event_query"); - public get eventQuery() { - return this._eventQuery; + // link - computed: false, optional: true, required: false + private _link?: string; + public get link() { + return this.getStringAttribute('link'); } - public putEventQuery(value: DashboardWidgetGeomapDefinitionRequestQueryEventQuery) { - this._eventQuery.internalValue = value; + public set link(value: string) { + this._link = value; } - public resetEventQuery() { - this._eventQuery.internalValue = undefined; + public resetLink() { + this._link = undefined; } // Temporarily expose input value. Use with caution. - public get eventQueryInput() { - return this._eventQuery.internalValue; + public get linkInput() { + return this._link; + } + + // override_label - computed: false, optional: true, required: false + private _overrideLabel?: string; + public get overrideLabel() { + return this.getStringAttribute('override_label'); + } + public set overrideLabel(value: string) { + this._overrideLabel = value; + } + public resetOverrideLabel() { + this._overrideLabel = undefined; + } + // Temporarily expose input value. Use with caution. + public get overrideLabelInput() { + return this._overrideLabel; + } +} + +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent { + /** + * The event query to use in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} + */ + readonly q: string; + /** + * The execution method for multi-value filters. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} + */ + readonly tagsExecution?: string; +} + +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent | cdktf.IResolvable): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + q: cdktf.stringToTerraform(struct!.q), + tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), + } +} + +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; + + /** + * @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) + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._q !== undefined) { + hasAnyValues = true; + internalValueResult.q = this._q; + } + if (this._tagsExecution !== undefined) { + hasAnyValues = true; + internalValueResult.tagsExecution = this._tagsExecution; + } + return hasAnyValues ? internalValueResult : undefined; } - // metric_query - computed: false, optional: true, required: false - private _metricQuery = new DashboardWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference(this, "metric_query"); - public get metricQuery() { - return this._metricQuery; + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent | cdktf.IResolvable | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this.resolvableValue = undefined; + this._q = undefined; + this._tagsExecution = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._q = value.q; + this._tagsExecution = value.tagsExecution; + } } - public putMetricQuery(value: DashboardWidgetGeomapDefinitionRequestQueryMetricQuery) { - this._metricQuery.internalValue = value; + + // q - computed: false, optional: false, required: true + private _q?: string; + public get q() { + return this.getStringAttribute('q'); } - public resetMetricQuery() { - this._metricQuery.internalValue = undefined; + public set q(value: string) { + this._q = value; } // Temporarily expose input value. Use with caution. - public get metricQueryInput() { - return this._metricQuery.internalValue; + public get qInput() { + return this._q; } - // process_query - computed: false, optional: true, required: false - private _processQuery = new DashboardWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference(this, "process_query"); - public get processQuery() { - return this._processQuery; + // tags_execution - computed: false, optional: true, required: false + private _tagsExecution?: string; + public get tagsExecution() { + return this.getStringAttribute('tags_execution'); } - public putProcessQuery(value: DashboardWidgetGeomapDefinitionRequestQueryProcessQuery) { - this._processQuery.internalValue = value; + public set tagsExecution(value: string) { + this._tagsExecution = value; } - public resetProcessQuery() { - this._processQuery.internalValue = undefined; + public resetTagsExecution() { + this._tagsExecution = undefined; } // Temporarily expose input value. Use with caution. - public get processQueryInput() { - return this._processQuery.internalValue; + public get tagsExecutionInput() { + return this._tagsExecution; } } -export class DashboardWidgetGeomapDefinitionRequestQueryList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -23954,11 +28705,11 @@ export class DashboardWidgetGeomapDefinitionRequestQueryList extends cdktf.Compl /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestQueryOutputReference { - return new DashboardWidgetGeomapDefinitionRequestQueryOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. * @@ -23979,7 +28730,7 @@ export interface DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery { readonly interval?: number; } -export function dashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -23991,7 +28742,7 @@ export function dashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryToTerr } } -export class DashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -24002,7 +28753,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputRef super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -24020,7 +28771,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputRef return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -24080,7 +28831,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputRef return this._interval; } } -export interface DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. * @@ -24101,7 +28852,7 @@ export interface DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery readonly order: string; } -export function dashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -24113,7 +28864,7 @@ export function dashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryTo } } -export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -24124,7 +28875,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutpu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -24142,7 +28893,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutpu return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -24199,7 +28950,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutpu return this._order; } } -export interface DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy { /** * The facet name. * @@ -24217,10 +28968,10 @@ export interface DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery; } -export function dashboardWidgetGeomapDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -24228,11 +28979,11 @@ export function dashboardWidgetGeomapDefinitionRequestRumQueryGroupByToTerraform return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -24246,7 +28997,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReferenc super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -24267,7 +29018,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReferenc return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -24321,11 +29072,11 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReferenc } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -24337,8 +29088,8 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReferenc } } -export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -24352,11 +29103,11 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryGroupByList extends c /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference { - return new DashboardWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. * @@ -24377,7 +29128,7 @@ export interface DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute { readonly interval?: number; } -export function dashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -24389,7 +29140,7 @@ export function dashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeToTerr } } -export class DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -24403,7 +29154,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputRef super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -24424,7 +29175,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputRef return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -24491,8 +29242,8 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputRef } } -export class DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -24506,11 +29257,11 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeList exte /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference { - return new DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGeomapDefinitionRequestRumQuery { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery { /** * The name of the index to query. * @@ -24528,22 +29279,22 @@ export interface DashboardWidgetGeomapDefinitionRequestRumQuery { * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetGeomapDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference | DashboardWidgetGeomapDefinitionRequestRumQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -24551,13 +29302,13 @@ export function dashboardWidgetGeomapDefinitionRequestRumQueryToTerraform(struct return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -24568,7 +29319,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference exten super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequestRumQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -24594,7 +29345,7 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference exten return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequestRumQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -24643,11 +29394,11 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference exten } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetGeomapDefinitionRequestRumQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -24659,11 +29410,11 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference exten } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGeomapDefinitionRequestRumQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -24675,11 +29426,11 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference exten } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGeomapDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -24690,54 +29441,281 @@ export class DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference exten return this._multiCompute.internalValue; } } -export interface DashboardWidgetGeomapDefinitionRequest { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery { /** - * The metric query to use for this widget. + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly q?: string; + readonly aggregation: string; /** - * formula block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#formula Dashboard#formula} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly formula?: DashboardWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable; + readonly facet?: string; /** - * log_query block + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly logQuery?: DashboardWidgetGeomapDefinitionRequestLogQuery; + readonly interval?: number; +} + +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), + } +} + +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * query block + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; + } + } + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); + } + public set aggregation(value: string) { + this._aggregation = value; + } + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; + } +} +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery { + /** + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly query?: DashboardWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable; + readonly aggregation: string; /** - * rum_query block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly rumQuery?: DashboardWidgetGeomapDefinitionRequestRumQuery; + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function dashboardWidgetGeomapDefinitionRequestToTerraform(struct?: DashboardWidgetGeomapDefinitionRequest | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - q: cdktf.stringToTerraform(struct!.q), - formula: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestFormulaToTerraform, true)(struct!.formula), - log_query: dashboardWidgetGeomapDefinitionRequestLogQueryToTerraform(struct!.logQuery), - query: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestQueryToTerraform, true)(struct!.query), - rum_query: dashboardWidgetGeomapDefinitionRequestRumQueryToTerraform(struct!.rumQuery), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetGeomapDefinitionRequestOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; + } + } + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); + } + public set aggregation(value: string) { + this._aggregation = value; + } + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; + } +} +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy { + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery; +} + +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + } +} + +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -24751,44 +29729,34 @@ export class DashboardWidgetGeomapDefinitionRequestOutputReference extends cdktf super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGeomapDefinitionRequest | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._q !== undefined) { - hasAnyValues = true; - internalValueResult.q = this._q; - } - if (this._formula?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.formula = this._formula?.internalValue; - } - if (this._logQuery?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.logQuery = this._logQuery?.internalValue; + internalValueResult.facet = this._facet; } - if (this._query?.internalValue !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.query = this._query?.internalValue; + internalValueResult.limit = this._limit; } - if (this._rumQuery?.internalValue !== undefined) { + if (this._sortQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.rumQuery = this._rumQuery?.internalValue; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionRequest | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._q = undefined; - this._formula.internalValue = undefined; - this._logQuery.internalValue = undefined; - this._query.internalValue = undefined; - this._rumQuery.internalValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -24797,97 +29765,63 @@ export class DashboardWidgetGeomapDefinitionRequestOutputReference extends cdktf else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._q = value.q; - this._formula.internalValue = value.formula; - this._logQuery.internalValue = value.logQuery; - this._query.internalValue = value.query; - this._rumQuery.internalValue = value.rumQuery; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // q - computed: false, optional: true, required: false - private _q?: string; - public get q() { - return this.getStringAttribute('q'); - } - public set q(value: string) { - this._q = value; - } - public resetQ() { - this._q = undefined; - } - // Temporarily expose input value. Use with caution. - public get qInput() { - return this._q; - } - - // formula - computed: false, optional: true, required: false - private _formula = new DashboardWidgetGeomapDefinitionRequestFormulaList(this, "formula", false); - public get formula() { - return this._formula; - } - public putFormula(value: DashboardWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable) { - this._formula.internalValue = value; - } - public resetFormula() { - this._formula.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get formulaInput() { - return this._formula.internalValue; - } - - // log_query - computed: false, optional: true, required: false - private _logQuery = new DashboardWidgetGeomapDefinitionRequestLogQueryOutputReference(this, "log_query"); - public get logQuery() { - return this._logQuery; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putLogQuery(value: DashboardWidgetGeomapDefinitionRequestLogQuery) { - this._logQuery.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetLogQuery() { - this._logQuery.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get logQueryInput() { - return this._logQuery.internalValue; + public get facetInput() { + return this._facet; } - // query - computed: false, optional: true, required: false - private _query = new DashboardWidgetGeomapDefinitionRequestQueryList(this, "query", false); - public get query() { - return this._query; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public putQuery(value: DashboardWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable) { - this._query.internalValue = value; + public set limit(value: number) { + this._limit = value; } - public resetQuery() { - this._query.internalValue = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query.internalValue; + public get limitInput() { + return this._limit; } - // rum_query - computed: false, optional: true, required: false - private _rumQuery = new DashboardWidgetGeomapDefinitionRequestRumQueryOutputReference(this, "rum_query"); - public get rumQuery() { - return this._rumQuery; + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - public putRumQuery(value: DashboardWidgetGeomapDefinitionRequestRumQuery) { - this._rumQuery.internalValue = value; + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public resetRumQuery() { - this._rumQuery.internalValue = undefined; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get rumQueryInput() { - return this._rumQuery.internalValue; + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class DashboardWidgetGeomapDefinitionRequestList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGeomapDefinitionRequest[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -24901,120 +29835,212 @@ export class DashboardWidgetGeomapDefinitionRequestList extends cdktf.ComplexLis /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGeomapDefinitionRequestOutputReference { - return new DashboardWidgetGeomapDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGeomapDefinitionStyle { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute { /** - * The color palette to apply to the widget. + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly palette: string; + readonly aggregation: string; /** - * A Boolean indicating whether to flip the palette tones. + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette_flip Dashboard#palette_flip} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly paletteFlip: boolean | cdktf.IResolvable; + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function dashboardWidgetGeomapDefinitionStyleToTerraform(struct?: DashboardWidgetGeomapDefinitionStyleOutputReference | DashboardWidgetGeomapDefinitionStyle): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - palette: cdktf.stringToTerraform(struct!.palette), - palette_flip: cdktf.booleanToTerraform(struct!.paletteFlip), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetGeomapDefinitionStyleOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGeomapDefinitionStyle | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._palette !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.palette = this._palette; + internalValueResult.aggregation = this._aggregation; } - if (this._paletteFlip !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.paletteFlip = this._paletteFlip; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionStyle | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._palette = undefined; - this._paletteFlip = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._palette = value.palette; - this._paletteFlip = value.paletteFlip; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // palette - computed: false, optional: false, required: true - private _palette?: string; - public get palette() { - return this.getStringAttribute('palette'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set palette(value: string) { - this._palette = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get paletteInput() { - return this._palette; + public get aggregationInput() { + return this._aggregation; } - // palette_flip - computed: false, optional: false, required: true - private _paletteFlip?: boolean | cdktf.IResolvable; - public get paletteFlip() { - return this.getBooleanAttribute('palette_flip'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set paletteFlip(value: boolean | cdktf.IResolvable) { - this._paletteFlip = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get paletteFlipInput() { - return this._paletteFlip; + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export interface DashboardWidgetGeomapDefinitionView { + +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable + /** - * The two-letter ISO code of a country to focus the map on (or \`WORLD\`). + * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery { + /** + * The name of the index to query. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#focus Dashboard#focus} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly focus: string; + readonly index: string; + /** + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + */ + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetGeomapDefinitionViewToTerraform(struct?: DashboardWidgetGeomapDefinitionViewOutputReference | DashboardWidgetGeomapDefinitionView): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - focus: cdktf.stringToTerraform(struct!.focus), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGeomapDefinitionViewOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -25025,109 +30051,313 @@ export class DashboardWidgetGeomapDefinitionViewOutputReference extends cdktf.Co super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinitionView | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._focus !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.focus = this._focus; + internalValueResult.index = this._index; + } + if (this._searchQuery !== undefined) { + hasAnyValues = true; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinitionView | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._focus = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._focus = value.focus; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // focus - computed: false, optional: false, required: true - private _focus?: string; - public get focus() { - return this.getStringAttribute('focus'); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public set focus(value: string) { - this._focus = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get focusInput() { - return this._focus; + public get indexInput() { + return this._index; + } + + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); + } + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchQueryInput() { + return this._searchQuery; + } + + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; + } + + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; + } + + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface DashboardWidgetGeomapDefinition { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery { /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. + * A list of processes. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} */ - readonly liveSpan?: string; + readonly filterBy?: string[]; /** - * The title of the widget. + * The max number of items in the filter list. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly title?: string; + readonly limit?: number; /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * Your chosen metric. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} */ - readonly titleAlign?: string; + readonly metric: string; /** - * The size of the widget's title (defaults to 16). + * Your chosen search term. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} */ - readonly titleSize?: string; + readonly searchBy?: string; +} + +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), + limit: cdktf.numberToTerraform(struct!.limit), + metric: cdktf.stringToTerraform(struct!.metric), + search_by: cdktf.stringToTerraform(struct!.searchBy), + } +} + +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * custom_link block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_link Dashboard#custom_link} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly customLink?: DashboardWidgetGeomapDefinitionCustomLink[] | cdktf.IResolvable; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._filterBy !== undefined) { + hasAnyValues = true; + internalValueResult.filterBy = this._filterBy; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._metric !== undefined) { + hasAnyValues = true; + internalValueResult.metric = this._metric; + } + if (this._searchBy !== undefined) { + hasAnyValues = true; + internalValueResult.searchBy = this._searchBy; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._filterBy = undefined; + this._limit = undefined; + this._metric = undefined; + this._searchBy = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._filterBy = value.filterBy; + this._limit = value.limit; + this._metric = value.metric; + this._searchBy = value.searchBy; + } + } + + // filter_by - computed: false, optional: true, required: false + private _filterBy?: string[]; + public get filterBy() { + return this.getListAttribute('filter_by'); + } + public set filterBy(value: string[]) { + this._filterBy = value; + } + public resetFilterBy() { + this._filterBy = undefined; + } + // Temporarily expose input value. Use with caution. + public get filterByInput() { + return this._filterBy; + } + + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); + } + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; + } + + // metric - computed: false, optional: false, required: true + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); + } + public set metric(value: string) { + this._metric = value; + } + // Temporarily expose input value. Use with caution. + public get metricInput() { + return this._metric; + } + + // search_by - computed: false, optional: true, required: false + private _searchBy?: string; + public get searchBy() { + return this.getStringAttribute('search_by'); + } + public set searchBy(value: string) { + this._searchBy = value; + } + public resetSearchBy() { + this._searchBy = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchByInput() { + return this._searchBy; + } +} +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery { /** - * request block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly request?: DashboardWidgetGeomapDefinitionRequest[] | cdktf.IResolvable; + readonly aggregation: string; /** - * style block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly style?: DashboardWidgetGeomapDefinitionStyle; + readonly facet?: string; /** - * view block + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#view Dashboard#view} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly view: DashboardWidgetGeomapDefinitionView; + readonly interval?: number; } -export function dashboardWidgetGeomapDefinitionToTerraform(struct?: DashboardWidgetGeomapDefinitionOutputReference | DashboardWidgetGeomapDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - live_span: cdktf.stringToTerraform(struct!.liveSpan), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), - custom_link: cdktf.listMapper(dashboardWidgetGeomapDefinitionCustomLinkToTerraform, true)(struct!.customLink), - request: cdktf.listMapper(dashboardWidgetGeomapDefinitionRequestToTerraform, true)(struct!.request), - style: dashboardWidgetGeomapDefinitionStyleToTerraform(struct!.style), - view: dashboardWidgetGeomapDefinitionViewToTerraform(struct!.view), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetGeomapDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -25138,825 +30368,695 @@ export class DashboardWidgetGeomapDefinitionOutputReference extends cdktf.Comple super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGeomapDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._title !== undefined) { - hasAnyValues = true; - internalValueResult.title = this._title; - } - if (this._titleAlign !== undefined) { - hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; - } - if (this._titleSize !== undefined) { - hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; - } - if (this._customLink?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.customLink = this._customLink?.internalValue; - } - if (this._request?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.request = this._request?.internalValue; + internalValueResult.aggregation = this._aggregation; } - if (this._style?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.style = this._style?.internalValue; + internalValueResult.facet = this._facet; } - if (this._view?.internalValue !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.view = this._view?.internalValue; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGeomapDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._liveSpan = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; - this._customLink.internalValue = undefined; - this._request.internalValue = undefined; - this._style.internalValue = undefined; - this._view.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._liveSpan = value.liveSpan; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; - this._customLink.internalValue = value.customLink; - this._request.internalValue = value.request; - this._style.internalValue = value.style; - this._view.internalValue = value.view; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetLiveSpan() { - this._liveSpan = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; + public get aggregationInput() { + return this._aggregation; } - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set title(value: string) { - this._title = value; + public set facet(value: string) { + this._facet = value; } - public resetTitle() { - this._title = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + public get facetInput() { + return this._facet; } - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public set titleAlign(value: string) { - this._titleAlign = value; + public set interval(value: number) { + this._interval = value; } - public resetTitleAlign() { - this._titleAlign = undefined; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + public get intervalInput() { + return this._interval; } +} +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; +} - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); - } - public set titleSize(value: string) { - this._titleSize = value; - } - public resetTitleSize() { - this._titleSize = undefined; +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } +} - // custom_link - computed: false, optional: true, required: false - private _customLink = new DashboardWidgetGeomapDefinitionCustomLinkList(this, "custom_link", false); - public get customLink() { - return this._customLink; - } - public putCustomLink(value: DashboardWidgetGeomapDefinitionCustomLink[] | cdktf.IResolvable) { - this._customLink.internalValue = value; - } - public resetCustomLink() { - this._customLink.internalValue = undefined; +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // Temporarily expose input value. Use with caution. - public get customLinkInput() { - return this._customLink.internalValue; + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; + } + return hasAnyValues ? internalValueResult : undefined; } - // request - computed: false, optional: true, required: false - private _request = new DashboardWidgetGeomapDefinitionRequestList(this, "request", false); - public get request() { - return this._request; + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; + } } - public putRequest(value: DashboardWidgetGeomapDefinitionRequest[] | cdktf.IResolvable) { - this._request.internalValue = value; + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetRequest() { - this._request.internalValue = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get requestInput() { - return this._request.internalValue; + public get aggregationInput() { + return this._aggregation; } - // style - computed: false, optional: true, required: false - private _style = new DashboardWidgetGeomapDefinitionStyleOutputReference(this, "style"); - public get style() { - return this._style; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putStyle(value: DashboardWidgetGeomapDefinitionStyle) { - this._style.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetStyle() { - this._style.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get styleInput() { - return this._style.internalValue; + public get facetInput() { + return this._facet; } - // view - computed: false, optional: false, required: true - private _view = new DashboardWidgetGeomapDefinitionViewOutputReference(this, "view"); - public get view() { - return this._view; + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - public putView(value: DashboardWidgetGeomapDefinitionView) { - this._view.internalValue = value; + public set order(value: string) { + this._order = value; } // Temporarily expose input value. Use with caution. - public get viewInput() { - return this._view.internalValue; + public get orderInput() { + return this._order; } } -export interface DashboardWidgetGroupDefinitionWidgetAlertGraphDefinition { - /** - * The ID of the monitor used by the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#alert_id Dashboard#alert_id} - */ - readonly alertId: string; - /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} - */ - readonly liveSpan?: string; - /** - * The title of the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} - */ - readonly title?: string; +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy { /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly titleAlign?: string; + readonly facet?: string; /** - * The size of the widget's title (defaults to 16). + * The maximum number of items in the group. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly titleSize?: string; + readonly limit?: number; /** - * Type of visualization to use when displaying the widget. Valid values are \`timeseries\`, \`toplist\`. + * sort_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#viz_type Dashboard#viz_type} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly vizType: string; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery; } -export function dashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetAlertGraphDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - alert_id: cdktf.stringToTerraform(struct!.alertId), - live_span: cdktf.stringToTerraform(struct!.liveSpan), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), - viz_type: cdktf.stringToTerraform(struct!.vizType), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetAlertGraphDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._alertId !== undefined) { - hasAnyValues = true; - internalValueResult.alertId = this._alertId; - } - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._title !== undefined) { - hasAnyValues = true; - internalValueResult.title = this._title; - } - if (this._titleAlign !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.facet = this._facet; } - if (this._titleSize !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.limit = this._limit; } - if (this._vizType !== undefined) { + if (this._sortQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.vizType = this._vizType; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetAlertGraphDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._alertId = undefined; - this._liveSpan = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; - this._vizType = undefined; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._alertId = value.alertId; - this._liveSpan = value.liveSpan; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; - this._vizType = value.vizType; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // alert_id - computed: false, optional: false, required: true - private _alertId?: string; - public get alertId() { - return this.getStringAttribute('alert_id'); - } - public set alertId(value: string) { - this._alertId = value; - } - // Temporarily expose input value. Use with caution. - public get alertIdInput() { - return this._alertId; - } - - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set liveSpan(value: string) { - this._liveSpan = value; + public set facet(value: string) { + this._facet = value; } - public resetLiveSpan() { - this._liveSpan = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; + public get facetInput() { + return this._facet; } - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public set title(value: string) { - this._title = value; + public set limit(value: number) { + this._limit = value; } - public resetTitle() { - this._title = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + public get limitInput() { + return this._limit; } - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - public set titleAlign(value: string) { - this._titleAlign = value; + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public resetTitleAlign() { - this._titleAlign = undefined; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + public get sortQueryInput() { + return this._sortQuery.internalValue; } +} - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); - } - public set titleSize(value: string) { - this._titleSize = value; - } - public resetTitleSize() { - this._titleSize = undefined; - } - // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; - } +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable - // viz_type - computed: false, optional: false, required: true - private _vizType?: string; - public get vizType() { - return this.getStringAttribute('viz_type'); - } - public set vizType(value: string) { - this._vizType = value; - } - // Temporarily expose input value. Use with caution. - public get vizTypeInput() { - return this._vizType; - } -} -export interface DashboardWidgetGroupDefinitionWidgetAlertValueDefinition { - /** - * The ID of the monitor used by the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#alert_id Dashboard#alert_id} - */ - readonly alertId: string; - /** - * The precision to use when displaying the value. Use \`*\` for maximum precision. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#precision Dashboard#precision} - */ - readonly precision?: number; /** - * The alignment of the text in the widget. Valid values are \`center\`, \`left\`, \`right\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_align Dashboard#text_align} + * @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) */ - readonly textAlign?: string; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + /** - * The title of the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + * @param index the index of the item to return */ - readonly title?: string; + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute { /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly titleAlign?: string; + readonly aggregation: string; /** - * The size of the widget's title (defaults to 16). + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly titleSize?: string; + readonly facet?: string; /** - * The unit for the value displayed in the widget. + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#unit Dashboard#unit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly unit?: string; + readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetAlertValueDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetAlertValueDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetAlertValueDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - alert_id: cdktf.stringToTerraform(struct!.alertId), - precision: cdktf.numberToTerraform(struct!.precision), - text_align: cdktf.stringToTerraform(struct!.textAlign), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), - unit: cdktf.stringToTerraform(struct!.unit), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetGroupDefinitionWidgetAlertValueDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetAlertValueDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._alertId !== undefined) { - hasAnyValues = true; - internalValueResult.alertId = this._alertId; - } - if (this._precision !== undefined) { - hasAnyValues = true; - internalValueResult.precision = this._precision; - } - if (this._textAlign !== undefined) { - hasAnyValues = true; - internalValueResult.textAlign = this._textAlign; - } - if (this._title !== undefined) { - hasAnyValues = true; - internalValueResult.title = this._title; - } - if (this._titleAlign !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.aggregation = this._aggregation; } - if (this._titleSize !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.facet = this._facet; } - if (this._unit !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.unit = this._unit; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetAlertValueDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._alertId = undefined; - this._precision = undefined; - this._textAlign = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; - this._unit = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._alertId = value.alertId; - this._precision = value.precision; - this._textAlign = value.textAlign; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; - this._unit = value.unit; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // alert_id - computed: false, optional: false, required: true - private _alertId?: string; - public get alertId() { - return this.getStringAttribute('alert_id'); - } - public set alertId(value: string) { - this._alertId = value; - } - // Temporarily expose input value. Use with caution. - public get alertIdInput() { - return this._alertId; - } - - // precision - computed: false, optional: true, required: false - private _precision?: number; - public get precision() { - return this.getNumberAttribute('precision'); - } - public set precision(value: number) { - this._precision = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetPrecision() { - this._precision = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get precisionInput() { - return this._precision; + public get aggregationInput() { + return this._aggregation; } - // text_align - computed: false, optional: true, required: false - private _textAlign?: string; - public get textAlign() { - return this.getStringAttribute('text_align'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set textAlign(value: string) { - this._textAlign = value; + public set facet(value: string) { + this._facet = value; } - public resetTextAlign() { - this._textAlign = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get textAlignInput() { - return this._textAlign; + public get facetInput() { + return this._facet; } - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public set title(value: string) { - this._title = value; + public set interval(value: number) { + this._interval = value; } - public resetTitle() { - this._title = undefined; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + public get intervalInput() { + return this._interval; } +} - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); - } - public set titleAlign(value: string) { - this._titleAlign = value; - } - public resetTitleAlign() { - this._titleAlign = undefined; - } - // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; - } +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); - } - public set titleSize(value: string) { - this._titleSize = value; - } - public resetTitleSize() { - this._titleSize = undefined; - } - // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + /** + * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // unit - computed: false, optional: true, required: false - private _unit?: string; - public get unit() { - return this.getStringAttribute('unit'); - } - public set unit(value: string) { - this._unit = value; - } - public resetUnit() { - this._unit = undefined; - } - // Temporarily expose input value. Use with caution. - public get unitInput() { - return this._unit; + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery { /** - * The flag for toggling context menu link visibility. + * The name of the index to query. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly isHidden?: boolean | cdktf.IResolvable; + readonly index: string; /** - * The label for the custom link URL. + * The search query to use. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly label?: string; + readonly searchQuery?: string; /** - * The URL of the custom link. + * compute_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly link?: string; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery; /** - * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. + * group_by block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly overrideLabel?: string; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - is_hidden: cdktf.booleanToTerraform(struct!.isHidden), - label: cdktf.stringToTerraform(struct!.label), - link: cdktf.stringToTerraform(struct!.link), - override_label: cdktf.stringToTerraform(struct!.overrideLabel), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._isHidden !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.isHidden = this._isHidden; + internalValueResult.index = this._index; } - if (this._label !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.label = this._label; + internalValueResult.searchQuery = this._searchQuery; } - if (this._link !== undefined) { + if (this._computeQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.link = this._link; + internalValueResult.computeQuery = this._computeQuery?.internalValue; } - if (this._overrideLabel !== undefined) { + if (this._groupBy?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.overrideLabel = this._overrideLabel; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._isHidden = undefined; - this._label = undefined; - this._link = undefined; - this._overrideLabel = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._isHidden = value.isHidden; - this._label = value.label; - this._link = value.link; - this._overrideLabel = value.overrideLabel; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // is_hidden - computed: false, optional: true, required: false - private _isHidden?: boolean | cdktf.IResolvable; - public get isHidden() { - return this.getBooleanAttribute('is_hidden'); - } - public set isHidden(value: boolean | cdktf.IResolvable) { - this._isHidden = value; + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public resetIsHidden() { - this._isHidden = undefined; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get isHiddenInput() { - return this._isHidden; + public get indexInput() { + return this._index; } - // label - computed: false, optional: true, required: false - private _label?: string; - public get label() { - return this.getStringAttribute('label'); + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public set label(value: string) { - this._label = value; + public set searchQuery(value: string) { + this._searchQuery = value; } - public resetLabel() { - this._label = undefined; + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get labelInput() { - return this._label; + public get searchQueryInput() { + return this._searchQuery; } - // link - computed: false, optional: true, required: false - private _link?: string; - public get link() { - return this.getStringAttribute('link'); + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - public set link(value: string) { - this._link = value; + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery) { + this._computeQuery.internalValue = value; } - public resetLink() { - this._link = undefined; + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get linkInput() { - return this._link; + public get computeQueryInput() { + return this._computeQuery.internalValue; } - // override_label - computed: false, optional: true, required: false - private _overrideLabel?: string; - public get overrideLabel() { - return this.getStringAttribute('override_label'); + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - public set overrideLabel(value: string) { - this._overrideLabel = value; + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; } - public resetOverrideLabel() { - this._overrideLabel = undefined; + public resetGroupBy() { + this._groupBy.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get overrideLabelInput() { - return this._overrideLabel; + public get groupByInput() { + return this._groupBy.internalValue; } -} - -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. * @@ -25977,7 +31077,7 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQ readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -25989,7 +31089,7 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQu } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -26000,7 +31100,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -26018,7 +31118,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -26078,7 +31178,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery return this._interval; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. * @@ -26099,7 +31199,7 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQ readonly order: string; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -26111,7 +31211,7 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQu } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -26122,7 +31222,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -26140,7 +31240,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -26197,7 +31297,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery return this._order; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy { /** * The facet name. * @@ -26215,10 +31315,10 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQ * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -26226,11 +31326,11 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQu return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -26244,7 +31344,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -26265,7 +31365,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -26319,11 +31419,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -26335,8 +31435,8 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -26350,11 +31450,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. * @@ -26375,7 +31475,7 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQ readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -26387,7 +31487,7 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQu } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -26401,7 +31501,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -26422,7 +31522,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -26489,8 +31589,8 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -26504,11 +31604,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery { /** * The name of the index to query. * @@ -26526,22 +31626,22 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQ * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -26549,13 +31649,13 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQu return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -26566,7 +31666,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -26592,7 +31692,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -26641,11 +31741,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -26657,11 +31757,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -26673,11 +31773,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -26688,40 +31788,26 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery return this._multiCompute.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle { /** - * Define the time interval in seconds. + * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} */ - readonly interval?: number; + readonly palette?: string; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + palette: cdktf.stringToTerraform(struct!.palette), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -26732,237 +31818,105 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { + if (this._palette !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.palette = this._palette; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._palette = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._palette = value.palette; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // palette - computed: false, optional: true, required: false + private _palette?: string; + public get palette() { + return this.getStringAttribute('palette'); } - public set interval(value: number) { - this._interval = value; + public set palette(value: string) { + this._palette = value; } - public resetInterval() { - this._interval = undefined; + public resetPalette() { + this._palette = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get paletteInput() { + return this._palette; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest { /** - * The aggregation method. + * The metric query to use for this widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} */ - readonly aggregation: string; + readonly q?: string; /** - * The facet name. + * apm_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} */ - readonly facet?: string; + readonly apmQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery; /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * log_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} */ - readonly order: string; -} - -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), - } -} - -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - + readonly logQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery; /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * process_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { - hasAnyValues = true; - internalValueResult.order = this._order; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; - } - } - - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); - } - public set order(value: string) { - this._order = value; - } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; - } -} -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy { + readonly processQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery; /** - * The facet name. + * rum_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} */ - readonly facet?: string; + readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery; /** - * The maximum number of items in the group. + * security_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} */ - readonly limit?: number; + readonly securityQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery; /** - * sort_query block + * style block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery; + readonly style?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + q: cdktf.stringToTerraform(struct!.q), + apm_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryToTerraform(struct!.apmQuery), + log_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryToTerraform(struct!.logQuery), + process_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryToTerraform(struct!.processQuery), + rum_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryToTerraform(struct!.rumQuery), + security_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), + style: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleToTerraform(struct!.style), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -26976,34 +31930,54 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { + if (this._q !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.q = this._q; } - if (this._limit !== undefined) { + if (this._apmQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.apmQuery = this._apmQuery?.internalValue; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._logQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.logQuery = this._logQuery?.internalValue; + } + if (this._processQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.processQuery = this._processQuery?.internalValue; + } + if (this._rumQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.rumQuery = this._rumQuery?.internalValue; + } + if (this._securityQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.securityQuery = this._securityQuery?.internalValue; + } + if (this._style?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.style = this._style?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; + this._q = undefined; + this._apmQuery.internalValue = undefined; + this._logQuery.internalValue = undefined; + this._processQuery.internalValue = undefined; + this._rumQuery.internalValue = undefined; + this._securityQuery.internalValue = undefined; + this._style.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -27012,63 +31986,131 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._q = value.q; + this._apmQuery.internalValue = value.apmQuery; + this._logQuery.internalValue = value.logQuery; + this._processQuery.internalValue = value.processQuery; + this._rumQuery.internalValue = value.rumQuery; + this._securityQuery.internalValue = value.securityQuery; + this._style.internalValue = value.style; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // q - computed: false, optional: true, required: false + private _q?: string; + public get q() { + return this.getStringAttribute('q'); } - public set facet(value: string) { - this._facet = value; + public set q(value: string) { + this._q = value; } - public resetFacet() { - this._facet = undefined; + public resetQ() { + this._q = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get qInput() { + return this._q; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // apm_query - computed: false, optional: true, required: false + private _apmQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryOutputReference(this, "apm_query"); + public get apmQuery() { + return this._apmQuery; } - public set limit(value: number) { - this._limit = value; + public putApmQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery) { + this._apmQuery.internalValue = value; } - public resetLimit() { - this._limit = undefined; + public resetApmQuery() { + this._apmQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get apmQueryInput() { + return this._apmQuery.internalValue; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // log_query - computed: false, optional: true, required: false + private _logQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryOutputReference(this, "log_query"); + public get logQuery() { + return this._logQuery; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery) { + this._logQuery.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetLogQuery() { + this._logQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get logQueryInput() { + return this._logQuery.internalValue; + } + + // process_query - computed: false, optional: true, required: false + private _processQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryOutputReference(this, "process_query"); + public get processQuery() { + return this._processQuery; + } + public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery) { + this._processQuery.internalValue = value; + } + public resetProcessQuery() { + this._processQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get processQueryInput() { + return this._processQuery.internalValue; + } + + // rum_query - computed: false, optional: true, required: false + private _rumQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryOutputReference(this, "rum_query"); + public get rumQuery() { + return this._rumQuery; + } + public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery) { + this._rumQuery.internalValue = value; + } + public resetRumQuery() { + this._rumQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get rumQueryInput() { + return this._rumQuery.internalValue; + } + + // security_query - computed: false, optional: true, required: false + private _securityQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryOutputReference(this, "security_query"); + public get securityQuery() { + return this._securityQuery; + } + public putSecurityQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery) { + this._securityQuery.internalValue = value; + } + public resetSecurityQuery() { + this._securityQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get securityQueryInput() { + return this._securityQuery.internalValue; + } + + // style - computed: false, optional: true, required: false + private _style = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleOutputReference(this, "style"); + public get style() { + return this._style; + } + public putStyle(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle) { + this._style.internalValue = value; + } + public resetStyle() { + this._style.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get styleInput() { + return this._style.internalValue; } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -27082,212 +32124,276 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis { /** - * The aggregation method. + * Always include zero or fit the axis to the data range. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#include_zero Dashboard#include_zero} */ - readonly aggregation: string; + readonly includeZero?: boolean | cdktf.IResolvable; /** - * The facet name. + * The label of the axis to display on the graph. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} */ - readonly facet?: string; + readonly label?: string; /** - * Define the time interval in seconds. + * Specify the maximum value to show on the Y-axis. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#max Dashboard#max} */ - readonly interval?: number; + readonly max?: string; + /** + * Specify the minimum value to show on the Y-axis. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#min Dashboard#min} + */ + readonly min?: string; + /** + * Specify the scale type, options: \`linear\`, \`log\`, \`pow\`, \`sqrt\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#scale Dashboard#scale} + */ + readonly scale?: string; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + include_zero: cdktf.booleanToTerraform(struct!.includeZero), + label: cdktf.stringToTerraform(struct!.label), + max: cdktf.stringToTerraform(struct!.max), + min: cdktf.stringToTerraform(struct!.min), + scale: cdktf.stringToTerraform(struct!.scale), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._includeZero !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.includeZero = this._includeZero; } - if (this._facet !== undefined) { + if (this._label !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.label = this._label; } - if (this._interval !== undefined) { + if (this._max !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.max = this._max; + } + if (this._min !== undefined) { + hasAnyValues = true; + internalValueResult.min = this._min; + } + if (this._scale !== undefined) { + hasAnyValues = true; + internalValueResult.scale = this._scale; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._includeZero = undefined; + this._label = undefined; + this._max = undefined; + this._min = undefined; + this._scale = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._includeZero = value.includeZero; + this._label = value.label; + this._max = value.max; + this._min = value.min; + this._scale = value.scale; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // include_zero - computed: false, optional: true, required: false + private _includeZero?: boolean | cdktf.IResolvable; + public get includeZero() { + return this.getBooleanAttribute('include_zero'); } - public set aggregation(value: string) { - this._aggregation = value; + public set includeZero(value: boolean | cdktf.IResolvable) { + this._includeZero = value; + } + public resetIncludeZero() { + this._includeZero = undefined; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get includeZeroInput() { + return this._includeZero; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // label - computed: false, optional: true, required: false + private _label?: string; + public get label() { + return this.getStringAttribute('label'); } - public set facet(value: string) { - this._facet = value; + public set label(value: string) { + this._label = value; } - public resetFacet() { - this._facet = undefined; + public resetLabel() { + this._label = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get labelInput() { + return this._label; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // max - computed: false, optional: true, required: false + private _max?: string; + public get max() { + return this.getStringAttribute('max'); } - public set interval(value: number) { - this._interval = value; + public set max(value: string) { + this._max = value; } - public resetInterval() { - this._interval = undefined; + public resetMax() { + this._max = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get maxInput() { + return this._max; } -} -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable + // min - computed: false, optional: true, required: false + private _min?: string; + public get min() { + return this.getStringAttribute('min'); + } + public set min(value: string) { + this._min = value; + } + public resetMin() { + this._min = undefined; + } + // Temporarily expose input value. Use with caution. + public get minInput() { + return this._min; + } + // scale - computed: false, optional: true, required: false + private _scale?: string; + public get scale() { + return this.getStringAttribute('scale'); + } + public set scale(value: string) { + this._scale = value; + } + public resetScale() { + this._scale = undefined; + } + // Temporarily expose input value. Use with caution. + public get scaleInput() { + return this._scale; + } +} +export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinition { /** - * @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) + * The size of the legend displayed in the widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#legend_size Dashboard#legend_size} */ - constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - + readonly legendSize?: string; /** - * @param index the index of the item to return + * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); - } -} -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery { + readonly liveSpan?: string; /** - * The name of the index to query. + * Whether or not to show the legend on this widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#show_legend Dashboard#show_legend} */ - readonly index: string; + readonly showLegend?: boolean | cdktf.IResolvable; /** - * The search query to use. + * The title of the widget. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} */ - readonly searchQuery?: string; + readonly title?: string; /** - * compute_query block + * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery; + readonly titleAlign?: string; /** - * group_by block + * The size of the widget's title (defaults to 16). * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + readonly titleSize?: string; /** - * multi_compute block + * custom_link block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_link Dashboard#custom_link} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; + readonly customLink?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink[] | cdktf.IResolvable; + /** + * event block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event Dashboard#event} + */ + readonly event?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent[] | cdktf.IResolvable; + /** + * request block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} + */ + readonly request?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest[] | cdktf.IResolvable; + /** + * yaxis block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#yaxis Dashboard#yaxis} + */ + readonly yaxis?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinition): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), + legend_size: cdktf.stringToTerraform(struct!.legendSize), + live_span: cdktf.stringToTerraform(struct!.liveSpan), + show_legend: cdktf.booleanToTerraform(struct!.showLegend), + title: cdktf.stringToTerraform(struct!.title), + title_align: cdktf.stringToTerraform(struct!.titleAlign), + title_size: cdktf.stringToTerraform(struct!.titleSize), + custom_link: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkToTerraform, true)(struct!.customLink), + event: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventToTerraform, true)(struct!.event), + request: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestToTerraform, true)(struct!.request), + yaxis: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisToTerraform(struct!.yaxis), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -27298,280 +32404,428 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinition | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { + if (this._legendSize !== undefined) { hasAnyValues = true; - internalValueResult.index = this._index; + internalValueResult.legendSize = this._legendSize; } - if (this._searchQuery !== undefined) { + if (this._liveSpan !== undefined) { hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; + internalValueResult.liveSpan = this._liveSpan; } - if (this._computeQuery?.internalValue !== undefined) { + if (this._showLegend !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.showLegend = this._showLegend; } - if (this._groupBy?.internalValue !== undefined) { + if (this._title !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.title = this._title; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._titleAlign !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.titleAlign = this._titleAlign; + } + if (this._titleSize !== undefined) { + hasAnyValues = true; + internalValueResult.titleSize = this._titleSize; + } + if (this._customLink?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.customLink = this._customLink?.internalValue; + } + if (this._event?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.event = this._event?.internalValue; + } + if (this._request?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.request = this._request?.internalValue; + } + if (this._yaxis?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.yaxis = this._yaxis?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinition | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._legendSize = undefined; + this._liveSpan = undefined; + this._showLegend = undefined; + this._title = undefined; + this._titleAlign = undefined; + this._titleSize = undefined; + this._customLink.internalValue = undefined; + this._event.internalValue = undefined; + this._request.internalValue = undefined; + this._yaxis.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._legendSize = value.legendSize; + this._liveSpan = value.liveSpan; + this._showLegend = value.showLegend; + this._title = value.title; + this._titleAlign = value.titleAlign; + this._titleSize = value.titleSize; + this._customLink.internalValue = value.customLink; + this._event.internalValue = value.event; + this._request.internalValue = value.request; + this._yaxis.internalValue = value.yaxis; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); + // legend_size - computed: false, optional: true, required: false + private _legendSize?: string; + public get legendSize() { + return this.getStringAttribute('legend_size'); } - public set index(value: string) { - this._index = value; + public set legendSize(value: string) { + this._legendSize = value; + } + public resetLegendSize() { + this._legendSize = undefined; } // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + public get legendSizeInput() { + return this._legendSize; } - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); + // live_span - computed: false, optional: true, required: false + private _liveSpan?: string; + public get liveSpan() { + return this.getStringAttribute('live_span'); } - public set searchQuery(value: string) { - this._searchQuery = value; + public set liveSpan(value: string) { + this._liveSpan = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetLiveSpan() { + this._liveSpan = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get liveSpanInput() { + return this._liveSpan; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; + // show_legend - computed: false, optional: true, required: false + private _showLegend?: boolean | cdktf.IResolvable; + public get showLegend() { + return this.getBooleanAttribute('show_legend'); } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryComputeQuery) { - this._computeQuery.internalValue = value; + public set showLegend(value: boolean | cdktf.IResolvable) { + this._showLegend = value; } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public resetShowLegend() { + this._showLegend = undefined; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get showLegendInput() { + return this._showLegend; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + // title - computed: false, optional: true, required: false + private _title?: string; + public get title() { + return this.getStringAttribute('title'); } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + public set title(value: string) { + this._title = value; } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public resetTitle() { + this._title = undefined; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get titleInput() { + return this._title; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; + // title_align - computed: false, optional: true, required: false + private _titleAlign?: string; + public get titleAlign() { + return this.getStringAttribute('title_align'); } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + public set titleAlign(value: string) { + this._titleAlign = value; } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public resetTitleAlign() { + this._titleAlign = undefined; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get titleAlignInput() { + return this._titleAlign; + } + + // title_size - computed: false, optional: true, required: false + private _titleSize?: string; + public get titleSize() { + return this.getStringAttribute('title_size'); + } + public set titleSize(value: string) { + this._titleSize = value; + } + public resetTitleSize() { + this._titleSize = undefined; + } + // Temporarily expose input value. Use with caution. + public get titleSizeInput() { + return this._titleSize; + } + + // custom_link - computed: false, optional: true, required: false + private _customLink = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkList(this, "custom_link", false); + public get customLink() { + return this._customLink; + } + public putCustomLink(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink[] | cdktf.IResolvable) { + this._customLink.internalValue = value; + } + public resetCustomLink() { + this._customLink.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get customLinkInput() { + return this._customLink.internalValue; + } + + // event - computed: false, optional: true, required: false + private _event = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventList(this, "event", false); + public get event() { + return this._event; + } + public putEvent(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent[] | cdktf.IResolvable) { + this._event.internalValue = value; + } + public resetEvent() { + this._event.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get eventInput() { + return this._event.internalValue; + } + + // request - computed: false, optional: true, required: false + private _request = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestList(this, "request", false); + public get request() { + return this._request; + } + public putRequest(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest[] | cdktf.IResolvable) { + this._request.internalValue = value; + } + public resetRequest() { + this._request.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get requestInput() { + return this._request.internalValue; + } + + // yaxis - computed: false, optional: true, required: false + private _yaxis = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisOutputReference(this, "yaxis"); + public get yaxis() { + return this._yaxis; + } + public putYaxis(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis) { + this._yaxis.internalValue = value; + } + public resetYaxis() { + this._yaxis.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get yaxisInput() { + return this._yaxis.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink { /** - * A list of processes. + * The flag for toggling context menu link visibility. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} */ - readonly filterBy?: string[]; + readonly isHidden?: boolean | cdktf.IResolvable; /** - * The max number of items in the filter list. + * The label for the custom link URL. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} */ - readonly limit?: number; + readonly label?: string; /** - * Your chosen metric. + * The URL of the custom link. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} */ - readonly metric: string; + readonly link?: string; /** - * Your chosen search term. + * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} */ - readonly searchBy?: string; + readonly overrideLabel?: string; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), - limit: cdktf.numberToTerraform(struct!.limit), - metric: cdktf.stringToTerraform(struct!.metric), - search_by: cdktf.stringToTerraform(struct!.searchBy), + is_hidden: cdktf.booleanToTerraform(struct!.isHidden), + label: cdktf.stringToTerraform(struct!.label), + link: cdktf.stringToTerraform(struct!.link), + override_label: cdktf.stringToTerraform(struct!.overrideLabel), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._filterBy !== undefined) { + if (this._isHidden !== undefined) { hasAnyValues = true; - internalValueResult.filterBy = this._filterBy; + internalValueResult.isHidden = this._isHidden; } - if (this._limit !== undefined) { + if (this._label !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.label = this._label; } - if (this._metric !== undefined) { + if (this._link !== undefined) { hasAnyValues = true; - internalValueResult.metric = this._metric; + internalValueResult.link = this._link; } - if (this._searchBy !== undefined) { + if (this._overrideLabel !== undefined) { hasAnyValues = true; - internalValueResult.searchBy = this._searchBy; + internalValueResult.overrideLabel = this._overrideLabel; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._filterBy = undefined; - this._limit = undefined; - this._metric = undefined; - this._searchBy = undefined; + this.resolvableValue = undefined; + this._isHidden = undefined; + this._label = undefined; + this._link = undefined; + this._overrideLabel = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._filterBy = value.filterBy; - this._limit = value.limit; - this._metric = value.metric; - this._searchBy = value.searchBy; + this.resolvableValue = undefined; + this._isHidden = value.isHidden; + this._label = value.label; + this._link = value.link; + this._overrideLabel = value.overrideLabel; } } - // filter_by - computed: false, optional: true, required: false - private _filterBy?: string[]; - public get filterBy() { - return this.getListAttribute('filter_by'); + // is_hidden - computed: false, optional: true, required: false + private _isHidden?: boolean | cdktf.IResolvable; + public get isHidden() { + return this.getBooleanAttribute('is_hidden'); } - public set filterBy(value: string[]) { - this._filterBy = value; + public set isHidden(value: boolean | cdktf.IResolvable) { + this._isHidden = value; } - public resetFilterBy() { - this._filterBy = undefined; + public resetIsHidden() { + this._isHidden = undefined; } // Temporarily expose input value. Use with caution. - public get filterByInput() { - return this._filterBy; + public get isHiddenInput() { + return this._isHidden; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // label - computed: false, optional: true, required: false + private _label?: string; + public get label() { + return this.getStringAttribute('label'); } - public set limit(value: number) { - this._limit = value; + public set label(value: string) { + this._label = value; } - public resetLimit() { - this._limit = undefined; + public resetLabel() { + this._label = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get labelInput() { + return this._label; } - // metric - computed: false, optional: false, required: true - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); + // link - computed: false, optional: true, required: false + private _link?: string; + public get link() { + return this.getStringAttribute('link'); } - public set metric(value: string) { - this._metric = value; + public set link(value: string) { + this._link = value; + } + public resetLink() { + this._link = undefined; } // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + public get linkInput() { + return this._link; } - // search_by - computed: false, optional: true, required: false - private _searchBy?: string; - public get searchBy() { - return this.getStringAttribute('search_by'); + // override_label - computed: false, optional: true, required: false + private _overrideLabel?: string; + public get overrideLabel() { + return this.getStringAttribute('override_label'); } - public set searchBy(value: string) { - this._searchBy = value; + public set overrideLabel(value: string) { + this._overrideLabel = value; } - public resetSearchBy() { - this._searchBy = undefined; + public resetOverrideLabel() { + this._overrideLabel = undefined; } // Temporarily expose input value. Use with caution. - public get searchByInput() { - return this._searchBy; + public get overrideLabelInput() { + return this._overrideLabel; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery { + +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery { /** * The aggregation method. * @@ -27592,7 +32846,7 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQ readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -27604,7 +32858,7 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQu } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -27615,7 +32869,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -27633,7 +32887,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -27693,7 +32947,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery return this._interval; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery { /** * The aggregation method. * @@ -27714,7 +32968,7 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQ readonly order: string; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -27726,7 +32980,7 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQu } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -27737,7 +32991,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -27755,7 +33009,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -27812,7 +33066,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery return this._order; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy { /** * The facet name. * @@ -27830,10 +33084,10 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQ * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -27841,11 +33095,11 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQu return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -27859,7 +33113,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -27880,7 +33134,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -27934,11 +33188,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -27950,8 +33204,8 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -27965,11 +33219,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute { /** * The aggregation method. * @@ -27990,7 +33244,7 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQ readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -28002,7 +33256,7 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQu } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -28016,7 +33270,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -28037,7 +33291,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -28104,8 +33358,8 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -28119,11 +33373,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery { /** * The name of the index to query. * @@ -28141,22 +33395,22 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQ * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -28164,13 +33418,13 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQu return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -28181,7 +33435,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -28207,7 +33461,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -28256,11 +33510,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -28272,11 +33526,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -28288,11 +33542,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -28303,7 +33557,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery return this._multiCompute.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery { /** * The aggregation method. * @@ -28324,7 +33578,7 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecu readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -28336,7 +33590,7 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecur } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -28347,7 +33601,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -28365,7 +33619,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -28425,7 +33679,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity return this._interval; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery { /** * The aggregation method. * @@ -28446,7 +33700,7 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecu readonly order: string; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -28458,7 +33712,7 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecur } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -28469,7 +33723,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -28487,7 +33741,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -28544,7 +33798,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity return this._order; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy { /** * The facet name. * @@ -28562,10 +33816,10 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecu * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -28573,11 +33827,11 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecur return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -28591,7 +33845,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -28612,7 +33866,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -28666,11 +33920,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -28682,8 +33936,8 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -28697,11 +33951,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute { /** * The aggregation method. * @@ -28722,7 +33976,7 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecu readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -28734,7 +33988,7 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecur } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -28748,7 +34002,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -28769,7 +34023,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -28836,8 +34090,8 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -28851,11 +34105,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery { /** * The name of the index to query. * @@ -28873,22 +34127,22 @@ export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecu * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -28896,13 +34150,13 @@ export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecur return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -28913,7 +34167,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -28939,7 +34193,7 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -28988,11 +34242,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -29004,11 +34258,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -29020,11 +34274,11 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -29035,712 +34289,47 @@ export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurity return this._multiCompute.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest { - /** - * Whether to show absolute or relative change. Valid values are \`absolute\`, \`relative\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#change_type Dashboard#change_type} - */ - readonly changeType?: string; - /** - * Choose from when to compare current data to. Valid values are \`hour_before\`, \`day_before\`, \`week_before\`, \`month_before\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compare_to Dashboard#compare_to} - */ - readonly compareTo?: string; - /** - * A Boolean indicating whether an increase in the value is good (displayed in green) or not (displayed in red). - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#increase_good Dashboard#increase_good} - */ - readonly increaseGood?: boolean | cdktf.IResolvable; - /** - * What to order by. Valid values are \`change\`, \`name\`, \`present\`, \`past\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order_by Dashboard#order_by} - */ - readonly orderBy?: string; - /** - * Widget sorting method. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order_dir Dashboard#order_dir} - */ - readonly orderDir?: string; - /** - * The metric query to use for this widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} - */ - readonly q?: string; - /** - * If set to \`true\`, displays the current value. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#show_present Dashboard#show_present} - */ - readonly showPresent?: boolean | cdktf.IResolvable; - /** - * apm_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} - */ - readonly apmQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery; - /** - * log_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} - */ - readonly logQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery; - /** - * process_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} - */ - readonly processQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery; - /** - * rum_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} - */ - readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery; - /** - * security_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} - */ - readonly securityQuery?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery; -} - -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest | cdktf.IResolvable): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - change_type: cdktf.stringToTerraform(struct!.changeType), - compare_to: cdktf.stringToTerraform(struct!.compareTo), - increase_good: cdktf.booleanToTerraform(struct!.increaseGood), - order_by: cdktf.stringToTerraform(struct!.orderBy), - order_dir: cdktf.stringToTerraform(struct!.orderDir), - q: cdktf.stringToTerraform(struct!.q), - show_present: cdktf.booleanToTerraform(struct!.showPresent), - apm_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryToTerraform(struct!.apmQuery), - log_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryToTerraform(struct!.logQuery), - process_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryToTerraform(struct!.processQuery), - rum_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryToTerraform(struct!.rumQuery), - security_query: dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), - } -} - -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; - - /** - * @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) - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); - } - - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._changeType !== undefined) { - hasAnyValues = true; - internalValueResult.changeType = this._changeType; - } - if (this._compareTo !== undefined) { - hasAnyValues = true; - internalValueResult.compareTo = this._compareTo; - } - if (this._increaseGood !== undefined) { - hasAnyValues = true; - internalValueResult.increaseGood = this._increaseGood; - } - if (this._orderBy !== undefined) { - hasAnyValues = true; - internalValueResult.orderBy = this._orderBy; - } - if (this._orderDir !== undefined) { - hasAnyValues = true; - internalValueResult.orderDir = this._orderDir; - } - if (this._q !== undefined) { - hasAnyValues = true; - internalValueResult.q = this._q; - } - if (this._showPresent !== undefined) { - hasAnyValues = true; - internalValueResult.showPresent = this._showPresent; - } - if (this._apmQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.apmQuery = this._apmQuery?.internalValue; - } - if (this._logQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.logQuery = this._logQuery?.internalValue; - } - if (this._processQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.processQuery = this._processQuery?.internalValue; - } - if (this._rumQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.rumQuery = this._rumQuery?.internalValue; - } - if (this._securityQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.securityQuery = this._securityQuery?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest | cdktf.IResolvable | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this.resolvableValue = undefined; - this._changeType = undefined; - this._compareTo = undefined; - this._increaseGood = undefined; - this._orderBy = undefined; - this._orderDir = undefined; - this._q = undefined; - this._showPresent = undefined; - this._apmQuery.internalValue = undefined; - this._logQuery.internalValue = undefined; - this._processQuery.internalValue = undefined; - this._rumQuery.internalValue = undefined; - this._securityQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._changeType = value.changeType; - this._compareTo = value.compareTo; - this._increaseGood = value.increaseGood; - this._orderBy = value.orderBy; - this._orderDir = value.orderDir; - this._q = value.q; - this._showPresent = value.showPresent; - this._apmQuery.internalValue = value.apmQuery; - this._logQuery.internalValue = value.logQuery; - this._processQuery.internalValue = value.processQuery; - this._rumQuery.internalValue = value.rumQuery; - this._securityQuery.internalValue = value.securityQuery; - } - } - - // change_type - computed: false, optional: true, required: false - private _changeType?: string; - public get changeType() { - return this.getStringAttribute('change_type'); - } - public set changeType(value: string) { - this._changeType = value; - } - public resetChangeType() { - this._changeType = undefined; - } - // Temporarily expose input value. Use with caution. - public get changeTypeInput() { - return this._changeType; - } - - // compare_to - computed: false, optional: true, required: false - private _compareTo?: string; - public get compareTo() { - return this.getStringAttribute('compare_to'); - } - public set compareTo(value: string) { - this._compareTo = value; - } - public resetCompareTo() { - this._compareTo = undefined; - } - // Temporarily expose input value. Use with caution. - public get compareToInput() { - return this._compareTo; - } - - // increase_good - computed: false, optional: true, required: false - private _increaseGood?: boolean | cdktf.IResolvable; - public get increaseGood() { - return this.getBooleanAttribute('increase_good'); - } - public set increaseGood(value: boolean | cdktf.IResolvable) { - this._increaseGood = value; - } - public resetIncreaseGood() { - this._increaseGood = undefined; - } - // Temporarily expose input value. Use with caution. - public get increaseGoodInput() { - return this._increaseGood; - } - - // order_by - computed: false, optional: true, required: false - private _orderBy?: string; - public get orderBy() { - return this.getStringAttribute('order_by'); - } - public set orderBy(value: string) { - this._orderBy = value; - } - public resetOrderBy() { - this._orderBy = undefined; - } - // Temporarily expose input value. Use with caution. - public get orderByInput() { - return this._orderBy; - } - - // order_dir - computed: false, optional: true, required: false - private _orderDir?: string; - public get orderDir() { - return this.getStringAttribute('order_dir'); - } - public set orderDir(value: string) { - this._orderDir = value; - } - public resetOrderDir() { - this._orderDir = undefined; - } - // Temporarily expose input value. Use with caution. - public get orderDirInput() { - return this._orderDir; - } - - // q - computed: false, optional: true, required: false - private _q?: string; - public get q() { - return this.getStringAttribute('q'); - } - public set q(value: string) { - this._q = value; - } - public resetQ() { - this._q = undefined; - } - // Temporarily expose input value. Use with caution. - public get qInput() { - return this._q; - } - - // show_present - computed: false, optional: true, required: false - private _showPresent?: boolean | cdktf.IResolvable; - public get showPresent() { - return this.getBooleanAttribute('show_present'); - } - public set showPresent(value: boolean | cdktf.IResolvable) { - this._showPresent = value; - } - public resetShowPresent() { - this._showPresent = undefined; - } - // Temporarily expose input value. Use with caution. - public get showPresentInput() { - return this._showPresent; - } - - // apm_query - computed: false, optional: true, required: false - private _apmQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQueryOutputReference(this, "apm_query"); - public get apmQuery() { - return this._apmQuery; - } - public putApmQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestApmQuery) { - this._apmQuery.internalValue = value; - } - public resetApmQuery() { - this._apmQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get apmQueryInput() { - return this._apmQuery.internalValue; - } - - // log_query - computed: false, optional: true, required: false - private _logQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQueryOutputReference(this, "log_query"); - public get logQuery() { - return this._logQuery; - } - public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestLogQuery) { - this._logQuery.internalValue = value; - } - public resetLogQuery() { - this._logQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get logQueryInput() { - return this._logQuery.internalValue; - } - - // process_query - computed: false, optional: true, required: false - private _processQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQueryOutputReference(this, "process_query"); - public get processQuery() { - return this._processQuery; - } - public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestProcessQuery) { - this._processQuery.internalValue = value; - } - public resetProcessQuery() { - this._processQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get processQueryInput() { - return this._processQuery.internalValue; - } - - // rum_query - computed: false, optional: true, required: false - private _rumQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQueryOutputReference(this, "rum_query"); - public get rumQuery() { - return this._rumQuery; - } - public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestRumQuery) { - this._rumQuery.internalValue = value; - } - public resetRumQuery() { - this._rumQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get rumQueryInput() { - return this._rumQuery.internalValue; - } - - // security_query - computed: false, optional: true, required: false - private _securityQuery = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQueryOutputReference(this, "security_query"); - public get securityQuery() { - return this._securityQuery; - } - public putSecurityQuery(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestSecurityQuery) { - this._securityQuery.internalValue = value; - } - public resetSecurityQuery() { - this._securityQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get securityQueryInput() { - return this._securityQuery.internalValue; - } -} - -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestOutputReference { - return new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); - } -} -export interface DashboardWidgetGroupDefinitionWidgetChangeDefinition { - /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} - */ - readonly liveSpan?: string; - /** - * The title of the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} - */ - readonly title?: string; - /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} - */ - readonly titleAlign?: string; - /** - * The size of the widget's title (defaults to 16). - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} - */ - readonly titleSize?: string; - /** - * custom_link block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_link Dashboard#custom_link} - */ - readonly customLink?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable; - /** - * request block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} - */ - readonly request?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest[] | cdktf.IResolvable; -} - -export function dashboardWidgetGroupDefinitionWidgetChangeDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetChangeDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetChangeDefinition): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - live_span: cdktf.stringToTerraform(struct!.liveSpan), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), - custom_link: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkToTerraform, true)(struct!.customLink), - request: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestToTerraform, true)(struct!.request), - } -} - -export class DashboardWidgetGroupDefinitionWidgetChangeDefinitionOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): DashboardWidgetGroupDefinitionWidgetChangeDefinition | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._title !== undefined) { - hasAnyValues = true; - internalValueResult.title = this._title; - } - if (this._titleAlign !== undefined) { - hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; - } - if (this._titleSize !== undefined) { - hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; - } - if (this._customLink?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.customLink = this._customLink?.internalValue; - } - if (this._request?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.request = this._request?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetChangeDefinition | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._liveSpan = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; - this._customLink.internalValue = undefined; - this._request.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._liveSpan = value.liveSpan; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; - this._customLink.internalValue = value.customLink; - this._request.internalValue = value.request; - } - } - - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; - } - public resetLiveSpan() { - this._liveSpan = undefined; - } - // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; - } - - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); - } - public set title(value: string) { - this._title = value; - } - public resetTitle() { - this._title = undefined; - } - // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; - } - - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); - } - public set titleAlign(value: string) { - this._titleAlign = value; - } - public resetTitleAlign() { - this._titleAlign = undefined; - } - // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; - } - - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); - } - public set titleSize(value: string) { - this._titleSize = value; - } - public resetTitleSize() { - this._titleSize = undefined; - } - // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; - } - - // custom_link - computed: false, optional: true, required: false - private _customLink = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLinkList(this, "custom_link", false); - public get customLink() { - return this._customLink; - } - public putCustomLink(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionCustomLink[] | cdktf.IResolvable) { - this._customLink.internalValue = value; - } - public resetCustomLink() { - this._customLink.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get customLinkInput() { - return this._customLink.internalValue; - } - - // request - computed: false, optional: true, required: false - private _request = new DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequestList(this, "request", false); - public get request() { - return this._request; - } - public putRequest(value: DashboardWidgetGroupDefinitionWidgetChangeDefinitionRequest[] | cdktf.IResolvable) { - this._request.internalValue = value; - } - public resetRequest() { - this._request.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get requestInput() { - return this._request.internalValue; - } -} -export interface DashboardWidgetGroupDefinitionWidgetCheckStatusDefinition { - /** - * The check to use in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#check Dashboard#check} - */ - readonly check: string; - /** - * The check group to use in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group Dashboard#group} - */ - readonly group?: string; - /** - * When \`grouping = "cluster"\`, indicates a list of tags to use for grouping. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} - */ - readonly groupBy?: string[]; - /** - * The kind of grouping to use. Valid values are \`check\`, \`cluster\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#grouping Dashboard#grouping} - */ - readonly grouping: string; - /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} - */ - readonly liveSpan?: string; +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery { /** - * A list of tags to use in the widget. + * A list of processes. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags Dashboard#tags} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} */ - readonly tags?: string[]; + readonly filterBy?: string[]; /** - * The title of the widget. + * The max number of items in the filter list. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly title?: string; + readonly limit?: number; /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * Your chosen metric. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} */ - readonly titleAlign?: string; + readonly metric: string; /** - * The size of the widget's title (defaults to 16). + * Your chosen search term. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} */ - readonly titleSize?: string; + readonly searchBy?: string; } -export function dashboardWidgetGroupDefinitionWidgetCheckStatusDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetCheckStatusDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetCheckStatusDefinition): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - check: cdktf.stringToTerraform(struct!.check), - group: cdktf.stringToTerraform(struct!.group), - group_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.groupBy), - grouping: cdktf.stringToTerraform(struct!.grouping), - live_span: cdktf.stringToTerraform(struct!.liveSpan), - tags: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.tags), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), + filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), + limit: cdktf.numberToTerraform(struct!.limit), + metric: cdktf.stringToTerraform(struct!.metric), + search_by: cdktf.stringToTerraform(struct!.searchBy), } } -export class DashboardWidgetGroupDefinitionWidgetCheckStatusDefinitionOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -29751,214 +34340,107 @@ export class DashboardWidgetGroupDefinitionWidgetCheckStatusDefinitionOutputRefe super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetCheckStatusDefinition | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._check !== undefined) { - hasAnyValues = true; - internalValueResult.check = this._check; - } - if (this._group !== undefined) { - hasAnyValues = true; - internalValueResult.group = this._group; - } - if (this._groupBy !== undefined) { - hasAnyValues = true; - internalValueResult.groupBy = this._groupBy; - } - if (this._grouping !== undefined) { - hasAnyValues = true; - internalValueResult.grouping = this._grouping; - } - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._tags !== undefined) { + if (this._filterBy !== undefined) { hasAnyValues = true; - internalValueResult.tags = this._tags; + internalValueResult.filterBy = this._filterBy; } - if (this._title !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.title = this._title; + internalValueResult.limit = this._limit; } - if (this._titleAlign !== undefined) { + if (this._metric !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.metric = this._metric; } - if (this._titleSize !== undefined) { + if (this._searchBy !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.searchBy = this._searchBy; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetCheckStatusDefinition | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._check = undefined; - this._group = undefined; - this._groupBy = undefined; - this._grouping = undefined; - this._liveSpan = undefined; - this._tags = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; + this._filterBy = undefined; + this._limit = undefined; + this._metric = undefined; + this._searchBy = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._check = value.check; - this._group = value.group; - this._groupBy = value.groupBy; - this._grouping = value.grouping; - this._liveSpan = value.liveSpan; - this._tags = value.tags; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; + this._filterBy = value.filterBy; + this._limit = value.limit; + this._metric = value.metric; + this._searchBy = value.searchBy; } } - // check - computed: false, optional: false, required: true - private _check?: string; - public get check() { - return this.getStringAttribute('check'); - } - public set check(value: string) { - this._check = value; - } - // Temporarily expose input value. Use with caution. - public get checkInput() { - return this._check; - } - - // group - computed: false, optional: true, required: false - private _group?: string; - public get group() { - return this.getStringAttribute('group'); - } - public set group(value: string) { - this._group = value; - } - public resetGroup() { - this._group = undefined; - } - // Temporarily expose input value. Use with caution. - public get groupInput() { - return this._group; - } - - // group_by - computed: false, optional: true, required: false - private _groupBy?: string[]; - public get groupBy() { - return this.getListAttribute('group_by'); - } - public set groupBy(value: string[]) { - this._groupBy = value; - } - public resetGroupBy() { - this._groupBy = undefined; - } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy; - } - - // grouping - computed: false, optional: false, required: true - private _grouping?: string; - public get grouping() { - return this.getStringAttribute('grouping'); - } - public set grouping(value: string) { - this._grouping = value; - } - // Temporarily expose input value. Use with caution. - public get groupingInput() { - return this._grouping; - } - - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; - } - public resetLiveSpan() { - this._liveSpan = undefined; - } - // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; - } - - // tags - computed: false, optional: true, required: false - private _tags?: string[]; - public get tags() { - return this.getListAttribute('tags'); + // filter_by - computed: false, optional: true, required: false + private _filterBy?: string[]; + public get filterBy() { + return this.getListAttribute('filter_by'); } - public set tags(value: string[]) { - this._tags = value; + public set filterBy(value: string[]) { + this._filterBy = value; } - public resetTags() { - this._tags = undefined; + public resetFilterBy() { + this._filterBy = undefined; } // Temporarily expose input value. Use with caution. - public get tagsInput() { - return this._tags; + public get filterByInput() { + return this._filterBy; } - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public set title(value: string) { - this._title = value; + public set limit(value: number) { + this._limit = value; } - public resetTitle() { - this._title = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + public get limitInput() { + return this._limit; } - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); - } - public set titleAlign(value: string) { - this._titleAlign = value; + // metric - computed: false, optional: false, required: true + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); } - public resetTitleAlign() { - this._titleAlign = undefined; + public set metric(value: string) { + this._metric = value; } // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + public get metricInput() { + return this._metric; } - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); + // search_by - computed: false, optional: true, required: false + private _searchBy?: string; + public get searchBy() { + return this.getStringAttribute('search_by'); } - public set titleSize(value: string) { - this._titleSize = value; + public set searchBy(value: string) { + this._searchBy = value; } - public resetTitleSize() { - this._titleSize = undefined; + public resetSearchBy() { + this._searchBy = undefined; } // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + public get searchByInput() { + return this._searchBy; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery { /** * The aggregation method. * @@ -29979,7 +34461,7 @@ export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionReque readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -29991,7 +34473,7 @@ export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionReques } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -30002,7 +34484,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -30020,7 +34502,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -30080,7 +34562,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp return this._interval; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery { /** * The aggregation method. * @@ -30101,7 +34583,7 @@ export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionReque readonly order: string; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -30113,7 +34595,7 @@ export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionReques } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -30124,7 +34606,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -30142,7 +34624,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -30199,7 +34681,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp return this._order; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy { /** * The facet name. * @@ -30217,10 +34699,10 @@ export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionReque * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -30228,11 +34710,11 @@ export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionReques return { facet: cdktf.stringToTerraform(struct!.facet), limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), + sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -30246,7 +34728,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -30267,7 +34749,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -30321,11 +34803,11 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp } // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryOutputReference(this, "sort_query"); public get sortQuery() { return this._sortQuery; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery) { + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery) { this._sortQuery.internalValue = value; } public resetSortQuery() { @@ -30337,8 +34819,8 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -30352,11 +34834,11 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute { /** * The aggregation method. * @@ -30377,7 +34859,7 @@ export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionReque readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -30389,7 +34871,7 @@ export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionReques } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -30403,7 +34885,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -30424,7 +34906,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -30491,8 +34973,8 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -30506,11 +34988,11 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery { /** * The name of the index to query. * @@ -30528,22 +35010,22 @@ export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionReque * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy[] | cdktf.IResolvable; /** * multi_compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -30551,13 +35033,13 @@ export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionReques return { index: cdktf.stringToTerraform(struct!.index), search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), + compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -30568,7 +35050,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._index !== undefined) { @@ -30594,7 +35076,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._index = undefined; @@ -30643,11 +35125,11 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp } // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryOutputReference(this, "compute_query"); public get computeQuery() { return this._computeQuery; } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryComputeQuery) { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery) { this._computeQuery.internalValue = value; } public resetComputeQuery() { @@ -30659,11 +35141,11 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp } // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupByList(this, "group_by", false); + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByList(this, "group_by", false); public get groupBy() { return this._groupBy; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy[] | cdktf.IResolvable) { this._groupBy.internalValue = value; } public resetGroupBy() { @@ -30675,11 +35157,11 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp } // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeList(this, "multi_compute", false); public get multiCompute() { return this._multiCompute; } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute[] | cdktf.IResolvable) { this._multiCompute.internalValue = value; } public resetMultiCompute() { @@ -30690,7 +35172,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestAp return this._multiCompute.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery { /** * The aggregation method. * @@ -30711,7 +35193,7 @@ export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionReque readonly interval?: number; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -30723,7 +35205,7 @@ export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionReques } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -30734,7 +35216,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLo super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._aggregation !== undefined) { @@ -30752,7 +35234,7 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLo return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; this._aggregation = undefined; @@ -30812,161 +35294,40 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLo return this._interval; } } -" -`; - -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs400 1`] = ` -"import * as cdktf from 'cdktf'; -import { Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments, -wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement, -wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementToTerraform, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementOutputReference, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement, -wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementToTerraform, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementOutputReference, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement, -wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementToTerraform, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementOutputReference, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement, -wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement, -wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementToTerraform, -Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementOutputReference } from './structs0' -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery { /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - + readonly aggregation: string; /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader { + readonly facet?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} */ - readonly name: string; + readonly order: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -30977,404 +35338,272 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._name = undefined; + internalValueResult.aggregation = this._aggregation; } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; } - } - - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); - } - public set name(value: string) { - this._name = value; - } - // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - name: cdktf.stringToTerraform(struct!.name), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._order !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set name(value: string) { - this._name = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { + public get aggregationInput() { + return this._aggregation; } -} -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + public set facet(value: string) { + this._facet = value; } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + public resetFacet() { + this._facet = undefined; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} - */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString; + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; + } +} +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy { /** - * single_header block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader; + readonly facet?: string; /** - * single_query_argument block + * The maximum number of items in the group. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument; + readonly limit?: number; /** - * uri_path block + * sort_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.facet = this._facet; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.limit = this._limit; } - if (this._uriPath?.internalValue !== undefined) { + if (this._sortQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody) { - this._body.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetBody() { - this._body.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; + public get facetInput() { + return this._facet; } - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; + public set limit(value: number) { + this._limit = value; } - public resetMethod() { - this._method.internalValue = undefined; + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + public get limitInput() { + return this._limit; } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public resetQueryString() { - this._queryString.internalValue = undefined; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get sortQueryInput() { + return this._sortQuery.internalValue; } +} - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; - } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; - } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; - } +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy[] | cdktf.IResolvable - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; - } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; - } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + /** + * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; - } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; - } - public resetUriPath() { - this._uriPath.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly priority: number; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly type: string; + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -31388,29 +35617,34 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.aggregation = this._aggregation; } - if (this._type !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -31419,40 +35653,60 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set priority(value: number) { - this._priority = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get aggregationInput() { + return this._aggregation; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set type(value: string) { - this._type = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -31466,37 +35720,58 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery { /** - * field_to_match block + * The name of the index to query. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch; + readonly index: string; /** - * text_transformation block + * The search query to use. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -31507,294 +35782,406 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.index = this._index; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; - } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get indexInput() { + return this._index; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get searchQueryInput() { + return this._searchQuery; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - return { + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery) { + this._computeQuery.internalValue = value; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; } - return { + public resetGroupBy() { + this._groupBy.internalValue = undefined; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill { + /** + * The metric query to use for this widget. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} + */ + readonly q?: string; + /** + * apm_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} + */ + readonly apmQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery; + /** + * log_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} + */ + readonly logQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery; + /** + * process_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} + */ + readonly processQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery; + /** + * rum_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} + */ + readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery; + /** + * security_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} + */ + readonly securityQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + q: cdktf.stringToTerraform(struct!.q), + apm_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryToTerraform(struct!.apmQuery), + log_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryToTerraform(struct!.logQuery), + process_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryToTerraform(struct!.processQuery), + rum_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryToTerraform(struct!.rumQuery), + security_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryToTerraform(struct!.securityQuery), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._q !== undefined) { + hasAnyValues = true; + internalValueResult.q = this._q; + } + if (this._apmQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.apmQuery = this._apmQuery?.internalValue; + } + if (this._logQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.logQuery = this._logQuery?.internalValue; + } + if (this._processQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.processQuery = this._processQuery?.internalValue; + } + if (this._rumQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.rumQuery = this._rumQuery?.internalValue; + } + if (this._securityQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.securityQuery = this._securityQuery?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._q = undefined; + this._apmQuery.internalValue = undefined; + this._logQuery.internalValue = undefined; + this._processQuery.internalValue = undefined; + this._rumQuery.internalValue = undefined; + this._securityQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._q = value.q; + this._apmQuery.internalValue = value.apmQuery; + this._logQuery.internalValue = value.logQuery; + this._processQuery.internalValue = value.processQuery; + this._rumQuery.internalValue = value.rumQuery; + this._securityQuery.internalValue = value.securityQuery; } } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // q - computed: false, optional: true, required: false + private _q?: string; + public get q() { + return this.getStringAttribute('q'); } - return { + public set q(value: string) { + this._q = value; + } + public resetQ() { + this._q = undefined; + } + // Temporarily expose input value. Use with caution. + public get qInput() { + return this._q; } -} -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; + // apm_query - computed: false, optional: true, required: false + private _apmQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryOutputReference(this, "apm_query"); + public get apmQuery() { + return this._apmQuery; + } + public putApmQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery) { + this._apmQuery.internalValue = value; + } + public resetApmQuery() { + this._apmQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get apmQueryInput() { + return this._apmQuery.internalValue; + } - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // log_query - computed: false, optional: true, required: false + private _logQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryOutputReference(this, "log_query"); + public get logQuery() { + return this._logQuery; + } + public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery) { + this._logQuery.internalValue = value; + } + public resetLogQuery() { + this._logQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get logQueryInput() { + return this._logQuery.internalValue; } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // process_query - computed: false, optional: true, required: false + private _processQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryOutputReference(this, "process_query"); + public get processQuery() { + return this._processQuery; + } + public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery) { + this._processQuery.internalValue = value; + } + public resetProcessQuery() { + this._processQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get processQueryInput() { + return this._processQuery.internalValue; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // rum_query - computed: false, optional: true, required: false + private _rumQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryOutputReference(this, "rum_query"); + public get rumQuery() { + return this._rumQuery; + } + public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery) { + this._rumQuery.internalValue = value; + } + public resetRumQuery() { + this._rumQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get rumQueryInput() { + return this._rumQuery.internalValue; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // security_query - computed: false, optional: true, required: false + private _securityQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryOutputReference(this, "security_query"); + public get securityQuery() { + return this._securityQuery; } - return { - name: cdktf.stringToTerraform(struct!.name), + public putSecurityQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery) { + this._securityQuery.internalValue = value; + } + public resetSecurityQuery() { + this._securityQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get securityQueryInput() { + return this._securityQuery.internalValue; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { - hasAnyValues = true; - internalValueResult.name = this._name; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._name = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; - } + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); - } - public set name(value: string) { - this._name = value; - } - // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly name: string; + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -31805,140 +36192,118 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set name(value: string) { - this._name = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get aggregationInput() { + return this._aggregation; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { + public set facet(value: string) { + this._facet = value; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetFacet() { + this._facet = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} - */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString; +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery { /** - * single_header block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader; + readonly aggregation: string; /** - * single_query_argument block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument; + readonly facet?: string; /** - * uri_path block + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath; + readonly order: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -31949,198 +36314,115 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.aggregation = this._aggregation; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.facet = this._facet; } - if (this._uriPath?.internalValue !== undefined) { + if (this._order !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody) { - this._body.internalValue = value; - } - public resetBody() { - this._body.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; - } - - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; - } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; - } - public resetMethod() { - this._method.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; - } - - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; - } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; - } - public resetQueryString() { - this._queryString.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; - } - - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; - } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get aggregationInput() { + return this._aggregation; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get facetInput() { + return this._facet; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; - } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public set order(value: string) { + this._order = value; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly priority: number; + readonly facet?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly type: string; + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -32154,29 +36436,34 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.facet = this._facet; } - if (this._type !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -32185,40 +36472,63 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set priority(value: number) { - this._priority = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get facetInput() { + return this._facet; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public set type(value: string) { - this._type = value; + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get limitInput() { + return this._limit; + } + + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; + } + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; + } + public resetSortQuery() { + this._sortQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -32232,396 +36542,500 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute { /** - * field_to_match block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch; + readonly aggregation: string; /** - * text_transformation block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.aggregation = this._aggregation; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public set aggregation(value: string) { + this._aggregation = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get facetInput() { + return this._facet; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement { + +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute[] | cdktf.IResolvable + /** - * byte_match_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#byte_match_statement Wafv2WebAcl#byte_match_statement} + * @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) */ - readonly byteMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + /** - * geo_match_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#geo_match_statement Wafv2WebAcl#geo_match_statement} + * @param index the index of the item to return */ - readonly geoMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement; + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQuery { /** - * ip_set_reference_statement block + * The name of the index to query. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_reference_statement Wafv2WebAcl#ip_set_reference_statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly ipSetReferenceStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement; + readonly index: string; /** - * regex_pattern_set_reference_statement block + * The search query to use. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#regex_pattern_set_reference_statement Wafv2WebAcl#regex_pattern_set_reference_statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} */ - readonly regexPatternSetReferenceStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement; + readonly searchQuery?: string; /** - * size_constraint_statement block + * compute_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size_constraint_statement Wafv2WebAcl#size_constraint_statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} */ - readonly sizeConstraintStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement; + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery; /** - * sqli_match_statement block + * group_by block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#sqli_match_statement Wafv2WebAcl#sqli_match_statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} */ - readonly sqliMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement; + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy[] | cdktf.IResolvable; /** - * xss_match_statement block + * multi_compute block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#xss_match_statement Wafv2WebAcl#xss_match_statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} */ - readonly xssMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement; + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - byte_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementToTerraform(struct!.byteMatchStatement), - geo_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementToTerraform(struct!.geoMatchStatement), - ip_set_reference_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct!.ipSetReferenceStatement), - regex_pattern_set_reference_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform(struct!.regexPatternSetReferenceStatement), - size_constraint_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementToTerraform(struct!.sizeConstraintStatement), - sqli_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementToTerraform(struct!.sqliMatchStatement), - xss_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementToTerraform(struct!.xssMatchStatement), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._byteMatchStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.byteMatchStatement = this._byteMatchStatement?.internalValue; - } - if (this._geoMatchStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.geoMatchStatement = this._geoMatchStatement?.internalValue; - } - if (this._ipSetReferenceStatement?.internalValue !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.ipSetReferenceStatement = this._ipSetReferenceStatement?.internalValue; + internalValueResult.index = this._index; } - if (this._regexPatternSetReferenceStatement?.internalValue !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.regexPatternSetReferenceStatement = this._regexPatternSetReferenceStatement?.internalValue; + internalValueResult.searchQuery = this._searchQuery; } - if (this._sizeConstraintStatement?.internalValue !== undefined) { + if (this._computeQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sizeConstraintStatement = this._sizeConstraintStatement?.internalValue; + internalValueResult.computeQuery = this._computeQuery?.internalValue; } - if (this._sqliMatchStatement?.internalValue !== undefined) { + if (this._groupBy?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sqliMatchStatement = this._sqliMatchStatement?.internalValue; + internalValueResult.groupBy = this._groupBy?.internalValue; } - if (this._xssMatchStatement?.internalValue !== undefined) { + if (this._multiCompute?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.xssMatchStatement = this._xssMatchStatement?.internalValue; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._byteMatchStatement.internalValue = undefined; - this._geoMatchStatement.internalValue = undefined; - this._ipSetReferenceStatement.internalValue = undefined; - this._regexPatternSetReferenceStatement.internalValue = undefined; - this._sizeConstraintStatement.internalValue = undefined; - this._sqliMatchStatement.internalValue = undefined; - this._xssMatchStatement.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._byteMatchStatement.internalValue = value.byteMatchStatement; - this._geoMatchStatement.internalValue = value.geoMatchStatement; - this._ipSetReferenceStatement.internalValue = value.ipSetReferenceStatement; - this._regexPatternSetReferenceStatement.internalValue = value.regexPatternSetReferenceStatement; - this._sizeConstraintStatement.internalValue = value.sizeConstraintStatement; - this._sqliMatchStatement.internalValue = value.sqliMatchStatement; - this._xssMatchStatement.internalValue = value.xssMatchStatement; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // byte_match_statement - computed: false, optional: true, required: false - private _byteMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementOutputReference(this, "byte_match_statement"); - public get byteMatchStatement() { - return this._byteMatchStatement; + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public putByteMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement) { - this._byteMatchStatement.internalValue = value; + public set index(value: string) { + this._index = value; } - public resetByteMatchStatement() { - this._byteMatchStatement.internalValue = undefined; + // Temporarily expose input value. Use with caution. + public get indexInput() { + return this._index; + } + + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); + } + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get byteMatchStatementInput() { - return this._byteMatchStatement.internalValue; + public get searchQueryInput() { + return this._searchQuery; } - // geo_match_statement - computed: false, optional: true, required: false - private _geoMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementOutputReference(this, "geo_match_statement"); - public get geoMatchStatement() { - return this._geoMatchStatement; + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; } - public putGeoMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement) { - this._geoMatchStatement.internalValue = value; + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery) { + this._computeQuery.internalValue = value; } - public resetGeoMatchStatement() { - this._geoMatchStatement.internalValue = undefined; + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get geoMatchStatementInput() { - return this._geoMatchStatement.internalValue; + public get computeQueryInput() { + return this._computeQuery.internalValue; } - // ip_set_reference_statement - computed: false, optional: true, required: false - private _ipSetReferenceStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementOutputReference(this, "ip_set_reference_statement"); - public get ipSetReferenceStatement() { - return this._ipSetReferenceStatement; + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; } - public putIpSetReferenceStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement) { - this._ipSetReferenceStatement.internalValue = value; + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; } - public resetIpSetReferenceStatement() { - this._ipSetReferenceStatement.internalValue = undefined; + public resetGroupBy() { + this._groupBy.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get ipSetReferenceStatementInput() { - return this._ipSetReferenceStatement.internalValue; + public get groupByInput() { + return this._groupBy.internalValue; } - // regex_pattern_set_reference_statement - computed: false, optional: true, required: false - private _regexPatternSetReferenceStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference(this, "regex_pattern_set_reference_statement"); - public get regexPatternSetReferenceStatement() { - return this._regexPatternSetReferenceStatement; + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; } - public putRegexPatternSetReferenceStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement) { - this._regexPatternSetReferenceStatement.internalValue = value; + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; } - public resetRegexPatternSetReferenceStatement() { - this._regexPatternSetReferenceStatement.internalValue = undefined; + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get regexPatternSetReferenceStatementInput() { - return this._regexPatternSetReferenceStatement.internalValue; + public get multiComputeInput() { + return this._multiCompute.internalValue; } +} +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; +} - // size_constraint_statement - computed: false, optional: true, required: false - private _sizeConstraintStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementOutputReference(this, "size_constraint_statement"); - public get sizeConstraintStatement() { - return this._sizeConstraintStatement; +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public putSizeConstraintStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement) { - this._sizeConstraintStatement.internalValue = value; + return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } - public resetSizeConstraintStatement() { - this._sizeConstraintStatement.internalValue = undefined; +} + +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; + } + } + + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); + } + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get sizeConstraintStatementInput() { - return this._sizeConstraintStatement.internalValue; + public get aggregationInput() { + return this._aggregation; } - // sqli_match_statement - computed: false, optional: true, required: false - private _sqliMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementOutputReference(this, "sqli_match_statement"); - public get sqliMatchStatement() { - return this._sqliMatchStatement; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putSqliMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement) { - this._sqliMatchStatement.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetSqliMatchStatement() { - this._sqliMatchStatement.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get sqliMatchStatementInput() { - return this._sqliMatchStatement.internalValue; + public get facetInput() { + return this._facet; } - // xss_match_statement - computed: false, optional: true, required: false - private _xssMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementOutputReference(this, "xss_match_statement"); - public get xssMatchStatement() { - return this._xssMatchStatement; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putXssMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement) { - this._xssMatchStatement.internalValue = value; + public set interval(value: number) { + this._interval = value; } - public resetXssMatchStatement() { - this._xssMatchStatement.internalValue = undefined; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get xssMatchStatementInput() { - return this._xssMatchStatement.internalValue; + public get intervalInput() { + return this._interval; } } - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement[] | cdktf.IResolvable - +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery { /** - * @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) + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - + readonly aggregation: string; /** - * @param index the index of the item to return + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatement { + readonly facet?: string; /** - * statement block + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} */ - readonly statement: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement[] | cdktf.IResolvable; + readonly order: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatement): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - statement: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementToTerraform, true)(struct!.statement), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -32632,210 +37046,440 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatement | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._statement?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.statement = this._statement?.internalValue; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatement | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._statement.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._statement.internalValue = value.statement; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // statement - computed: false, optional: false, required: true - private _statement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementList(this, "statement", false); - public get statement() { - return this._statement; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public putStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement[] | cdktf.IResolvable) { - this._statement.internalValue = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get statementInput() { - return this._statement.internalValue; + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); + } + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy { + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); + } + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; + } + + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; + } + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; + } + public resetSortQuery() { + this._sortQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute { + /** + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + */ + readonly facet?: string; + /** + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + */ + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._aggregation !== undefined) { + hasAnyValues = true; + internalValueResult.aggregation = this._aggregation; + } + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - return { + public set aggregation(value: string) { + this._aggregation = value; + } + // Temporarily expose input value. Use with caution. + public get aggregationInput() { + return this._aggregation; + } + + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); + } + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; + } + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * The name of the index to query. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly name: string; + readonly index: string; + /** + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + */ + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -32846,58 +37490,169 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.index = this._index; + } + if (this._searchQuery !== undefined) { + hasAnyValues = true; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public set name(value: string) { - this._name = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get indexInput() { + return this._index; + } + + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); + } + public set searchQuery(value: string) { + this._searchQuery = value; + } + public resetSearchQuery() { + this._searchQuery = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchQueryInput() { + return this._searchQuery; + } + + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; + } + + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; + } + + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * A list of processes. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} */ - readonly name: string; + readonly filterBy?: string[]; + /** + * The max number of items in the filter list. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * Your chosen metric. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + */ + readonly metric: string; + /** + * Your chosen search term. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} + */ + readonly searchBy?: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), + limit: cdktf.numberToTerraform(struct!.limit), + metric: cdktf.stringToTerraform(struct!.metric), + search_by: cdktf.stringToTerraform(struct!.searchBy), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -32908,140 +37663,140 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._filterBy !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.filterBy = this._filterBy; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._metric !== undefined) { + hasAnyValues = true; + internalValueResult.metric = this._metric; + } + if (this._searchBy !== undefined) { + hasAnyValues = true; + internalValueResult.searchBy = this._searchBy; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._filterBy = undefined; + this._limit = undefined; + this._metric = undefined; + this._searchBy = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._filterBy = value.filterBy; + this._limit = value.limit; + this._metric = value.metric; + this._searchBy = value.searchBy; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // filter_by - computed: false, optional: true, required: false + private _filterBy?: string[]; + public get filterBy() { + return this.getListAttribute('filter_by'); } - public set name(value: string) { - this._name = value; + public set filterBy(value: string[]) { + this._filterBy = value; + } + public resetFilterBy() { + this._filterBy = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get filterByInput() { + return this._filterBy; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - return { + public set limit(value: number) { + this._limit = value; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetLimit() { + this._limit = undefined; + } + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // metric - computed: false, optional: false, required: true + private _metric?: string; + public get metric() { + return this.getStringAttribute('metric'); + } + public set metric(value: string) { + this._metric = value; + } + // Temporarily expose input value. Use with caution. + public get metricInput() { + return this._metric; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // search_by - computed: false, optional: true, required: false + private _searchBy?: string; + public get searchBy() { + return this.getStringAttribute('search_by'); + } + public set searchBy(value: string) { + this._searchBy = value; + } + public resetSearchBy() { + this._searchBy = undefined; + } + // Temporarily expose input value. Use with caution. + public get searchByInput() { + return this._searchBy; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} - */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString; +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery { /** - * single_header block + * The aggregation method. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader; + readonly aggregation: string; /** - * single_query_argument block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; + readonly facet?: string; /** - * uri_path block + * Define the time interval in seconds. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath; + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -33052,545 +37807,562 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.aggregation = this._aggregation; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.facet = this._facet; } - if (this._uriPath?.internalValue !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody) { - this._body.internalValue = value; - } - public resetBody() { - this._body.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; - } - - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; - } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; - } - public resetMethod() { - this._method.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; - } - - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; - } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; - } - public resetQueryString() { - this._queryString.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; - } - - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; - } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get aggregationInput() { + return this._aggregation; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get facetInput() { + return this._facet; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + public set interval(value: number) { + this._interval = value; } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly priority: number; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly type: string; + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.aggregation = this._aggregation; } - if (this._type !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set priority(value: number) { - this._priority = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get aggregationInput() { + return this._aggregation; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set type(value: string) { - this._type = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get facetInput() { + return this._facet; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} - */ - readonly positionalConstraint: string; +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly searchString: string; + readonly facet?: string; /** - * field_to_match block + * The maximum number of items in the group. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch; + readonly limit?: number; /** - * text_transformation block + * sort_query block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatement): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), - search_string: cdktf.stringToTerraform(struct!.searchString), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatement | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._positionalConstraint !== undefined) { - hasAnyValues = true; - internalValueResult.positionalConstraint = this._positionalConstraint; - } - if (this._searchString !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.searchString = this._searchString; + internalValueResult.facet = this._facet; } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._limit !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.limit = this._limit; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._sortQuery?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.sortQuery = this._sortQuery?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._positionalConstraint = undefined; - this._searchString = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._positionalConstraint = value.positionalConstraint; - this._searchString = value.searchString; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } - // positional_constraint - computed: false, optional: false, required: true - private _positionalConstraint?: string; - public get positionalConstraint() { - return this.getStringAttribute('positional_constraint'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set positionalConstraint(value: string) { - this._positionalConstraint = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get positionalConstraintInput() { - return this._positionalConstraint; + public get facetInput() { + return this._facet; } - // search_string - computed: false, optional: false, required: true - private _searchString?: string; - public get searchString() { - return this.getStringAttribute('search_string'); + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } - public set searchString(value: string) { - this._searchString = value; + public set limit(value: number) { + this._limit = value; + } + public resetLimit() { + this._limit = undefined; } // Temporarily expose input value. Use with caution. - public get searchStringInput() { - return this._searchString; + public get limitInput() { + return this._limit; } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get sortQueryInput() { + return this._sortQuery.internalValue; } +} - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; - } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + */ + readonly aggregation: string; + /** + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly fallbackBehavior: string; + readonly facet?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly headerName: string; + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; + internalValueResult.aggregation = this._aggregation; } - if (this._headerName !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.facet = this._facet; + } + if (this._interval !== undefined) { + hasAnyValues = true; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; + this.resolvableValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; + this.resolvableValue = undefined; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + public get aggregationInput() { + return this._aggregation; } - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set headerName(value: string) { - this._headerName = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get facetInput() { + return this._facet; + } + + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); + } + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; + } + // Temporarily expose input value. Use with caution. + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatement { + +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute[] | cdktf.IResolvable + /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} + * @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) */ - readonly countryCodes: string[]; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + /** - * forwarded_ip_config block + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQuery { + /** + * The name of the index to query. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} */ - readonly forwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig; + readonly index: string; + /** + * The search query to use. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + */ + readonly searchQuery?: string; + /** + * compute_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + */ + readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery; + /** + * group_by block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + */ + readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy[] | cdktf.IResolvable; + /** + * multi_compute block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + */ + readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatement): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), - forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), + index: cdktf.stringToTerraform(struct!.index), + search_query: cdktf.stringToTerraform(struct!.searchQuery), + compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryToTerraform(struct!.computeQuery), + group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByToTerraform, true)(struct!.groupBy), + multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -33601,90 +38373,162 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatement | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._countryCodes !== undefined) { + if (this._index !== undefined) { hasAnyValues = true; - internalValueResult.countryCodes = this._countryCodes; + internalValueResult.index = this._index; } - if (this._forwardedIpConfig?.internalValue !== undefined) { + if (this._searchQuery !== undefined) { hasAnyValues = true; - internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; + internalValueResult.searchQuery = this._searchQuery; + } + if (this._computeQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.computeQuery = this._computeQuery?.internalValue; + } + if (this._groupBy?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.groupBy = this._groupBy?.internalValue; + } + if (this._multiCompute?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.multiCompute = this._multiCompute?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatement | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._countryCodes = undefined; - this._forwardedIpConfig.internalValue = undefined; + this._index = undefined; + this._searchQuery = undefined; + this._computeQuery.internalValue = undefined; + this._groupBy.internalValue = undefined; + this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._countryCodes = value.countryCodes; - this._forwardedIpConfig.internalValue = value.forwardedIpConfig; + this._index = value.index; + this._searchQuery = value.searchQuery; + this._computeQuery.internalValue = value.computeQuery; + this._groupBy.internalValue = value.groupBy; + this._multiCompute.internalValue = value.multiCompute; } } - // country_codes - computed: false, optional: false, required: true - private _countryCodes?: string[]; - public get countryCodes() { - return this.getListAttribute('country_codes'); + // index - computed: false, optional: false, required: true + private _index?: string; + public get index() { + return this.getStringAttribute('index'); } - public set countryCodes(value: string[]) { - this._countryCodes = value; + public set index(value: string) { + this._index = value; } // Temporarily expose input value. Use with caution. - public get countryCodesInput() { - return this._countryCodes; + public get indexInput() { + return this._index; } - // forwarded_ip_config - computed: false, optional: true, required: false - private _forwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); - public get forwardedIpConfig() { - return this._forwardedIpConfig; + // search_query - computed: false, optional: true, required: false + private _searchQuery?: string; + public get searchQuery() { + return this.getStringAttribute('search_query'); } - public putForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig) { - this._forwardedIpConfig.internalValue = value; + public set searchQuery(value: string) { + this._searchQuery = value; } - public resetForwardedIpConfig() { - this._forwardedIpConfig.internalValue = undefined; + public resetSearchQuery() { + this._searchQuery = undefined; } // Temporarily expose input value. Use with caution. - public get forwardedIpConfigInput() { - return this._forwardedIpConfig.internalValue; + public get searchQueryInput() { + return this._searchQuery; + } + + // compute_query - computed: false, optional: true, required: false + private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryOutputReference(this, "compute_query"); + public get computeQuery() { + return this._computeQuery; + } + public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery) { + this._computeQuery.internalValue = value; + } + public resetComputeQuery() { + this._computeQuery.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get computeQueryInput() { + return this._computeQuery.internalValue; + } + + // group_by - computed: false, optional: true, required: false + private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByList(this, "group_by", false); + public get groupBy() { + return this._groupBy; + } + public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy[] | cdktf.IResolvable) { + this._groupBy.internalValue = value; + } + public resetGroupBy() { + this._groupBy.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get groupByInput() { + return this._groupBy.internalValue; + } + + // multi_compute - computed: false, optional: true, required: false + private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeList(this, "multi_compute", false); + public get multiCompute() { + return this._multiCompute; + } + public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute[] | cdktf.IResolvable) { + this._multiCompute.internalValue = value; + } + public resetMultiCompute() { + this._multiCompute.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get multiComputeInput() { + return this._multiCompute.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly fallbackBehavior: string; + readonly aggregation: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly headerName: string; + readonly facet?: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} + * Define the time interval in seconds. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} */ - readonly position: string; + readonly interval?: number; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), - position: cdktf.stringToTerraform(struct!.position), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + interval: cdktf.numberToTerraform(struct!.interval), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -33695,103 +38539,118 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; + internalValueResult.aggregation = this._aggregation; } - if (this._headerName !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.facet = this._facet; } - if (this._position !== undefined) { + if (this._interval !== undefined) { hasAnyValues = true; - internalValueResult.position = this._position; + internalValueResult.interval = this._interval; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; - this._position = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; - this._position = value.position; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._interval = value.interval; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + public get aggregationInput() { + return this._aggregation; } - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public set headerName(value: string) { - this._headerName = value; + public set facet(value: string) { + this._facet = value; + } + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get facetInput() { + return this._facet; } - // position - computed: false, optional: false, required: true - private _position?: string; - public get position() { - return this.getStringAttribute('position'); + // interval - computed: false, optional: true, required: false + private _interval?: number; + public get interval() { + return this.getNumberAttribute('interval'); } - public set position(value: string) { - this._position = value; + public set interval(value: number) { + this._interval = value; + } + public resetInterval() { + this._interval = undefined; } // Temporarily expose input value. Use with caution. - public get positionInput() { - return this._position; + public get intervalInput() { + return this._interval; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatement { +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} + * The aggregation method. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} */ - readonly arn: string; + readonly aggregation: string; /** - * ip_set_forwarded_ip_config block + * The facet name. * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; + readonly facet?: string; + /** + * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + */ + readonly order: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatement): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - arn: cdktf.stringToTerraform(struct!.arn), - ip_set_forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), + aggregation: cdktf.stringToTerraform(struct!.aggregation), + facet: cdktf.stringToTerraform(struct!.facet), + order: cdktf.stringToTerraform(struct!.order), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -33802,322 +38661,330 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatement | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._arn !== undefined) { + if (this._aggregation !== undefined) { hasAnyValues = true; - internalValueResult.arn = this._arn; + internalValueResult.aggregation = this._aggregation; } - if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { + if (this._facet !== undefined) { hasAnyValues = true; - internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; + internalValueResult.facet = this._facet; + } + if (this._order !== undefined) { + hasAnyValues = true; + internalValueResult.order = this._order; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatement | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._arn = undefined; - this._ipSetForwardedIpConfig.internalValue = undefined; + this._aggregation = undefined; + this._facet = undefined; + this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; - this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; + this._aggregation = value.aggregation; + this._facet = value.facet; + this._order = value.order; } } - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); + // aggregation - computed: false, optional: false, required: true + private _aggregation?: string; + public get aggregation() { + return this.getStringAttribute('aggregation'); } - public set arn(value: string) { - this._arn = value; + public set aggregation(value: string) { + this._aggregation = value; } // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; + public get aggregationInput() { + return this._aggregation; } - // ip_set_forwarded_ip_config - computed: false, optional: true, required: false - private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); - public get ipSetForwardedIpConfig() { - return this._ipSetForwardedIpConfig; + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { - this._ipSetForwardedIpConfig.internalValue = value; + public set facet(value: string) { + this._facet = value; } - public resetIpSetForwardedIpConfig() { - this._ipSetForwardedIpConfig.internalValue = undefined; + public resetFacet() { + this._facet = undefined; } // Temporarily expose input value. Use with caution. - public get ipSetForwardedIpConfigInput() { - return this._ipSetForwardedIpConfig.internalValue; + public get facetInput() { + return this._facet; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // order - computed: false, optional: false, required: true + private _order?: string; + public get order() { + return this.getStringAttribute('order'); } - return { + public set order(value: string) { + this._order = value; + } + // Temporarily expose input value. Use with caution. + public get orderInput() { + return this._order; } } - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - +export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy { /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * The facet name. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody { + readonly facet?: string; + /** + * The maximum number of items in the group. + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + */ + readonly limit?: number; + /** + * sort_query block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + */ + readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody): any { +export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + facet: cdktf.stringToTerraform(struct!.facet), + limit: cdktf.numberToTerraform(struct!.limit), + sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody | undefined { + public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._facet !== undefined) { + hasAnyValues = true; + internalValueResult.facet = this._facet; + } + if (this._limit !== undefined) { + hasAnyValues = true; + internalValueResult.limit = this._limit; + } + if (this._sortQuery?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sortQuery = this._sortQuery?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody | undefined) { + public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._facet = undefined; + this._limit = undefined; + this._sortQuery.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._facet = value.facet; + this._limit = value.limit; + this._sortQuery.internalValue = value.sortQuery; } } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // facet - computed: false, optional: true, required: false + private _facet?: string; + public get facet() { + return this.getStringAttribute('facet'); } - return { + public set facet(value: string) { + this._facet = value; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public resetFacet() { + this._facet = undefined; } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get facetInput() { + return this._facet; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // limit - computed: false, optional: true, required: false + private _limit?: number; + public get limit() { + return this.getNumberAttribute('limit'); } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + public set limit(value: number) { + this._limit = value; } - return { + public resetLimit() { + this._limit = undefined; } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get limitInput() { + return this._limit; } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // sort_query - computed: false, optional: true, required: false + private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); + public get sortQuery() { + return this._sortQuery; } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery) { + this._sortQuery.internalValue = value; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + public resetSortQuery() { + this._sortQuery.internalValue = undefined; } - return { - name: cdktf.stringToTerraform(struct!.name), + // Temporarily expose input value. Use with caution. + public get sortQueryInput() { + return this._sortQuery.internalValue; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByList extends cdktf.ComplexList { + public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { - hasAnyValues = true; - internalValueResult.name = this._name; - } - return hasAnyValues ? internalValueResult : undefined; + /** + * @param index the index of the item to return + */ + public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByOutputReference { + return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } +} +" +`; - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._name = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; - } - } +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs-index 1`] = ` +"export * from './structs0' +export * from './structs400' +export * from './structs800' +export * from './structs1200' +export * from './structs1600' +export * from './structs2000' +export * from './structs2400' +export * from './structs2800' +export * from './structs3200' +export * from './structs3600' +export * from './structs4000' +export * from './structs4400' +export * from './structs4800' +export * from './structs5200' +" +`; - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); - } - public set name(value: string) { - this._name = value; - } - // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs0 1`] = ` +"import * as cdktf from 'cdktf'; +export interface Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} + */ + readonly value: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { +export function wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderToTerraform(struct?: Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { name: cdktf.stringToTerraform(struct!.name), + value: cdktf.stringToTerraform(struct!.value), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } + if (this._value !== undefined) { + hasAnyValues = true; + internalValueResult.value = this._value; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; this._name = undefined; + this._value = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; this._name = value.name; + this._value = value.value; } } @@ -34133,309 +39000,194 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement public get nameInput() { return this._name; } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // value - computed: false, optional: false, required: true + private _value?: string; + public get value() { + return this.getStringAttribute('value'); } - return { + public set value(value: string) { + this._value = value; + } + // Temporarily expose input value. Use with caution. + public get valueInput() { + return this._value; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; +export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader[] | 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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} - */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString; - /** - * single_header block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} - */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader; - /** - * single_query_argument block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} - */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; /** - * uri_path block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * @param index the index of the item to return */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + public get(index: number): Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderOutputReference { + return new Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - +export interface Wafv2WebAclDefaultActionAllowCustomRequestHandling { /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * insert_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#insert_header Wafv2WebAcl#insert_header} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; - } - if (this._singleQueryArgument?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; - } - if (this._uriPath?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; - } - } - - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody) { - this._body.internalValue = value; - } - public resetBody() { - this._body.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; - } + readonly insertHeader: Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable; +} - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; +export function wafv2WebAclDefaultActionAllowCustomRequestHandlingToTerraform(struct?: Wafv2WebAclDefaultActionAllowCustomRequestHandlingOutputReference | Wafv2WebAclDefaultActionAllowCustomRequestHandling): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; + return { + insert_header: cdktf.listMapper(wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderToTerraform, true)(struct!.insertHeader), } - public resetMethod() { - this._method.internalValue = undefined; +} + +export class Wafv2WebAclDefaultActionAllowCustomRequestHandlingOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; + + public get internalValue(): Wafv2WebAclDefaultActionAllowCustomRequestHandling | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._insertHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.insertHeader = this._insertHeader?.internalValue; + } + return hasAnyValues ? internalValueResult : undefined; } - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; + public set internalValue(value: Wafv2WebAclDefaultActionAllowCustomRequestHandling | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._insertHeader.internalValue = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._insertHeader.internalValue = value.insertHeader; + } } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; + + // insert_header - computed: false, optional: false, required: true + private _insertHeader = new Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeaderList(this, "insert_header", true); + public get insertHeader() { + return this._insertHeader; } - public resetQueryString() { - this._queryString.internalValue = undefined; + public putInsertHeader(value: Wafv2WebAclDefaultActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable) { + this._insertHeader.internalValue = value; } // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; + public get insertHeaderInput() { + return this._insertHeader.internalValue; } +} +export interface Wafv2WebAclDefaultActionAllow { + /** + * custom_request_handling block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_request_handling Wafv2WebAcl#custom_request_handling} + */ + readonly customRequestHandling?: Wafv2WebAclDefaultActionAllowCustomRequestHandling; +} - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; - } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; - } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; +export function wafv2WebAclDefaultActionAllowToTerraform(struct?: Wafv2WebAclDefaultActionAllowOutputReference | Wafv2WebAclDefaultActionAllow): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + return { + custom_request_handling: wafv2WebAclDefaultActionAllowCustomRequestHandlingToTerraform(struct!.customRequestHandling), } +} - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; - } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; +export class Wafv2WebAclDefaultActionAllowOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + + public get internalValue(): Wafv2WebAclDefaultActionAllow | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._customRequestHandling?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.customRequestHandling = this._customRequestHandling?.internalValue; + } + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + + public set internalValue(value: Wafv2WebAclDefaultActionAllow | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._customRequestHandling.internalValue = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._customRequestHandling.internalValue = value.customRequestHandling; + } } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; + // custom_request_handling - computed: false, optional: true, required: false + private _customRequestHandling = new Wafv2WebAclDefaultActionAllowCustomRequestHandlingOutputReference(this, "custom_request_handling"); + public get customRequestHandling() { + return this._customRequestHandling; } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + public putCustomRequestHandling(value: Wafv2WebAclDefaultActionAllowCustomRequestHandling) { + this._customRequestHandling.internalValue = value; } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public resetCustomRequestHandling() { + this._customRequestHandling.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get customRequestHandlingInput() { + return this._customRequestHandling.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation { +export interface Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly priority: number; + readonly name: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} */ - readonly type: string; + readonly value: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { +export function wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderToTerraform(struct?: Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + name: cdktf.stringToTerraform(struct!.name), + value: cdktf.stringToTerraform(struct!.value), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -34449,29 +39201,29 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.priority = this._priority; + internalValueResult.name = this._name; } - if (this._type !== undefined) { + if (this._value !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; + this._name = undefined; + this._value = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -34480,40 +39232,40 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._name = value.name; + this._value = value.value; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set priority(value: number) { - this._priority = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; + public get nameInput() { + return this._name; } - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // value - computed: false, optional: false, required: true + private _value?: string; + public get value() { + return this.getStringAttribute('value'); } - public set type(value: string) { - this._type = value; + public set value(value: string) { + this._value = value; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + public get valueInput() { + return this._value; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable +export class Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -34527,47 +39279,35 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputReference { + return new Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} - */ - readonly positionalConstraint: string; - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} - */ - readonly searchString: string; +export interface Wafv2WebAclDefaultActionBlockCustomResponse { /** - * field_to_match block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#response_code Wafv2WebAcl#response_code} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch; + readonly responseCode: number; /** - * text_transformation block + * response_header block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#response_header Wafv2WebAcl#response_header} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly responseHeader?: Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement): any { +export function wafv2WebAclDefaultActionBlockCustomResponseToTerraform(struct?: Wafv2WebAclDefaultActionBlockCustomResponseOutputReference | Wafv2WebAclDefaultActionBlockCustomResponse): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), - search_string: cdktf.stringToTerraform(struct!.searchString), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + response_code: cdktf.numberToTerraform(struct!.responseCode), + response_header: cdktf.listMapper(wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderToTerraform, true)(struct!.responseHeader), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclDefaultActionBlockCustomResponseOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -34578,123 +39318,82 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement | undefined { + public get internalValue(): Wafv2WebAclDefaultActionBlockCustomResponse | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._positionalConstraint !== undefined) { - hasAnyValues = true; - internalValueResult.positionalConstraint = this._positionalConstraint; - } - if (this._searchString !== undefined) { - hasAnyValues = true; - internalValueResult.searchString = this._searchString; - } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._responseCode !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.responseCode = this._responseCode; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._responseHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.responseHeader = this._responseHeader?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement | undefined) { + public set internalValue(value: Wafv2WebAclDefaultActionBlockCustomResponse | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._positionalConstraint = undefined; - this._searchString = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._responseCode = undefined; + this._responseHeader.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._positionalConstraint = value.positionalConstraint; - this._searchString = value.searchString; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._responseCode = value.responseCode; + this._responseHeader.internalValue = value.responseHeader; } } - // positional_constraint - computed: false, optional: false, required: true - private _positionalConstraint?: string; - public get positionalConstraint() { - return this.getStringAttribute('positional_constraint'); - } - public set positionalConstraint(value: string) { - this._positionalConstraint = value; - } - // Temporarily expose input value. Use with caution. - public get positionalConstraintInput() { - return this._positionalConstraint; - } - - // search_string - computed: false, optional: false, required: true - private _searchString?: string; - public get searchString() { - return this.getStringAttribute('search_string'); + // response_code - computed: false, optional: false, required: true + private _responseCode?: number; + public get responseCode() { + return this.getNumberAttribute('response_code'); } - public set searchString(value: string) { - this._searchString = value; + public set responseCode(value: number) { + this._responseCode = value; } // Temporarily expose input value. Use with caution. - public get searchStringInput() { - return this._searchString; + public get responseCodeInput() { + return this._responseCode; } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; - } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; - } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + // response_header - computed: false, optional: true, required: false + private _responseHeader = new Wafv2WebAclDefaultActionBlockCustomResponseResponseHeaderList(this, "response_header", true); + public get responseHeader() { + return this._responseHeader; } - - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + public putResponseHeader(value: Wafv2WebAclDefaultActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable) { + this._responseHeader.internalValue = value; } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public resetResponseHeader() { + this._responseHeader.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get responseHeaderInput() { + return this._responseHeader.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} - */ - readonly fallbackBehavior: string; +export interface Wafv2WebAclDefaultActionBlock { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * custom_response block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_response Wafv2WebAcl#custom_response} */ - readonly headerName: string; + readonly customResponse?: Wafv2WebAclDefaultActionBlockCustomResponse; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig): any { +export function wafv2WebAclDefaultActionBlockToTerraform(struct?: Wafv2WebAclDefaultActionBlockOutputReference | Wafv2WebAclDefaultActionBlock): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), + custom_response: wafv2WebAclDefaultActionBlockCustomResponseToTerraform(struct!.customResponse), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclDefaultActionBlockOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -34705,84 +39404,70 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig | undefined { + public get internalValue(): Wafv2WebAclDefaultActionBlock | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { - hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; - } - if (this._headerName !== undefined) { + if (this._customResponse?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.customResponse = this._customResponse?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { + public set internalValue(value: Wafv2WebAclDefaultActionBlock | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; + this._customResponse.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; + this._customResponse.internalValue = value.customResponse; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); - } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; - } - // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + // custom_response - computed: false, optional: true, required: false + private _customResponse = new Wafv2WebAclDefaultActionBlockCustomResponseOutputReference(this, "custom_response"); + public get customResponse() { + return this._customResponse; } - - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + public putCustomResponse(value: Wafv2WebAclDefaultActionBlockCustomResponse) { + this._customResponse.internalValue = value; } - public set headerName(value: string) { - this._headerName = value; + public resetCustomResponse() { + this._customResponse.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get customResponseInput() { + return this._customResponse.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement { +export interface Wafv2WebAclDefaultAction { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} + * allow block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#allow Wafv2WebAcl#allow} */ - readonly countryCodes: string[]; + readonly allow?: Wafv2WebAclDefaultActionAllow; /** - * forwarded_ip_config block + * block block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#block Wafv2WebAcl#block} */ - readonly forwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig; + readonly block?: Wafv2WebAclDefaultActionBlock; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement): any { +export function wafv2WebAclDefaultActionToTerraform(struct?: Wafv2WebAclDefaultActionOutputReference | Wafv2WebAclDefaultAction): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), - forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), + allow: wafv2WebAclDefaultActionAllowToTerraform(struct!.allow), + block: wafv2WebAclDefaultActionBlockToTerraform(struct!.block), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclDefaultActionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -34793,197 +39478,203 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement | undefined { + public get internalValue(): Wafv2WebAclDefaultAction | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._countryCodes !== undefined) { + if (this._allow?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.countryCodes = this._countryCodes; + internalValueResult.allow = this._allow?.internalValue; } - if (this._forwardedIpConfig?.internalValue !== undefined) { + if (this._block?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; + internalValueResult.block = this._block?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement | undefined) { + public set internalValue(value: Wafv2WebAclDefaultAction | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._countryCodes = undefined; - this._forwardedIpConfig.internalValue = undefined; + this._allow.internalValue = undefined; + this._block.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._countryCodes = value.countryCodes; - this._forwardedIpConfig.internalValue = value.forwardedIpConfig; + this._allow.internalValue = value.allow; + this._block.internalValue = value.block; } } - // country_codes - computed: false, optional: false, required: true - private _countryCodes?: string[]; - public get countryCodes() { - return this.getListAttribute('country_codes'); + // allow - computed: false, optional: true, required: false + private _allow = new Wafv2WebAclDefaultActionAllowOutputReference(this, "allow"); + public get allow() { + return this._allow; } - public set countryCodes(value: string[]) { - this._countryCodes = value; + public putAllow(value: Wafv2WebAclDefaultActionAllow) { + this._allow.internalValue = value; + } + public resetAllow() { + this._allow.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get countryCodesInput() { - return this._countryCodes; + public get allowInput() { + return this._allow.internalValue; } - // forwarded_ip_config - computed: false, optional: true, required: false - private _forwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); - public get forwardedIpConfig() { - return this._forwardedIpConfig; + // block - computed: false, optional: true, required: false + private _block = new Wafv2WebAclDefaultActionBlockOutputReference(this, "block"); + public get block() { + return this._block; } - public putForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig) { - this._forwardedIpConfig.internalValue = value; + public putBlock(value: Wafv2WebAclDefaultActionBlock) { + this._block.internalValue = value; } - public resetForwardedIpConfig() { - this._forwardedIpConfig.internalValue = undefined; + public resetBlock() { + this._block.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get forwardedIpConfigInput() { - return this._forwardedIpConfig.internalValue; + public get blockInput() { + return this._block.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} - */ - readonly fallbackBehavior: string; +export interface Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly headerName: string; + readonly name: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} */ - readonly position: string; + readonly value: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { +export function wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderToTerraform(struct?: Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), - position: cdktf.stringToTerraform(struct!.position), + name: cdktf.stringToTerraform(struct!.name), + value: cdktf.stringToTerraform(struct!.value), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { + public get internalValue(): Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { - hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; - } - if (this._headerName !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.headerName = this._headerName; + internalValueResult.name = this._name; } - if (this._position !== undefined) { + if (this._value !== undefined) { hasAnyValues = true; - internalValueResult.position = this._position; + internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { + public set internalValue(value: Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; - this._position = undefined; + this.resolvableValue = undefined; + this._name = undefined; + this._value = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; - this._position = value.position; + this.resolvableValue = undefined; + this._name = value.name; + this._value = value.value; } } - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; + public get nameInput() { + return this._name; } - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); + // value - computed: false, optional: false, required: true + private _value?: string; + public get value() { + return this.getStringAttribute('value'); } - public set headerName(value: string) { - this._headerName = value; + public set value(value: string) { + this._value = value; } // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; + public get valueInput() { + return this._value; } +} - // position - computed: false, optional: false, required: true - private _position?: string; - public get position() { - return this.getStringAttribute('position'); - } - public set position(value: string) { - this._position = value; - } - // Temporarily expose input value. Use with caution. - public get positionInput() { - return this._position; +export class Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement { + /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} + * @param index the index of the item to return */ - readonly arn: string; + public get(index: number): Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderOutputReference { + return new Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface Wafv2WebAclRuleActionAllowCustomRequestHandling { /** - * ip_set_forwarded_ip_config block + * insert_header block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#insert_header Wafv2WebAcl#insert_header} */ - readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; + readonly insertHeader: Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement): any { +export function wafv2WebAclRuleActionAllowCustomRequestHandlingToTerraform(struct?: Wafv2WebAclRuleActionAllowCustomRequestHandlingOutputReference | Wafv2WebAclRuleActionAllowCustomRequestHandling): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - arn: cdktf.stringToTerraform(struct!.arn), - ip_set_forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), + insert_header: cdktf.listMapper(wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderToTerraform, true)(struct!.insertHeader), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionAllowCustomRequestHandlingOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -34994,75 +39685,60 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement | undefined { + public get internalValue(): Wafv2WebAclRuleActionAllowCustomRequestHandling | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._arn !== undefined) { - hasAnyValues = true; - internalValueResult.arn = this._arn; - } - if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { + if (this._insertHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; + internalValueResult.insertHeader = this._insertHeader?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement | undefined) { + public set internalValue(value: Wafv2WebAclRuleActionAllowCustomRequestHandling | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._arn = undefined; - this._ipSetForwardedIpConfig.internalValue = undefined; + this._insertHeader.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; - this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; + this._insertHeader.internalValue = value.insertHeader; } } - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); - } - public set arn(value: string) { - this._arn = value; - } - // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; - } - - // ip_set_forwarded_ip_config - computed: false, optional: true, required: false - private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); - public get ipSetForwardedIpConfig() { - return this._ipSetForwardedIpConfig; - } - public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { - this._ipSetForwardedIpConfig.internalValue = value; + // insert_header - computed: false, optional: false, required: true + private _insertHeader = new Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeaderList(this, "insert_header", true); + public get insertHeader() { + return this._insertHeader; } - public resetIpSetForwardedIpConfig() { - this._ipSetForwardedIpConfig.internalValue = undefined; + public putInsertHeader(value: Wafv2WebAclRuleActionAllowCustomRequestHandlingInsertHeader[] | cdktf.IResolvable) { + this._insertHeader.internalValue = value; } // Temporarily expose input value. Use with caution. - public get ipSetForwardedIpConfigInput() { - return this._ipSetForwardedIpConfig.internalValue; + public get insertHeaderInput() { + return this._insertHeader.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments { +export interface Wafv2WebAclRuleActionAllow { + /** + * custom_request_handling block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_request_handling Wafv2WebAcl#custom_request_handling} + */ + readonly customRequestHandling?: Wafv2WebAclRuleActionAllowCustomRequestHandling; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments): any { +export function wafv2WebAclRuleActionAllowToTerraform(struct?: Wafv2WebAclRuleActionAllowOutputReference | Wafv2WebAclRuleActionAllow): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + custom_request_handling: wafv2WebAclRuleActionAllowCustomRequestHandlingToTerraform(struct!.customRequestHandling), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionAllowOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35073,72 +39749,186 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): Wafv2WebAclRuleActionAllow | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._customRequestHandling?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.customRequestHandling = this._customRequestHandling?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: Wafv2WebAclRuleActionAllow | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._customRequestHandling.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._customRequestHandling.internalValue = value.customRequestHandling; } } + + // custom_request_handling - computed: false, optional: true, required: false + private _customRequestHandling = new Wafv2WebAclRuleActionAllowCustomRequestHandlingOutputReference(this, "custom_request_handling"); + public get customRequestHandling() { + return this._customRequestHandling; + } + public putCustomRequestHandling(value: Wafv2WebAclRuleActionAllowCustomRequestHandling) { + this._customRequestHandling.internalValue = value; + } + public resetCustomRequestHandling() { + this._customRequestHandling.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get customRequestHandlingInput() { + return this._customRequestHandling.internalValue; + } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody { +export interface Wafv2WebAclRuleActionBlockCustomResponseResponseHeader { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} + */ + readonly value: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody): any { +export function wafv2WebAclRuleActionBlockCustomResponseResponseHeaderToTerraform(struct?: Wafv2WebAclRuleActionBlockCustomResponseResponseHeader | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + name: cdktf.stringToTerraform(struct!.name), + value: cdktf.stringToTerraform(struct!.value), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined { + public get internalValue(): Wafv2WebAclRuleActionBlockCustomResponseResponseHeader | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + if (this._value !== undefined) { + hasAnyValues = true; + internalValueResult.value = this._value; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined) { + public set internalValue(value: Wafv2WebAclRuleActionBlockCustomResponseResponseHeader | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; + this._name = undefined; + this._value = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._name = value.name; + this._value = value.value; } } + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); + } + public set name(value: string) { + this._name = value; + } + // Temporarily expose input value. Use with caution. + public get nameInput() { + return this._name; + } + + // value - computed: false, optional: false, required: true + private _value?: string; + public get value() { + return this.getStringAttribute('value'); + } + public set value(value: string) { + this._value = value; + } + // Temporarily expose input value. Use with caution. + public get valueInput() { + return this._value; + } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod { + +export class Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleActionBlockCustomResponseResponseHeader[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderOutputReference { + return new Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface Wafv2WebAclRuleActionBlockCustomResponse { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#response_code Wafv2WebAcl#response_code} + */ + readonly responseCode: number; + /** + * response_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#response_header Wafv2WebAcl#response_header} + */ + readonly responseHeader?: Wafv2WebAclRuleActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod): any { +export function wafv2WebAclRuleActionBlockCustomResponseToTerraform(struct?: Wafv2WebAclRuleActionBlockCustomResponseOutputReference | Wafv2WebAclRuleActionBlockCustomResponse): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + response_code: cdktf.numberToTerraform(struct!.responseCode), + response_header: cdktf.listMapper(wafv2WebAclRuleActionBlockCustomResponseResponseHeaderToTerraform, true)(struct!.responseHeader), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionBlockCustomResponseOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35149,34 +39939,82 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined { + public get internalValue(): Wafv2WebAclRuleActionBlockCustomResponse | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._responseCode !== undefined) { + hasAnyValues = true; + internalValueResult.responseCode = this._responseCode; + } + if (this._responseHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.responseHeader = this._responseHeader?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined) { + public set internalValue(value: Wafv2WebAclRuleActionBlockCustomResponse | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._responseCode = undefined; + this._responseHeader.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._responseCode = value.responseCode; + this._responseHeader.internalValue = value.responseHeader; } } + + // response_code - computed: false, optional: false, required: true + private _responseCode?: number; + public get responseCode() { + return this.getNumberAttribute('response_code'); + } + public set responseCode(value: number) { + this._responseCode = value; + } + // Temporarily expose input value. Use with caution. + public get responseCodeInput() { + return this._responseCode; + } + + // response_header - computed: false, optional: true, required: false + private _responseHeader = new Wafv2WebAclRuleActionBlockCustomResponseResponseHeaderList(this, "response_header", true); + public get responseHeader() { + return this._responseHeader; + } + public putResponseHeader(value: Wafv2WebAclRuleActionBlockCustomResponseResponseHeader[] | cdktf.IResolvable) { + this._responseHeader.internalValue = value; + } + public resetResponseHeader() { + this._responseHeader.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get responseHeaderInput() { + return this._responseHeader.internalValue; + } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString { +export interface Wafv2WebAclRuleActionBlock { + /** + * custom_response block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_response Wafv2WebAcl#custom_response} + */ + readonly customResponse?: Wafv2WebAclRuleActionBlockCustomResponse; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString): any { +export function wafv2WebAclRuleActionBlockToTerraform(struct?: Wafv2WebAclRuleActionBlockOutputReference | Wafv2WebAclRuleActionBlock): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + custom_response: wafv2WebAclRuleActionBlockCustomResponseToTerraform(struct!.customResponse), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionBlockOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35187,67 +40025,112 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined { + public get internalValue(): Wafv2WebAclRuleActionBlock | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._customResponse?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.customResponse = this._customResponse?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined) { + public set internalValue(value: Wafv2WebAclRuleActionBlock | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._customResponse.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._customResponse.internalValue = value.customResponse; } } + + // custom_response - computed: false, optional: true, required: false + private _customResponse = new Wafv2WebAclRuleActionBlockCustomResponseOutputReference(this, "custom_response"); + public get customResponse() { + return this._customResponse; + } + public putCustomResponse(value: Wafv2WebAclRuleActionBlockCustomResponse) { + this._customResponse.internalValue = value; + } + public resetCustomResponse() { + this._customResponse.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get customResponseInput() { + return this._customResponse.internalValue; + } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader { +export interface Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#value Wafv2WebAcl#value} + */ + readonly value: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader): any { +export function wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderToTerraform(struct?: Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { name: cdktf.stringToTerraform(struct!.name), + value: cdktf.stringToTerraform(struct!.value), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } + if (this._value !== undefined) { + hasAnyValues = true; + internalValueResult.value = this._value; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; + this.resolvableValue = undefined; this._name = undefined; + this._value = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; this._name = value.name; + this._value = value.value; } } @@ -35263,25 +40146,60 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement public get nameInput() { return this._name; } + + // value - computed: false, optional: false, required: true + private _value?: string; + public get value() { + return this.getStringAttribute('value'); + } + public set value(value: string) { + this._value = value; + } + // Temporarily expose input value. Use with caution. + public get valueInput() { + return this._value; + } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument { + +export class Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader[] | cdktf.IResolvable + /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * @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) */ - readonly name: string; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + + /** + * @param index the index of the item to return + */ + public get(index: number): Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderOutputReference { + return new Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface Wafv2WebAclRuleActionCountCustomRequestHandling { + /** + * insert_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#insert_header Wafv2WebAcl#insert_header} + */ + readonly insertHeader: Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument): any { +export function wafv2WebAclRuleActionCountCustomRequestHandlingToTerraform(struct?: Wafv2WebAclRuleActionCountCustomRequestHandlingOutputReference | Wafv2WebAclRuleActionCountCustomRequestHandling): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + insert_header: cdktf.listMapper(wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderToTerraform, true)(struct!.insertHeader), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionCountCustomRequestHandlingOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35292,53 +40210,60 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): Wafv2WebAclRuleActionCountCustomRequestHandling | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._insertHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.insertHeader = this._insertHeader?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: Wafv2WebAclRuleActionCountCustomRequestHandling | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._insertHeader.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._insertHeader.internalValue = value.insertHeader; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // insert_header - computed: false, optional: false, required: true + private _insertHeader = new Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeaderList(this, "insert_header", true); + public get insertHeader() { + return this._insertHeader; } - public set name(value: string) { - this._name = value; + public putInsertHeader(value: Wafv2WebAclRuleActionCountCustomRequestHandlingInsertHeader[] | cdktf.IResolvable) { + this._insertHeader.internalValue = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get insertHeaderInput() { + return this._insertHeader.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath { +export interface Wafv2WebAclRuleActionCount { + /** + * custom_request_handling block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#custom_request_handling Wafv2WebAcl#custom_request_handling} + */ + readonly customRequestHandling?: Wafv2WebAclRuleActionCountCustomRequestHandling; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath): any { +export function wafv2WebAclRuleActionCountToTerraform(struct?: Wafv2WebAclRuleActionCountOutputReference | Wafv2WebAclRuleActionCount): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + custom_request_handling: wafv2WebAclRuleActionCountCustomRequestHandlingToTerraform(struct!.customRequestHandling), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionCountOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35349,83 +40274,77 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined { + public get internalValue(): Wafv2WebAclRuleActionCount | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._customRequestHandling?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.customRequestHandling = this._customRequestHandling?.internalValue; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined) { + public set internalValue(value: Wafv2WebAclRuleActionCount | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._customRequestHandling.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._customRequestHandling.internalValue = value.customRequestHandling; } } + + // custom_request_handling - computed: false, optional: true, required: false + private _customRequestHandling = new Wafv2WebAclRuleActionCountCustomRequestHandlingOutputReference(this, "custom_request_handling"); + public get customRequestHandling() { + return this._customRequestHandling; + } + public putCustomRequestHandling(value: Wafv2WebAclRuleActionCountCustomRequestHandling) { + this._customRequestHandling.internalValue = value; + } + public resetCustomRequestHandling() { + this._customRequestHandling.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get customRequestHandlingInput() { + return this._customRequestHandling.internalValue; + } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} - */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; +export interface Wafv2WebAclRuleAction { /** - * single_header block + * allow block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#allow Wafv2WebAcl#allow} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader; + readonly allow?: Wafv2WebAclRuleActionAllow; /** - * single_query_argument block + * block block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#block Wafv2WebAcl#block} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument; + readonly block?: Wafv2WebAclRuleActionBlock; /** - * uri_path block + * count block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#count Wafv2WebAcl#count} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath; + readonly count?: Wafv2WebAclRuleActionCount; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch): any { +export function wafv2WebAclRuleActionToTerraform(struct?: Wafv2WebAclRuleActionOutputReference | Wafv2WebAclRuleAction): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + allow: wafv2WebAclRuleActionAllowToTerraform(struct!.allow), + block: wafv2WebAclRuleActionBlockToTerraform(struct!.block), + count: wafv2WebAclRuleActionCountToTerraform(struct!.count), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleActionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35436,325 +40355,190 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined { + public get internalValue(): Wafv2WebAclRuleAction | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { + if (this._allow?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; + internalValueResult.allow = this._allow?.internalValue; } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._block?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.block = this._block?.internalValue; } - if (this._uriPath?.internalValue !== undefined) { + if (this._count?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.count = this._count?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined) { + public set internalValue(value: Wafv2WebAclRuleAction | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this._allow.internalValue = undefined; + this._block.internalValue = undefined; + this._count.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this._allow.internalValue = value.allow; + this._block.internalValue = value.block; + this._count.internalValue = value.count; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody) { - this._body.internalValue = value; - } - public resetBody() { - this._body.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; - } - - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; - } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod) { - this._method.internalValue = value; - } - public resetMethod() { - this._method.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; - } - - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; - } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; - } - public resetQueryString() { - this._queryString.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; - } - - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; + // allow - computed: false, optional: true, required: false + private _allow = new Wafv2WebAclRuleActionAllowOutputReference(this, "allow"); + public get allow() { + return this._allow; } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; + public putAllow(value: Wafv2WebAclRuleActionAllow) { + this._allow.internalValue = value; } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; + public resetAllow() { + this._allow.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; + public get allowInput() { + return this._allow.internalValue; } - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; + // block - computed: false, optional: true, required: false + private _block = new Wafv2WebAclRuleActionBlockOutputReference(this, "block"); + public get block() { + return this._block; } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + public putBlock(value: Wafv2WebAclRuleActionBlock) { + this._block.internalValue = value; } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public resetBlock() { + this._block.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get blockInput() { + return this._block.internalValue; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; + // count - computed: false, optional: true, required: false + private _count = new Wafv2WebAclRuleActionCountOutputReference(this, "count"); + public get count() { + return this._count; } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + public putCount(value: Wafv2WebAclRuleActionCount) { + this._count.internalValue = value; } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public resetCount() { + this._count.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get countInput() { + return this._count.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} - */ - readonly priority: number; - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} - */ - readonly type: string; +export interface Wafv2WebAclRuleOverrideActionCount { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable): any { +export function wafv2WebAclRuleOverrideActionCountToTerraform(struct?: Wafv2WebAclRuleOverrideActionCountOutputReference | Wafv2WebAclRuleOverrideActionCount): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleOverrideActionCountOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleOverrideActionCount | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { - hasAnyValues = true; - internalValueResult.priority = this._priority; - } - if (this._type !== undefined) { - hasAnyValues = true; - internalValueResult.type = this._type; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleOverrideActionCount | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; } } +} +export interface Wafv2WebAclRuleOverrideActionNone { +} - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); - } - public set priority(value: number) { - this._priority = value; - } - // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; - } - - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); - } - public set type(value: string) { - this._type = value; +export function wafv2WebAclRuleOverrideActionNoneToTerraform(struct?: Wafv2WebAclRuleOverrideActionNoneOutputReference | Wafv2WebAclRuleOverrideActionNone): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; + return { } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable +export class Wafv2WebAclRuleOverrideActionNoneOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleOverrideActionNone | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleOverrideActionNone | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} - */ - readonly arn: string; +export interface Wafv2WebAclRuleOverrideAction { /** - * field_to_match block + * count block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#count Wafv2WebAcl#count} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch; + readonly count?: Wafv2WebAclRuleOverrideActionCount; /** - * text_transformation block + * none block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#none Wafv2WebAcl#none} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable; + readonly none?: Wafv2WebAclRuleOverrideActionNone; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement): any { +export function wafv2WebAclRuleOverrideActionToTerraform(struct?: Wafv2WebAclRuleOverrideActionOutputReference | Wafv2WebAclRuleOverrideAction): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - arn: cdktf.stringToTerraform(struct!.arn), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform, true)(struct!.textTransformation), + count: wafv2WebAclRuleOverrideActionCountToTerraform(struct!.count), + none: wafv2WebAclRuleOverrideActionNoneToTerraform(struct!.none), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleOverrideActionOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35765,85 +40549,69 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement | undefined { + public get internalValue(): Wafv2WebAclRuleOverrideAction | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._arn !== undefined) { - hasAnyValues = true; - internalValueResult.arn = this._arn; - } - if (this._fieldToMatch?.internalValue !== undefined) { + if (this._count?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + internalValueResult.count = this._count?.internalValue; } - if (this._textTransformation?.internalValue !== undefined) { + if (this._none?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.none = this._none?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement | undefined) { + public set internalValue(value: Wafv2WebAclRuleOverrideAction | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._arn = undefined; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._count.internalValue = undefined; + this._none.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._count.internalValue = value.count; + this._none.internalValue = value.none; } } - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); - } - public set arn(value: string) { - this._arn = value; - } - // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; - } - - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; + // count - computed: false, optional: true, required: false + private _count = new Wafv2WebAclRuleOverrideActionCountOutputReference(this, "count"); + public get count() { + return this._count; } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; + public putCount(value: Wafv2WebAclRuleOverrideActionCount) { + this._count.internalValue = value; } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; + public resetCount() { + this._count.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; + public get countInput() { + return this._count.internalValue; } - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // none - computed: false, optional: true, required: false + private _none = new Wafv2WebAclRuleOverrideActionNoneOutputReference(this, "none"); + public get none() { + return this._none; } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public putNone(value: Wafv2WebAclRuleOverrideActionNone) { + this._none.internalValue = value; + } + public resetNone() { + this._none.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get noneInput() { + return this._none.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -35852,7 +40620,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35863,13 +40631,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -35878,10 +40646,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -35890,7 +40658,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35901,13 +40669,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -35916,10 +40684,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -35928,7 +40696,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35939,13 +40707,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -35954,10 +40722,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -35966,7 +40734,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -35977,13 +40745,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -35992,14 +40760,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -36009,7 +40777,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -36020,7 +40788,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -36030,7 +40798,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -36054,14 +40822,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -36071,7 +40839,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -36082,7 +40850,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -36092,7 +40860,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -36116,10 +40884,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -36128,7 +40896,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -36139,13 +40907,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -36154,68 +40922,68 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch { /** * all_query_arguments block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments; + readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; /** * body block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody; + readonly body?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody; /** * method block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod; + readonly method?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod; /** * query_string block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString; + readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString; /** * single_header block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader; + readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader; /** * single_query_argument block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument; + readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; /** * uri_path block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath; + readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -36226,7 +40994,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._allQueryArguments?.internalValue !== undefined) { @@ -36260,7 +41028,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; this._allQueryArguments.internalValue = undefined; @@ -36284,11 +41052,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); public get allQueryArguments() { return this._allQueryArguments; } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments) { + public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { this._allQueryArguments.internalValue = value; } public resetAllQueryArguments() { @@ -36300,11 +41068,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference(this, "body"); + private _body = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); public get body() { return this._body; } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody) { + public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchBody) { this._body.internalValue = value; } public resetBody() { @@ -36316,11 +41084,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference(this, "method"); + private _method = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); public get method() { return this._method; } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod) { + public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchMethod) { this._method.internalValue = value; } public resetMethod() { @@ -36332,11 +41100,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); public get queryString() { return this._queryString; } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString) { + public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString) { this._queryString.internalValue = value; } public resetQueryString() { @@ -36348,11 +41116,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); public get singleHeader() { return this._singleHeader; } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader) { + public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader) { this._singleHeader.internalValue = value; } public resetSingleHeader() { @@ -36364,11 +41132,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); public get singleQueryArgument() { return this._singleQueryArgument; } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument) { + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { this._singleQueryArgument.internalValue = value; } public resetSingleQueryArgument() { @@ -36380,11 +41148,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); public get uriPath() { return this._uriPath; } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath) { + public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath) { this._uriPath.internalValue = value; } public resetUriPath() { @@ -36395,7 +41163,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._uriPath.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ @@ -36406,7 +41174,7 @@ export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownState readonly type: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -36417,7 +41185,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -36431,7 +41199,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -36448,7 +41216,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -36494,8 +41262,8 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -36509,47 +41277,47 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement { +export interface Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#comparison_operator Wafv2WebAcl#comparison_operator} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} */ - readonly comparisonOperator: string; + readonly positionalConstraint: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size Wafv2WebAcl#size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} */ - readonly size: number; + readonly searchString: string; /** * field_to_match block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch; + readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch; /** * text_transformation block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable; + readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement): any { +export function wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - comparison_operator: cdktf.stringToTerraform(struct!.comparisonOperator), - size: cdktf.numberToTerraform(struct!.size), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationToTerraform, true)(struct!.textTransformation), + positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), + search_string: cdktf.stringToTerraform(struct!.searchString), + field_to_match: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -36560,16 +41328,16 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._comparisonOperator !== undefined) { + if (this._positionalConstraint !== undefined) { hasAnyValues = true; - internalValueResult.comparisonOperator = this._comparisonOperator; + internalValueResult.positionalConstraint = this._positionalConstraint; } - if (this._size !== undefined) { + if (this._searchString !== undefined) { hasAnyValues = true; - internalValueResult.size = this._size; + internalValueResult.searchString = this._searchString; } if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; @@ -36582,55 +41350,55 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._comparisonOperator = undefined; - this._size = undefined; + this._positionalConstraint = undefined; + this._searchString = undefined; this._fieldToMatch.internalValue = undefined; this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._comparisonOperator = value.comparisonOperator; - this._size = value.size; + this._positionalConstraint = value.positionalConstraint; + this._searchString = value.searchString; this._fieldToMatch.internalValue = value.fieldToMatch; this._textTransformation.internalValue = value.textTransformation; } } - // comparison_operator - computed: false, optional: false, required: true - private _comparisonOperator?: string; - public get comparisonOperator() { - return this.getStringAttribute('comparison_operator'); + // positional_constraint - computed: false, optional: false, required: true + private _positionalConstraint?: string; + public get positionalConstraint() { + return this.getStringAttribute('positional_constraint'); } - public set comparisonOperator(value: string) { - this._comparisonOperator = value; + public set positionalConstraint(value: string) { + this._positionalConstraint = value; } // Temporarily expose input value. Use with caution. - public get comparisonOperatorInput() { - return this._comparisonOperator; + public get positionalConstraintInput() { + return this._positionalConstraint; } - // size - computed: false, optional: false, required: true - private _size?: number; - public get size() { - return this.getNumberAttribute('size'); + // search_string - computed: false, optional: false, required: true + private _searchString?: string; + public get searchString() { + return this.getStringAttribute('search_string'); } - public set size(value: number) { - this._size = value; + public set searchString(value: string) { + this._searchString = value; } // Temporarily expose input value. Use with caution. - public get sizeInput() { - return this._size; + public get searchStringInput() { + return this._searchString; } // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchOutputReference(this, "field_to_match"); + private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); public get fieldToMatch() { return this._fieldToMatch; } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch) { + public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch) { this._fieldToMatch.internalValue = value; } public resetFieldToMatch() { @@ -36642,11 +41410,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationList(this, "text_transformation", true); + private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); public get textTransformation() { return this._textTransformation; } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable) { + public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. @@ -36654,57 +41422,29 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._textTransformation.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - +export interface Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig { /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody { + readonly fallbackBehavior: string; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + */ + readonly headerName: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody): any { +export function wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -36715,115 +41455,84 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._fallbackBehavior !== undefined) { + hasAnyValues = true; + internalValueResult.fallbackBehavior = this._fallbackBehavior; + } + if (this._headerName !== undefined) { + hasAnyValues = true; + internalValueResult.headerName = this._headerName; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._fallbackBehavior = undefined; + this._headerName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; } } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod { -} -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; + // Temporarily expose input value. Use with caution. + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + public set headerName(value: string) { + this._headerName = value; } - return { + // Temporarily expose input value. Use with caution. + public get headerNameInput() { + return this._headerName; } } - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - +export interface Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement { /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader { + readonly countryCodes: string[]; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + * forwarded_ip_config block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} */ - readonly name: string; + readonly forwardedIpConfig?: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader): any { +export function wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - name: cdktf.stringToTerraform(struct!.name), + country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), + forwarded_ip_config: wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -36834,115 +41543,90 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._name !== undefined) { + if (this._countryCodes !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.countryCodes = this._countryCodes; + } + if (this._forwardedIpConfig?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._name = undefined; + this._countryCodes = undefined; + this._forwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; + this._countryCodes = value.countryCodes; + this._forwardedIpConfig.internalValue = value.forwardedIpConfig; } } - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + // country_codes - computed: false, optional: false, required: true + private _countryCodes?: string[]; + public get countryCodes() { + return this.getListAttribute('country_codes'); } - public set name(value: string) { - this._name = value; + public set countryCodes(value: string[]) { + this._countryCodes = value; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} - */ - readonly name: string; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - name: cdktf.stringToTerraform(struct!.name), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._name !== undefined) { - hasAnyValues = true; - internalValueResult.name = this._name; - } - return hasAnyValues ? internalValueResult : undefined; + public get countryCodesInput() { + return this._countryCodes; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._name = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._name = value.name; - } + // forwarded_ip_config - computed: false, optional: true, required: false + private _forwardedIpConfig = new Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); + public get forwardedIpConfig() { + return this._forwardedIpConfig; } - - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + public putForwardedIpConfig(value: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementForwardedIpConfig) { + this._forwardedIpConfig.internalValue = value; } - public set name(value: string) { - this._name = value; + public resetForwardedIpConfig() { + this._forwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get forwardedIpConfigInput() { + return this._forwardedIpConfig.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath { +export interface Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + */ + readonly fallbackBehavior: string; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + */ + readonly headerName: string; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} + */ + readonly position: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath): any { +export function wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), + position: cdktf.stringToTerraform(struct!.position), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -36953,83 +41637,103 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; + if (this._fallbackBehavior !== undefined) { + hasAnyValues = true; + internalValueResult.fallbackBehavior = this._fallbackBehavior; + } + if (this._headerName !== undefined) { + hasAnyValues = true; + internalValueResult.headerName = this._headerName; + } + if (this._position !== undefined) { + hasAnyValues = true; + internalValueResult.position = this._position; + } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; + this._fallbackBehavior = undefined; + this._headerName = undefined; + this._position = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; + this._position = value.position; } } + + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); + } + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; + } + // Temporarily expose input value. Use with caution. + public get fallbackBehaviorInput() { + return this._fallbackBehavior; + } + + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); + } + public set headerName(value: string) { + this._headerName = value; + } + // Temporarily expose input value. Use with caution. + public get headerNameInput() { + return this._headerName; + } + + // position - computed: false, optional: false, required: true + private _position?: string; + public get position() { + return this.getStringAttribute('position'); + } + public set position(value: string) { + this._position = value; + } + // Temporarily expose input value. Use with caution. + public get positionInput() { + return this._position; + } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch { - /** - * all_query_arguments block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} - */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments; - /** - * body block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} - */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody; - /** - * method block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} - */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod; - /** - * query_string block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} - */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString; - /** - * single_header block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} - */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader; +export interface Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement { /** - * single_query_argument block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument; + readonly arn: string; /** - * uri_path block + * ip_set_forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath; + readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch): any { +export function wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + arn: cdktf.stringToTerraform(struct!.arn), + ip_set_forwarded_ip_config: wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37040,320 +41744,146 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._allQueryArguments?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; - } - if (this._body?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.body = this._body?.internalValue; - } - if (this._method?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.method = this._method?.internalValue; - } - if (this._queryString?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.queryString = this._queryString?.internalValue; - } - if (this._singleHeader?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.singleHeader = this._singleHeader?.internalValue; - } - if (this._singleQueryArgument?.internalValue !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + internalValueResult.arn = this._arn; } - if (this._uriPath?.internalValue !== undefined) { + if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.uriPath = this._uriPath?.internalValue; + internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._allQueryArguments.internalValue = undefined; - this._body.internalValue = undefined; - this._method.internalValue = undefined; - this._queryString.internalValue = undefined; - this._singleHeader.internalValue = undefined; - this._singleQueryArgument.internalValue = undefined; - this._uriPath.internalValue = undefined; + this._arn = undefined; + this._ipSetForwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._allQueryArguments.internalValue = value.allQueryArguments; - this._body.internalValue = value.body; - this._method.internalValue = value.method; - this._queryString.internalValue = value.queryString; - this._singleHeader.internalValue = value.singleHeader; - this._singleQueryArgument.internalValue = value.singleQueryArgument; - this._uriPath.internalValue = value.uriPath; + this._arn = value.arn; + this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; } } - // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); - public get allQueryArguments() { - return this._allQueryArguments; - } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments) { - this._allQueryArguments.internalValue = value; - } - public resetAllQueryArguments() { - this._allQueryArguments.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get allQueryArgumentsInput() { - return this._allQueryArguments.internalValue; - } - - // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference(this, "body"); - public get body() { - return this._body; - } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody) { - this._body.internalValue = value; - } - public resetBody() { - this._body.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get bodyInput() { - return this._body.internalValue; - } - - // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference(this, "method"); - public get method() { - return this._method; - } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod) { - this._method.internalValue = value; - } - public resetMethod() { - this._method.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get methodInput() { - return this._method.internalValue; - } - - // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); - public get queryString() { - return this._queryString; - } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString) { - this._queryString.internalValue = value; - } - public resetQueryString() { - this._queryString.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get queryStringInput() { - return this._queryString.internalValue; - } - - // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); - public get singleHeader() { - return this._singleHeader; - } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader) { - this._singleHeader.internalValue = value; - } - public resetSingleHeader() { - this._singleHeader.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get singleHeaderInput() { - return this._singleHeader.internalValue; - } - - // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); - public get singleQueryArgument() { - return this._singleQueryArgument; - } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument) { - this._singleQueryArgument.internalValue = value; + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public resetSingleQueryArgument() { - this._singleQueryArgument.internalValue = undefined; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get singleQueryArgumentInput() { - return this._singleQueryArgument.internalValue; + public get arnInput() { + return this._arn; } - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; + // ip_set_forwarded_ip_config - computed: false, optional: true, required: false + private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); + public get ipSetForwardedIpConfig() { + return this._ipSetForwardedIpConfig; } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; + public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { + this._ipSetForwardedIpConfig.internalValue = value; } - public resetUriPath() { - this._uriPath.internalValue = undefined; + public resetIpSetForwardedIpConfig() { + this._ipSetForwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; + public get ipSetForwardedIpConfigInput() { + return this._ipSetForwardedIpConfig.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} - */ - readonly priority: number; +export interface Wafv2WebAclRuleStatementAndStatementStatementNotStatement { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + * statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} */ - readonly type: string; + readonly statement: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementAndStatementStatementNotStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementNotStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementNotStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), + statement: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementToTerraform, true)(struct!.statement), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementNotStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementNotStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._priority !== undefined) { - hasAnyValues = true; - internalValueResult.priority = this._priority; - } - if (this._type !== undefined) { + if (this._statement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.type = this._type; + internalValueResult.statement = this._statement?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementNotStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._statement.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; + this._statement.internalValue = value.statement; } } - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); - } - public set priority(value: number) { - this._priority = value; - } - // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; - } - - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); + // statement - computed: false, optional: false, required: true + private _statement = new Wafv2WebAclRuleStatementAndStatementStatementList(this, "statement", false); + public get statement() { + return this._statement; } - public set type(value: string) { - this._type = value; + public putStatement(value: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable) { + this._statement.internalValue = value; } // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get statementInput() { + return this._statement.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement { - /** - * field_to_match block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} - */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch; +export interface Wafv2WebAclRuleStatementAndStatementStatementOrStatement { /** - * text_transformation block + * statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly statement: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement): any { +export function wafv2WebAclRuleStatementAndStatementStatementOrStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementOrStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementOrStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + statement: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementToTerraform, true)(struct!.statement), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementOrStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37364,66 +41894,44 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementOrStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._fieldToMatch?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; - } - if (this._textTransformation?.internalValue !== undefined) { + if (this._statement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; + internalValueResult.statement = this._statement?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementOrStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; + this._statement.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; + this._statement.internalValue = value.statement; } } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; - } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; - } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; - } - - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; + // statement - computed: false, optional: false, required: true + private _statement = new Wafv2WebAclRuleStatementAndStatementStatementList(this, "statement", false); + public get statement() { + return this._statement; } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; + public putStatement(value: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable) { + this._statement.internalValue = value; } // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; + public get statementInput() { + return this._statement.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments { +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments): any { +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -37432,7 +41940,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37443,13 +41951,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -37458,10 +41966,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody { +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody): any { +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -37470,7 +41978,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37481,13 +41989,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -37496,10 +42004,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod { +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod): any { +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -37508,7 +42016,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37519,13 +42027,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -37534,10 +42042,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString { +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString): any { +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -37546,7 +42054,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37557,13 +42065,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -37572,14 +42080,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader { +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader): any { +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -37589,7 +42097,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37600,7 +42108,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -37610,7 +42118,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -37634,14 +42142,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument { +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument): any { +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -37651,7 +42159,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37662,7 +42170,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -37672,7 +42180,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -37696,10 +42204,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath { +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath): any { +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -37708,7 +42216,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37719,13 +42227,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -37734,68 +42242,68 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch { +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch { /** * all_query_arguments block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments; + readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments; /** * body block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody; + readonly body?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody; /** * method block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod; + readonly method?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod; /** * query_string block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString; + readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; /** * single_header block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader; + readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader; /** * single_query_argument block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument; + readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument; /** * uri_path block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath; + readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch): any { +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -37806,7 +42314,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._allQueryArguments?.internalValue !== undefined) { @@ -37840,7 +42348,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; this._allQueryArguments.internalValue = undefined; @@ -37864,11 +42372,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); public get allQueryArguments() { return this._allQueryArguments; } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments) { + public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments) { this._allQueryArguments.internalValue = value; } public resetAllQueryArguments() { @@ -37880,11 +42388,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyOutputReference(this, "body"); + private _body = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference(this, "body"); public get body() { return this._body; } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody) { + public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody) { this._body.internalValue = value; } public resetBody() { @@ -37896,11 +42404,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodOutputReference(this, "method"); + private _method = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference(this, "method"); public get method() { return this._method; } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod) { + public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod) { this._method.internalValue = value; } public resetMethod() { @@ -37912,11 +42420,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference(this, "query_string"); public get queryString() { return this._queryString; } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString) { + public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString) { this._queryString.internalValue = value; } public resetQueryString() { @@ -37928,11 +42436,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); public get singleHeader() { return this._singleHeader; } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader) { + public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader) { this._singleHeader.internalValue = value; } public resetSingleHeader() { @@ -37944,11 +42452,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); public get singleQueryArgument() { return this._singleQueryArgument; } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument) { + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument) { this._singleQueryArgument.internalValue = value; } public resetSingleQueryArgument() { @@ -37958,490 +42466,124 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement public get singleQueryArgumentInput() { return this._singleQueryArgument.internalValue; } - - // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); - public get uriPath() { - return this._uriPath; - } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath) { - this._uriPath.internalValue = value; - } - public resetUriPath() { - this._uriPath.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get uriPathInput() { - return this._uriPath.internalValue; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} - */ - readonly priority: number; - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} - */ - readonly type: string; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - priority: cdktf.numberToTerraform(struct!.priority), - type: cdktf.stringToTerraform(struct!.type), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; - - /** - * @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) - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._priority !== undefined) { - hasAnyValues = true; - internalValueResult.priority = this._priority; - } - if (this._type !== undefined) { - hasAnyValues = true; - internalValueResult.type = this._type; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this.resolvableValue = undefined; - this._priority = undefined; - this._type = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._priority = value.priority; - this._type = value.type; - } - } - - // priority - computed: false, optional: false, required: true - private _priority?: number; - public get priority() { - return this.getNumberAttribute('priority'); - } - public set priority(value: number) { - this._priority = value; - } - // Temporarily expose input value. Use with caution. - public get priorityInput() { - return this._priority; - } - - // type - computed: false, optional: false, required: true - private _type?: string; - public get type() { - return this.getStringAttribute('type'); - } - public set type(value: string) { - this._type = value; - } - // Temporarily expose input value. Use with caution. - public get typeInput() { - return this._type; - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement { - /** - * field_to_match block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} - */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch; - /** - * text_transformation block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} - */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._fieldToMatch?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; - } - if (this._textTransformation?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.textTransformation = this._textTransformation?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._fieldToMatch.internalValue = undefined; - this._textTransformation.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._fieldToMatch.internalValue = value.fieldToMatch; - this._textTransformation.internalValue = value.textTransformation; - } - } - - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchOutputReference(this, "field_to_match"); - public get fieldToMatch() { - return this._fieldToMatch; - } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch) { - this._fieldToMatch.internalValue = value; - } - public resetFieldToMatch() { - this._fieldToMatch.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get fieldToMatchInput() { - return this._fieldToMatch.internalValue; - } - - // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationList(this, "text_transformation", true); - public get textTransformation() { - return this._textTransformation; - } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable) { - this._textTransformation.internalValue = value; - } - // Temporarily expose input value. Use with caution. - public get textTransformationInput() { - return this._textTransformation.internalValue; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement { - /** - * byte_match_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#byte_match_statement Wafv2WebAcl#byte_match_statement} - */ - readonly byteMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement; - /** - * geo_match_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#geo_match_statement Wafv2WebAcl#geo_match_statement} - */ - readonly geoMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement; - /** - * ip_set_reference_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_reference_statement Wafv2WebAcl#ip_set_reference_statement} - */ - readonly ipSetReferenceStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement; - /** - * regex_pattern_set_reference_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#regex_pattern_set_reference_statement Wafv2WebAcl#regex_pattern_set_reference_statement} - */ - readonly regexPatternSetReferenceStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement; - /** - * size_constraint_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size_constraint_statement Wafv2WebAcl#size_constraint_statement} - */ - readonly sizeConstraintStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement; - /** - * sqli_match_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#sqli_match_statement Wafv2WebAcl#sqli_match_statement} - */ - readonly sqliMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement; - /** - * xss_match_statement block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#xss_match_statement Wafv2WebAcl#xss_match_statement} - */ - readonly xssMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement | cdktf.IResolvable): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - byte_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementToTerraform(struct!.byteMatchStatement), - geo_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementToTerraform(struct!.geoMatchStatement), - ip_set_reference_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementToTerraform(struct!.ipSetReferenceStatement), - regex_pattern_set_reference_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementToTerraform(struct!.regexPatternSetReferenceStatement), - size_constraint_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementToTerraform(struct!.sizeConstraintStatement), - sqli_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementToTerraform(struct!.sqliMatchStatement), - xss_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementToTerraform(struct!.xssMatchStatement), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; - - /** - * @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) - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._byteMatchStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.byteMatchStatement = this._byteMatchStatement?.internalValue; - } - if (this._geoMatchStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.geoMatchStatement = this._geoMatchStatement?.internalValue; - } - if (this._ipSetReferenceStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.ipSetReferenceStatement = this._ipSetReferenceStatement?.internalValue; - } - if (this._regexPatternSetReferenceStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.regexPatternSetReferenceStatement = this._regexPatternSetReferenceStatement?.internalValue; - } - if (this._sizeConstraintStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.sizeConstraintStatement = this._sizeConstraintStatement?.internalValue; - } - if (this._sqliMatchStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.sqliMatchStatement = this._sqliMatchStatement?.internalValue; - } - if (this._xssMatchStatement?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.xssMatchStatement = this._xssMatchStatement?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement | cdktf.IResolvable | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this.resolvableValue = undefined; - this._byteMatchStatement.internalValue = undefined; - this._geoMatchStatement.internalValue = undefined; - this._ipSetReferenceStatement.internalValue = undefined; - this._regexPatternSetReferenceStatement.internalValue = undefined; - this._sizeConstraintStatement.internalValue = undefined; - this._sqliMatchStatement.internalValue = undefined; - this._xssMatchStatement.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._byteMatchStatement.internalValue = value.byteMatchStatement; - this._geoMatchStatement.internalValue = value.geoMatchStatement; - this._ipSetReferenceStatement.internalValue = value.ipSetReferenceStatement; - this._regexPatternSetReferenceStatement.internalValue = value.regexPatternSetReferenceStatement; - this._sizeConstraintStatement.internalValue = value.sizeConstraintStatement; - this._sqliMatchStatement.internalValue = value.sqliMatchStatement; - this._xssMatchStatement.internalValue = value.xssMatchStatement; - } - } - - // byte_match_statement - computed: false, optional: true, required: false - private _byteMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementOutputReference(this, "byte_match_statement"); - public get byteMatchStatement() { - return this._byteMatchStatement; - } - public putByteMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement) { - this._byteMatchStatement.internalValue = value; - } - public resetByteMatchStatement() { - this._byteMatchStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get byteMatchStatementInput() { - return this._byteMatchStatement.internalValue; - } - - // geo_match_statement - computed: false, optional: true, required: false - private _geoMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementOutputReference(this, "geo_match_statement"); - public get geoMatchStatement() { - return this._geoMatchStatement; - } - public putGeoMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement) { - this._geoMatchStatement.internalValue = value; - } - public resetGeoMatchStatement() { - this._geoMatchStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get geoMatchStatementInput() { - return this._geoMatchStatement.internalValue; - } - - // ip_set_reference_statement - computed: false, optional: true, required: false - private _ipSetReferenceStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementOutputReference(this, "ip_set_reference_statement"); - public get ipSetReferenceStatement() { - return this._ipSetReferenceStatement; - } - public putIpSetReferenceStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement) { - this._ipSetReferenceStatement.internalValue = value; - } - public resetIpSetReferenceStatement() { - this._ipSetReferenceStatement.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get ipSetReferenceStatementInput() { - return this._ipSetReferenceStatement.internalValue; - } - - // regex_pattern_set_reference_statement - computed: false, optional: true, required: false - private _regexPatternSetReferenceStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementOutputReference(this, "regex_pattern_set_reference_statement"); - public get regexPatternSetReferenceStatement() { - return this._regexPatternSetReferenceStatement; - } - public putRegexPatternSetReferenceStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement) { - this._regexPatternSetReferenceStatement.internalValue = value; + + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; } - public resetRegexPatternSetReferenceStatement() { - this._regexPatternSetReferenceStatement.internalValue = undefined; + public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get regexPatternSetReferenceStatementInput() { - return this._regexPatternSetReferenceStatement.internalValue; + public get uriPathInput() { + return this._uriPath.internalValue; } +} +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + */ + readonly priority: number; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + */ + readonly type: string; +} - // size_constraint_statement - computed: false, optional: true, required: false - private _sizeConstraintStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementOutputReference(this, "size_constraint_statement"); - public get sizeConstraintStatement() { - return this._sizeConstraintStatement; +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public putSizeConstraintStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement) { - this._sizeConstraintStatement.internalValue = value; + return { + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } - public resetSizeConstraintStatement() { - this._sizeConstraintStatement.internalValue = undefined; +} + +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; + + /** + * @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) + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - // Temporarily expose input value. Use with caution. - public get sizeConstraintStatementInput() { - return this._sizeConstraintStatement.internalValue; + + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._priority !== undefined) { + hasAnyValues = true; + internalValueResult.priority = this._priority; + } + if (this._type !== undefined) { + hasAnyValues = true; + internalValueResult.type = this._type; + } + return hasAnyValues ? internalValueResult : undefined; } - // sqli_match_statement - computed: false, optional: true, required: false - private _sqliMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementOutputReference(this, "sqli_match_statement"); - public get sqliMatchStatement() { - return this._sqliMatchStatement; + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this.resolvableValue = undefined; + this._priority = undefined; + this._type = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._priority = value.priority; + this._type = value.type; + } } - public putSqliMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement) { - this._sqliMatchStatement.internalValue = value; + + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetSqliMatchStatement() { - this._sqliMatchStatement.internalValue = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get sqliMatchStatementInput() { - return this._sqliMatchStatement.internalValue; + public get priorityInput() { + return this._priority; } - // xss_match_statement - computed: false, optional: true, required: false - private _xssMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementOutputReference(this, "xss_match_statement"); - public get xssMatchStatement() { - return this._xssMatchStatement; - } - public putXssMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement) { - this._xssMatchStatement.internalValue = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetXssMatchStatement() { - this._xssMatchStatement.internalValue = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get xssMatchStatementInput() { - return this._xssMatchStatement.internalValue; + public get typeInput() { + return this._type; } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -38455,30 +42597,42 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatement { +export interface Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement { /** - * statement block + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} + */ + readonly arn: string; + /** + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly statement: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement[] | cdktf.IResolvable; + readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch; + /** + * text_transformation block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} + */ + readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatement): any { +export function wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - statement: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementToTerraform, true)(struct!.statement), + arn: cdktf.stringToTerraform(struct!.arn), + field_to_match: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -38489,44 +42643,85 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatement | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._statement?.internalValue !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.statement = this._statement?.internalValue; + internalValueResult.arn = this._arn; + } + if (this._fieldToMatch?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + } + if (this._textTransformation?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatement | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._statement.internalValue = undefined; + this._arn = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._statement.internalValue = value.statement; + this._arn = value.arn; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // statement - computed: false, optional: false, required: true - private _statement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementList(this, "statement", false); - public get statement() { - return this._statement; + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public putStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement[] | cdktf.IResolvable) { - this._statement.internalValue = value; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get statementInput() { - return this._statement.internalValue; + public get arnInput() { + return this._arn; + } + + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; + } + public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; + } + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; + } + + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; + } + public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; + } + // Temporarily expose input value. Use with caution. + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -38535,7 +42730,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -38546,13 +42741,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -38561,10 +42756,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -38573,7 +42768,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -38584,13 +42779,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -38599,10 +42794,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -38611,7 +42806,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -38622,13 +42817,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -38637,10 +42832,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -38649,7 +42844,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -38660,13 +42855,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -38675,14 +42870,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -38692,7 +42887,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -38703,7 +42898,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -38713,7 +42908,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -38737,14 +42932,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -38754,7 +42949,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -38765,7 +42960,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -38775,7 +42970,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -38799,10 +42994,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -38811,7 +43006,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -38822,13 +43017,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -38837,68 +43032,68 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch { /** * all_query_arguments block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; + readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments; /** * body block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody; + readonly body?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody; /** * method block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod; + readonly method?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod; /** * query_string block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString; + readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString; /** * single_header block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader; + readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader; /** * single_query_argument block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; + readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument; /** * uri_path block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath; + readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -38909,7 +43104,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._allQueryArguments?.internalValue !== undefined) { @@ -38943,7 +43138,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; this._allQueryArguments.internalValue = undefined; @@ -38967,11 +43162,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); public get allQueryArguments() { return this._allQueryArguments; } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { + public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments) { this._allQueryArguments.internalValue = value; } public resetAllQueryArguments() { @@ -38983,11 +43178,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); + private _body = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference(this, "body"); public get body() { return this._body; } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody) { + public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody) { this._body.internalValue = value; } public resetBody() { @@ -38999,11 +43194,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); + private _method = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference(this, "method"); public get method() { return this._method; } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod) { + public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod) { this._method.internalValue = value; } public resetMethod() { @@ -39015,11 +43210,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference(this, "query_string"); public get queryString() { return this._queryString; } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString) { + public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString) { this._queryString.internalValue = value; } public resetQueryString() { @@ -39031,11 +43226,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); public get singleHeader() { return this._singleHeader; } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader) { + public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader) { this._singleHeader.internalValue = value; } public resetSingleHeader() { @@ -39047,11 +43242,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); public get singleQueryArgument() { return this._singleQueryArgument; } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument) { this._singleQueryArgument.internalValue = value; } public resetSingleQueryArgument() { @@ -39063,11 +43258,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference(this, "uri_path"); public get uriPath() { return this._uriPath; } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath) { + public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath) { this._uriPath.internalValue = value; } public resetUriPath() { @@ -39078,7 +43273,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._uriPath.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ @@ -39089,7 +43284,7 @@ export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownState readonly type: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -39100,7 +43295,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -39114,7 +43309,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -39131,7 +43326,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -39177,8 +43372,8 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -39192,47 +43387,47 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatement { +export interface Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement { /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#comparison_operator Wafv2WebAcl#comparison_operator} */ - readonly positionalConstraint: string; + readonly comparisonOperator: string; /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size Wafv2WebAcl#size} */ - readonly searchString: string; + readonly size: number; /** * field_to_match block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch; + readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch; /** * text_transformation block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; + readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatement): any { +export function wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), - search_string: cdktf.stringToTerraform(struct!.searchString), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), + comparison_operator: cdktf.stringToTerraform(struct!.comparisonOperator), + size: cdktf.numberToTerraform(struct!.size), + field_to_match: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -39243,16 +43438,16 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatement | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._positionalConstraint !== undefined) { + if (this._comparisonOperator !== undefined) { hasAnyValues = true; - internalValueResult.positionalConstraint = this._positionalConstraint; + internalValueResult.comparisonOperator = this._comparisonOperator; } - if (this._searchString !== undefined) { + if (this._size !== undefined) { hasAnyValues = true; - internalValueResult.searchString = this._searchString; + internalValueResult.size = this._size; } if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; @@ -39265,55 +43460,55 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatement | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._positionalConstraint = undefined; - this._searchString = undefined; + this._comparisonOperator = undefined; + this._size = undefined; this._fieldToMatch.internalValue = undefined; this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._positionalConstraint = value.positionalConstraint; - this._searchString = value.searchString; + this._comparisonOperator = value.comparisonOperator; + this._size = value.size; this._fieldToMatch.internalValue = value.fieldToMatch; this._textTransformation.internalValue = value.textTransformation; } } - // positional_constraint - computed: false, optional: false, required: true - private _positionalConstraint?: string; - public get positionalConstraint() { - return this.getStringAttribute('positional_constraint'); + // comparison_operator - computed: false, optional: false, required: true + private _comparisonOperator?: string; + public get comparisonOperator() { + return this.getStringAttribute('comparison_operator'); } - public set positionalConstraint(value: string) { - this._positionalConstraint = value; + public set comparisonOperator(value: string) { + this._comparisonOperator = value; } // Temporarily expose input value. Use with caution. - public get positionalConstraintInput() { - return this._positionalConstraint; + public get comparisonOperatorInput() { + return this._comparisonOperator; } - // search_string - computed: false, optional: false, required: true - private _searchString?: string; - public get searchString() { - return this.getStringAttribute('search_string'); + // size - computed: false, optional: false, required: true + private _size?: number; + public get size() { + return this.getNumberAttribute('size'); } - public set searchString(value: string) { - this._searchString = value; + public set size(value: number) { + this._size = value; } // Temporarily expose input value. Use with caution. - public get searchStringInput() { - return this._searchString; + public get sizeInput() { + return this._size; } // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference(this, "field_to_match"); public get fieldToMatch() { return this._fieldToMatch; } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch) { + public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch) { this._fieldToMatch.internalValue = value; } public resetFieldToMatch() { @@ -39325,11 +43520,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); + private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformationList(this, "text_transformation", true); public get textTransformation() { return this._textTransformation; } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { + public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable) { this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. @@ -39337,388 +43532,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._textTransformation.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} - */ - readonly fallbackBehavior: string; - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} - */ - readonly headerName: string; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { - hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; - } - if (this._headerName !== undefined) { - hasAnyValues = true; - internalValueResult.headerName = this._headerName; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; - } - } - - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); - } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; - } - // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; - } - - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); - } - public set headerName(value: string) { - this._headerName = value; - } - // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} - */ - readonly countryCodes: string[]; - /** - * forwarded_ip_config block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} - */ - readonly forwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatement): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), - forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatement | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._countryCodes !== undefined) { - hasAnyValues = true; - internalValueResult.countryCodes = this._countryCodes; - } - if (this._forwardedIpConfig?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatement | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._countryCodes = undefined; - this._forwardedIpConfig.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._countryCodes = value.countryCodes; - this._forwardedIpConfig.internalValue = value.forwardedIpConfig; - } - } - - // country_codes - computed: false, optional: false, required: true - private _countryCodes?: string[]; - public get countryCodes() { - return this.getListAttribute('country_codes'); - } - public set countryCodes(value: string[]) { - this._countryCodes = value; - } - // Temporarily expose input value. Use with caution. - public get countryCodesInput() { - return this._countryCodes; - } - - // forwarded_ip_config - computed: false, optional: true, required: false - private _forwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); - public get forwardedIpConfig() { - return this._forwardedIpConfig; - } - public putForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig) { - this._forwardedIpConfig.internalValue = value; - } - public resetForwardedIpConfig() { - this._forwardedIpConfig.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get forwardedIpConfigInput() { - return this._forwardedIpConfig.internalValue; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} - */ - readonly fallbackBehavior: string; - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} - */ - readonly headerName: string; - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} - */ - readonly position: string; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), - header_name: cdktf.stringToTerraform(struct!.headerName), - position: cdktf.stringToTerraform(struct!.position), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._fallbackBehavior !== undefined) { - hasAnyValues = true; - internalValueResult.fallbackBehavior = this._fallbackBehavior; - } - if (this._headerName !== undefined) { - hasAnyValues = true; - internalValueResult.headerName = this._headerName; - } - if (this._position !== undefined) { - hasAnyValues = true; - internalValueResult.position = this._position; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._fallbackBehavior = undefined; - this._headerName = undefined; - this._position = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._fallbackBehavior = value.fallbackBehavior; - this._headerName = value.headerName; - this._position = value.position; - } - } - - // fallback_behavior - computed: false, optional: false, required: true - private _fallbackBehavior?: string; - public get fallbackBehavior() { - return this.getStringAttribute('fallback_behavior'); - } - public set fallbackBehavior(value: string) { - this._fallbackBehavior = value; - } - // Temporarily expose input value. Use with caution. - public get fallbackBehaviorInput() { - return this._fallbackBehavior; - } - - // header_name - computed: false, optional: false, required: true - private _headerName?: string; - public get headerName() { - return this.getStringAttribute('header_name'); - } - public set headerName(value: string) { - this._headerName = value; - } - // Temporarily expose input value. Use with caution. - public get headerNameInput() { - return this._headerName; - } - - // position - computed: false, optional: false, required: true - private _position?: string; - public get position() { - return this.getStringAttribute('position'); - } - public set position(value: string) { - this._position = value; - } - // Temporarily expose input value. Use with caution. - public get positionInput() { - return this._position; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} - */ - readonly arn: string; - /** - * ip_set_forwarded_ip_config block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} - */ - readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatement): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - arn: cdktf.stringToTerraform(struct!.arn), - ip_set_forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatement | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._arn !== undefined) { - hasAnyValues = true; - internalValueResult.arn = this._arn; - } - if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatement | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._arn = undefined; - this._ipSetForwardedIpConfig.internalValue = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; - this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; - } - } - - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); - } - public set arn(value: string) { - this._arn = value; - } - // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; - } - - // ip_set_forwarded_ip_config - computed: false, optional: true, required: false - private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); - public get ipSetForwardedIpConfig() { - return this._ipSetForwardedIpConfig; - } - public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { - this._ipSetForwardedIpConfig.internalValue = value; - } - public resetIpSetForwardedIpConfig() { - this._ipSetForwardedIpConfig.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get ipSetForwardedIpConfigInput() { - return this._ipSetForwardedIpConfig.internalValue; - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments { +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -39727,7 +43544,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -39738,13 +43555,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -39753,10 +43570,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody { +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -39765,7 +43582,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -39776,13 +43593,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -39791,10 +43608,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod { +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -39803,7 +43620,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -39814,13 +43631,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -39829,10 +43646,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString { +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -39841,7 +43658,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -39852,13 +43669,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -39867,14 +43684,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader { +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -39884,7 +43701,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -39895,7 +43712,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -39905,7 +43722,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -39929,14 +43746,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument { +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -39946,7 +43763,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -39957,7 +43774,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -39967,7 +43784,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -39991,10 +43808,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath { +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -40003,7 +43820,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40014,13 +43831,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -40029,68 +43846,68 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch { +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch { /** * all_query_arguments block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments; + readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments; /** * body block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody; + readonly body?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody; /** * method block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod; + readonly method?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod; /** * query_string block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; + readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString; /** * single_header block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader; + readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader; /** * single_query_argument block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument; + readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument; /** * uri_path block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath; + readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40101,7 +43918,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._allQueryArguments?.internalValue !== undefined) { @@ -40135,7 +43952,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; this._allQueryArguments.internalValue = undefined; @@ -40159,11 +43976,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); public get allQueryArguments() { return this._allQueryArguments; } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments) { + public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments) { this._allQueryArguments.internalValue = value; } public resetAllQueryArguments() { @@ -40175,11 +43992,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference(this, "body"); + private _body = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference(this, "body"); public get body() { return this._body; } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody) { + public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchBody) { this._body.internalValue = value; } public resetBody() { @@ -40191,11 +44008,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference(this, "method"); + private _method = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference(this, "method"); public get method() { return this._method; } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod) { + public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod) { this._method.internalValue = value; } public resetMethod() { @@ -40207,11 +44024,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); public get queryString() { return this._queryString; } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString) { + public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString) { this._queryString.internalValue = value; } public resetQueryString() { @@ -40223,11 +44040,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); public get singleHeader() { return this._singleHeader; } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader) { + public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader) { this._singleHeader.internalValue = value; } public resetSingleHeader() { @@ -40239,11 +44056,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); public get singleQueryArgument() { return this._singleQueryArgument; } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument) { + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument) { this._singleQueryArgument.internalValue = value; } public resetSingleQueryArgument() { @@ -40255,11 +44072,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); public get uriPath() { return this._uriPath; } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath) { + public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath) { this._uriPath.internalValue = value; } public resetUriPath() { @@ -40270,7 +44087,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._uriPath.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation { +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ @@ -40281,7 +44098,7 @@ export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownState readonly type: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -40292,7 +44109,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -40306,7 +44123,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -40323,7 +44140,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -40369,8 +44186,8 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -40384,42 +44201,37 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} - */ - readonly arn: string; +export interface Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement { /** * field_to_match block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch; + readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch; /** * text_transformation block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable; + readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatement): any { +export function wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - arn: cdktf.stringToTerraform(struct!.arn), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform, true)(struct!.textTransformation), + field_to_match: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40430,13 +44242,9 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatement | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._arn !== undefined) { - hasAnyValues = true; - internalValueResult.arn = this._arn; - } if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; @@ -40448,40 +44256,25 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatement | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._arn = undefined; this._fieldToMatch.internalValue = undefined; this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._arn = value.arn; this._fieldToMatch.internalValue = value.fieldToMatch; this._textTransformation.internalValue = value.textTransformation; } } - // arn - computed: false, optional: false, required: true - private _arn?: string; - public get arn() { - return this.getStringAttribute('arn'); - } - public set arn(value: string) { - this._arn = value; - } - // Temporarily expose input value. Use with caution. - public get arnInput() { - return this._arn; - } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference(this, "field_to_match"); + private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference(this, "field_to_match"); public get fieldToMatch() { return this._fieldToMatch; } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch) { + public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch) { this._fieldToMatch.internalValue = value; } public resetFieldToMatch() { @@ -40493,11 +44286,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationList(this, "text_transformation", true); + private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformationList(this, "text_transformation", true); public get textTransformation() { return this._textTransformation; } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable) { + public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable) { this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. @@ -40505,10 +44298,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._textTransformation.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments { +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -40517,7 +44310,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40528,13 +44321,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -40543,10 +44336,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody { +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -40555,7 +44348,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40566,13 +44359,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -40581,10 +44374,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod { +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -40593,7 +44386,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40604,13 +44397,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -40619,10 +44412,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString { +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -40631,7 +44424,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40642,13 +44435,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -40657,14 +44450,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader { +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -40674,7 +44467,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40685,7 +44478,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -40695,7 +44488,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -40719,14 +44512,14 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument { +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -40736,7 +44529,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40747,7 +44540,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._name !== undefined) { @@ -40757,7 +44550,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; @@ -40781,10 +44574,10 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._name; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath { +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath { } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -40793,7 +44586,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40804,13 +44597,13 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath | undefined) { if (value === undefined) { this.isEmptyObject = false; } @@ -40819,68 +44612,68 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch { +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch { /** * all_query_arguments block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments; + readonly allQueryArguments?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments; /** * body block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody; + readonly body?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody; /** * method block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod; + readonly method?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod; /** * query_string block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString; + readonly queryString?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString; /** * single_header block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader; + readonly singleHeader?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader; /** * single_query_argument block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} */ - readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument; + readonly singleQueryArgument?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument; /** * uri_path block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} */ - readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath; + readonly uriPath?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), - body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct!.body), - method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct!.method), - query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct!.queryString), - single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), - single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), - uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct!.uriPath), + all_query_arguments: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -40891,7 +44684,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; if (this._allQueryArguments?.internalValue !== undefined) { @@ -40925,7 +44718,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; this._allQueryArguments.internalValue = undefined; @@ -40949,11 +44742,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // all_query_arguments - computed: false, optional: true, required: false - private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + private _allQueryArguments = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); public get allQueryArguments() { return this._allQueryArguments; } - public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments) { + public putAllQueryArguments(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments) { this._allQueryArguments.internalValue = value; } public resetAllQueryArguments() { @@ -40965,11 +44758,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // body - computed: false, optional: true, required: false - private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference(this, "body"); + private _body = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference(this, "body"); public get body() { return this._body; } - public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody) { + public putBody(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchBody) { this._body.internalValue = value; } public resetBody() { @@ -40981,11 +44774,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // method - computed: false, optional: true, required: false - private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference(this, "method"); + private _method = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference(this, "method"); public get method() { return this._method; } - public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod) { + public putMethod(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchMethod) { this._method.internalValue = value; } public resetMethod() { @@ -40997,11 +44790,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // query_string - computed: false, optional: true, required: false - private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + private _queryString = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); public get queryString() { return this._queryString; } - public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString) { + public putQueryString(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString) { this._queryString.internalValue = value; } public resetQueryString() { @@ -41013,11 +44806,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_header - computed: false, optional: true, required: false - private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + private _singleHeader = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); public get singleHeader() { return this._singleHeader; } - public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader) { + public putSingleHeader(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader) { this._singleHeader.internalValue = value; } public resetSingleHeader() { @@ -41029,11 +44822,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // single_query_argument - computed: false, optional: true, required: false - private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + private _singleQueryArgument = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); public get singleQueryArgument() { return this._singleQueryArgument; } - public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument) { + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument) { this._singleQueryArgument.internalValue = value; } public resetSingleQueryArgument() { @@ -41045,11 +44838,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // uri_path - computed: false, optional: true, required: false - private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + private _uriPath = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); public get uriPath() { return this._uriPath; } - public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath) { + public putUriPath(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath) { this._uriPath.internalValue = value; } public resetUriPath() { @@ -41060,7 +44853,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._uriPath.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation { +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ @@ -41071,7 +44864,7 @@ export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownState readonly type: string; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); @@ -41082,7 +44875,7 @@ export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatem } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -41096,7 +44889,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } @@ -41113,7 +44906,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; @@ -41159,8 +44952,8 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationList extends cdktf.ComplexList { - public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -41174,47 +44967,37 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement /** * @param index the index of the item to return */ - public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationOutputReference { - return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatement { - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#comparison_operator Wafv2WebAcl#comparison_operator} - */ - readonly comparisonOperator: string; - /** - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size Wafv2WebAcl#size} - */ - readonly size: number; +export interface Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement { /** * field_to_match block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch; + readonly fieldToMatch?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch; /** * text_transformation block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable; + readonly textTransformation: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatement): any { +export function wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementOutputReference | Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - comparison_operator: cdktf.stringToTerraform(struct!.comparisonOperator), - size: cdktf.numberToTerraform(struct!.size), - field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct!.fieldToMatch), - text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationToTerraform, true)(struct!.textTransformation), + field_to_match: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -41225,17 +45008,9 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatement | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._comparisonOperator !== undefined) { - hasAnyValues = true; - internalValueResult.comparisonOperator = this._comparisonOperator; - } - if (this._size !== undefined) { - hasAnyValues = true; - internalValueResult.size = this._size; - } if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; @@ -41247,55 +45022,25 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatement | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._comparisonOperator = undefined; - this._size = undefined; this._fieldToMatch.internalValue = undefined; this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._comparisonOperator = value.comparisonOperator; - this._size = value.size; this._fieldToMatch.internalValue = value.fieldToMatch; this._textTransformation.internalValue = value.textTransformation; } } - // comparison_operator - computed: false, optional: false, required: true - private _comparisonOperator?: string; - public get comparisonOperator() { - return this.getStringAttribute('comparison_operator'); - } - public set comparisonOperator(value: string) { - this._comparisonOperator = value; - } - // Temporarily expose input value. Use with caution. - public get comparisonOperatorInput() { - return this._comparisonOperator; - } - - // size - computed: false, optional: false, required: true - private _size?: number; - public get size() { - return this.getNumberAttribute('size'); - } - public set size(value: number) { - this._size = value; - } - // Temporarily expose input value. Use with caution. - public get sizeInput() { - return this._size; - } - // field_to_match - computed: false, optional: true, required: false - private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchOutputReference(this, "field_to_match"); + private _fieldToMatch = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference(this, "field_to_match"); public get fieldToMatch() { return this._fieldToMatch; } - public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch) { + public putFieldToMatch(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch) { this._fieldToMatch.internalValue = value; } public resetFieldToMatch() { @@ -41307,11 +45052,11 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement } // text_transformation - computed: false, optional: false, required: true - private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationList(this, "text_transformation", true); + private _textTransformation = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformationList(this, "text_transformation", true); public get textTransformation() { return this._textTransformation; } - public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable) { + public putTextTransformation(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable) { this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. @@ -41319,428 +45064,349 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement return this._textTransformation.internalValue; } } -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - +export interface Wafv2WebAclRuleStatementAndStatementStatement { /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * and_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#and_statement Wafv2WebAcl#and_statement} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBody { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBody): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - + readonly andStatement?: Wafv2WebAclRuleStatementAndStatement; /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * byte_match_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#byte_match_statement Wafv2WebAcl#byte_match_statement} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBody | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBody | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethod { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethod): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - + readonly byteMatchStatement?: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement; /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * geo_match_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#geo_match_statement Wafv2WebAcl#geo_match_statement} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethod | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethod | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryString { -} - -export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryString): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - } -} - -export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - + readonly geoMatchStatement?: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement; /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing + * ip_set_reference_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_reference_statement Wafv2WebAcl#ip_set_reference_statement} */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - } - } -} -" -`; - -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs400 2`] = ` -"import * as cdktf from 'cdktf'; -import { DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery, -dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform, -DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference, -DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery, -dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryToTerraform, -DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryOutputReference } from './structs0' -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery { + readonly ipSetReferenceStatement?: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement; /** - * The aggregation method. + * not_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#not_statement Wafv2WebAcl#not_statement} */ - readonly aggregation: string; + readonly notStatement?: Wafv2WebAclRuleStatementAndStatementStatementNotStatement; /** - * The facet name. + * or_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#or_statement Wafv2WebAcl#or_statement} */ - readonly facet?: string; + readonly orStatement?: Wafv2WebAclRuleStatementAndStatementStatementOrStatement; /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * regex_pattern_set_reference_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#regex_pattern_set_reference_statement Wafv2WebAcl#regex_pattern_set_reference_statement} */ - readonly order: string; + readonly regexPatternSetReferenceStatement?: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement; + /** + * size_constraint_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size_constraint_statement Wafv2WebAcl#size_constraint_statement} + */ + readonly sizeConstraintStatement?: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement; + /** + * sqli_match_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#sqli_match_statement Wafv2WebAcl#sqli_match_statement} + */ + readonly sqliMatchStatement?: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement; + /** + * xss_match_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#xss_match_statement Wafv2WebAcl#xss_match_statement} + */ + readonly xssMatchStatement?: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementAndStatementStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementStatement | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + and_statement: wafv2WebAclRuleStatementAndStatementToTerraform(struct!.andStatement), + byte_match_statement: wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementToTerraform(struct!.byteMatchStatement), + geo_match_statement: wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementToTerraform(struct!.geoMatchStatement), + ip_set_reference_statement: wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct!.ipSetReferenceStatement), + not_statement: wafv2WebAclRuleStatementAndStatementStatementNotStatementToTerraform(struct!.notStatement), + or_statement: wafv2WebAclRuleStatementAndStatementStatementOrStatementToTerraform(struct!.orStatement), + regex_pattern_set_reference_statement: wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform(struct!.regexPatternSetReferenceStatement), + size_constraint_statement: wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementToTerraform(struct!.sizeConstraintStatement), + sqli_match_statement: wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementToTerraform(struct!.sqliMatchStatement), + xss_match_statement: wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementToTerraform(struct!.xssMatchStatement), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementAndStatementStatement | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._andStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.andStatement = this._andStatement?.internalValue; } - if (this._facet !== undefined) { + if (this._byteMatchStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.byteMatchStatement = this._byteMatchStatement?.internalValue; } - if (this._order !== undefined) { + if (this._geoMatchStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.geoMatchStatement = this._geoMatchStatement?.internalValue; + } + if (this._ipSetReferenceStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.ipSetReferenceStatement = this._ipSetReferenceStatement?.internalValue; + } + if (this._notStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.notStatement = this._notStatement?.internalValue; + } + if (this._orStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.orStatement = this._orStatement?.internalValue; + } + if (this._regexPatternSetReferenceStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.regexPatternSetReferenceStatement = this._regexPatternSetReferenceStatement?.internalValue; + } + if (this._sizeConstraintStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sizeConstraintStatement = this._sizeConstraintStatement?.internalValue; + } + if (this._sqliMatchStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sqliMatchStatement = this._sqliMatchStatement?.internalValue; + } + if (this._xssMatchStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.xssMatchStatement = this._xssMatchStatement?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatementStatement | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this.resolvableValue = undefined; + this._andStatement.internalValue = undefined; + this._byteMatchStatement.internalValue = undefined; + this._geoMatchStatement.internalValue = undefined; + this._ipSetReferenceStatement.internalValue = undefined; + this._notStatement.internalValue = undefined; + this._orStatement.internalValue = undefined; + this._regexPatternSetReferenceStatement.internalValue = undefined; + this._sizeConstraintStatement.internalValue = undefined; + this._sqliMatchStatement.internalValue = undefined; + this._xssMatchStatement.internalValue = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this.resolvableValue = undefined; + this._andStatement.internalValue = value.andStatement; + this._byteMatchStatement.internalValue = value.byteMatchStatement; + this._geoMatchStatement.internalValue = value.geoMatchStatement; + this._ipSetReferenceStatement.internalValue = value.ipSetReferenceStatement; + this._notStatement.internalValue = value.notStatement; + this._orStatement.internalValue = value.orStatement; + this._regexPatternSetReferenceStatement.internalValue = value.regexPatternSetReferenceStatement; + this._sizeConstraintStatement.internalValue = value.sizeConstraintStatement; + this._sqliMatchStatement.internalValue = value.sqliMatchStatement; + this._xssMatchStatement.internalValue = value.xssMatchStatement; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // and_statement - computed: false, optional: true, required: false + private _andStatement = new Wafv2WebAclRuleStatementAndStatementOutputReference(this, "and_statement"); + public get andStatement() { + return this._andStatement; } - public set aggregation(value: string) { - this._aggregation = value; + public putAndStatement(value: Wafv2WebAclRuleStatementAndStatement) { + this._andStatement.internalValue = value; + } + public resetAndStatement() { + this._andStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get andStatementInput() { + return this._andStatement.internalValue; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // byte_match_statement - computed: false, optional: true, required: false + private _byteMatchStatement = new Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatementOutputReference(this, "byte_match_statement"); + public get byteMatchStatement() { + return this._byteMatchStatement; } - public set facet(value: string) { - this._facet = value; + public putByteMatchStatement(value: Wafv2WebAclRuleStatementAndStatementStatementByteMatchStatement) { + this._byteMatchStatement.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetByteMatchStatement() { + this._byteMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get byteMatchStatementInput() { + return this._byteMatchStatement.internalValue; } - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + // geo_match_statement - computed: false, optional: true, required: false + private _geoMatchStatement = new Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatementOutputReference(this, "geo_match_statement"); + public get geoMatchStatement() { + return this._geoMatchStatement; } - public set order(value: string) { - this._order = value; + public putGeoMatchStatement(value: Wafv2WebAclRuleStatementAndStatementStatementGeoMatchStatement) { + this._geoMatchStatement.internalValue = value; + } + public resetGeoMatchStatement() { + this._geoMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get geoMatchStatementInput() { + return this._geoMatchStatement.internalValue; } -} -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; - /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} - */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery; -} -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // ip_set_reference_statement - computed: false, optional: true, required: false + private _ipSetReferenceStatement = new Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatementOutputReference(this, "ip_set_reference_statement"); + public get ipSetReferenceStatement() { + return this._ipSetReferenceStatement; } - return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + public putIpSetReferenceStatement(value: Wafv2WebAclRuleStatementAndStatementStatementIpSetReferenceStatement) { + this._ipSetReferenceStatement.internalValue = value; + } + public resetIpSetReferenceStatement() { + this._ipSetReferenceStatement.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get ipSetReferenceStatementInput() { + return this._ipSetReferenceStatement.internalValue; } -} - -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; - /** - * @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) - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + // not_statement - computed: false, optional: true, required: false + private _notStatement = new Wafv2WebAclRuleStatementAndStatementStatementNotStatementOutputReference(this, "not_statement"); + public get notStatement() { + return this._notStatement; + } + public putNotStatement(value: Wafv2WebAclRuleStatementAndStatementStatementNotStatement) { + this._notStatement.internalValue = value; + } + public resetNotStatement() { + this._notStatement.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get notStatementInput() { + return this._notStatement.internalValue; } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._sortQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; - } - return hasAnyValues ? internalValueResult : undefined; + // or_statement - computed: false, optional: true, required: false + private _orStatement = new Wafv2WebAclRuleStatementAndStatementStatementOrStatementOutputReference(this, "or_statement"); + public get orStatement() { + return this._orStatement; + } + public putOrStatement(value: Wafv2WebAclRuleStatementAndStatementStatementOrStatement) { + this._orStatement.internalValue = value; + } + public resetOrStatement() { + this._orStatement.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get orStatementInput() { + return this._orStatement.internalValue; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; - } + // regex_pattern_set_reference_statement - computed: false, optional: true, required: false + private _regexPatternSetReferenceStatement = new Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference(this, "regex_pattern_set_reference_statement"); + public get regexPatternSetReferenceStatement() { + return this._regexPatternSetReferenceStatement; + } + public putRegexPatternSetReferenceStatement(value: Wafv2WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatement) { + this._regexPatternSetReferenceStatement.internalValue = value; + } + public resetRegexPatternSetReferenceStatement() { + this._regexPatternSetReferenceStatement.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get regexPatternSetReferenceStatementInput() { + return this._regexPatternSetReferenceStatement.internalValue; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // size_constraint_statement - computed: false, optional: true, required: false + private _sizeConstraintStatement = new Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatementOutputReference(this, "size_constraint_statement"); + public get sizeConstraintStatement() { + return this._sizeConstraintStatement; } - public set facet(value: string) { - this._facet = value; + public putSizeConstraintStatement(value: Wafv2WebAclRuleStatementAndStatementStatementSizeConstraintStatement) { + this._sizeConstraintStatement.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetSizeConstraintStatement() { + this._sizeConstraintStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get sizeConstraintStatementInput() { + return this._sizeConstraintStatement.internalValue; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // sqli_match_statement - computed: false, optional: true, required: false + private _sqliMatchStatement = new Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatementOutputReference(this, "sqli_match_statement"); + public get sqliMatchStatement() { + return this._sqliMatchStatement; } - public set limit(value: number) { - this._limit = value; + public putSqliMatchStatement(value: Wafv2WebAclRuleStatementAndStatementStatementSqliMatchStatement) { + this._sqliMatchStatement.internalValue = value; } - public resetLimit() { - this._limit = undefined; + public resetSqliMatchStatement() { + this._sqliMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get sqliMatchStatementInput() { + return this._sqliMatchStatement.internalValue; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // xss_match_statement - computed: false, optional: true, required: false + private _xssMatchStatement = new Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatementOutputReference(this, "xss_match_statement"); + public get xssMatchStatement() { + return this._xssMatchStatement; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putXssMatchStatement(value: Wafv2WebAclRuleStatementAndStatementStatementXssMatchStatement) { + this._xssMatchStatement.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetXssMatchStatement() { + this._xssMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get xssMatchStatementInput() { + return this._xssMatchStatement.internalValue; } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementAndStatementStatementList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -41754,212 +45420,163 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLo /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementAndStatementStatementOutputReference { + return new Wafv2WebAclRuleStatementAndStatementStatementOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementAndStatement { /** - * Define the time interval in seconds. + * statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} */ - readonly interval?: number; + readonly statement: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementAndStatementToTerraform(struct?: Wafv2WebAclRuleStatementAndStatementOutputReference | Wafv2WebAclRuleStatementAndStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + statement: cdktf.listMapper(wafv2WebAclRuleStatementAndStatementStatementToTerraform, true)(struct!.statement), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementAndStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementAndStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { + if (this._statement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.statement = this._statement?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementAndStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._statement.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._statement.internalValue = value.statement; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // statement - computed: false, optional: false, required: true + private _statement = new Wafv2WebAclRuleStatementAndStatementStatementList(this, "statement", false); + public get statement() { + return this._statement; } - public resetFacet() { - this._facet = undefined; + public putStatement(value: Wafv2WebAclRuleStatementAndStatementStatement[] | cdktf.IResolvable) { + this._statement.internalValue = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get statementInput() { + return this._statement.internalValue; } +} +export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments { +} - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; +export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + return { } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; - /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} - */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery; - /** - * group_by block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} - */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; - /** - * multi_compute block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} +export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody { +} + +export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod { } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery): any { +export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -41970,169 +45587,77 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLo super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; - } - if (this._multiCompute?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; } } +} +export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString { +} - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; +export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + return { } +} - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; - } - public resetSearchQuery() { - this._searchQuery = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; - } +export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryComputeQuery) { - this._computeQuery.internalValue = value; - } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; - } - public resetGroupBy() { - this._groupBy.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; - } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery { - /** - * A list of processes. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} - */ - readonly filterBy?: string[]; - /** - * The max number of items in the filter list. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; - /** - * Your chosen metric. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} - */ - readonly metric: string; +export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader { /** - * Your chosen search term. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly searchBy?: string; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery): any { +export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), - limit: cdktf.numberToTerraform(struct!.limit), - metric: cdktf.stringToTerraform(struct!.metric), - search_by: cdktf.stringToTerraform(struct!.searchBy), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -42143,140 +45668,58 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestPr super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._filterBy !== undefined) { - hasAnyValues = true; - internalValueResult.filterBy = this._filterBy; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._metric !== undefined) { - hasAnyValues = true; - internalValueResult.metric = this._metric; - } - if (this._searchBy !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.searchBy = this._searchBy; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._filterBy = undefined; - this._limit = undefined; - this._metric = undefined; - this._searchBy = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._filterBy = value.filterBy; - this._limit = value.limit; - this._metric = value.metric; - this._searchBy = value.searchBy; + this._name = value.name; } } - // filter_by - computed: false, optional: true, required: false - private _filterBy?: string[]; - public get filterBy() { - return this.getListAttribute('filter_by'); - } - public set filterBy(value: string[]) { - this._filterBy = value; - } - public resetFilterBy() { - this._filterBy = undefined; - } - // Temporarily expose input value. Use with caution. - public get filterByInput() { - return this._filterBy; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; - } - public resetLimit() { - this._limit = undefined; - } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; - } - - // metric - computed: false, optional: false, required: true - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); - } - public set metric(value: string) { - this._metric = value; - } - // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; - } - - // search_by - computed: false, optional: true, required: false - private _searchBy?: string; - public get searchBy() { - return this.getStringAttribute('search_by'); - } - public set searchBy(value: string) { - this._searchBy = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetSearchBy() { - this._searchBy = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get searchByInput() { - return this._searchBy; + public get nameInput() { + return this._name; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument { /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly interval?: number; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery): any { +export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -42287,118 +45730,140 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set aggregation(value: string) { - this._aggregation = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath { +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; +export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + return { } +} - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; +export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetInterval() { - this._interval = undefined; + + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery { +export interface Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch { /** - * The aggregation method. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly aggregation: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments; /** - * The facet name. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly facet?: string; + readonly body?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody; /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly order: string; + readonly method?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod; + /** + * query_string block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + */ + readonly queryString?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString; + /** + * single_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + */ + readonly singleHeader?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + all_query_arguments: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -42409,115 +45874,198 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._facet !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.body = this._body?.internalValue; } - if (this._order !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.method = this._method?.internalValue; + } + if (this._queryString?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.queryString = this._queryString?.internalValue; + } + if (this._singleHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set aggregation(value: string) { - this._aggregation = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; + } + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set facet(value: string) { - this._facet = value; + public putBody(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get bodyInput() { + return this._body.internalValue; } - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public set order(value: string) { - this._order = value; + public putMethod(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchMethod) { + this._method.internalValue = value; + } + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get methodInput() { + return this._method.internalValue; + } + + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; + } + public putQueryString(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; + } + public resetQueryString() { + this._queryString.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get queryStringInput() { + return this._queryString.internalValue; + } + + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; + } + public putSingleHeader(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; + } + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleHeaderInput() { + return this._singleHeader.internalValue; + } + + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; + } + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; + } + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; + } + + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; + } + public putUriPath(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementByteMatchStatementTextTransformation { /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly limit?: number; + readonly priority: number; /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -42531,34 +46079,29 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRu super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.priority = this._priority; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -42567,63 +46110,40 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRu else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._priority = value.priority; + this._type = value.type; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetLimit() { - this._limit = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get priorityInput() { + return this._priority; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -42637,212 +46157,262 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRu /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementByteMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute { +export interface Wafv2WebAclRuleStatementByteMatchStatement { /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} */ - readonly aggregation: string; + readonly positionalConstraint: string; /** - * The facet name. + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} + */ + readonly searchString: string; + /** + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly facet?: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch; /** - * Define the time interval in seconds. + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly interval?: number; + readonly textTransformation: Wafv2WebAclRuleStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementByteMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), + search_string: cdktf.stringToTerraform(struct!.searchString), + field_to_match: wafv2WebAclRuleStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementByteMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._positionalConstraint !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.positionalConstraint = this._positionalConstraint; } - if (this._facet !== undefined) { + if (this._searchString !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.searchString = this._searchString; } - if (this._interval !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + } + if (this._textTransformation?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementByteMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._positionalConstraint = undefined; + this._searchString = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._positionalConstraint = value.positionalConstraint; + this._searchString = value.searchString; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // positional_constraint - computed: false, optional: false, required: true + private _positionalConstraint?: string; + public get positionalConstraint() { + return this.getStringAttribute('positional_constraint'); } - public set aggregation(value: string) { - this._aggregation = value; + public set positionalConstraint(value: string) { + this._positionalConstraint = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get positionalConstraintInput() { + return this._positionalConstraint; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // search_string - computed: false, optional: false, required: true + private _searchString?: string; + public get searchString() { + return this.getStringAttribute('search_string'); } - public resetFacet() { - this._facet = undefined; + public set searchString(value: string) { + this._searchString = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get searchStringInput() { + return this._searchString; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set interval(value: number) { - this._interval = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementByteMatchStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetInterval() { - this._interval = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; + } + + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; + } + public putTextTransformation(value: Wafv2WebAclRuleStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; + } + // Temporarily expose input value. Use with caution. + public get textTransformationInput() { + return this._textTransformation.internalValue; + } +} +export interface Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + */ + readonly fallbackBehavior: string; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + */ + readonly headerName: string; +} + +export function wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._fallbackBehavior !== undefined) { + hasAnyValues = true; + internalValueResult.fallbackBehavior = this._fallbackBehavior; + } + if (this._headerName !== undefined) { + hasAnyValues = true; + internalValueResult.headerName = this._headerName; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._fallbackBehavior = undefined; + this._headerName = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; + } + } + + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); + } + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; + } + // Temporarily expose input value. Use with caution. + public get fallbackBehaviorInput() { + return this._fallbackBehavior; + } + + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); + } + public set headerName(value: string) { + this._headerName = value; + } + // Temporarily expose input value. Use with caution. + public get headerNameInput() { + return this._headerName; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; - /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} - */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery; +export interface Wafv2WebAclRuleStatementGeoMatchStatement { /** - * group_by block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + readonly countryCodes: string[]; /** - * multi_compute block + * forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; + readonly forwardedIpConfig?: Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery): any { +export function wafv2WebAclRuleStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementGeoMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), + forwarded_ip_config: wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -42853,162 +46423,90 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementGeoMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { + if (this._countryCodes !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.countryCodes = this._countryCodes; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._forwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementGeoMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._countryCodes = undefined; + this._forwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._countryCodes = value.countryCodes; + this._forwardedIpConfig.internalValue = value.forwardedIpConfig; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; - } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; - } - - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; - } - public resetSearchQuery() { - this._searchQuery = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; - } - - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryComputeQuery) { - this._computeQuery.internalValue = value; - } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; - } - - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + // country_codes - computed: false, optional: false, required: true + private _countryCodes?: string[]; + public get countryCodes() { + return this.getListAttribute('country_codes'); } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public set countryCodes(value: string[]) { + this._countryCodes = value; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get countryCodesInput() { + return this._countryCodes; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; + // forwarded_ip_config - computed: false, optional: true, required: false + private _forwardedIpConfig = new Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); + public get forwardedIpConfig() { + return this._forwardedIpConfig; } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + public putForwardedIpConfig(value: Wafv2WebAclRuleStatementGeoMatchStatementForwardedIpConfig) { + this._forwardedIpConfig.internalValue = value; } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public resetForwardedIpConfig() { + this._forwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get forwardedIpConfigInput() { + return this._forwardedIpConfig.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery { +export interface Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig { /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} */ - readonly aggregation: string; + readonly fallbackBehavior: string; /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} */ - readonly facet?: string; + readonly headerName: string; /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} */ - readonly interval?: number; + readonly position: string; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery): any { +export function wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), + position: cdktf.stringToTerraform(struct!.position), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -43019,118 +46517,103 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSe super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._fallbackBehavior !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.fallbackBehavior = this._fallbackBehavior; } - if (this._facet !== undefined) { + if (this._headerName !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.headerName = this._headerName; } - if (this._interval !== undefined) { + if (this._position !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.position = this._position; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._fallbackBehavior = undefined; + this._headerName = undefined; + this._position = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; + this._position = value.position; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); } - public set aggregation(value: string) { - this._aggregation = value; + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } - public resetFacet() { - this._facet = undefined; + public set headerName(value: string) { + this._headerName = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get headerNameInput() { + return this._headerName; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // position - computed: false, optional: false, required: true + private _position?: string; + public get position() { + return this.getStringAttribute('position'); } - public resetInterval() { - this._interval = undefined; + public set position(value: string) { + this._position = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get positionInput() { + return this._position; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementIpSetReferenceStatement { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} */ - readonly facet?: string; + readonly arn: string; /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * ip_set_forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} */ - readonly order: string; + readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementIpSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + arn: cdktf.stringToTerraform(struct!.arn), + ip_set_forwarded_ip_config: wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -43141,115 +46624,80 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSe super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementIpSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.arn = this._arn; } - if (this._order !== undefined) { + if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementIpSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._arn = undefined; + this._ipSetForwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._arn = value.arn; + this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public set aggregation(value: string) { - this._aggregation = value; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get arnInput() { + return this._arn; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + // ip_set_forwarded_ip_config - computed: false, optional: true, required: false + private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); + public get ipSetForwardedIpConfig() { + return this._ipSetForwardedIpConfig; } - - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementIpSetReferenceStatementIpSetForwardedIpConfig) { + this._ipSetForwardedIpConfig.internalValue = value; } - public set order(value: string) { - this._order = value; + public resetIpSetForwardedIpConfig() { + this._ipSetForwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get ipSetForwardedIpConfigInput() { + return this._ipSetForwardedIpConfig.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule { /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -43263,34 +46711,24 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSe super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._sortQuery?.internalValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; + this._name = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -43299,63 +46737,26 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSe else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._name = value.name; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; - } - public resetLimit() { - this._limit = undefined; - } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; - } - - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get nameInput() { + return this._name; } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRule[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -43369,212 +46770,99 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSe /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementExcludedRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} - */ - readonly interval?: number; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { - hasAnyValues = true; - internalValueResult.interval = this._interval; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody { +} - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + return { } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; - /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} - */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery; - /** - * group_by block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} - */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; - /** - * multi_compute block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} - */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod { } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -43585,148 +46873,34 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSe super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; - } - if (this._multiCompute?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; } } - - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; - } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; - } - - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; - } - public resetSearchQuery() { - this._searchQuery = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; - } - - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryComputeQuery) { - this._computeQuery.internalValue = value; - } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; - } - - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; - } - public resetGroupBy() { - this._groupBy.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; - } - - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; - } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; - } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle { - /** - * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} - */ - readonly palette?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString { } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - palette: cdktf.stringToTerraform(struct!.palette), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -43737,378 +46911,245 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSt super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._palette !== undefined) { - hasAnyValues = true; - internalValueResult.palette = this._palette; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._palette = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._palette = value.palette; } } - - // palette - computed: false, optional: true, required: false - private _palette?: string; - public get palette() { - return this.getStringAttribute('palette'); - } - public set palette(value: string) { - this._palette = value; - } - public resetPalette() { - this._palette = undefined; - } - // Temporarily expose input value. Use with caution. - public get paletteInput() { - return this._palette; - } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest { - /** - * The metric query to use for this widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} - */ - readonly q?: string; - /** - * apm_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} - */ - readonly apmQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery; - /** - * log_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} - */ - readonly logQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery; - /** - * process_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} - */ - readonly processQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery; - /** - * rum_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} - */ - readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery; - /** - * security_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} - */ - readonly securityQuery?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader { /** - * style block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly style?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - q: cdktf.stringToTerraform(struct!.q), - apm_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryToTerraform(struct!.apmQuery), - log_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryToTerraform(struct!.logQuery), - process_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryToTerraform(struct!.processQuery), - rum_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryToTerraform(struct!.rumQuery), - security_query: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), - style: dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleToTerraform(struct!.style), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._q !== undefined) { - hasAnyValues = true; - internalValueResult.q = this._q; - } - if (this._apmQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.apmQuery = this._apmQuery?.internalValue; - } - if (this._logQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.logQuery = this._logQuery?.internalValue; - } - if (this._processQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.processQuery = this._processQuery?.internalValue; - } - if (this._rumQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.rumQuery = this._rumQuery?.internalValue; - } - if (this._securityQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.securityQuery = this._securityQuery?.internalValue; - } - if (this._style?.internalValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.style = this._style?.internalValue; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._q = undefined; - this._apmQuery.internalValue = undefined; - this._logQuery.internalValue = undefined; - this._processQuery.internalValue = undefined; - this._rumQuery.internalValue = undefined; - this._securityQuery.internalValue = undefined; - this._style.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._q = value.q; - this._apmQuery.internalValue = value.apmQuery; - this._logQuery.internalValue = value.logQuery; - this._processQuery.internalValue = value.processQuery; - this._rumQuery.internalValue = value.rumQuery; - this._securityQuery.internalValue = value.securityQuery; - this._style.internalValue = value.style; + this._name = value.name; } } - // q - computed: false, optional: true, required: false - private _q?: string; - public get q() { - return this.getStringAttribute('q'); - } - public set q(value: string) { - this._q = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetQ() { - this._q = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get qInput() { - return this._q; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} - // apm_query - computed: false, optional: true, required: false - private _apmQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQueryOutputReference(this, "apm_query"); - public get apmQuery() { - return this._apmQuery; - } - public putApmQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestApmQuery) { - this._apmQuery.internalValue = value; - } - public resetApmQuery() { - this._apmQuery.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get apmQueryInput() { - return this._apmQuery.internalValue; + return { + name: cdktf.stringToTerraform(struct!.name), } +} - // log_query - computed: false, optional: true, required: false - private _logQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQueryOutputReference(this, "log_query"); - public get logQuery() { - return this._logQuery; - } - public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestLogQuery) { - this._logQuery.internalValue = value; - } - public resetLogQuery() { - this._logQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get logQueryInput() { - return this._logQuery.internalValue; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // process_query - computed: false, optional: true, required: false - private _processQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQueryOutputReference(this, "process_query"); - public get processQuery() { - return this._processQuery; - } - public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestProcessQuery) { - this._processQuery.internalValue = value; - } - public resetProcessQuery() { - this._processQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get processQueryInput() { - return this._processQuery.internalValue; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // rum_query - computed: false, optional: true, required: false - private _rumQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQueryOutputReference(this, "rum_query"); - public get rumQuery() { - return this._rumQuery; - } - public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestRumQuery) { - this._rumQuery.internalValue = value; - } - public resetRumQuery() { - this._rumQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get rumQueryInput() { - return this._rumQuery.internalValue; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + return hasAnyValues ? internalValueResult : undefined; } - // security_query - computed: false, optional: true, required: false - private _securityQuery = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQueryOutputReference(this, "security_query"); - public get securityQuery() { - return this._securityQuery; + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._name = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._name = value.name; + } } - public putSecurityQuery(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestSecurityQuery) { - this._securityQuery.internalValue = value; + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetSecurityQuery() { - this._securityQuery.internalValue = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get securityQueryInput() { - return this._securityQuery.internalValue; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath { +} - // style - computed: false, optional: true, required: false - private _style = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyleOutputReference(this, "style"); - public get style() { - return this._style; - } - public putStyle(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestStyle) { - this._style.internalValue = value; - } - public resetStyle() { - this._style.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get styleInput() { - return this._style.internalValue; + return { } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestOutputReference { - return new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetDistributionDefinition { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch { /** - * The size of the legend displayed in the widget. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#legend_size Dashboard#legend_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly legendSize?: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly liveSpan?: string; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody; /** - * Whether or not to show the legend on this widget. + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#show_legend Dashboard#show_legend} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly showLegend?: boolean | cdktf.IResolvable; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod; /** - * The title of the widget. + * query_string block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly title?: string; + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString; /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * single_header block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly titleAlign?: string; + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader; /** - * The size of the widget's title (defaults to 16). + * single_query_argument block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} */ - readonly titleSize?: string; + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; /** - * request block + * uri_path block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} */ - readonly request?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest[] | cdktf.IResolvable; + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetDistributionDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetDistributionDefinition): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - legend_size: cdktf.stringToTerraform(struct!.legendSize), - live_span: cdktf.stringToTerraform(struct!.liveSpan), - show_legend: cdktf.booleanToTerraform(struct!.showLegend), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), - request: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestToTerraform, true)(struct!.request), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -44119,468 +47160,330 @@ export class DashboardWidgetGroupDefinitionWidgetDistributionDefinitionOutputRef super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetDistributionDefinition | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._legendSize !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.legendSize = this._legendSize; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._liveSpan !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; + internalValueResult.body = this._body?.internalValue; } - if (this._showLegend !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.showLegend = this._showLegend; + internalValueResult.method = this._method?.internalValue; } - if (this._title !== undefined) { + if (this._queryString?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.title = this._title; + internalValueResult.queryString = this._queryString?.internalValue; } - if (this._titleAlign !== undefined) { + if (this._singleHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.singleHeader = this._singleHeader?.internalValue; } - if (this._titleSize !== undefined) { + if (this._singleQueryArgument?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; } - if (this._request?.internalValue !== undefined) { + if (this._uriPath?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.request = this._request?.internalValue; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinition | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._legendSize = undefined; - this._liveSpan = undefined; - this._showLegend = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; - this._request.internalValue = undefined; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._legendSize = value.legendSize; - this._liveSpan = value.liveSpan; - this._showLegend = value.showLegend; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; - this._request.internalValue = value.request; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // legend_size - computed: false, optional: true, required: false - private _legendSize?: string; - public get legendSize() { - return this.getStringAttribute('legend_size'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set legendSize(value: string) { - this._legendSize = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public resetLegendSize() { - this._legendSize = undefined; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get legendSizeInput() { - return this._legendSize; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set liveSpan(value: string) { - this._liveSpan = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetLiveSpan() { - this._liveSpan = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; + public get bodyInput() { + return this._body.internalValue; } - // show_legend - computed: false, optional: true, required: false - private _showLegend?: boolean | cdktf.IResolvable; - public get showLegend() { - return this.getBooleanAttribute('show_legend'); + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public set showLegend(value: boolean | cdktf.IResolvable) { - this._showLegend = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetShowLegend() { - this._showLegend = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get showLegendInput() { - return this._showLegend; + public get methodInput() { + return this._method.internalValue; } - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - public set title(value: string) { - this._title = value; + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; } - public resetTitle() { - this._title = undefined; + public resetQueryString() { + this._queryString.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + public get queryStringInput() { + return this._queryString.internalValue; } - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; } - public set titleAlign(value: string) { - this._titleAlign = value; + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; } - public resetTitleAlign() { - this._titleAlign = undefined; + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; } - public set titleSize(value: string) { - this._titleSize = value; + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; } - public resetTitleSize() { - this._titleSize = undefined; + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; } - // request - computed: false, optional: true, required: false - private _request = new DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequestList(this, "request", false); - public get request() { - return this._request; + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; } - public putRequest(value: DashboardWidgetGroupDefinitionWidgetDistributionDefinitionRequest[] | cdktf.IResolvable) { - this._request.internalValue = value; + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; } - public resetRequest() { - this._request.internalValue = undefined; + public resetUriPath() { + this._uriPath.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get requestInput() { - return this._request.internalValue; + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetEventStreamDefinition { - /** - * The size to use to display an event. Valid values are \`s\`, \`l\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event_size Dashboard#event_size} - */ - readonly eventSize?: string; - /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} - */ - readonly liveSpan?: string; - /** - * The query to use in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} - */ - readonly query: string; - /** - * The execution method for multi-value filters, options: \`and\` or \`or\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} - */ - readonly tagsExecution?: string; - /** - * The title of the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} - */ - readonly title?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation { /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly titleAlign?: string; + readonly priority: number; /** - * The size of the widget's title (defaults to 16). - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly titleSize?: string; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetEventStreamDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetEventStreamDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetEventStreamDefinition): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - event_size: cdktf.stringToTerraform(struct!.eventSize), - live_span: cdktf.stringToTerraform(struct!.liveSpan), - query: cdktf.stringToTerraform(struct!.query), - tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetEventStreamDefinitionOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetEventStreamDefinition | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._eventSize !== undefined) { - hasAnyValues = true; - internalValueResult.eventSize = this._eventSize; - } - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._query !== undefined) { - hasAnyValues = true; - internalValueResult.query = this._query; - } - if (this._tagsExecution !== undefined) { - hasAnyValues = true; - internalValueResult.tagsExecution = this._tagsExecution; - } - if (this._title !== undefined) { - hasAnyValues = true; - internalValueResult.title = this._title; - } - if (this._titleAlign !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.priority = this._priority; } - if (this._titleSize !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetEventStreamDefinition | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._eventSize = undefined; - this._liveSpan = undefined; - this._query = undefined; - this._tagsExecution = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; + this.resolvableValue = undefined; + this._priority = undefined; + this._type = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._eventSize = value.eventSize; - this._liveSpan = value.liveSpan; - this._query = value.query; - this._tagsExecution = value.tagsExecution; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; + this.resolvableValue = undefined; + this._priority = value.priority; + this._type = value.type; } } - // event_size - computed: false, optional: true, required: false - private _eventSize?: string; - public get eventSize() { - return this.getStringAttribute('event_size'); - } - public set eventSize(value: string) { - this._eventSize = value; - } - public resetEventSize() { - this._eventSize = undefined; - } - // Temporarily expose input value. Use with caution. - public get eventSizeInput() { - return this._eventSize; - } - - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; - } - public resetLiveSpan() { - this._liveSpan = undefined; - } - // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; - } - - // query - computed: false, optional: false, required: true - private _query?: string; - public get query() { - return this.getStringAttribute('query'); - } - public set query(value: string) { - this._query = value; - } - // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query; - } - - // tags_execution - computed: false, optional: true, required: false - private _tagsExecution?: string; - public get tagsExecution() { - return this.getStringAttribute('tags_execution'); - } - public set tagsExecution(value: string) { - this._tagsExecution = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetTagsExecution() { - this._tagsExecution = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get tagsExecutionInput() { - return this._tagsExecution; + public get priorityInput() { + return this._priority; } - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); - } - public set title(value: string) { - this._title = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetTitle() { - this._title = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + public get typeInput() { + return this._type; } +} - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); - } - public set titleAlign(value: string) { - this._titleAlign = value; - } - public resetTitleAlign() { - this._titleAlign = undefined; - } - // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); - } - public set titleSize(value: string) { - this._titleSize = value; - } - public resetTitleSize() { - this._titleSize = undefined; - } - // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; - } -} -export interface DashboardWidgetGroupDefinitionWidgetEventTimelineDefinition { /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} + * @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) */ - readonly liveSpan?: string; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + /** - * The query to use in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} + * @param index the index of the item to return */ - readonly query: string; + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement { /** - * The execution method for multi-value filters, options: \`and\` or \`or\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} */ - readonly tagsExecution?: string; + readonly positionalConstraint: string; /** - * The title of the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} */ - readonly title?: string; + readonly searchString: string; /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly titleAlign?: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch; /** - * The size of the widget's title (defaults to 16). + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly titleSize?: string; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetEventTimelineDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetEventTimelineDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetEventTimelineDefinition): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - live_span: cdktf.stringToTerraform(struct!.liveSpan), - query: cdktf.stringToTerraform(struct!.query), - tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), + positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), + search_string: cdktf.stringToTerraform(struct!.searchString), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetEventTimelineDefinitionOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -44591,191 +47494,211 @@ export class DashboardWidgetGroupDefinitionWidgetEventTimelineDefinitionOutputRe super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetEventTimelineDefinition | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._query !== undefined) { - hasAnyValues = true; - internalValueResult.query = this._query; - } - if (this._tagsExecution !== undefined) { + if (this._positionalConstraint !== undefined) { hasAnyValues = true; - internalValueResult.tagsExecution = this._tagsExecution; + internalValueResult.positionalConstraint = this._positionalConstraint; } - if (this._title !== undefined) { + if (this._searchString !== undefined) { hasAnyValues = true; - internalValueResult.title = this._title; + internalValueResult.searchString = this._searchString; } - if (this._titleAlign !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._titleSize !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetEventTimelineDefinition | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._liveSpan = undefined; - this._query = undefined; - this._tagsExecution = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; + this._positionalConstraint = undefined; + this._searchString = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._liveSpan = value.liveSpan; - this._query = value.query; - this._tagsExecution = value.tagsExecution; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; + this._positionalConstraint = value.positionalConstraint; + this._searchString = value.searchString; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; + // positional_constraint - computed: false, optional: false, required: true + private _positionalConstraint?: string; + public get positionalConstraint() { + return this.getStringAttribute('positional_constraint'); } - public resetLiveSpan() { - this._liveSpan = undefined; + public set positionalConstraint(value: string) { + this._positionalConstraint = value; } // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; + public get positionalConstraintInput() { + return this._positionalConstraint; } - // query - computed: false, optional: false, required: true - private _query?: string; - public get query() { - return this.getStringAttribute('query'); + // search_string - computed: false, optional: false, required: true + private _searchString?: string; + public get searchString() { + return this.getStringAttribute('search_string'); } - public set query(value: string) { - this._query = value; + public set searchString(value: string) { + this._searchString = value; } // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query; + public get searchStringInput() { + return this._searchString; } - // tags_execution - computed: false, optional: true, required: false - private _tagsExecution?: string; - public get tagsExecution() { - return this.getStringAttribute('tags_execution'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set tagsExecution(value: string) { - this._tagsExecution = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetTagsExecution() { - this._tagsExecution = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get tagsExecutionInput() { - return this._tagsExecution; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); - } - public set title(value: string) { - this._title = value; + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public resetTitle() { - this._title = undefined; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + public get textTransformationInput() { + return this._textTransformation.internalValue; + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} + */ + readonly fallbackBehavior: string; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} + */ + readonly headerName: string; +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), } +} - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public set titleAlign(value: string) { - this._titleAlign = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._fallbackBehavior !== undefined) { + hasAnyValues = true; + internalValueResult.fallbackBehavior = this._fallbackBehavior; + } + if (this._headerName !== undefined) { + hasAnyValues = true; + internalValueResult.headerName = this._headerName; + } + return hasAnyValues ? internalValueResult : undefined; } - public resetTitleAlign() { - this._titleAlign = undefined; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._fallbackBehavior = undefined; + this._headerName = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; + } + } + + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); + } + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); - } - public set titleSize(value: string) { - this._titleSize = value; + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } - public resetTitleSize() { - this._titleSize = undefined; + public set headerName(value: string) { + this._headerName = value; } // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + public get headerNameInput() { + return this._headerName; } } -export interface DashboardWidgetGroupDefinitionWidgetFreeTextDefinition { - /** - * The color of the text in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#color Dashboard#color} - */ - readonly color?: string; - /** - * The size of the text in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#font_size Dashboard#font_size} - */ - readonly fontSize?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement { /** - * The text to display in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text Dashboard#text} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} */ - readonly text: string; + readonly countryCodes: string[]; /** - * The alignment of the text in the widget. Valid values are \`center\`, \`left\`, \`right\`. + * forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_align Dashboard#text_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} */ - readonly textAlign?: string; + readonly forwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetFreeTextDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetFreeTextDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetFreeTextDefinition): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - color: cdktf.stringToTerraform(struct!.color), - font_size: cdktf.stringToTerraform(struct!.fontSize), - text: cdktf.stringToTerraform(struct!.text), - text_align: cdktf.stringToTerraform(struct!.textAlign), + country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), + forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetFreeTextDefinitionOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -44786,641 +47709,433 @@ export class DashboardWidgetGroupDefinitionWidgetFreeTextDefinitionOutputReferen super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetFreeTextDefinition | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._color !== undefined) { - hasAnyValues = true; - internalValueResult.color = this._color; - } - if (this._fontSize !== undefined) { - hasAnyValues = true; - internalValueResult.fontSize = this._fontSize; - } - if (this._text !== undefined) { + if (this._countryCodes !== undefined) { hasAnyValues = true; - internalValueResult.text = this._text; + internalValueResult.countryCodes = this._countryCodes; } - if (this._textAlign !== undefined) { + if (this._forwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.textAlign = this._textAlign; + internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetFreeTextDefinition | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._color = undefined; - this._fontSize = undefined; - this._text = undefined; - this._textAlign = undefined; + this._countryCodes = undefined; + this._forwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._color = value.color; - this._fontSize = value.fontSize; - this._text = value.text; - this._textAlign = value.textAlign; + this._countryCodes = value.countryCodes; + this._forwardedIpConfig.internalValue = value.forwardedIpConfig; } } - // color - computed: false, optional: true, required: false - private _color?: string; - public get color() { - return this.getStringAttribute('color'); - } - public set color(value: string) { - this._color = value; - } - public resetColor() { - this._color = undefined; - } - // Temporarily expose input value. Use with caution. - public get colorInput() { - return this._color; - } - - // font_size - computed: false, optional: true, required: false - private _fontSize?: string; - public get fontSize() { - return this.getStringAttribute('font_size'); - } - public set fontSize(value: string) { - this._fontSize = value; - } - public resetFontSize() { - this._fontSize = undefined; - } - // Temporarily expose input value. Use with caution. - public get fontSizeInput() { - return this._fontSize; - } - - // text - computed: false, optional: false, required: true - private _text?: string; - public get text() { - return this.getStringAttribute('text'); + // country_codes - computed: false, optional: false, required: true + private _countryCodes?: string[]; + public get countryCodes() { + return this.getListAttribute('country_codes'); } - public set text(value: string) { - this._text = value; + public set countryCodes(value: string[]) { + this._countryCodes = value; } // Temporarily expose input value. Use with caution. - public get textInput() { - return this._text; + public get countryCodesInput() { + return this._countryCodes; } - // text_align - computed: false, optional: true, required: false - private _textAlign?: string; - public get textAlign() { - return this.getStringAttribute('text_align'); + // forwarded_ip_config - computed: false, optional: true, required: false + private _forwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); + public get forwardedIpConfig() { + return this._forwardedIpConfig; } - public set textAlign(value: string) { - this._textAlign = value; + public putForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementForwardedIpConfig) { + this._forwardedIpConfig.internalValue = value; } - public resetTextAlign() { - this._textAlign = undefined; + public resetForwardedIpConfig() { + this._forwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get textAlignInput() { - return this._textAlign; + public get forwardedIpConfigInput() { + return this._forwardedIpConfig.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink { - /** - * The flag for toggling context menu link visibility. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} - */ - readonly isHidden?: boolean | cdktf.IResolvable; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { /** - * The label for the custom link URL. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} */ - readonly label?: string; + readonly fallbackBehavior: string; /** - * The URL of the custom link. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} */ - readonly link?: string; + readonly headerName: string; /** - * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} */ - readonly overrideLabel?: string; + readonly position: string; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - is_hidden: cdktf.booleanToTerraform(struct!.isHidden), - label: cdktf.stringToTerraform(struct!.label), - link: cdktf.stringToTerraform(struct!.link), - override_label: cdktf.stringToTerraform(struct!.overrideLabel), + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), + position: cdktf.stringToTerraform(struct!.position), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._isHidden !== undefined) { - hasAnyValues = true; - internalValueResult.isHidden = this._isHidden; - } - if (this._label !== undefined) { + if (this._fallbackBehavior !== undefined) { hasAnyValues = true; - internalValueResult.label = this._label; + internalValueResult.fallbackBehavior = this._fallbackBehavior; } - if (this._link !== undefined) { + if (this._headerName !== undefined) { hasAnyValues = true; - internalValueResult.link = this._link; + internalValueResult.headerName = this._headerName; } - if (this._overrideLabel !== undefined) { + if (this._position !== undefined) { hasAnyValues = true; - internalValueResult.overrideLabel = this._overrideLabel; + internalValueResult.position = this._position; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._isHidden = undefined; - this._label = undefined; - this._link = undefined; - this._overrideLabel = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._fallbackBehavior = undefined; + this._headerName = undefined; + this._position = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._isHidden = value.isHidden; - this._label = value.label; - this._link = value.link; - this._overrideLabel = value.overrideLabel; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; + this._position = value.position; } } - // is_hidden - computed: false, optional: true, required: false - private _isHidden?: boolean | cdktf.IResolvable; - public get isHidden() { - return this.getBooleanAttribute('is_hidden'); - } - public set isHidden(value: boolean | cdktf.IResolvable) { - this._isHidden = value; - } - public resetIsHidden() { - this._isHidden = undefined; - } - // Temporarily expose input value. Use with caution. - public get isHiddenInput() { - return this._isHidden; - } - - // label - computed: false, optional: true, required: false - private _label?: string; - public get label() { - return this.getStringAttribute('label'); - } - public set label(value: string) { - this._label = value; + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); } - public resetLabel() { - this._label = undefined; + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } // Temporarily expose input value. Use with caution. - public get labelInput() { - return this._label; + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - // link - computed: false, optional: true, required: false - private _link?: string; - public get link() { - return this.getStringAttribute('link'); - } - public set link(value: string) { - this._link = value; + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } - public resetLink() { - this._link = undefined; + public set headerName(value: string) { + this._headerName = value; } // Temporarily expose input value. Use with caution. - public get linkInput() { - return this._link; + public get headerNameInput() { + return this._headerName; } - // override_label - computed: false, optional: true, required: false - private _overrideLabel?: string; - public get overrideLabel() { - return this.getStringAttribute('override_label'); - } - public set overrideLabel(value: string) { - this._overrideLabel = value; + // position - computed: false, optional: false, required: true + private _position?: string; + public get position() { + return this.getStringAttribute('position'); } - public resetOverrideLabel() { - this._overrideLabel = undefined; + public set position(value: string) { + this._position = value; } // Temporarily expose input value. Use with caution. - public get overrideLabelInput() { - return this._overrideLabel; - } -} - -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get positionInput() { + return this._position; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats { - /** - * The comparator to use. Valid values are \`>\`, \`>=\`, \`<\`, \`<=\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#comparator Dashboard#comparator} - */ - readonly comparator: string; - /** - * The color palette to apply to the background, same values available as palette. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_bg_color Dashboard#custom_bg_color} - */ - readonly customBgColor?: string; - /** - * The color palette to apply to the foreground, same values available as palette. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_fg_color Dashboard#custom_fg_color} - */ - readonly customFgColor?: string; - /** - * Setting this to True hides values. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#hide_value Dashboard#hide_value} - */ - readonly hideValue?: boolean | cdktf.IResolvable; - /** - * Displays an image as the background. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#image_url Dashboard#image_url} - */ - readonly imageUrl?: string; - /** - * The metric from the request to correlate with this conditional format. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} - */ - readonly metric?: string; - /** - * The color palette to apply. Valid values are \`blue\`, \`custom_bg\`, \`custom_image\`, \`custom_text\`, \`gray_on_white\`, \`grey\`, \`green\`, \`orange\`, \`red\`, \`red_on_white\`, \`white_on_gray\`, \`white_on_green\`, \`green_on_white\`, \`white_on_red\`, \`white_on_yellow\`, \`yellow_on_white\`, \`black_on_light_yellow\`, \`black_on_light_green\`, \`black_on_light_red\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} - */ - readonly palette: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement { /** - * Defines the displayed timeframe. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#timeframe Dashboard#timeframe} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} */ - readonly timeframe?: string; + readonly arn: string; /** - * A value for the comparator. + * ip_set_forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#value Dashboard#value} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} */ - readonly value: number; + readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - comparator: cdktf.stringToTerraform(struct!.comparator), - custom_bg_color: cdktf.stringToTerraform(struct!.customBgColor), - custom_fg_color: cdktf.stringToTerraform(struct!.customFgColor), - hide_value: cdktf.booleanToTerraform(struct!.hideValue), - image_url: cdktf.stringToTerraform(struct!.imageUrl), - metric: cdktf.stringToTerraform(struct!.metric), - palette: cdktf.stringToTerraform(struct!.palette), - timeframe: cdktf.stringToTerraform(struct!.timeframe), - value: cdktf.numberToTerraform(struct!.value), + arn: cdktf.stringToTerraform(struct!.arn), + ip_set_forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._comparator !== undefined) { - hasAnyValues = true; - internalValueResult.comparator = this._comparator; - } - if (this._customBgColor !== undefined) { - hasAnyValues = true; - internalValueResult.customBgColor = this._customBgColor; - } - if (this._customFgColor !== undefined) { - hasAnyValues = true; - internalValueResult.customFgColor = this._customFgColor; - } - if (this._hideValue !== undefined) { - hasAnyValues = true; - internalValueResult.hideValue = this._hideValue; - } - if (this._imageUrl !== undefined) { - hasAnyValues = true; - internalValueResult.imageUrl = this._imageUrl; - } - if (this._metric !== undefined) { - hasAnyValues = true; - internalValueResult.metric = this._metric; - } - if (this._palette !== undefined) { - hasAnyValues = true; - internalValueResult.palette = this._palette; - } - if (this._timeframe !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.timeframe = this._timeframe; + internalValueResult.arn = this._arn; } - if (this._value !== undefined) { + if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.value = this._value; + internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._comparator = undefined; - this._customBgColor = undefined; - this._customFgColor = undefined; - this._hideValue = undefined; - this._imageUrl = undefined; - this._metric = undefined; - this._palette = undefined; - this._timeframe = undefined; - this._value = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._arn = undefined; + this._ipSetForwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._comparator = value.comparator; - this._customBgColor = value.customBgColor; - this._customFgColor = value.customFgColor; - this._hideValue = value.hideValue; - this._imageUrl = value.imageUrl; - this._metric = value.metric; - this._palette = value.palette; - this._timeframe = value.timeframe; - this._value = value.value; + this._arn = value.arn; + this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; } } - // comparator - computed: false, optional: false, required: true - private _comparator?: string; - public get comparator() { - return this.getStringAttribute('comparator'); + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public set comparator(value: string) { - this._comparator = value; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get comparatorInput() { - return this._comparator; + public get arnInput() { + return this._arn; } - // custom_bg_color - computed: false, optional: true, required: false - private _customBgColor?: string; - public get customBgColor() { - return this.getStringAttribute('custom_bg_color'); + // ip_set_forwarded_ip_config - computed: false, optional: true, required: false + private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); + public get ipSetForwardedIpConfig() { + return this._ipSetForwardedIpConfig; } - public set customBgColor(value: string) { - this._customBgColor = value; + public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { + this._ipSetForwardedIpConfig.internalValue = value; } - public resetCustomBgColor() { - this._customBgColor = undefined; + public resetIpSetForwardedIpConfig() { + this._ipSetForwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get customBgColorInput() { - return this._customBgColor; + public get ipSetForwardedIpConfigInput() { + return this._ipSetForwardedIpConfig.internalValue; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments { +} - // custom_fg_color - computed: false, optional: true, required: false - private _customFgColor?: string; - public get customFgColor() { - return this.getStringAttribute('custom_fg_color'); - } - public set customFgColor(value: string) { - this._customFgColor = value; - } - public resetCustomFgColor() { - this._customFgColor = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get customFgColorInput() { - return this._customFgColor; + return { } +} - // hide_value - computed: false, optional: true, required: false - private _hideValue?: boolean | cdktf.IResolvable; - public get hideValue() { - return this.getBooleanAttribute('hide_value'); - } - public set hideValue(value: boolean | cdktf.IResolvable) { - this._hideValue = value; - } - public resetHideValue() { - this._hideValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get hideValueInput() { - return this._hideValue; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // image_url - computed: false, optional: true, required: false - private _imageUrl?: string; - public get imageUrl() { - return this.getStringAttribute('image_url'); - } - public set imageUrl(value: string) { - this._imageUrl = value; - } - public resetImageUrl() { - this._imageUrl = undefined; - } - // Temporarily expose input value. Use with caution. - public get imageUrlInput() { - return this._imageUrl; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // metric - computed: false, optional: true, required: false - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - public set metric(value: string) { - this._metric = value; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } - public resetMetric() { - this._metric = undefined; +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + return { } +} - // palette - computed: false, optional: false, required: true - private _palette?: string; - public get palette() { - return this.getStringAttribute('palette'); +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public set palette(value: string) { - this._palette = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get paletteInput() { - return this._palette; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod { +} - // timeframe - computed: false, optional: true, required: false - private _timeframe?: string; - public get timeframe() { - return this.getStringAttribute('timeframe'); +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public set timeframe(value: string) { - this._timeframe = value; + return { } - public resetTimeframe() { - this._timeframe = undefined; +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // Temporarily expose input value. Use with caution. - public get timeframeInput() { - return this._timeframe; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // value - computed: false, optional: false, required: true - private _value?: number; - public get value() { - return this.getNumberAttribute('value'); + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } - public set value(value: number) { - this._value = value; +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get valueInput() { - return this._value; + return { } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit { - /** - * The number of results to return - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#count Dashboard#count} - */ - readonly count?: number; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader { /** - * The direction of the sort. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly order?: string; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - count: cdktf.numberToTerraform(struct!.count), - order: cdktf.stringToTerraform(struct!.order), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -45431,311 +48146,202 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaL super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._count !== undefined) { - hasAnyValues = true; - internalValueResult.count = this._count; - } - if (this._order !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._count = undefined; - this._order = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._count = value.count; - this._order = value.order; + this._name = value.name; } } - // count - computed: false, optional: true, required: false - private _count?: number; - public get count() { - return this.getNumberAttribute('count'); - } - public set count(value: number) { - this._count = value; - } - public resetCount() { - this._count = undefined; - } - // Temporarily expose input value. Use with caution. - public get countInput() { - return this._count; - } - - // order - computed: false, optional: true, required: false - private _order?: string; - public get order() { - return this.getStringAttribute('order'); - } - public set order(value: string) { - this._order = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetOrder() { - this._order = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get nameInput() { + return this._name; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula { - /** - * An expression alias. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#alias Dashboard#alias} - */ - readonly alias?: string; - /** - * A list of display modes for each table cell. Valid values are \`number\`, \`bar\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#cell_display_mode Dashboard#cell_display_mode} - */ - readonly cellDisplayMode?: string; - /** - * A string expression built from queries, formulas, and functions. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#formula_expression Dashboard#formula_expression} - */ - readonly formulaExpression: string; - /** - * conditional_formats block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#conditional_formats Dashboard#conditional_formats} - */ - readonly conditionalFormats?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument { /** - * limit block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly limit?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - alias: cdktf.stringToTerraform(struct!.alias), - cell_display_mode: cdktf.stringToTerraform(struct!.cellDisplayMode), - formula_expression: cdktf.stringToTerraform(struct!.formulaExpression), - conditional_formats: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsToTerraform, true)(struct!.conditionalFormats), - limit: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitToTerraform(struct!.limit), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._alias !== undefined) { - hasAnyValues = true; - internalValueResult.alias = this._alias; - } - if (this._cellDisplayMode !== undefined) { - hasAnyValues = true; - internalValueResult.cellDisplayMode = this._cellDisplayMode; - } - if (this._formulaExpression !== undefined) { - hasAnyValues = true; - internalValueResult.formulaExpression = this._formulaExpression; - } - if (this._conditionalFormats?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.conditionalFormats = this._conditionalFormats?.internalValue; - } - if (this._limit?.internalValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit?.internalValue; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._alias = undefined; - this._cellDisplayMode = undefined; - this._formulaExpression = undefined; - this._conditionalFormats.internalValue = undefined; - this._limit.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._alias = value.alias; - this._cellDisplayMode = value.cellDisplayMode; - this._formulaExpression = value.formulaExpression; - this._conditionalFormats.internalValue = value.conditionalFormats; - this._limit.internalValue = value.limit; + this._name = value.name; } } - // alias - computed: false, optional: true, required: false - private _alias?: string; - public get alias() { - return this.getStringAttribute('alias'); - } - public set alias(value: string) { - this._alias = value; - } - public resetAlias() { - this._alias = undefined; - } - // Temporarily expose input value. Use with caution. - public get aliasInput() { - return this._alias; - } - - // cell_display_mode - computed: false, optional: true, required: false - private _cellDisplayMode?: string; - public get cellDisplayMode() { - return this.getStringAttribute('cell_display_mode'); - } - public set cellDisplayMode(value: string) { - this._cellDisplayMode = value; - } - public resetCellDisplayMode() { - this._cellDisplayMode = undefined; - } - // Temporarily expose input value. Use with caution. - public get cellDisplayModeInput() { - return this._cellDisplayMode; - } - - // formula_expression - computed: false, optional: false, required: true - private _formulaExpression?: string; - public get formulaExpression() { - return this.getStringAttribute('formula_expression'); - } - public set formulaExpression(value: string) { - this._formulaExpression = value; - } - // Temporarily expose input value. Use with caution. - public get formulaExpressionInput() { - return this._formulaExpression; - } - - // conditional_formats - computed: false, optional: true, required: false - private _conditionalFormats = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormatsList(this, "conditional_formats", false); - public get conditionalFormats() { - return this._conditionalFormats; - } - public putConditionalFormats(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaConditionalFormats[] | cdktf.IResolvable) { - this._conditionalFormats.internalValue = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetConditionalFormats() { - this._conditionalFormats.internalValue = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get conditionalFormatsInput() { - return this._conditionalFormats.internalValue; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath { +} - // limit - computed: false, optional: true, required: false - private _limit = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimitOutputReference(this, "limit"); - public get limit() { - return this._limit; - } - public putLimit(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaLimit) { - this._limit.internalValue = value; - } - public resetLimit() { - this._limit.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit.internalValue; + return { } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch { /** - * The aggregation method. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly aggregation: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments; /** - * The facet name. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly facet?: string; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody; /** - * Define the time interval in seconds. + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly interval?: number; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod; + /** + * query_string block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + */ + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; + /** + * single_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + */ + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -45746,237 +48352,198 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._facet !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.body = this._body?.internalValue; } - if (this._interval !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.method = this._method?.internalValue; + } + if (this._queryString?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.queryString = this._queryString?.internalValue; + } + if (this._singleHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set facet(value: string) { - this._facet = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set interval(value: number) { - this._interval = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetInterval() { - this._interval = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get bodyInput() { + return this._body.internalValue; } -} -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} - */ - readonly order: string; -} -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; + } + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod) { + this._method.internalValue = value; } - return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + public resetMethod() { + this._method.internalValue = undefined; } -} - -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + // Temporarily expose input value. Use with caution. + public get methodInput() { + return this._method.internalValue; } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { - hasAnyValues = true; - internalValueResult.order = this._order; - } - return hasAnyValues ? internalValueResult : undefined; + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; - } + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; + } + public resetQueryString() { + this._queryString.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get queryStringInput() { + return this._queryString.internalValue; } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; } - public set aggregation(value: string) { - this._aggregation = value; + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; + } + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; } - public set facet(value: string) { - this._facet = value; + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; } - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; } - public set order(value: string) { - this._order = value; + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation { /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly limit?: number; + readonly priority: number; /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -45990,34 +48557,29 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.priority = this._priority; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -46026,63 +48588,40 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._priority = value.priority; + this._type = value.type; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetLimit() { - this._limit = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get priorityInput() { + return this._priority; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -46096,212 +48635,178 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement { /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} */ - readonly aggregation: string; + readonly arn: string; /** - * The facet name. + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly facet?: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch; /** - * Define the time interval in seconds. + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly interval?: number; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + arn: cdktf.stringToTerraform(struct!.arn), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.arn = this._arn; } - if (this._facet !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._interval !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._arn = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._arn = value.arn; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public set aggregation(value: string) { - this._aggregation = value; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get arnInput() { + return this._arn; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set facet(value: string) { - this._facet = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public resetInterval() { - this._interval = undefined; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get textTransformationInput() { + return this._textTransformation.internalValue; + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; - /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} - */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery; - /** - * group_by block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} - */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; - /** - * multi_compute block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} - */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody { } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -46312,211 +48817,115 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; - } - if (this._multiCompute?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod { +} - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + return { } +} - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; - } - public resetSearchQuery() { - this._searchQuery = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryComputeQuery) { - this._computeQuery.internalValue = value; - } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } - public resetGroupBy() { - this._groupBy.internalValue = undefined; +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + return { } +} - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery { - /** - * The data source for APM Dependency Stats queries. Valid values are \`apm_dependency_stats\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} - */ - readonly dataSource: string; - /** - * APM Environment. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#env Dashboard#env} - */ - readonly env: string; - /** - * Determines whether stats for upstream or downstream dependencies should be queried. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_upstream Dashboard#is_upstream} - */ - readonly isUpstream?: boolean | cdktf.IResolvable; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader { /** - * The name of query for use in formulas. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; - /** - * Name of operation on service. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#operation_name Dashboard#operation_name} - */ - readonly operationName: string; - /** - * The name of the second primary tag used within APM; required when \`primary_tag_value\` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_name Dashboard#primary_tag_name} - */ - readonly primaryTagName?: string; - /** - * Filter APM data by the second primary tag. \`primary_tag_name\` must also be specified. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_value Dashboard#primary_tag_value} - */ - readonly primaryTagValue?: string; - /** - * APM resource. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#resource_name Dashboard#resource_name} - */ - readonly resourceName: string; - /** - * APM service. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#service Dashboard#service} - */ - readonly service: string; - /** - * APM statistic. Valid values are \`avg_duration\`, \`avg_root_duration\`, \`avg_spans_per_trace\`, \`error_rate\`, \`pct_exec_time\`, \`pct_of_traces\`, \`total_traces_count\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#stat Dashboard#stat} - */ - readonly stat: string; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - data_source: cdktf.stringToTerraform(struct!.dataSource), - env: cdktf.stringToTerraform(struct!.env), - is_upstream: cdktf.booleanToTerraform(struct!.isUpstream), name: cdktf.stringToTerraform(struct!.name), - operation_name: cdktf.stringToTerraform(struct!.operationName), - primary_tag_name: cdktf.stringToTerraform(struct!.primaryTagName), - primary_tag_value: cdktf.stringToTerraform(struct!.primaryTagValue), - resource_name: cdktf.stringToTerraform(struct!.resourceName), - service: cdktf.stringToTerraform(struct!.service), - stat: cdktf.stringToTerraform(struct!.stat), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -46527,121 +48936,87 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApm super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._dataSource !== undefined) { - hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; - } - if (this._env !== undefined) { - hasAnyValues = true; - internalValueResult.env = this._env; - } - if (this._isUpstream !== undefined) { - hasAnyValues = true; - internalValueResult.isUpstream = this._isUpstream; - } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } - if (this._operationName !== undefined) { - hasAnyValues = true; - internalValueResult.operationName = this._operationName; - } - if (this._primaryTagName !== undefined) { - hasAnyValues = true; - internalValueResult.primaryTagName = this._primaryTagName; - } - if (this._primaryTagValue !== undefined) { - hasAnyValues = true; - internalValueResult.primaryTagValue = this._primaryTagValue; - } - if (this._resourceName !== undefined) { - hasAnyValues = true; - internalValueResult.resourceName = this._resourceName; - } - if (this._service !== undefined) { - hasAnyValues = true; - internalValueResult.service = this._service; - } - if (this._stat !== undefined) { - hasAnyValues = true; - internalValueResult.stat = this._stat; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._dataSource = undefined; - this._env = undefined; - this._isUpstream = undefined; this._name = undefined; - this._operationName = undefined; - this._primaryTagName = undefined; - this._primaryTagValue = undefined; - this._resourceName = undefined; - this._service = undefined; - this._stat = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._dataSource = value.dataSource; - this._env = value.env; - this._isUpstream = value.isUpstream; this._name = value.name; - this._operationName = value.operationName; - this._primaryTagName = value.primaryTagName; - this._primaryTagValue = value.primaryTagValue; - this._resourceName = value.resourceName; - this._service = value.service; - this._stat = value.stat; } } - // data_source - computed: false, optional: false, required: true - private _dataSource?: string; - public get dataSource() { - return this.getStringAttribute('data_source'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set dataSource(value: string) { - this._dataSource = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get dataSourceInput() { - return this._dataSource; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} - // env - computed: false, optional: false, required: true - private _env?: string; - public get env() { - return this.getStringAttribute('env'); - } - public set env(value: string) { - this._env = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get envInput() { - return this._env; + return { + name: cdktf.stringToTerraform(struct!.name), } +} - // is_upstream - computed: false, optional: true, required: false - private _isUpstream?: boolean | cdktf.IResolvable; - public get isUpstream() { - return this.getBooleanAttribute('is_upstream'); - } - public set isUpstream(value: boolean | cdktf.IResolvable) { - this._isUpstream = value; +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetIsUpstream() { - this._isUpstream = undefined; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get isUpstreamInput() { - return this._isUpstream; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._name = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._name = value.name; + } } // name - computed: false, optional: false, required: true @@ -46656,174 +49031,107 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApm public get nameInput() { return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath { +} - // operation_name - computed: false, optional: false, required: true - private _operationName?: string; - public get operationName() { - return this.getStringAttribute('operation_name'); - } - public set operationName(value: string) { - this._operationName = value; - } - // Temporarily expose input value. Use with caution. - public get operationNameInput() { - return this._operationName; - } - - // primary_tag_name - computed: false, optional: true, required: false - private _primaryTagName?: string; - public get primaryTagName() { - return this.getStringAttribute('primary_tag_name'); - } - public set primaryTagName(value: string) { - this._primaryTagName = value; - } - public resetPrimaryTagName() { - this._primaryTagName = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get primaryTagNameInput() { - return this._primaryTagName; + return { } +} - // primary_tag_value - computed: false, optional: true, required: false - private _primaryTagValue?: string; - public get primaryTagValue() { - return this.getStringAttribute('primary_tag_value'); - } - public set primaryTagValue(value: string) { - this._primaryTagValue = value; - } - public resetPrimaryTagValue() { - this._primaryTagValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get primaryTagValueInput() { - return this._primaryTagValue; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // resource_name - computed: false, optional: false, required: true - private _resourceName?: string; - public get resourceName() { - return this.getStringAttribute('resource_name'); - } - public set resourceName(value: string) { - this._resourceName = value; - } - // Temporarily expose input value. Use with caution. - public get resourceNameInput() { - return this._resourceName; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // service - computed: false, optional: false, required: true - private _service?: string; - public get service() { - return this.getStringAttribute('service'); - } - public set service(value: string) { - this._service = value; - } - // Temporarily expose input value. Use with caution. - public get serviceInput() { - return this._service; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // stat - computed: false, optional: false, required: true - private _stat?: string; - public get stat() { - return this.getStringAttribute('stat'); - } - public set stat(value: string) { - this._stat = value; - } - // Temporarily expose input value. Use with caution. - public get statInput() { - return this._stat; + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery { - /** - * The data source for APM Resource Stats queries. Valid values are \`apm_resource_stats\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} - */ - readonly dataSource: string; - /** - * APM Environment. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#env Dashboard#env} - */ - readonly env: string; - /** - * Array of fields to group results by. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} - */ - readonly groupBy?: string[]; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch { /** - * The name of query for use in formulas. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly name: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments; /** - * Name of operation on service. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#operation_name Dashboard#operation_name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly operationName?: string; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody; /** - * The name of the second primary tag used within APM; required when \`primary_tag_value\` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_name Dashboard#primary_tag_name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly primaryTagName?: string; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod; /** - * Filter APM data by the second primary tag. \`primary_tag_name\` must also be specified. + * query_string block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#primary_tag_value Dashboard#primary_tag_value} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly primaryTagValue?: string; + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString; /** - * APM resource. + * single_header block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#resource_name Dashboard#resource_name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly resourceName?: string; + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader; /** - * APM service. + * single_query_argument block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#service Dashboard#service} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} */ - readonly service: string; + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument; /** - * APM statistic. Valid values are \`errors\`, \`error_rate\`, \`hits\`, \`latency_avg\`, \`latency_max\`, \`latency_p50\`, \`latency_p75\`, \`latency_p90\`, \`latency_p95\`, \`latency_p99\`. + * uri_path block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#stat Dashboard#stat} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} */ - readonly stat: string; + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - data_source: cdktf.stringToTerraform(struct!.dataSource), - env: cdktf.stringToTerraform(struct!.env), - group_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.groupBy), - name: cdktf.stringToTerraform(struct!.name), - operation_name: cdktf.stringToTerraform(struct!.operationName), - primary_tag_name: cdktf.stringToTerraform(struct!.primaryTagName), - primary_tag_value: cdktf.stringToTerraform(struct!.primaryTagValue), - resource_name: cdktf.stringToTerraform(struct!.resourceName), - service: cdktf.stringToTerraform(struct!.service), - stat: cdktf.stringToTerraform(struct!.stat), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -46834,260 +49142,198 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApm super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._dataSource !== undefined) { - hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; - } - if (this._env !== undefined) { - hasAnyValues = true; - internalValueResult.env = this._env; - } - if (this._groupBy !== undefined) { - hasAnyValues = true; - internalValueResult.groupBy = this._groupBy; - } - if (this._name !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._operationName !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.operationName = this._operationName; + internalValueResult.body = this._body?.internalValue; } - if (this._primaryTagName !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.primaryTagName = this._primaryTagName; + internalValueResult.method = this._method?.internalValue; } - if (this._primaryTagValue !== undefined) { + if (this._queryString?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.primaryTagValue = this._primaryTagValue; + internalValueResult.queryString = this._queryString?.internalValue; } - if (this._resourceName !== undefined) { + if (this._singleHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.resourceName = this._resourceName; + internalValueResult.singleHeader = this._singleHeader?.internalValue; } - if (this._service !== undefined) { + if (this._singleQueryArgument?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.service = this._service; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; } - if (this._stat !== undefined) { + if (this._uriPath?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.stat = this._stat; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._dataSource = undefined; - this._env = undefined; - this._groupBy = undefined; - this._name = undefined; - this._operationName = undefined; - this._primaryTagName = undefined; - this._primaryTagValue = undefined; - this._resourceName = undefined; - this._service = undefined; - this._stat = undefined; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._dataSource = value.dataSource; - this._env = value.env; - this._groupBy = value.groupBy; - this._name = value.name; - this._operationName = value.operationName; - this._primaryTagName = value.primaryTagName; - this._primaryTagValue = value.primaryTagValue; - this._resourceName = value.resourceName; - this._service = value.service; - this._stat = value.stat; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // data_source - computed: false, optional: false, required: true - private _dataSource?: string; - public get dataSource() { - return this.getStringAttribute('data_source'); - } - public set dataSource(value: string) { - this._dataSource = value; - } - // Temporarily expose input value. Use with caution. - public get dataSourceInput() { - return this._dataSource; + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - - // env - computed: false, optional: false, required: true - private _env?: string; - public get env() { - return this.getStringAttribute('env'); + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public set env(value: string) { - this._env = value; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get envInput() { - return this._env; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // group_by - computed: false, optional: true, required: false - private _groupBy?: string[]; - public get groupBy() { - return this.getListAttribute('group_by'); - } - public set groupBy(value: string[]) { - this._groupBy = value; - } - public resetGroupBy() { - this._groupBy = undefined; - } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy; + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchBody) { + this._body.internalValue = value; } - public set name(value: string) { - this._name = value; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get bodyInput() { + return this._body.internalValue; } - // operation_name - computed: false, optional: true, required: false - private _operationName?: string; - public get operationName() { - return this.getStringAttribute('operation_name'); + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public set operationName(value: string) { - this._operationName = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetOperationName() { - this._operationName = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get operationNameInput() { - return this._operationName; + public get methodInput() { + return this._method.internalValue; } - // primary_tag_name - computed: false, optional: true, required: false - private _primaryTagName?: string; - public get primaryTagName() { - return this.getStringAttribute('primary_tag_name'); + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - public set primaryTagName(value: string) { - this._primaryTagName = value; + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; } - public resetPrimaryTagName() { - this._primaryTagName = undefined; + public resetQueryString() { + this._queryString.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get primaryTagNameInput() { - return this._primaryTagName; + public get queryStringInput() { + return this._queryString.internalValue; } - // primary_tag_value - computed: false, optional: true, required: false - private _primaryTagValue?: string; - public get primaryTagValue() { - return this.getStringAttribute('primary_tag_value'); + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; } - public set primaryTagValue(value: string) { - this._primaryTagValue = value; + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; } - public resetPrimaryTagValue() { - this._primaryTagValue = undefined; + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get primaryTagValueInput() { - return this._primaryTagValue; + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - // resource_name - computed: false, optional: true, required: false - private _resourceName?: string; - public get resourceName() { - return this.getStringAttribute('resource_name'); + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; } - public set resourceName(value: string) { - this._resourceName = value; + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; } - public resetResourceName() { - this._resourceName = undefined; + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get resourceNameInput() { - return this._resourceName; + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; } - // service - computed: false, optional: false, required: true - private _service?: string; - public get service() { - return this.getStringAttribute('service'); - } - public set service(value: string) { - this._service = value; - } - // Temporarily expose input value. Use with caution. - public get serviceInput() { - return this._service; + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; } - - // stat - computed: false, optional: false, required: true - private _stat?: string; - public get stat() { - return this.getStringAttribute('stat'); + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; } - public set stat(value: string) { - this._stat = value; + public resetUriPath() { + this._uriPath.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get statInput() { - return this._stat; + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute { - /** - * The aggregation methods for event platform queries. Valid values are \`count\`, \`cardinality\`, \`median\`, \`pc75\`, \`pc90\`, \`pc95\`, \`pc98\`, \`pc99\`, \`sum\`, \`min\`, \`max\`, \`avg\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation { /** - * A time interval in milliseconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly interval?: number; + readonly priority: number; /** - * The measurable attribute to compute. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly metric?: string; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - interval: cdktf.numberToTerraform(struct!.interval), - metric: cdktf.stringToTerraform(struct!.metric), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -47101,34 +49347,29 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEve super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._interval !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.priority = this._priority; } - if (this._metric !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.metric = this._metric; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._aggregation = undefined; - this._interval = undefined; - this._metric = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -47137,60 +49378,40 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEve else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._interval = value.interval; - this._metric = value.metric; + this._priority = value.priority; + this._type = value.type; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetInterval() { - this._interval = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get priorityInput() { + return this._priority; } - // metric - computed: false, optional: true, required: false - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); - } - public set metric(value: string) { - this._metric = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetMetric() { - this._metric = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -47204,44 +49425,47 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEve /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement { /** - * The aggregation methods for the event platform queries. Valid values are \`count\`, \`cardinality\`, \`median\`, \`pc75\`, \`pc90\`, \`pc95\`, \`pc98\`, \`pc99\`, \`sum\`, \`min\`, \`max\`, \`avg\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#comparison_operator Wafv2WebAcl#comparison_operator} */ - readonly aggregation: string; + readonly comparisonOperator: string; /** - * The metric used for sorting group by results. + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size Wafv2WebAcl#size} + */ + readonly size: number; + /** + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly metric?: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch; /** - * Direction of sort. Valid values are \`asc\`, \`desc\`. + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly order?: string; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - metric: cdktf.stringToTerraform(struct!.metric), - order: cdktf.stringToTerraform(struct!.order), + comparison_operator: cdktf.stringToTerraform(struct!.comparisonOperator), + size: cdktf.numberToTerraform(struct!.size), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -47252,258 +49476,250 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEve super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._comparisonOperator !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.comparisonOperator = this._comparisonOperator; } - if (this._metric !== undefined) { + if (this._size !== undefined) { hasAnyValues = true; - internalValueResult.metric = this._metric; + internalValueResult.size = this._size; } - if (this._order !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + } + if (this._textTransformation?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._metric = undefined; - this._order = undefined; + this._comparisonOperator = undefined; + this._size = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._metric = value.metric; - this._order = value.order; + this._comparisonOperator = value.comparisonOperator; + this._size = value.size; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // comparison_operator - computed: false, optional: false, required: true + private _comparisonOperator?: string; + public get comparisonOperator() { + return this.getStringAttribute('comparison_operator'); } - public set aggregation(value: string) { - this._aggregation = value; + public set comparisonOperator(value: string) { + this._comparisonOperator = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get comparisonOperatorInput() { + return this._comparisonOperator; } - // metric - computed: false, optional: true, required: false - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); - } - public set metric(value: string) { - this._metric = value; + // size - computed: false, optional: false, required: true + private _size?: number; + public get size() { + return this.getNumberAttribute('size'); } - public resetMetric() { - this._metric = undefined; + public set size(value: number) { + this._size = value; } // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + public get sizeInput() { + return this._size; } - // order - computed: false, optional: true, required: false - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set order(value: string) { - this._order = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetOrder() { - this._order = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; + } + + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; + } + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; + } + // Temporarily expose input value. Use with caution. + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy { - /** - * The event facet. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet: string; - /** - * The number of groups to return. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; - /** - * sort block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort Dashboard#sort} - */ - readonly sort?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments { } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortToTerraform(struct!.sort), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._sort?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.sort = this._sort?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sort.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sort.internalValue = value.sort; } } +} +" +`; - // facet - computed: false, optional: false, required: true - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs400 1`] = ` +"import * as cdktf from 'cdktf'; +import { Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments, +wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement, +wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementToTerraform, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementOutputReference, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement, +wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementToTerraform, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementOutputReference, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement, +wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementToTerraform, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementOutputReference, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement, +wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement, +wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementToTerraform, +Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementOutputReference } from './structs0' +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody { +} - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public resetLimit() { - this._limit = undefined; + return { } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // sort - computed: false, optional: true, required: false - private _sort = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySortOutputReference(this, "sort"); - public get sort() { - return this._sort; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - public putSort(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort) { - this._sort.internalValue = value; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } - public resetSort() { - this._sort.internalValue = undefined; +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get sortInput() { - return this._sort.internalValue; + return { } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch { - /** - * The events search string. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} - */ - readonly query: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString { } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - query: cdktf.stringToTerraform(struct!.query), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -47514,95 +49730,39 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEve super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._query !== undefined) { - hasAnyValues = true; - internalValueResult.query = this._query; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._query = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._query = value.query; } } - - // query - computed: false, optional: false, required: true - private _query?: string; - public get query() { - return this.getStringAttribute('query'); - } - public set query(value: string) { - this._query = value; - } - // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query; - } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery { - /** - * The data source for event platform-based queries. Valid values are \`logs\`, \`spans\`, \`network\`, \`rum\`, \`security_signals\`, \`profiles\`, \`audit\`, \`events\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} - */ - readonly dataSource: string; - /** - * An array of index names to query in the stream. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#indexes Dashboard#indexes} - */ - readonly indexes?: string[]; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader { /** - * The name of query for use in formulas. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; - /** - * compute block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute Dashboard#compute} - */ - readonly compute: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable; - /** - * group_by block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} - */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable; - /** - * search block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search Dashboard#search} - */ - readonly search?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - data_source: cdktf.stringToTerraform(struct!.dataSource), - indexes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.indexes), name: cdktf.stringToTerraform(struct!.name), - compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeToTerraform, true)(struct!.compute), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByToTerraform, true)(struct!.groupBy), - search: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchToTerraform(struct!.search), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -47613,86 +49773,27 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEve super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._dataSource !== undefined) { - hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; - } - if (this._indexes !== undefined) { - hasAnyValues = true; - internalValueResult.indexes = this._indexes; - } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } - if (this._compute?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.compute = this._compute?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; - } - if (this._search?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.search = this._search?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._dataSource = undefined; - this._indexes = undefined; this._name = undefined; - this._compute.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._search.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._dataSource = value.dataSource; - this._indexes = value.indexes; this._name = value.name; - this._compute.internalValue = value.compute; - this._groupBy.internalValue = value.groupBy; - this._search.internalValue = value.search; } } - // data_source - computed: false, optional: false, required: true - private _dataSource?: string; - public get dataSource() { - return this.getStringAttribute('data_source'); - } - public set dataSource(value: string) { - this._dataSource = value; - } - // Temporarily expose input value. Use with caution. - public get dataSourceInput() { - return this._dataSource; - } - - // indexes - computed: false, optional: true, required: false - private _indexes?: string[]; - public get indexes() { - return this.getListAttribute('indexes'); - } - public set indexes(value: string[]) { - this._indexes = value; - } - public resetIndexes() { - this._indexes = undefined; - } - // Temporarily expose input value. Use with caution. - public get indexesInput() { - return this._indexes; - } - // name - computed: false, optional: false, required: true private _name?: string; public get name() { @@ -47705,93 +49806,25 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEve public get nameInput() { return this._name; } - - // compute - computed: false, optional: false, required: true - private _compute = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryComputeList(this, "compute", false); - public get compute() { - return this._compute; - } - public putCompute(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryCompute[] | cdktf.IResolvable) { - this._compute.internalValue = value; - } - // Temporarily expose input value. Use with caution. - public get computeInput() { - return this._compute.internalValue; - } - - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; - } - public resetGroupBy() { - this._groupBy.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; - } - - // search - computed: false, optional: true, required: false - private _search = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearchOutputReference(this, "search"); - public get search() { - return this._search; - } - public putSearch(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuerySearch) { - this._search.internalValue = value; - } - public resetSearch() { - this._search.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchInput() { - return this._search.internalValue; - } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery { - /** - * The aggregation methods available for metrics queries. Valid values are \`avg\`, \`min\`, \`max\`, \`sum\`, \`last\`, \`area\`, \`l2norm\`, \`percentile\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregator Dashboard#aggregator} - */ - readonly aggregator?: string; - /** - * The data source for metrics queries. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} - */ - readonly dataSource?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument { /** - * The name of the query for use in formulas. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ readonly name: string; - /** - * The metrics query definition. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} - */ - readonly query: string; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregator: cdktf.stringToTerraform(struct!.aggregator), - data_source: cdktf.stringToTerraform(struct!.dataSource), name: cdktf.stringToTerraform(struct!.name), - query: cdktf.stringToTerraform(struct!.query), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -47802,77 +49835,27 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMet super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregator !== undefined) { - hasAnyValues = true; - internalValueResult.aggregator = this._aggregator; - } - if (this._dataSource !== undefined) { - hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; - } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } - if (this._query !== undefined) { - hasAnyValues = true; - internalValueResult.query = this._query; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregator = undefined; - this._dataSource = undefined; this._name = undefined; - this._query = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregator = value.aggregator; - this._dataSource = value.dataSource; this._name = value.name; - this._query = value.query; } } - // aggregator - computed: false, optional: true, required: false - private _aggregator?: string; - public get aggregator() { - return this.getStringAttribute('aggregator'); - } - public set aggregator(value: string) { - this._aggregator = value; - } - public resetAggregator() { - this._aggregator = undefined; - } - // Temporarily expose input value. Use with caution. - public get aggregatorInput() { - return this._aggregator; - } - - // data_source - computed: false, optional: true, required: false - private _dataSource?: string; - public get dataSource() { - return this.getStringAttribute('data_source'); - } - public set dataSource(value: string) { - this._dataSource = value; - } - public resetDataSource() { - this._dataSource = undefined; - } - // Temporarily expose input value. Use with caution. - public get dataSourceInput() { - return this._dataSource; - } - // name - computed: false, optional: false, required: true private _name?: string; public get name() { @@ -47885,96 +49868,107 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMet public get nameInput() { return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath { +} - // query - computed: false, optional: false, required: true - private _query?: string; - public get query() { - return this.getStringAttribute('query'); - } - public set query(value: string) { - this._query = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query; + return { } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery { - /** - * The aggregation methods available for metrics queries. Valid values are \`avg\`, \`min\`, \`max\`, \`sum\`, \`last\`, \`area\`, \`l2norm\`, \`percentile\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregator Dashboard#aggregator} - */ - readonly aggregator?: string; + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * The data source for process queries. Valid values are \`process\`, \`container\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#data_source Dashboard#data_source} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly dataSource: string; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch { /** - * Whether to normalize the CPU percentages. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_normalized_cpu Dashboard#is_normalized_cpu} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly isNormalizedCpu?: boolean | cdktf.IResolvable; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments; /** - * The number of hits to return. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly limit?: number; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody; /** - * The process metric name. + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly metric: string; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod; /** - * The name of query for use in formulas. + * query_string block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#name Dashboard#name} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly name: string; + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString; /** - * The direction of the sort. Valid values are \`asc\`, \`desc\`. + * single_header block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort Dashboard#sort} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly sort?: string; + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader; /** - * An array of tags to filter by. + * single_query_argument block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tag_filters Dashboard#tag_filters} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} */ - readonly tagFilters?: string[]; + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument; /** - * The text to use as a filter. + * uri_path block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#text_filter Dashboard#text_filter} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} */ - readonly textFilter?: string; + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregator: cdktf.stringToTerraform(struct!.aggregator), - data_source: cdktf.stringToTerraform(struct!.dataSource), - is_normalized_cpu: cdktf.booleanToTerraform(struct!.isNormalizedCpu), - limit: cdktf.numberToTerraform(struct!.limit), - metric: cdktf.stringToTerraform(struct!.metric), - name: cdktf.stringToTerraform(struct!.name), - sort: cdktf.stringToTerraform(struct!.sort), - tag_filters: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.tagFilters), - text_filter: cdktf.stringToTerraform(struct!.textFilter), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -47985,258 +49979,198 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryPro super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregator !== undefined) { - hasAnyValues = true; - internalValueResult.aggregator = this._aggregator; - } - if (this._dataSource !== undefined) { - hasAnyValues = true; - internalValueResult.dataSource = this._dataSource; - } - if (this._isNormalizedCpu !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.isNormalizedCpu = this._isNormalizedCpu; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._limit !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.body = this._body?.internalValue; } - if (this._metric !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.metric = this._metric; + internalValueResult.method = this._method?.internalValue; } - if (this._name !== undefined) { + if (this._queryString?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.name = this._name; + internalValueResult.queryString = this._queryString?.internalValue; } - if (this._sort !== undefined) { + if (this._singleHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sort = this._sort; + internalValueResult.singleHeader = this._singleHeader?.internalValue; } - if (this._tagFilters !== undefined) { + if (this._singleQueryArgument?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.tagFilters = this._tagFilters; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; } - if (this._textFilter !== undefined) { + if (this._uriPath?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.textFilter = this._textFilter; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregator = undefined; - this._dataSource = undefined; - this._isNormalizedCpu = undefined; - this._limit = undefined; - this._metric = undefined; - this._name = undefined; - this._sort = undefined; - this._tagFilters = undefined; - this._textFilter = undefined; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregator = value.aggregator; - this._dataSource = value.dataSource; - this._isNormalizedCpu = value.isNormalizedCpu; - this._limit = value.limit; - this._metric = value.metric; - this._name = value.name; - this._sort = value.sort; - this._tagFilters = value.tagFilters; - this._textFilter = value.textFilter; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // aggregator - computed: false, optional: true, required: false - private _aggregator?: string; - public get aggregator() { - return this.getStringAttribute('aggregator'); - } - public set aggregator(value: string) { - this._aggregator = value; - } - public resetAggregator() { - this._aggregator = undefined; - } - // Temporarily expose input value. Use with caution. - public get aggregatorInput() { - return this._aggregator; + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - - // data_source - computed: false, optional: false, required: true - private _dataSource?: string; - public get dataSource() { - return this.getStringAttribute('data_source'); + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public set dataSource(value: string) { - this._dataSource = value; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get dataSourceInput() { - return this._dataSource; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // is_normalized_cpu - computed: false, optional: true, required: false - private _isNormalizedCpu?: boolean | cdktf.IResolvable; - public get isNormalizedCpu() { - return this.getBooleanAttribute('is_normalized_cpu'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set isNormalizedCpu(value: boolean | cdktf.IResolvable) { - this._isNormalizedCpu = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetIsNormalizedCpu() { - this._isNormalizedCpu = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get isNormalizedCpuInput() { - return this._isNormalizedCpu; + public get bodyInput() { + return this._body.internalValue; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public set limit(value: number) { - this._limit = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetLimit() { - this._limit = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get methodInput() { + return this._method.internalValue; } - // metric - computed: false, optional: false, required: true - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); - } - public set metric(value: string) { - this._metric = value; - } - // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - - // name - computed: false, optional: false, required: true - private _name?: string; - public get name() { - return this.getStringAttribute('name'); + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; } - public set name(value: string) { - this._name = value; + public resetQueryString() { + this._queryString.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get nameInput() { - return this._name; + public get queryStringInput() { + return this._queryString.internalValue; } - // sort - computed: false, optional: true, required: false - private _sort?: string; - public get sort() { - return this.getStringAttribute('sort'); + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; } - public set sort(value: string) { - this._sort = value; + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; } - public resetSort() { - this._sort = undefined; + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortInput() { - return this._sort; + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - // tag_filters - computed: false, optional: true, required: false - private _tagFilters?: string[]; - public get tagFilters() { - return this.getListAttribute('tag_filters'); + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; } - public set tagFilters(value: string[]) { - this._tagFilters = value; + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; } - public resetTagFilters() { - this._tagFilters = undefined; + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get tagFiltersInput() { - return this._tagFilters; + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; } - // text_filter - computed: false, optional: true, required: false - private _textFilter?: string; - public get textFilter() { - return this.getStringAttribute('text_filter'); + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; } - public set textFilter(value: string) { - this._textFilter = value; + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; } - public resetTextFilter() { - this._textFilter = undefined; + public resetUriPath() { + this._uriPath.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get textFilterInput() { - return this._textFilter; + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery { - /** - * apm_dependency_stats_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_dependency_stats_query Dashboard#apm_dependency_stats_query} - */ - readonly apmDependencyStatsQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery; - /** - * apm_resource_stats_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_resource_stats_query Dashboard#apm_resource_stats_query} - */ - readonly apmResourceStatsQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery; - /** - * event_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event_query Dashboard#event_query} - */ - readonly eventQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation { /** - * metric_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric_query Dashboard#metric_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly metricQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery; + readonly priority: number; /** - * process_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly processQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - apm_dependency_stats_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryToTerraform(struct!.apmDependencyStatsQuery), - apm_resource_stats_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryToTerraform(struct!.apmResourceStatsQuery), - event_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryToTerraform(struct!.eventQuery), - metric_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryToTerraform(struct!.metricQuery), - process_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryToTerraform(struct!.processQuery), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -48250,44 +50184,29 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryOut super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._apmDependencyStatsQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.apmDependencyStatsQuery = this._apmDependencyStatsQuery?.internalValue; - } - if (this._apmResourceStatsQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.apmResourceStatsQuery = this._apmResourceStatsQuery?.internalValue; - } - if (this._eventQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.eventQuery = this._eventQuery?.internalValue; - } - if (this._metricQuery?.internalValue !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.metricQuery = this._metricQuery?.internalValue; + internalValueResult.priority = this._priority; } - if (this._processQuery?.internalValue !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.processQuery = this._processQuery?.internalValue; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._apmDependencyStatsQuery.internalValue = undefined; - this._apmResourceStatsQuery.internalValue = undefined; - this._eventQuery.internalValue = undefined; - this._metricQuery.internalValue = undefined; - this._processQuery.internalValue = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -48296,97 +50215,40 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryOut else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._apmDependencyStatsQuery.internalValue = value.apmDependencyStatsQuery; - this._apmResourceStatsQuery.internalValue = value.apmResourceStatsQuery; - this._eventQuery.internalValue = value.eventQuery; - this._metricQuery.internalValue = value.metricQuery; - this._processQuery.internalValue = value.processQuery; + this._priority = value.priority; + this._type = value.type; } } - // apm_dependency_stats_query - computed: false, optional: true, required: false - private _apmDependencyStatsQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQueryOutputReference(this, "apm_dependency_stats_query"); - public get apmDependencyStatsQuery() { - return this._apmDependencyStatsQuery; - } - public putApmDependencyStatsQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery) { - this._apmDependencyStatsQuery.internalValue = value; - } - public resetApmDependencyStatsQuery() { - this._apmDependencyStatsQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get apmDependencyStatsQueryInput() { - return this._apmDependencyStatsQuery.internalValue; - } - - // apm_resource_stats_query - computed: false, optional: true, required: false - private _apmResourceStatsQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQueryOutputReference(this, "apm_resource_stats_query"); - public get apmResourceStatsQuery() { - return this._apmResourceStatsQuery; - } - public putApmResourceStatsQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery) { - this._apmResourceStatsQuery.internalValue = value; - } - public resetApmResourceStatsQuery() { - this._apmResourceStatsQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get apmResourceStatsQueryInput() { - return this._apmResourceStatsQuery.internalValue; - } - - // event_query - computed: false, optional: true, required: false - private _eventQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQueryOutputReference(this, "event_query"); - public get eventQuery() { - return this._eventQuery; - } - public putEventQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryEventQuery) { - this._eventQuery.internalValue = value; - } - public resetEventQuery() { - this._eventQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get eventQueryInput() { - return this._eventQuery.internalValue; - } - - // metric_query - computed: false, optional: true, required: false - private _metricQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQueryOutputReference(this, "metric_query"); - public get metricQuery() { - return this._metricQuery; - } - public putMetricQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryMetricQuery) { - this._metricQuery.internalValue = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetMetricQuery() { - this._metricQuery.internalValue = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get metricQueryInput() { - return this._metricQuery.internalValue; + public get priorityInput() { + return this._priority; } - // process_query - computed: false, optional: true, required: false - private _processQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQueryOutputReference(this, "process_query"); - public get processQuery() { - return this._processQuery; - } - public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryProcessQuery) { - this._processQuery.internalValue = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetProcessQuery() { - this._processQuery.internalValue = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get processQueryInput() { - return this._processQuery.internalValue; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -48400,44 +50262,37 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryLis /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement { /** - * The facet name. + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly facet?: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch; /** - * Define the time interval in seconds. + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly interval?: number; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -48448,118 +50303,189 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._interval !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set aggregation(value: string) { - this._aggregation = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; + } + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public resetFacet() { - this._facet = undefined; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get textTransformationInput() { + return this._textTransformation.internalValue; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments { +} - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + return { } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery { + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly aggregation: string; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly facet?: string; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly order: string; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString { } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -48570,272 +50496,447 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; + else { + this.isEmptyObject = Object.keys(value).length === 0; } - if (this._order !== undefined) { + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + name: cdktf.stringToTerraform(struct!.name), + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set aggregation(value: string) { - this._aggregation = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public set facet(value: string) { - this._facet = value; + return { + name: cdktf.stringToTerraform(struct!.name), } - public resetFacet() { - this._facet = undefined; +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + return hasAnyValues ? internalValueResult : undefined; } - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._name = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._name = value.name; + } } - public set order(value: string) { - this._order = value; + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); + } + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get nameInput() { + return this._name; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * The facet name. + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch { + /** + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly facet?: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments; /** - * The maximum number of items in the group. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly limit?: number; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody; /** - * sort_query block + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod; + /** + * query_string block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + */ + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString; + /** + * single_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + */ + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._limit !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.body = this._body?.internalValue; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.method = this._method?.internalValue; + } + if (this._queryString?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.queryString = this._queryString?.internalValue; + } + if (this._singleHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; + } + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; + } + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; + } + + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; + } + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchBody) { + this._body.internalValue = value; + } + public resetBody() { + this._body.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get bodyInput() { + return this._body.internalValue; + } + + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; + } + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchMethod) { + this._method.internalValue = value; + } + public resetMethod() { + this._method.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get methodInput() { + return this._method.internalValue; + } + + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - public set facet(value: string) { - this._facet = value; + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetQueryString() { + this._queryString.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get queryStringInput() { + return this._queryString.internalValue; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; } - public set limit(value: number) { - this._limit = value; + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; } - public resetLimit() { - this._limit = undefined; + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; } -} - -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly facet?: string; + readonly priority: number; /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly interval?: number; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -48849,34 +50950,29 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.priority = this._priority; } - if (this._interval !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -48885,60 +50981,40 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._priority = value.priority; + this._type = value.type; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetFacet() { - this._facet = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get priorityInput() { + return this._priority; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetInterval() { - this._interval = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -48952,58 +51028,37 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; - /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} - */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement { /** - * group_by block + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch; /** - * multi_compute block + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -49014,176 +51069,124 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; - } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; - } - - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; - } - public resetSearchQuery() { - this._searchQuery = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; - } - - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryComputeQuery) { - this._computeQuery.internalValue = value; - } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; - } - - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement { /** - * The metric query to use for this widget. + * byte_match_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#byte_match_statement Wafv2WebAcl#byte_match_statement} */ - readonly q?: string; + readonly byteMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement; /** - * formula block + * geo_match_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#formula Dashboard#formula} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#geo_match_statement Wafv2WebAcl#geo_match_statement} */ - readonly formula?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable; + readonly geoMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement; /** - * log_query block + * ip_set_reference_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_reference_statement Wafv2WebAcl#ip_set_reference_statement} */ - readonly logQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery; + readonly ipSetReferenceStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement; /** - * query block + * regex_pattern_set_reference_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#query Dashboard#query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#regex_pattern_set_reference_statement Wafv2WebAcl#regex_pattern_set_reference_statement} */ - readonly query?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable; + readonly regexPatternSetReferenceStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement; /** - * rum_query block + * size_constraint_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size_constraint_statement Wafv2WebAcl#size_constraint_statement} */ - readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery; + readonly sizeConstraintStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement; + /** + * sqli_match_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#sqli_match_statement Wafv2WebAcl#sqli_match_statement} + */ + readonly sqliMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement; + /** + * xss_match_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#xss_match_statement Wafv2WebAcl#xss_match_statement} + */ + readonly xssMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - q: cdktf.stringToTerraform(struct!.q), - formula: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaToTerraform, true)(struct!.formula), - log_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryToTerraform(struct!.logQuery), - query: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryToTerraform, true)(struct!.query), - rum_query: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryToTerraform(struct!.rumQuery), + byte_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementToTerraform(struct!.byteMatchStatement), + geo_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementToTerraform(struct!.geoMatchStatement), + ip_set_reference_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct!.ipSetReferenceStatement), + regex_pattern_set_reference_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementToTerraform(struct!.regexPatternSetReferenceStatement), + size_constraint_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementToTerraform(struct!.sizeConstraintStatement), + sqli_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementToTerraform(struct!.sqliMatchStatement), + xss_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementToTerraform(struct!.xssMatchStatement), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -49197,44 +51200,54 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestOutputRe super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._q !== undefined) { + if (this._byteMatchStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.q = this._q; + internalValueResult.byteMatchStatement = this._byteMatchStatement?.internalValue; } - if (this._formula?.internalValue !== undefined) { + if (this._geoMatchStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.formula = this._formula?.internalValue; + internalValueResult.geoMatchStatement = this._geoMatchStatement?.internalValue; } - if (this._logQuery?.internalValue !== undefined) { + if (this._ipSetReferenceStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.logQuery = this._logQuery?.internalValue; + internalValueResult.ipSetReferenceStatement = this._ipSetReferenceStatement?.internalValue; } - if (this._query?.internalValue !== undefined) { + if (this._regexPatternSetReferenceStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.query = this._query?.internalValue; + internalValueResult.regexPatternSetReferenceStatement = this._regexPatternSetReferenceStatement?.internalValue; } - if (this._rumQuery?.internalValue !== undefined) { + if (this._sizeConstraintStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.rumQuery = this._rumQuery?.internalValue; + internalValueResult.sizeConstraintStatement = this._sizeConstraintStatement?.internalValue; + } + if (this._sqliMatchStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sqliMatchStatement = this._sqliMatchStatement?.internalValue; + } + if (this._xssMatchStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.xssMatchStatement = this._xssMatchStatement?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._q = undefined; - this._formula.internalValue = undefined; - this._logQuery.internalValue = undefined; - this._query.internalValue = undefined; - this._rumQuery.internalValue = undefined; + this._byteMatchStatement.internalValue = undefined; + this._geoMatchStatement.internalValue = undefined; + this._ipSetReferenceStatement.internalValue = undefined; + this._regexPatternSetReferenceStatement.internalValue = undefined; + this._sizeConstraintStatement.internalValue = undefined; + this._sqliMatchStatement.internalValue = undefined; + this._xssMatchStatement.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -49243,97 +51256,131 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestOutputRe else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._q = value.q; - this._formula.internalValue = value.formula; - this._logQuery.internalValue = value.logQuery; - this._query.internalValue = value.query; - this._rumQuery.internalValue = value.rumQuery; + this._byteMatchStatement.internalValue = value.byteMatchStatement; + this._geoMatchStatement.internalValue = value.geoMatchStatement; + this._ipSetReferenceStatement.internalValue = value.ipSetReferenceStatement; + this._regexPatternSetReferenceStatement.internalValue = value.regexPatternSetReferenceStatement; + this._sizeConstraintStatement.internalValue = value.sizeConstraintStatement; + this._sqliMatchStatement.internalValue = value.sqliMatchStatement; + this._xssMatchStatement.internalValue = value.xssMatchStatement; } } - // q - computed: false, optional: true, required: false - private _q?: string; - public get q() { - return this.getStringAttribute('q'); + // byte_match_statement - computed: false, optional: true, required: false + private _byteMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementOutputReference(this, "byte_match_statement"); + public get byteMatchStatement() { + return this._byteMatchStatement; } - public set q(value: string) { - this._q = value; + public putByteMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatement) { + this._byteMatchStatement.internalValue = value; } - public resetQ() { - this._q = undefined; + public resetByteMatchStatement() { + this._byteMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get qInput() { - return this._q; + public get byteMatchStatementInput() { + return this._byteMatchStatement.internalValue; } - // formula - computed: false, optional: true, required: false - private _formula = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormulaList(this, "formula", false); - public get formula() { - return this._formula; + // geo_match_statement - computed: false, optional: true, required: false + private _geoMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatementOutputReference(this, "geo_match_statement"); + public get geoMatchStatement() { + return this._geoMatchStatement; } - public putFormula(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestFormula[] | cdktf.IResolvable) { - this._formula.internalValue = value; + public putGeoMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementGeoMatchStatement) { + this._geoMatchStatement.internalValue = value; } - public resetFormula() { - this._formula.internalValue = undefined; + public resetGeoMatchStatement() { + this._geoMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get formulaInput() { - return this._formula.internalValue; + public get geoMatchStatementInput() { + return this._geoMatchStatement.internalValue; } - // log_query - computed: false, optional: true, required: false - private _logQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQueryOutputReference(this, "log_query"); - public get logQuery() { - return this._logQuery; + // ip_set_reference_statement - computed: false, optional: true, required: false + private _ipSetReferenceStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatementOutputReference(this, "ip_set_reference_statement"); + public get ipSetReferenceStatement() { + return this._ipSetReferenceStatement; } - public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestLogQuery) { - this._logQuery.internalValue = value; + public putIpSetReferenceStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementIpSetReferenceStatement) { + this._ipSetReferenceStatement.internalValue = value; } - public resetLogQuery() { - this._logQuery.internalValue = undefined; + public resetIpSetReferenceStatement() { + this._ipSetReferenceStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get logQueryInput() { - return this._logQuery.internalValue; + public get ipSetReferenceStatementInput() { + return this._ipSetReferenceStatement.internalValue; } - // query - computed: false, optional: true, required: false - private _query = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQueryList(this, "query", false); - public get query() { - return this._query; + // regex_pattern_set_reference_statement - computed: false, optional: true, required: false + private _regexPatternSetReferenceStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementOutputReference(this, "regex_pattern_set_reference_statement"); + public get regexPatternSetReferenceStatement() { + return this._regexPatternSetReferenceStatement; } - public putQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestQuery[] | cdktf.IResolvable) { - this._query.internalValue = value; + public putRegexPatternSetReferenceStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatement) { + this._regexPatternSetReferenceStatement.internalValue = value; } - public resetQuery() { - this._query.internalValue = undefined; + public resetRegexPatternSetReferenceStatement() { + this._regexPatternSetReferenceStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get queryInput() { - return this._query.internalValue; + public get regexPatternSetReferenceStatementInput() { + return this._regexPatternSetReferenceStatement.internalValue; } - // rum_query - computed: false, optional: true, required: false - private _rumQuery = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQueryOutputReference(this, "rum_query"); - public get rumQuery() { - return this._rumQuery; + // size_constraint_statement - computed: false, optional: true, required: false + private _sizeConstraintStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementOutputReference(this, "size_constraint_statement"); + public get sizeConstraintStatement() { + return this._sizeConstraintStatement; } - public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestRumQuery) { - this._rumQuery.internalValue = value; + public putSizeConstraintStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatement) { + this._sizeConstraintStatement.internalValue = value; } - public resetRumQuery() { - this._rumQuery.internalValue = undefined; + public resetSizeConstraintStatement() { + this._sizeConstraintStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get rumQueryInput() { - return this._rumQuery.internalValue; + public get sizeConstraintStatementInput() { + return this._sizeConstraintStatement.internalValue; + } + + // sqli_match_statement - computed: false, optional: true, required: false + private _sqliMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementOutputReference(this, "sqli_match_statement"); + public get sqliMatchStatement() { + return this._sqliMatchStatement; + } + public putSqliMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatement) { + this._sqliMatchStatement.internalValue = value; + } + public resetSqliMatchStatement() { + this._sqliMatchStatement.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get sqliMatchStatementInput() { + return this._sqliMatchStatement.internalValue; + } + + // xss_match_statement - computed: false, optional: true, required: false + private _xssMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementOutputReference(this, "xss_match_statement"); + public get xssMatchStatement() { + return this._xssMatchStatement; + } + public putXssMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatement) { + this._xssMatchStatement.internalValue = value; + } + public resetXssMatchStatement() { + this._xssMatchStatement.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get xssMatchStatementInput() { + return this._xssMatchStatement.internalValue; } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -49347,37 +51394,30 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestList ext /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestOutputReference { - return new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle { - /** - * The color palette to apply to the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} - */ - readonly palette: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatement { /** - * A Boolean indicating whether to flip the palette tones. + * statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette_flip Dashboard#palette_flip} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} */ - readonly paletteFlip: boolean | cdktf.IResolvable; + readonly statement: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - palette: cdktf.stringToTerraform(struct!.palette), - palette_flip: cdktf.booleanToTerraform(struct!.paletteFlip), + statement: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementToTerraform, true)(struct!.statement), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -49388,79 +51428,53 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleOutputRefe super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._palette !== undefined) { - hasAnyValues = true; - internalValueResult.palette = this._palette; - } - if (this._paletteFlip !== undefined) { + if (this._statement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.paletteFlip = this._paletteFlip; + internalValueResult.statement = this._statement?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._palette = undefined; - this._paletteFlip = undefined; + this._statement.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._palette = value.palette; - this._paletteFlip = value.paletteFlip; + this._statement.internalValue = value.statement; } } - // palette - computed: false, optional: false, required: true - private _palette?: string; - public get palette() { - return this.getStringAttribute('palette'); - } - public set palette(value: string) { - this._palette = value; - } - // Temporarily expose input value. Use with caution. - public get paletteInput() { - return this._palette; - } - - // palette_flip - computed: false, optional: false, required: true - private _paletteFlip?: boolean | cdktf.IResolvable; - public get paletteFlip() { - return this.getBooleanAttribute('palette_flip'); + // statement - computed: false, optional: false, required: true + private _statement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementList(this, "statement", false); + public get statement() { + return this._statement; } - public set paletteFlip(value: boolean | cdktf.IResolvable) { - this._paletteFlip = value; + public putStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatement[] | cdktf.IResolvable) { + this._statement.internalValue = value; } // Temporarily expose input value. Use with caution. - public get paletteFlipInput() { - return this._paletteFlip; + public get statementInput() { + return this._statement.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView { - /** - * The two-letter ISO code of a country to focus the map on (or \`WORLD\`). - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#focus Dashboard#focus} - */ - readonly focus: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - focus: cdktf.stringToTerraform(struct!.focus), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -49471,109 +51485,72 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewOutputRefer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._focus !== undefined) { - hasAnyValues = true; - internalValueResult.focus = this._focus; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._focus = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._focus = value.focus; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody { +} - // focus - computed: false, optional: false, required: true - private _focus?: string; - public get focus() { - return this.getStringAttribute('focus'); - } - public set focus(value: string) { - this._focus = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get focusInput() { - return this._focus; + return { } } -export interface DashboardWidgetGroupDefinitionWidgetGeomapDefinition { - /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} - */ - readonly liveSpan?: string; - /** - * The title of the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} - */ - readonly title?: string; - /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} - */ - readonly titleAlign?: string; - /** - * The size of the widget's title (defaults to 16). - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} - */ - readonly titleSize?: string; - /** - * custom_link block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_link Dashboard#custom_link} - */ - readonly customLink?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink[] | cdktf.IResolvable; - /** - * request block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} - */ - readonly request?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest[] | cdktf.IResolvable; - /** - * style block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} - */ - readonly style?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle; + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * view block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#view Dashboard#view} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly view: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod { } -export function dashboardWidgetGroupDefinitionWidgetGeomapDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetGeomapDefinition): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - live_span: cdktf.stringToTerraform(struct!.liveSpan), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), - custom_link: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkToTerraform, true)(struct!.customLink), - request: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestToTerraform, true)(struct!.request), - style: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleToTerraform(struct!.style), - view: dashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewToTerraform(struct!.view), } } -export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -49584,407 +51561,485 @@ export class DashboardWidgetGroupDefinitionWidgetGeomapDefinitionOutputReference super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetGeomapDefinition | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._title !== undefined) { - hasAnyValues = true; - internalValueResult.title = this._title; - } - if (this._titleAlign !== undefined) { - hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; - } - if (this._titleSize !== undefined) { - hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; - } - if (this._customLink?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.customLink = this._customLink?.internalValue; - } - if (this._request?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.request = this._request?.internalValue; - } - if (this._style?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.style = this._style?.internalValue; - } - if (this._view?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.view = this._view?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinition | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._liveSpan = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; - this._customLink.internalValue = undefined; - this._request.internalValue = undefined; - this._style.internalValue = undefined; - this._view.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._liveSpan = value.liveSpan; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; - this._customLink.internalValue = value.customLink; - this._request.internalValue = value.request; - this._style.internalValue = value.style; - this._view.internalValue = value.view; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString { +} - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; - } - public resetLiveSpan() { - this._liveSpan = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; + return { } +} - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); - } - public set title(value: string) { - this._title = value; +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetTitle() { - this._title = undefined; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public set titleAlign(value: string) { - this._titleAlign = value; + return { + name: cdktf.stringToTerraform(struct!.name), } - public resetTitleAlign() { - this._titleAlign = undefined; +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + return hasAnyValues ? internalValueResult : undefined; } - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._name = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._name = value.name; + } } - public set titleSize(value: string) { - this._titleSize = value; + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetTitleSize() { - this._titleSize = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} - // custom_link - computed: false, optional: true, required: false - private _customLink = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLinkList(this, "custom_link", false); - public get customLink() { - return this._customLink; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public putCustomLink(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionCustomLink[] | cdktf.IResolvable) { - this._customLink.internalValue = value; + return { + name: cdktf.stringToTerraform(struct!.name), } - public resetCustomLink() { - this._customLink.internalValue = undefined; +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // Temporarily expose input value. Use with caution. - public get customLinkInput() { - return this._customLink.internalValue; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + return hasAnyValues ? internalValueResult : undefined; } - // request - computed: false, optional: true, required: false - private _request = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequestList(this, "request", false); - public get request() { - return this._request; + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._name = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._name = value.name; + } } - public putRequest(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionRequest[] | cdktf.IResolvable) { - this._request.internalValue = value; + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetRequest() { - this._request.internalValue = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get requestInput() { - return this._request.internalValue; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath { +} - // style - computed: false, optional: true, required: false - private _style = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyleOutputReference(this, "style"); - public get style() { - return this._style; - } - public putStyle(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionStyle) { - this._style.internalValue = value; - } - public resetStyle() { - this._style.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get styleInput() { - return this._style.internalValue; + return { } +} - // view - computed: false, optional: false, required: true - private _view = new DashboardWidgetGroupDefinitionWidgetGeomapDefinitionViewOutputReference(this, "view"); - public get view() { - return this._view; +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public putView(value: DashboardWidgetGroupDefinitionWidgetGeomapDefinitionView) { - this._view.internalValue = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get viewInput() { - return this._view.internalValue; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch { /** - * The flag for toggling context menu link visibility. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly isHidden?: boolean | cdktf.IResolvable; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; /** - * The label for the custom link URL. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly label?: string; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody; /** - * The URL of the custom link. + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly link?: string; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod; /** - * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. + * query_string block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly overrideLabel?: string; + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString; + /** + * single_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + */ + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - is_hidden: cdktf.booleanToTerraform(struct!.isHidden), - label: cdktf.stringToTerraform(struct!.label), - link: cdktf.stringToTerraform(struct!.link), - override_label: cdktf.stringToTerraform(struct!.overrideLabel), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._isHidden !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.isHidden = this._isHidden; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._label !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.label = this._label; + internalValueResult.body = this._body?.internalValue; } - if (this._link !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.link = this._link; + internalValueResult.method = this._method?.internalValue; } - if (this._overrideLabel !== undefined) { + if (this._queryString?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.overrideLabel = this._overrideLabel; + internalValueResult.queryString = this._queryString?.internalValue; + } + if (this._singleHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._isHidden = undefined; - this._label = undefined; - this._link = undefined; - this._overrideLabel = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._isHidden = value.isHidden; - this._label = value.label; - this._link = value.link; - this._overrideLabel = value.overrideLabel; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // is_hidden - computed: false, optional: true, required: false - private _isHidden?: boolean | cdktf.IResolvable; - public get isHidden() { - return this.getBooleanAttribute('is_hidden'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set isHidden(value: boolean | cdktf.IResolvable) { - this._isHidden = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public resetIsHidden() { - this._isHidden = undefined; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get isHiddenInput() { - return this._isHidden; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // label - computed: false, optional: true, required: false - private _label?: string; - public get label() { - return this.getStringAttribute('label'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set label(value: string) { - this._label = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetLabel() { - this._label = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get labelInput() { - return this._label; + public get bodyInput() { + return this._body.internalValue; } - // link - computed: false, optional: true, required: false - private _link?: string; - public get link() { - return this.getStringAttribute('link'); + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public set link(value: string) { - this._link = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetLink() { - this._link = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get linkInput() { - return this._link; + public get methodInput() { + return this._method.internalValue; } - // override_label - computed: false, optional: true, required: false - private _overrideLabel?: string; - public get overrideLabel() { - return this.getStringAttribute('override_label'); + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - public set overrideLabel(value: string) { - this._overrideLabel = value; + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; } - public resetOverrideLabel() { - this._overrideLabel = undefined; + public resetQueryString() { + this._queryString.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get overrideLabelInput() { - return this._overrideLabel; + public get queryStringInput() { + return this._queryString.internalValue; } -} -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink[] | cdktf.IResolvable + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; + } + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; + } + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleHeaderInput() { + return this._singleHeader.internalValue; + } - /** - * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; + } + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; + } + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; + } + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation { /** - * The event query to use in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly q: string; + readonly priority: number; /** - * The execution method for multi-value filters. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#tags_execution Dashboard#tags_execution} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly tagsExecution?: string; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - q: cdktf.stringToTerraform(struct!.q), - tags_execution: cdktf.stringToTerraform(struct!.tagsExecution), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -49998,29 +52053,29 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventOutputRef super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._q !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.q = this._q; + internalValueResult.priority = this._priority; } - if (this._tagsExecution !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.tagsExecution = this._tagsExecution; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._q = undefined; - this._tagsExecution = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -50029,43 +52084,40 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventOutputRef else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._q = value.q; - this._tagsExecution = value.tagsExecution; + this._priority = value.priority; + this._type = value.type; } } - // q - computed: false, optional: false, required: true - private _q?: string; - public get q() { - return this.getStringAttribute('q'); + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public set q(value: string) { - this._q = value; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get qInput() { - return this._q; + public get priorityInput() { + return this._priority; } - // tags_execution - computed: false, optional: true, required: false - private _tagsExecution?: string; - public get tagsExecution() { - return this.getStringAttribute('tags_execution'); - } - public set tagsExecution(value: string) { - this._tagsExecution = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetTagsExecution() { - this._tagsExecution = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get tagsExecutionInput() { - return this._tagsExecution; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -50079,44 +52131,47 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventList exte /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatement { /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} */ - readonly aggregation: string; + readonly positionalConstraint: string; /** - * The facet name. + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} + */ + readonly searchString: string; + /** + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly facet?: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch; /** - * Define the time interval in seconds. + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly interval?: number; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), + search_string: cdktf.stringToTerraform(struct!.searchString), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -50127,562 +52182,305 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._positionalConstraint !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.positionalConstraint = this._positionalConstraint; } - if (this._facet !== undefined) { + if (this._searchString !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.searchString = this._searchString; } - if (this._interval !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + } + if (this._textTransformation?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._positionalConstraint = undefined; + this._searchString = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._positionalConstraint = value.positionalConstraint; + this._searchString = value.searchString; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // positional_constraint - computed: false, optional: false, required: true + private _positionalConstraint?: string; + public get positionalConstraint() { + return this.getStringAttribute('positional_constraint'); } - public resetInterval() { - this._interval = undefined; + public set positionalConstraint(value: string) { + this._positionalConstraint = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; - } -} -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} - */ - readonly order: string; -} - -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), - } -} - -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { - hasAnyValues = true; - internalValueResult.order = this._order; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; - } + public get positionalConstraintInput() { + return this._positionalConstraint; } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // search_string - computed: false, optional: false, required: true + private _searchString?: string; + public get searchString() { + return this.getStringAttribute('search_string'); } - public set aggregation(value: string) { - this._aggregation = value; + public set searchString(value: string) { + this._searchString = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get searchStringInput() { + return this._searchString; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set facet(value: string) { - this._facet = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public set order(value: string) { - this._order = value; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig { /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} */ - readonly limit?: number; + readonly fallbackBehavior: string; /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery; + readonly headerName: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { + if (this._fallbackBehavior !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.fallbackBehavior = this._fallbackBehavior; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._headerName !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.headerName = this._headerName; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._fallbackBehavior = undefined; + this._headerName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); } - public resetLimit() { - this._limit = undefined; + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public set headerName(value: string) { + this._headerName = value; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; - } -} - -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get headerNameInput() { + return this._headerName; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatement { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} */ - readonly facet?: string; + readonly countryCodes: string[]; /** - * Define the time interval in seconds. + * forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} */ - readonly interval?: number; + readonly forwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), + forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._countryCodes !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.countryCodes = this._countryCodes; } - if (this._interval !== undefined) { + if (this._forwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._countryCodes = undefined; + this._forwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._countryCodes = value.countryCodes; + this._forwardedIpConfig.internalValue = value.forwardedIpConfig; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // country_codes - computed: false, optional: false, required: true + private _countryCodes?: string[]; + public get countryCodes() { + return this.getListAttribute('country_codes'); } - public resetFacet() { - this._facet = undefined; + public set countryCodes(value: string[]) { + this._countryCodes = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get countryCodesInput() { + return this._countryCodes; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // forwarded_ip_config - computed: false, optional: true, required: false + private _forwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); + public get forwardedIpConfig() { + return this._forwardedIpConfig; } - public set interval(value: number) { - this._interval = value; + public putForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementGeoMatchStatementForwardedIpConfig) { + this._forwardedIpConfig.internalValue = value; } - public resetInterval() { - this._interval = undefined; + public resetForwardedIpConfig() { + this._forwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; - } -} - -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get forwardedIpConfigInput() { + return this._forwardedIpConfig.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery; + readonly fallbackBehavior: string; /** - * group_by block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable; + readonly headerName: string; /** - * multi_compute block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable; + readonly position: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), + position: cdktf.stringToTerraform(struct!.position), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -50693,162 +52491,103 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { + if (this._fallbackBehavior !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.fallbackBehavior = this._fallbackBehavior; } - if (this._groupBy?.internalValue !== undefined) { + if (this._headerName !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.headerName = this._headerName; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._position !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.position = this._position; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._fallbackBehavior = undefined; + this._headerName = undefined; + this._position = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; + this._position = value.position; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; - } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; - } - - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; - } - public resetSearchQuery() { - this._searchQuery = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; - } - - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryComputeQuery) { - this._computeQuery.internalValue = value; + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public set headerName(value: string) { + this._headerName = value; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get headerNameInput() { + return this._headerName; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + // position - computed: false, optional: false, required: true + private _position?: string; + public get position() { + return this.getStringAttribute('position'); } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public set position(value: string) { + this._position = value; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get positionInput() { + return this._position; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatement { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} */ - readonly facet?: string; + readonly arn: string; /** - * Define the time interval in seconds. + * ip_set_forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} */ - readonly interval?: number; + readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + arn: cdktf.stringToTerraform(struct!.arn), + ip_set_forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -50859,118 +52598,75 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.arn = this._arn; } - if (this._interval !== undefined) { + if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._arn = undefined; + this._ipSetForwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._arn = value.arn; + this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public resetFacet() { - this._facet = undefined; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get arnInput() { + return this._arn; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // ip_set_forwarded_ip_config - computed: false, optional: true, required: false + private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); + public get ipSetForwardedIpConfig() { + return this._ipSetForwardedIpConfig; } - public set interval(value: number) { - this._interval = value; + public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { + this._ipSetForwardedIpConfig.internalValue = value; } - public resetInterval() { - this._interval = undefined; + public resetIpSetForwardedIpConfig() { + this._ipSetForwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get ipSetForwardedIpConfigInput() { + return this._ipSetForwardedIpConfig.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} - */ - readonly order: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -50981,440 +52677,359 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { - hasAnyValues = true; - internalValueResult.order = this._order; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody { +} - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + return { } +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public set order(value: string) { - this._order = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; - /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} - */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod { } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._sortQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString { +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; - } - public resetLimit() { - this._limit = undefined; - } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; - } - - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; - } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + return { } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader { /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly interval?: number; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set aggregation(value: string) { - this._aggregation = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public set facet(value: string) { - this._facet = value; + return { + name: cdktf.stringToTerraform(struct!.name), } - public resetFacet() { - this._facet = undefined; +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + return hasAnyValues ? internalValueResult : undefined; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._name = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._name = value.name; + } } - public set interval(value: number) { - this._interval = value; + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetInterval() { - this._interval = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get nameInput() { + return this._name; } } +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath { +} -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch { /** - * The name of the index to query. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly index: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; /** - * The search query to use. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly searchQuery?: string; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody; /** - * compute_query block + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod; /** - * group_by block + * query_string block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable; + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString; /** - * multi_compute block + * single_header block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable; + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -51425,169 +53040,330 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.index = this._index; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._searchQuery !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; + internalValueResult.body = this._body?.internalValue; } - if (this._computeQuery?.internalValue !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.method = this._method?.internalValue; } - if (this._groupBy?.internalValue !== undefined) { + if (this._queryString?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.queryString = this._queryString?.internalValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._singleHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set index(value: string) { - this._index = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; + } + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set searchQuery(value: string) { - this._searchQuery = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get bodyInput() { + return this._body.internalValue; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryComputeQuery) { - this._computeQuery.internalValue = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get methodInput() { + return this._method.internalValue; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public resetQueryString() { + this._queryString.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get queryStringInput() { + return this._queryString.internalValue; + } + + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; + } + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; + } + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleHeaderInput() { + return this._singleHeader.internalValue; + } + + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; + } + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; + } + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; + } + + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; + } + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get uriPathInput() { + return this._uriPath.internalValue; + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} + */ + readonly priority: number; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} + */ + readonly type: string; +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; + + /** + * @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) + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._priority !== undefined) { + hasAnyValues = true; + internalValueResult.priority = this._priority; + } + if (this._type !== undefined) { + hasAnyValues = true; + internalValueResult.type = this._type; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this.resolvableValue = undefined; + this._priority = undefined; + this._type = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this.resolvableValue = undefined; + this._priority = value.priority; + this._type = value.type; + } + } + + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); + } + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get priorityInput() { + return this._priority; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get typeInput() { + return this._type; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery { + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable + /** - * A list of processes. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} + * @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) */ - readonly filterBy?: string[]; + constructor(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) + } + /** - * The max number of items in the filter list. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * @param index the index of the item to return */ - readonly limit?: number; + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement { /** - * Your chosen metric. + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} + */ + readonly positionalConstraint: string; + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} + */ + readonly searchString: string; + /** + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly metric: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch; /** - * Your chosen search term. + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly searchBy?: string; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), - limit: cdktf.numberToTerraform(struct!.limit), - metric: cdktf.stringToTerraform(struct!.metric), - search_by: cdktf.stringToTerraform(struct!.searchBy), + positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), + search_string: cdktf.stringToTerraform(struct!.searchString), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -51598,140 +53374,123 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcess super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._filterBy !== undefined) { + if (this._positionalConstraint !== undefined) { hasAnyValues = true; - internalValueResult.filterBy = this._filterBy; + internalValueResult.positionalConstraint = this._positionalConstraint; } - if (this._limit !== undefined) { + if (this._searchString !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.searchString = this._searchString; } - if (this._metric !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.metric = this._metric; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._searchBy !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.searchBy = this._searchBy; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._filterBy = undefined; - this._limit = undefined; - this._metric = undefined; - this._searchBy = undefined; + this._positionalConstraint = undefined; + this._searchString = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._filterBy = value.filterBy; - this._limit = value.limit; - this._metric = value.metric; - this._searchBy = value.searchBy; + this._positionalConstraint = value.positionalConstraint; + this._searchString = value.searchString; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // filter_by - computed: false, optional: true, required: false - private _filterBy?: string[]; - public get filterBy() { - return this.getListAttribute('filter_by'); - } - public set filterBy(value: string[]) { - this._filterBy = value; + // positional_constraint - computed: false, optional: false, required: true + private _positionalConstraint?: string; + public get positionalConstraint() { + return this.getStringAttribute('positional_constraint'); } - public resetFilterBy() { - this._filterBy = undefined; + public set positionalConstraint(value: string) { + this._positionalConstraint = value; } // Temporarily expose input value. Use with caution. - public get filterByInput() { - return this._filterBy; + public get positionalConstraintInput() { + return this._positionalConstraint; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; + // search_string - computed: false, optional: false, required: true + private _searchString?: string; + public get searchString() { + return this.getStringAttribute('search_string'); } - public resetLimit() { - this._limit = undefined; + public set searchString(value: string) { + this._searchString = value; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get searchStringInput() { + return this._searchString; } - // metric - computed: false, optional: false, required: true - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set metric(value: string) { - this._metric = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; + } + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // search_by - computed: false, optional: true, required: false - private _searchBy?: string; - public get searchBy() { - return this.getStringAttribute('search_by'); - } - public set searchBy(value: string) { - this._searchBy = value; + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public resetSearchBy() { - this._searchBy = undefined; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get searchByInput() { - return this._searchBy; + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} */ - readonly facet?: string; + readonly fallbackBehavior: string; /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} */ - readonly interval?: number; + readonly headerName: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -51742,118 +53501,84 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._fallbackBehavior !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.fallbackBehavior = this._fallbackBehavior; } - if (this._interval !== undefined) { + if (this._headerName !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.headerName = this._headerName; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._fallbackBehavior = undefined; + this._headerName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); } - public resetFacet() { - this._facet = undefined; + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } - public resetInterval() { - this._interval = undefined; + public set headerName(value: string) { + this._headerName = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get headerNameInput() { + return this._headerName; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} */ - readonly facet?: string; + readonly countryCodes: string[]; /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} */ - readonly order: string; + readonly forwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), + forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -51864,440 +53589,314 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._countryCodes !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.countryCodes = this._countryCodes; } - if (this._order !== undefined) { + if (this._forwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._countryCodes = undefined; + this._forwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._countryCodes = value.countryCodes; + this._forwardedIpConfig.internalValue = value.forwardedIpConfig; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // country_codes - computed: false, optional: false, required: true + private _countryCodes?: string[]; + public get countryCodes() { + return this.getListAttribute('country_codes'); } - public set aggregation(value: string) { - this._aggregation = value; + public set countryCodes(value: string[]) { + this._countryCodes = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get countryCodesInput() { + return this._countryCodes; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + // forwarded_ip_config - computed: false, optional: true, required: false + private _forwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); + public get forwardedIpConfig() { + return this._forwardedIpConfig; } - - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + public putForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementForwardedIpConfig) { + this._forwardedIpConfig.internalValue = value; } - public set order(value: string) { - this._order = value; + public resetForwardedIpConfig() { + this._forwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get forwardedIpConfigInput() { + return this._forwardedIpConfig.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} */ - readonly facet?: string; + readonly fallbackBehavior: string; /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} */ - readonly limit?: number; + readonly headerName: string; /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery; + readonly position: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), + position: cdktf.stringToTerraform(struct!.position), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { + if (this._fallbackBehavior !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.fallbackBehavior = this._fallbackBehavior; } - if (this._limit !== undefined) { + if (this._headerName !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.headerName = this._headerName; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._position !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.position = this._position; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._fallbackBehavior = undefined; + this._headerName = undefined; + this._position = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; + this._position = value.position; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); } - public resetFacet() { - this._facet = undefined; + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } - public resetLimit() { - this._limit = undefined; + public set headerName(value: string) { + this._headerName = value; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get headerNameInput() { + return this._headerName; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + // position - computed: false, optional: false, required: true + private _position?: string; + public get position() { + return this.getStringAttribute('position'); } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public set position(value: string) { + this._position = value; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; - } -} - -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get positionInput() { + return this._position; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} */ - readonly facet?: string; + readonly arn: string; /** - * Define the time interval in seconds. + * ip_set_forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} */ - readonly interval?: number; + readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + arn: cdktf.stringToTerraform(struct!.arn), + ip_set_forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.arn = this._arn; } - if (this._interval !== undefined) { + if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._arn = undefined; + this._ipSetForwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._arn = value.arn; + this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public set aggregation(value: string) { - this._aggregation = value; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get arnInput() { + return this._arn; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // ip_set_forwarded_ip_config - computed: false, optional: true, required: false + private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); + public get ipSetForwardedIpConfig() { + return this._ipSetForwardedIpConfig; } - public set facet(value: string) { - this._facet = value; + public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { + this._ipSetForwardedIpConfig.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetIpSetForwardedIpConfig() { + this._ipSetForwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get ipSetForwardedIpConfigInput() { + return this._ipSetForwardedIpConfig.internalValue; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments { +} - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + return { } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; - /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} - */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery; - /** - * group_by block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} - */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable; - /** - * multi_compute block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} - */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody { } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -52308,162 +53907,115 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuer super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; - } - if (this._multiCompute?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod { +} - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + return { } +} - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; - } - public resetSearchQuery() { - this._searchQuery = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryComputeQuery) { - this._computeQuery.internalValue = value; - } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } - public resetGroupBy() { - this._groupBy.internalValue = undefined; +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + return { } +} - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader { /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly interval?: number; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -52474,118 +54026,58 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurit super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; - } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } -} -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; + public set name(value: string) { + this._name = value; + } + // Temporarily expose input value. Use with caution. + public get nameInput() { + return this._name; + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument { /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly order: string; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -52596,272 +54088,342 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurit super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set aggregation(value: string) { - this._aggregation = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath { +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + return { } +} - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public set order(value: string) { - this._order = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch { /** - * The facet name. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly facet?: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments; /** - * The maximum number of items in the group. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly limit?: number; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody; /** - * sort_query block + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod; + /** + * query_string block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + */ + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; + /** + * single_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + */ + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._limit !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.body = this._body?.internalValue; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.method = this._method?.internalValue; + } + if (this._queryString?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.queryString = this._queryString?.internalValue; + } + if (this._singleHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set facet(value: string) { - this._facet = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set limit(value: number) { - this._limit = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetLimit() { - this._limit = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get bodyInput() { + return this._body.internalValue; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get methodInput() { + return this._method.internalValue; } -} -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; + } + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; + } + public resetQueryString() { + this._queryString.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get queryStringInput() { + return this._queryString.internalValue; + } - /** - * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; + } + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; + } + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; + } + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; + } + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; + } + + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; + } + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly facet?: string; + readonly priority: number; /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly interval?: number; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -52875,34 +54437,29 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurit super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.priority = this._priority; } - if (this._interval !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -52911,60 +54468,40 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurit else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._priority = value.priority; + this._type = value.type; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetFacet() { - this._facet = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get priorityInput() { + return this._priority; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetInterval() { - this._interval = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -52978,58 +54515,42 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurit /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement { /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery; + readonly arn: string; /** - * group_by block + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch; /** - * multi_compute block + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), + arn: cdktf.stringToTerraform(struct!.arn), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -53040,148 +54561,132 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurit super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.arn = this._arn; } - if (this._groupBy?.internalValue !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._arn = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._arn = value.arn; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public set index(value: string) { - this._index = value; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + public get arnInput() { + return this._arn; } - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set searchQuery(value: string) { - this._searchQuery = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery) { - this._computeQuery.internalValue = value; + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get textTransformationInput() { + return this._textTransformation.internalValue; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments { +} - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; - } - public resetGroupBy() { - this._groupBy.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + return { } +} - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle { - /** - * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#palette Dashboard#palette} - */ - readonly palette?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody { } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - palette: cdktf.stringToTerraform(struct!.palette), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -53192,364 +54697,177 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleOu super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._palette !== undefined) { - hasAnyValues = true; - internalValueResult.palette = this._palette; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._palette = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._palette = value.palette; } } - - // palette - computed: false, optional: true, required: false - private _palette?: string; - public get palette() { - return this.getStringAttribute('palette'); - } - public set palette(value: string) { - this._palette = value; - } - public resetPalette() { - this._palette = undefined; - } - // Temporarily expose input value. Use with caution. - public get paletteInput() { - return this._palette; - } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest { - /** - * The metric query to use for this widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} - */ - readonly q?: string; - /** - * apm_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} - */ - readonly apmQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery; - /** - * log_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} - */ - readonly logQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery; - /** - * process_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} - */ - readonly processQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery; - /** - * rum_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} - */ - readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery; - /** - * security_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} - */ - readonly securityQuery?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery; - /** - * style block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#style Dashboard#style} - */ - readonly style?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod { } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - q: cdktf.stringToTerraform(struct!.q), - apm_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryToTerraform(struct!.apmQuery), - log_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryToTerraform(struct!.logQuery), - process_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryToTerraform(struct!.processQuery), - rum_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryToTerraform(struct!.rumQuery), - security_query: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryToTerraform(struct!.securityQuery), - style: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleToTerraform(struct!.style), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._q !== undefined) { - hasAnyValues = true; - internalValueResult.q = this._q; - } - if (this._apmQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.apmQuery = this._apmQuery?.internalValue; - } - if (this._logQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.logQuery = this._logQuery?.internalValue; - } - if (this._processQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.processQuery = this._processQuery?.internalValue; - } - if (this._rumQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.rumQuery = this._rumQuery?.internalValue; - } - if (this._securityQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.securityQuery = this._securityQuery?.internalValue; - } - if (this._style?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.style = this._style?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._q = undefined; - this._apmQuery.internalValue = undefined; - this._logQuery.internalValue = undefined; - this._processQuery.internalValue = undefined; - this._rumQuery.internalValue = undefined; - this._securityQuery.internalValue = undefined; - this._style.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._q = value.q; - this._apmQuery.internalValue = value.apmQuery; - this._logQuery.internalValue = value.logQuery; - this._processQuery.internalValue = value.processQuery; - this._rumQuery.internalValue = value.rumQuery; - this._securityQuery.internalValue = value.securityQuery; - this._style.internalValue = value.style; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString { +} - // q - computed: false, optional: true, required: false - private _q?: string; - public get q() { - return this.getStringAttribute('q'); - } - public set q(value: string) { - this._q = value; - } - public resetQ() { - this._q = undefined; - } - // Temporarily expose input value. Use with caution. - public get qInput() { - return this._q; - } - - // apm_query - computed: false, optional: true, required: false - private _apmQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQueryOutputReference(this, "apm_query"); - public get apmQuery() { - return this._apmQuery; - } - public putApmQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestApmQuery) { - this._apmQuery.internalValue = value; - } - public resetApmQuery() { - this._apmQuery.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get apmQueryInput() { - return this._apmQuery.internalValue; + return { } +} - // log_query - computed: false, optional: true, required: false - private _logQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQueryOutputReference(this, "log_query"); - public get logQuery() { - return this._logQuery; - } - public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestLogQuery) { - this._logQuery.internalValue = value; - } - public resetLogQuery() { - this._logQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get logQueryInput() { - return this._logQuery.internalValue; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // process_query - computed: false, optional: true, required: false - private _processQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQueryOutputReference(this, "process_query"); - public get processQuery() { - return this._processQuery; - } - public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestProcessQuery) { - this._processQuery.internalValue = value; - } - public resetProcessQuery() { - this._processQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get processQueryInput() { - return this._processQuery.internalValue; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // rum_query - computed: false, optional: true, required: false - private _rumQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQueryOutputReference(this, "rum_query"); - public get rumQuery() { - return this._rumQuery; - } - public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestRumQuery) { - this._rumQuery.internalValue = value; - } - public resetRumQuery() { - this._rumQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get rumQueryInput() { - return this._rumQuery.internalValue; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // security_query - computed: false, optional: true, required: false - private _securityQuery = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQueryOutputReference(this, "security_query"); - public get securityQuery() { - return this._securityQuery; - } - public putSecurityQuery(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestSecurityQuery) { - this._securityQuery.internalValue = value; - } - public resetSecurityQuery() { - this._securityQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get securityQueryInput() { - return this._securityQuery.internalValue; + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} - // style - computed: false, optional: true, required: false - private _style = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyleOutputReference(this, "style"); - public get style() { - return this._style; - } - public putStyle(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestStyle) { - this._style.internalValue = value; - } - public resetStyle() { - this._style.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get styleInput() { - return this._style.internalValue; + return { + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._name = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._name = value.name; + } + } + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); + } + public set name(value: string) { + this._name = value; + } + // Temporarily expose input value. Use with caution. + public get nameInput() { + return this._name; } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis { - /** - * Always include zero or fit the axis to the data range. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#include_zero Dashboard#include_zero} - */ - readonly includeZero?: boolean | cdktf.IResolvable; - /** - * The label of the axis to display on the graph. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} - */ - readonly label?: string; - /** - * Specify the maximum value to show on the Y-axis. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#max Dashboard#max} - */ - readonly max?: string; - /** - * Specify the minimum value to show on the Y-axis. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#min Dashboard#min} - */ - readonly min?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument { /** - * Specify the scale type, options: \`linear\`, \`log\`, \`pow\`, \`sqrt\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#scale Dashboard#scale} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly scale?: string; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - include_zero: cdktf.booleanToTerraform(struct!.includeZero), - label: cdktf.stringToTerraform(struct!.label), - max: cdktf.stringToTerraform(struct!.max), - min: cdktf.stringToTerraform(struct!.min), - scale: cdktf.stringToTerraform(struct!.scale), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -53560,214 +54878,140 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisOutputRef super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._includeZero !== undefined) { - hasAnyValues = true; - internalValueResult.includeZero = this._includeZero; - } - if (this._label !== undefined) { - hasAnyValues = true; - internalValueResult.label = this._label; - } - if (this._max !== undefined) { - hasAnyValues = true; - internalValueResult.max = this._max; - } - if (this._min !== undefined) { - hasAnyValues = true; - internalValueResult.min = this._min; - } - if (this._scale !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.scale = this._scale; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._includeZero = undefined; - this._label = undefined; - this._max = undefined; - this._min = undefined; - this._scale = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._includeZero = value.includeZero; - this._label = value.label; - this._max = value.max; - this._min = value.min; - this._scale = value.scale; + this._name = value.name; } } - // include_zero - computed: false, optional: true, required: false - private _includeZero?: boolean | cdktf.IResolvable; - public get includeZero() { - return this.getBooleanAttribute('include_zero'); - } - public set includeZero(value: boolean | cdktf.IResolvable) { - this._includeZero = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetIncludeZero() { - this._includeZero = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get includeZeroInput() { - return this._includeZero; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath { +} - // label - computed: false, optional: true, required: false - private _label?: string; - public get label() { - return this.getStringAttribute('label'); - } - public set label(value: string) { - this._label = value; - } - public resetLabel() { - this._label = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get labelInput() { - return this._label; + return { } +} - // max - computed: false, optional: true, required: false - private _max?: string; - public get max() { - return this.getStringAttribute('max'); - } - public set max(value: string) { - this._max = value; - } - public resetMax() { - this._max = undefined; - } - // Temporarily expose input value. Use with caution. - public get maxInput() { - return this._max; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // min - computed: false, optional: true, required: false - private _min?: string; - public get min() { - return this.getStringAttribute('min'); - } - public set min(value: string) { - this._min = value; - } - public resetMin() { - this._min = undefined; - } - // Temporarily expose input value. Use with caution. - public get minInput() { - return this._min; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // scale - computed: false, optional: true, required: false - private _scale?: string; - public get scale() { - return this.getStringAttribute('scale'); - } - public set scale(value: string) { - this._scale = value; - } - public resetScale() { - this._scale = undefined; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get scaleInput() { - return this._scale; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHeatmapDefinition { - /** - * The size of the legend displayed in the widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#legend_size Dashboard#legend_size} - */ - readonly legendSize?: string; - /** - * The timeframe to use when displaying the widget. Valid values are \`1m\`, \`5m\`, \`10m\`, \`15m\`, \`30m\`, \`1h\`, \`4h\`, \`1d\`, \`2d\`, \`1w\`, \`1mo\`, \`3mo\`, \`6mo\`, \`1y\`, \`alert\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#live_span Dashboard#live_span} - */ - readonly liveSpan?: string; - /** - * Whether or not to show the legend on this widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#show_legend Dashboard#show_legend} - */ - readonly showLegend?: boolean | cdktf.IResolvable; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch { /** - * The title of the widget. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title Dashboard#title} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly title?: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments; /** - * The alignment of the widget's title. Valid values are \`center\`, \`left\`, \`right\`. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_align Dashboard#title_align} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly titleAlign?: string; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody; /** - * The size of the widget's title (defaults to 16). + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#title_size Dashboard#title_size} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly titleSize?: string; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod; /** - * custom_link block + * query_string block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#custom_link Dashboard#custom_link} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly customLink?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink[] | cdktf.IResolvable; + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString; /** - * event block + * single_header block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#event Dashboard#event} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly event?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent[] | cdktf.IResolvable; + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader; /** - * request block + * single_query_argument block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#request Dashboard#request} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} */ - readonly request?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest[] | cdktf.IResolvable; + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument; /** - * yaxis block + * uri_path block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#yaxis Dashboard#yaxis} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} */ - readonly yaxis?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis; + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionOutputReference | DashboardWidgetGroupDefinitionWidgetHeatmapDefinition): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - legend_size: cdktf.stringToTerraform(struct!.legendSize), - live_span: cdktf.stringToTerraform(struct!.liveSpan), - show_legend: cdktf.booleanToTerraform(struct!.showLegend), - title: cdktf.stringToTerraform(struct!.title), - title_align: cdktf.stringToTerraform(struct!.titleAlign), - title_size: cdktf.stringToTerraform(struct!.titleSize), - custom_link: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkToTerraform, true)(struct!.customLink), - event: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventToTerraform, true)(struct!.event), - request: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestToTerraform, true)(struct!.request), - yaxis: dashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisToTerraform(struct!.yaxis), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -53778,282 +55022,198 @@ export class DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionOutputReferenc super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHeatmapDefinition | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._legendSize !== undefined) { - hasAnyValues = true; - internalValueResult.legendSize = this._legendSize; - } - if (this._liveSpan !== undefined) { - hasAnyValues = true; - internalValueResult.liveSpan = this._liveSpan; - } - if (this._showLegend !== undefined) { - hasAnyValues = true; - internalValueResult.showLegend = this._showLegend; - } - if (this._title !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.title = this._title; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._titleAlign !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.titleAlign = this._titleAlign; + internalValueResult.body = this._body?.internalValue; } - if (this._titleSize !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.titleSize = this._titleSize; + internalValueResult.method = this._method?.internalValue; } - if (this._customLink?.internalValue !== undefined) { + if (this._queryString?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.customLink = this._customLink?.internalValue; + internalValueResult.queryString = this._queryString?.internalValue; } - if (this._event?.internalValue !== undefined) { + if (this._singleHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.event = this._event?.internalValue; + internalValueResult.singleHeader = this._singleHeader?.internalValue; } - if (this._request?.internalValue !== undefined) { + if (this._singleQueryArgument?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.request = this._request?.internalValue; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; } - if (this._yaxis?.internalValue !== undefined) { + if (this._uriPath?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.yaxis = this._yaxis?.internalValue; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinition | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._legendSize = undefined; - this._liveSpan = undefined; - this._showLegend = undefined; - this._title = undefined; - this._titleAlign = undefined; - this._titleSize = undefined; - this._customLink.internalValue = undefined; - this._event.internalValue = undefined; - this._request.internalValue = undefined; - this._yaxis.internalValue = undefined; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._legendSize = value.legendSize; - this._liveSpan = value.liveSpan; - this._showLegend = value.showLegend; - this._title = value.title; - this._titleAlign = value.titleAlign; - this._titleSize = value.titleSize; - this._customLink.internalValue = value.customLink; - this._event.internalValue = value.event; - this._request.internalValue = value.request; - this._yaxis.internalValue = value.yaxis; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // legend_size - computed: false, optional: true, required: false - private _legendSize?: string; - public get legendSize() { - return this.getStringAttribute('legend_size'); - } - public set legendSize(value: string) { - this._legendSize = value; - } - public resetLegendSize() { - this._legendSize = undefined; - } - // Temporarily expose input value. Use with caution. - public get legendSizeInput() { - return this._legendSize; - } - - // live_span - computed: false, optional: true, required: false - private _liveSpan?: string; - public get liveSpan() { - return this.getStringAttribute('live_span'); - } - public set liveSpan(value: string) { - this._liveSpan = value; - } - public resetLiveSpan() { - this._liveSpan = undefined; - } - // Temporarily expose input value. Use with caution. - public get liveSpanInput() { - return this._liveSpan; - } - - // show_legend - computed: false, optional: true, required: false - private _showLegend?: boolean | cdktf.IResolvable; - public get showLegend() { - return this.getBooleanAttribute('show_legend'); - } - public set showLegend(value: boolean | cdktf.IResolvable) { - this._showLegend = value; - } - public resetShowLegend() { - this._showLegend = undefined; - } - // Temporarily expose input value. Use with caution. - public get showLegendInput() { - return this._showLegend; - } - - // title - computed: false, optional: true, required: false - private _title?: string; - public get title() { - return this.getStringAttribute('title'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set title(value: string) { - this._title = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public resetTitle() { - this._title = undefined; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get titleInput() { - return this._title; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // title_align - computed: false, optional: true, required: false - private _titleAlign?: string; - public get titleAlign() { - return this.getStringAttribute('title_align'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set titleAlign(value: string) { - this._titleAlign = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetTitleAlign() { - this._titleAlign = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get titleAlignInput() { - return this._titleAlign; + public get bodyInput() { + return this._body.internalValue; } - // title_size - computed: false, optional: true, required: false - private _titleSize?: string; - public get titleSize() { - return this.getStringAttribute('title_size'); + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public set titleSize(value: string) { - this._titleSize = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetTitleSize() { - this._titleSize = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get titleSizeInput() { - return this._titleSize; + public get methodInput() { + return this._method.internalValue; } - // custom_link - computed: false, optional: true, required: false - private _customLink = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLinkList(this, "custom_link", false); - public get customLink() { - return this._customLink; + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - public putCustomLink(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionCustomLink[] | cdktf.IResolvable) { - this._customLink.internalValue = value; + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; } - public resetCustomLink() { - this._customLink.internalValue = undefined; + public resetQueryString() { + this._queryString.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get customLinkInput() { - return this._customLink.internalValue; + public get queryStringInput() { + return this._queryString.internalValue; } - // event - computed: false, optional: true, required: false - private _event = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEventList(this, "event", false); - public get event() { - return this._event; + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; } - public putEvent(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionEvent[] | cdktf.IResolvable) { - this._event.internalValue = value; + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; } - public resetEvent() { - this._event.internalValue = undefined; + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get eventInput() { - return this._event.internalValue; + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - // request - computed: false, optional: true, required: false - private _request = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequestList(this, "request", false); - public get request() { - return this._request; + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; } - public putRequest(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionRequest[] | cdktf.IResolvable) { - this._request.internalValue = value; + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; } - public resetRequest() { - this._request.internalValue = undefined; + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get requestInput() { - return this._request.internalValue; + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; } - // yaxis - computed: false, optional: true, required: false - private _yaxis = new DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxisOutputReference(this, "yaxis"); - public get yaxis() { - return this._yaxis; + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; } - public putYaxis(value: DashboardWidgetGroupDefinitionWidgetHeatmapDefinitionYaxis) { - this._yaxis.internalValue = value; + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; } - public resetYaxis() { - this._yaxis.internalValue = undefined; + public resetUriPath() { + this._uriPath.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get yaxisInput() { - return this._yaxis.internalValue; + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink { - /** - * The flag for toggling context menu link visibility. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#is_hidden Dashboard#is_hidden} - */ - readonly isHidden?: boolean | cdktf.IResolvable; - /** - * The label for the custom link URL. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#label Dashboard#label} - */ - readonly label?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation { /** - * The URL of the custom link. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#link Dashboard#link} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly link?: string; + readonly priority: number; /** - * The label id that refers to a context menu link item. When override_label is provided, the client request omits the label field. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#override_label Dashboard#override_label} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly overrideLabel?: string; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - is_hidden: cdktf.booleanToTerraform(struct!.isHidden), - label: cdktf.stringToTerraform(struct!.label), - link: cdktf.stringToTerraform(struct!.link), - override_label: cdktf.stringToTerraform(struct!.overrideLabel), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -54067,39 +55227,29 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkOutp super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._isHidden !== undefined) { - hasAnyValues = true; - internalValueResult.isHidden = this._isHidden; - } - if (this._label !== undefined) { - hasAnyValues = true; - internalValueResult.label = this._label; - } - if (this._link !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.link = this._link; + internalValueResult.priority = this._priority; } - if (this._overrideLabel !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.overrideLabel = this._overrideLabel; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._isHidden = undefined; - this._label = undefined; - this._link = undefined; - this._overrideLabel = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -54108,80 +55258,40 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkOutp else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._isHidden = value.isHidden; - this._label = value.label; - this._link = value.link; - this._overrideLabel = value.overrideLabel; + this._priority = value.priority; + this._type = value.type; } } - // is_hidden - computed: false, optional: true, required: false - private _isHidden?: boolean | cdktf.IResolvable; - public get isHidden() { - return this.getBooleanAttribute('is_hidden'); - } - public set isHidden(value: boolean | cdktf.IResolvable) { - this._isHidden = value; - } - public resetIsHidden() { - this._isHidden = undefined; - } - // Temporarily expose input value. Use with caution. - public get isHiddenInput() { - return this._isHidden; - } - - // label - computed: false, optional: true, required: false - private _label?: string; - public get label() { - return this.getStringAttribute('label'); - } - public set label(value: string) { - this._label = value; - } - public resetLabel() { - this._label = undefined; - } - // Temporarily expose input value. Use with caution. - public get labelInput() { - return this._label; - } - - // link - computed: false, optional: true, required: false - private _link?: string; - public get link() { - return this.getStringAttribute('link'); - } - public set link(value: string) { - this._link = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetLink() { - this._link = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get linkInput() { - return this._link; + public get priorityInput() { + return this._priority; } - // override_label - computed: false, optional: true, required: false - private _overrideLabel?: string; - public get overrideLabel() { - return this.getStringAttribute('override_label'); - } - public set overrideLabel(value: string) { - this._overrideLabel = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetOverrideLabel() { - this._overrideLabel = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get overrideLabelInput() { - return this._overrideLabel; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLink[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -54195,44 +55305,47 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkList /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionCustomLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement { /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#comparison_operator Wafv2WebAcl#comparison_operator} */ - readonly aggregation: string; + readonly comparisonOperator: string; /** - * The facet name. + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size Wafv2WebAcl#size} + */ + readonly size: number; + /** + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly facet?: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch; /** - * Define the time interval in seconds. + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly interval?: number; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + comparison_operator: cdktf.stringToTerraform(struct!.comparisonOperator), + size: cdktf.numberToTerraform(struct!.size), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -54243,118 +55356,332 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApm super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._comparisonOperator !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.comparisonOperator = this._comparisonOperator; } - if (this._facet !== undefined) { + if (this._size !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.size = this._size; } - if (this._interval !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + } + if (this._textTransformation?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._comparisonOperator = undefined; + this._size = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._comparisonOperator = value.comparisonOperator; + this._size = value.size; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // comparison_operator - computed: false, optional: false, required: true + private _comparisonOperator?: string; + public get comparisonOperator() { + return this.getStringAttribute('comparison_operator'); } - public set aggregation(value: string) { - this._aggregation = value; + public set comparisonOperator(value: string) { + this._comparisonOperator = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get comparisonOperatorInput() { + return this._comparisonOperator; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // size - computed: false, optional: false, required: true + private _size?: number; + public get size() { + return this.getNumberAttribute('size'); } - public resetFacet() { - this._facet = undefined; + public set size(value: number) { + this._size = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get sizeInput() { + return this._size; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set interval(value: number) { - this._interval = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetInterval() { - this._interval = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; + } + + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; + } + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; + } + // Temporarily expose input value. Use with caution. + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly aggregation: string; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly facet?: string; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + name: cdktf.stringToTerraform(struct!.name), + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._name = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._name = value.name; + } + } + + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); + } + public set name(value: string) { + this._name = value; + } + // Temporarily expose input value. Use with caution. + public get nameInput() { + return this._name; + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument { /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly order: string; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -54365,272 +55692,342 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApm super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set aggregation(value: string) { - this._aggregation = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath { +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + return { } +} - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public set order(value: string) { - this._order = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch { /** - * The facet name. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly facet?: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments; /** - * The maximum number of items in the group. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly limit?: number; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody; /** - * sort_query block + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod; + /** + * query_string block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + */ + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString; + /** + * single_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + */ + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._limit !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.body = this._body?.internalValue; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.method = this._method?.internalValue; + } + if (this._queryString?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.queryString = this._queryString?.internalValue; + } + if (this._singleHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set facet(value: string) { - this._facet = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set limit(value: number) { - this._limit = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetLimit() { - this._limit = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get bodyInput() { + return this._body.internalValue; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get methodInput() { + return this._method.internalValue; } -} -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy[] | cdktf.IResolvable + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; + } + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; + } + public resetQueryString() { + this._queryString.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get queryStringInput() { + return this._queryString.internalValue; + } - /** - * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; + } + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; + } + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; + } + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; + } + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; + } + + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; + } + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly facet?: string; + readonly priority: number; /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly interval?: number; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -54644,34 +56041,29 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApm super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.priority = this._priority; } - if (this._interval !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -54680,60 +56072,40 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApm else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._priority = value.priority; + this._type = value.type; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetFacet() { - this._facet = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get priorityInput() { + return this._priority; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetInterval() { - this._interval = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -54747,58 +56119,37 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApm /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; - /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} - */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement { /** - * group_by block + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy[] | cdktf.IResolvable; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch; /** - * multi_compute block + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute[] | cdktf.IResolvable; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -54809,162 +56160,75 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApm super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; - } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; - } - - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; - } - public resetSearchQuery() { - this._searchQuery = undefined; - } - // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; - } - - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryComputeQuery) { - this._computeQuery.internalValue = value; - } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; - } - - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} - */ - readonly interval?: number; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments { } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -54975,118 +56239,72 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLog super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { - hasAnyValues = true; - internalValueResult.interval = this._interval; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody { +} - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + return { } +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetInterval() { - this._interval = undefined; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} - */ - readonly order: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod { } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -55097,440 +56315,283 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLog super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { - hasAnyValues = true; - internalValueResult.order = this._order; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString { +} - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + return { } +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public set order(value: string) { - this._order = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader { /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._sortQuery?.internalValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._name = value.name; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; - } - public resetLimit() { - this._limit = undefined; - } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; - } - - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; - } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } -} - -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public set name(value: string) { + this._name = value; } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // Temporarily expose input value. Use with caution. + public get nameInput() { + return this._name; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument { /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly interval?: number; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetFacet() { - this._facet = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath { +} - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + return { } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch { /** - * The name of the index to query. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly index: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments; /** - * The search query to use. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly searchQuery?: string; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody; /** - * compute_query block + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod; /** - * group_by block + * query_string block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy[] | cdktf.IResolvable; + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString; /** - * multi_compute block + * single_header block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute[] | cdktf.IResolvable; + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -55541,435 +56602,320 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLog super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.index = this._index; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._searchQuery !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; + internalValueResult.body = this._body?.internalValue; } - if (this._computeQuery?.internalValue !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.method = this._method?.internalValue; } - if (this._groupBy?.internalValue !== undefined) { + if (this._queryString?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.queryString = this._queryString?.internalValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._singleHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; - } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; - } - - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set searchQuery(value: string) { - this._searchQuery = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryComputeQuery) { - this._computeQuery.internalValue = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get bodyInput() { + return this._body.internalValue; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get methodInput() { + return this._method.internalValue; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public resetQueryString() { + this._queryString.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; - } -} -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery { - /** - * A list of processes. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} - */ - readonly filterBy?: string[]; - /** - * The max number of items in the filter list. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; - /** - * Your chosen metric. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} - */ - readonly metric: string; - /** - * Your chosen search term. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} - */ - readonly searchBy?: string; -} - -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), - limit: cdktf.numberToTerraform(struct!.limit), - metric: cdktf.stringToTerraform(struct!.metric), - search_by: cdktf.stringToTerraform(struct!.searchBy), - } -} - -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - - /** - * @param terraformResource The parent resource - * @param terraformAttribute The attribute on the parent resource this class is referencing - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); - } - - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery | undefined { - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._filterBy !== undefined) { - hasAnyValues = true; - internalValueResult.filterBy = this._filterBy; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._metric !== undefined) { - hasAnyValues = true; - internalValueResult.metric = this._metric; - } - if (this._searchBy !== undefined) { - hasAnyValues = true; - internalValueResult.searchBy = this._searchBy; - } - return hasAnyValues ? internalValueResult : undefined; - } - - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this._filterBy = undefined; - this._limit = undefined; - this._metric = undefined; - this._searchBy = undefined; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this._filterBy = value.filterBy; - this._limit = value.limit; - this._metric = value.metric; - this._searchBy = value.searchBy; - } + public get queryStringInput() { + return this._queryString.internalValue; } - // filter_by - computed: false, optional: true, required: false - private _filterBy?: string[]; - public get filterBy() { - return this.getListAttribute('filter_by'); + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; } - public set filterBy(value: string[]) { - this._filterBy = value; + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; } - public resetFilterBy() { - this._filterBy = undefined; + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get filterByInput() { - return this._filterBy; + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; - } - public resetLimit() { - this._limit = undefined; - } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; } - - // metric - computed: false, optional: false, required: true - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; } - public set metric(value: string) { - this._metric = value; + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; } - // search_by - computed: false, optional: true, required: false - private _searchBy?: string; - public get searchBy() { - return this.getStringAttribute('search_by'); + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; } - public set searchBy(value: string) { - this._searchBy = value; + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; } - public resetSearchBy() { - this._searchBy = undefined; + public resetUriPath() { + this._uriPath.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get searchByInput() { - return this._searchBy; + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly facet?: string; + readonly priority: number; /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly interval?: number; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; + private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { - super(terraformResource, terraformAttribute, false, 0); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { + super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined { + if (this.resolvableValue) { + return this.resolvableValue; + } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.priority = this._priority; } - if (this._interval !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this.resolvableValue = undefined; + this._priority = undefined; + this._type = undefined; + } + else if (cdktf.Tokenization.isResolvable(value)) { + this.isEmptyObject = false; + this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this.resolvableValue = undefined; + this._priority = value.priority; + this._type = value.type; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public set aggregation(value: string) { - this._aggregation = value; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get priorityInput() { + return this._priority; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetFacet() { - this._facet = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get typeInput() { + return this._type; } +} - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; - } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { + super(terraformResource, terraformAttribute, wrapsSet) } -} -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery { + /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * @param index the index of the item to return */ - readonly aggregation: string; + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement { /** - * The facet name. + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly facet?: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch; /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly order: string; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -55980,115 +56926,124 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRum super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._order !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set facet(value: string) { - this._facet = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public set order(value: string) { - this._order = value; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement { /** - * The facet name. + * byte_match_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#byte_match_statement Wafv2WebAcl#byte_match_statement} */ - readonly facet?: string; + readonly byteMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement; /** - * The maximum number of items in the group. + * geo_match_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#geo_match_statement Wafv2WebAcl#geo_match_statement} */ - readonly limit?: number; + readonly geoMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement; /** - * sort_query block + * ip_set_reference_statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_reference_statement Wafv2WebAcl#ip_set_reference_statement} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery; + readonly ipSetReferenceStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement; + /** + * regex_pattern_set_reference_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#regex_pattern_set_reference_statement Wafv2WebAcl#regex_pattern_set_reference_statement} + */ + readonly regexPatternSetReferenceStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement; + /** + * size_constraint_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size_constraint_statement Wafv2WebAcl#size_constraint_statement} + */ + readonly sizeConstraintStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement; + /** + * sqli_match_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#sqli_match_statement Wafv2WebAcl#sqli_match_statement} + */ + readonly sqliMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement; + /** + * xss_match_statement block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#xss_match_statement Wafv2WebAcl#xss_match_statement} + */ + readonly xssMatchStatement?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), + byte_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementToTerraform(struct!.byteMatchStatement), + geo_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementToTerraform(struct!.geoMatchStatement), + ip_set_reference_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementToTerraform(struct!.ipSetReferenceStatement), + regex_pattern_set_reference_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementToTerraform(struct!.regexPatternSetReferenceStatement), + size_constraint_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementToTerraform(struct!.sizeConstraintStatement), + sqli_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementToTerraform(struct!.sqliMatchStatement), + xss_match_statement: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementToTerraform(struct!.xssMatchStatement), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -56102,34 +57057,54 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRum super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { + if (this._byteMatchStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.byteMatchStatement = this._byteMatchStatement?.internalValue; } - if (this._limit !== undefined) { + if (this._geoMatchStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.geoMatchStatement = this._geoMatchStatement?.internalValue; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._ipSetReferenceStatement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.ipSetReferenceStatement = this._ipSetReferenceStatement?.internalValue; + } + if (this._regexPatternSetReferenceStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.regexPatternSetReferenceStatement = this._regexPatternSetReferenceStatement?.internalValue; + } + if (this._sizeConstraintStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sizeConstraintStatement = this._sizeConstraintStatement?.internalValue; + } + if (this._sqliMatchStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.sqliMatchStatement = this._sqliMatchStatement?.internalValue; + } + if (this._xssMatchStatement?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.xssMatchStatement = this._xssMatchStatement?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; + this._byteMatchStatement.internalValue = undefined; + this._geoMatchStatement.internalValue = undefined; + this._ipSetReferenceStatement.internalValue = undefined; + this._regexPatternSetReferenceStatement.internalValue = undefined; + this._sizeConstraintStatement.internalValue = undefined; + this._sqliMatchStatement.internalValue = undefined; + this._xssMatchStatement.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -56138,217 +57113,131 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRum else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._byteMatchStatement.internalValue = value.byteMatchStatement; + this._geoMatchStatement.internalValue = value.geoMatchStatement; + this._ipSetReferenceStatement.internalValue = value.ipSetReferenceStatement; + this._regexPatternSetReferenceStatement.internalValue = value.regexPatternSetReferenceStatement; + this._sizeConstraintStatement.internalValue = value.sizeConstraintStatement; + this._sqliMatchStatement.internalValue = value.sqliMatchStatement; + this._xssMatchStatement.internalValue = value.xssMatchStatement; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // byte_match_statement - computed: false, optional: true, required: false + private _byteMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementOutputReference(this, "byte_match_statement"); + public get byteMatchStatement() { + return this._byteMatchStatement; } - public set facet(value: string) { - this._facet = value; + public putByteMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatement) { + this._byteMatchStatement.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetByteMatchStatement() { + this._byteMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get byteMatchStatementInput() { + return this._byteMatchStatement.internalValue; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // geo_match_statement - computed: false, optional: true, required: false + private _geoMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatementOutputReference(this, "geo_match_statement"); + public get geoMatchStatement() { + return this._geoMatchStatement; } - public set limit(value: number) { - this._limit = value; + public putGeoMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementGeoMatchStatement) { + this._geoMatchStatement.internalValue = value; } - public resetLimit() { - this._limit = undefined; + public resetGeoMatchStatement() { + this._geoMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get geoMatchStatementInput() { + return this._geoMatchStatement.internalValue; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // ip_set_reference_statement - computed: false, optional: true, required: false + private _ipSetReferenceStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatementOutputReference(this, "ip_set_reference_statement"); + public get ipSetReferenceStatement() { + return this._ipSetReferenceStatement; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putIpSetReferenceStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementIpSetReferenceStatement) { + this._ipSetReferenceStatement.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetIpSetReferenceStatement() { + this._ipSetReferenceStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; - } -} - -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get ipSetReferenceStatementInput() { + return this._ipSetReferenceStatement.internalValue; } -} -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} - */ - readonly interval?: number; -} -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute | cdktf.IResolvable): any { - if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } - if (cdktf.isComplexElement(struct)) { - throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); - } - return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + // regex_pattern_set_reference_statement - computed: false, optional: true, required: false + private _regexPatternSetReferenceStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementOutputReference(this, "regex_pattern_set_reference_statement"); + public get regexPatternSetReferenceStatement() { + return this._regexPatternSetReferenceStatement; } -} - -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { - private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; - - /** - * @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) - */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public putRegexPatternSetReferenceStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatement) { + this._regexPatternSetReferenceStatement.internalValue = value; } - - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } - let hasAnyValues = this.isEmptyObject; - const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { - hasAnyValues = true; - internalValueResult.interval = this._interval; - } - return hasAnyValues ? internalValueResult : undefined; + public resetRegexPatternSetReferenceStatement() { + this._regexPatternSetReferenceStatement.internalValue = undefined; } - - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute | cdktf.IResolvable | undefined) { - if (value === undefined) { - this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; - } - else { - this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; - } + // Temporarily expose input value. Use with caution. + public get regexPatternSetReferenceStatementInput() { + return this._regexPatternSetReferenceStatement.internalValue; } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // size_constraint_statement - computed: false, optional: true, required: false + private _sizeConstraintStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementOutputReference(this, "size_constraint_statement"); + public get sizeConstraintStatement() { + return this._sizeConstraintStatement; } - public set aggregation(value: string) { - this._aggregation = value; + public putSizeConstraintStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatement) { + this._sizeConstraintStatement.internalValue = value; + } + public resetSizeConstraintStatement() { + this._sizeConstraintStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get sizeConstraintStatementInput() { + return this._sizeConstraintStatement.internalValue; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // sqli_match_statement - computed: false, optional: true, required: false + private _sqliMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementOutputReference(this, "sqli_match_statement"); + public get sqliMatchStatement() { + return this._sqliMatchStatement; } - public set facet(value: string) { - this._facet = value; + public putSqliMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatement) { + this._sqliMatchStatement.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetSqliMatchStatement() { + this._sqliMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get sqliMatchStatementInput() { + return this._sqliMatchStatement.internalValue; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // xss_match_statement - computed: false, optional: true, required: false + private _xssMatchStatement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementOutputReference(this, "xss_match_statement"); + public get xssMatchStatement() { + return this._xssMatchStatement; } - public set interval(value: number) { - this._interval = value; + public putXssMatchStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatement) { + this._xssMatchStatement.internalValue = value; } - public resetInterval() { - this._interval = undefined; + public resetXssMatchStatement() { + this._xssMatchStatement.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get xssMatchStatementInput() { + return this._xssMatchStatement.internalValue; } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -56362,58 +57251,30 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRum /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; - /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} - */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery; - /** - * group_by block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} - */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy[] | cdktf.IResolvable; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatement { /** - * multi_compute block + * statement block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#statement Wafv2WebAcl#statement} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute[] | cdktf.IResolvable; + readonly statement: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + statement: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementToTerraform, true)(struct!.statement), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -56424,162 +57285,91 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRum super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; - } - if (this._multiCompute?.internalValue !== undefined) { + if (this._statement?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.statement = this._statement?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._statement.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._statement.internalValue = value.statement; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); + // statement - computed: false, optional: false, required: true + private _statement = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementList(this, "statement", false); + public get statement() { + return this._statement; } - public set index(value: string) { - this._index = value; + public putStatement(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatement[] | cdktf.IResolvable) { + this._statement.internalValue = value; } // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + public get statementInput() { + return this._statement.internalValue; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments { +} - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; - } - public resetSearchQuery() { - this._searchQuery = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + return { } +} - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryComputeQuery) { - this._computeQuery.internalValue = value; - } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; - } - public resetGroupBy() { - this._groupBy.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; - } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} - */ - readonly interval?: number; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody { } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -56590,118 +57380,34 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSec super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { - hasAnyValues = true; - internalValueResult.interval = this._interval; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; } } - - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; - } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; - } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} - */ - readonly order: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod { } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -56712,440 +57418,283 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSec super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { - hasAnyValues = true; - internalValueResult.order = this._order; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString { +} - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + return { } +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public set order(value: string) { - this._order = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader { /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._sortQuery?.internalValue !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._name = value.name; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; - } - public resetLimit() { - this._limit = undefined; - } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; - } - - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; - } -} - -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get nameInput() { + return this._name; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument { /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly interval?: number; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetFacet() { - this._facet = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath { +} - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + return { } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch { /** - * The name of the index to query. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly index: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments; /** - * The search query to use. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly searchQuery?: string; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody; /** - * compute_query block + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod; /** - * group_by block + * query_string block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy[] | cdktf.IResolvable; + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString; /** - * multi_compute block + * single_header block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute[] | cdktf.IResolvable; + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeToTerraform, true)(struct!.multiCompute), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -57156,183 +57705,198 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSec super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.index = this._index; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._searchQuery !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; + internalValueResult.body = this._body?.internalValue; } - if (this._computeQuery?.internalValue !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.method = this._method?.internalValue; } - if (this._groupBy?.internalValue !== undefined) { + if (this._queryString?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.queryString = this._queryString?.internalValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._singleHeader?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set index(value: string) { - this._index = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; + } + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set searchQuery(value: string) { - this._searchQuery = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get bodyInput() { + return this._body.internalValue; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery) { - this._computeQuery.internalValue = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get methodInput() { + return this._method.internalValue; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public resetQueryString() { + this._queryString.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get queryStringInput() { + return this._queryString.internalValue; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get singleHeaderInput() { + return this._singleHeader.internalValue; } -} -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill { - /** - * The metric query to use for this widget. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#q Dashboard#q} - */ - readonly q?: string; - /** - * apm_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#apm_query Dashboard#apm_query} - */ - readonly apmQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery; - /** - * log_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#log_query Dashboard#log_query} - */ - readonly logQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery; - /** - * process_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#process_query Dashboard#process_query} - */ - readonly processQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery; + + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; + } + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; + } + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; + } + + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; + } + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get uriPathInput() { + return this._uriPath.internalValue; + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation { /** - * rum_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#rum_query Dashboard#rum_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly rumQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery; + readonly priority: number; /** - * security_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#security_query Dashboard#security_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly securityQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - q: cdktf.stringToTerraform(struct!.q), - apm_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryToTerraform(struct!.apmQuery), - log_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryToTerraform(struct!.logQuery), - process_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryToTerraform(struct!.processQuery), - rum_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryToTerraform(struct!.rumQuery), - security_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryToTerraform(struct!.securityQuery), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -57346,49 +57910,29 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillOut super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._q !== undefined) { - hasAnyValues = true; - internalValueResult.q = this._q; - } - if (this._apmQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.apmQuery = this._apmQuery?.internalValue; - } - if (this._logQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.logQuery = this._logQuery?.internalValue; - } - if (this._processQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.processQuery = this._processQuery?.internalValue; - } - if (this._rumQuery?.internalValue !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.rumQuery = this._rumQuery?.internalValue; + internalValueResult.priority = this._priority; } - if (this._securityQuery?.internalValue !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.securityQuery = this._securityQuery?.internalValue; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._q = undefined; - this._apmQuery.internalValue = undefined; - this._logQuery.internalValue = undefined; - this._processQuery.internalValue = undefined; - this._rumQuery.internalValue = undefined; - this._securityQuery.internalValue = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -57397,114 +57941,40 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillOut else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._q = value.q; - this._apmQuery.internalValue = value.apmQuery; - this._logQuery.internalValue = value.logQuery; - this._processQuery.internalValue = value.processQuery; - this._rumQuery.internalValue = value.rumQuery; - this._securityQuery.internalValue = value.securityQuery; + this._priority = value.priority; + this._type = value.type; } } - // q - computed: false, optional: true, required: false - private _q?: string; - public get q() { - return this.getStringAttribute('q'); - } - public set q(value: string) { - this._q = value; - } - public resetQ() { - this._q = undefined; - } - // Temporarily expose input value. Use with caution. - public get qInput() { - return this._q; - } - - // apm_query - computed: false, optional: true, required: false - private _apmQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQueryOutputReference(this, "apm_query"); - public get apmQuery() { - return this._apmQuery; - } - public putApmQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillApmQuery) { - this._apmQuery.internalValue = value; - } - public resetApmQuery() { - this._apmQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get apmQueryInput() { - return this._apmQuery.internalValue; - } - - // log_query - computed: false, optional: true, required: false - private _logQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQueryOutputReference(this, "log_query"); - public get logQuery() { - return this._logQuery; - } - public putLogQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLogQuery) { - this._logQuery.internalValue = value; - } - public resetLogQuery() { - this._logQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get logQueryInput() { - return this._logQuery.internalValue; - } - - // process_query - computed: false, optional: true, required: false - private _processQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQueryOutputReference(this, "process_query"); - public get processQuery() { - return this._processQuery; - } - public putProcessQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillProcessQuery) { - this._processQuery.internalValue = value; - } - public resetProcessQuery() { - this._processQuery.internalValue = undefined; - } - // Temporarily expose input value. Use with caution. - public get processQueryInput() { - return this._processQuery.internalValue; - } - - // rum_query - computed: false, optional: true, required: false - private _rumQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQueryOutputReference(this, "rum_query"); - public get rumQuery() { - return this._rumQuery; - } - public putRumQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillRumQuery) { - this._rumQuery.internalValue = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetRumQuery() { - this._rumQuery.internalValue = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get rumQueryInput() { - return this._rumQuery.internalValue; + public get priorityInput() { + return this._priority; } - // security_query - computed: false, optional: true, required: false - private _securityQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQueryOutputReference(this, "security_query"); - public get securityQuery() { - return this._securityQuery; - } - public putSecurityQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillSecurityQuery) { - this._securityQuery.internalValue = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetSecurityQuery() { - this._securityQuery.internalValue = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get securityQueryInput() { - return this._securityQuery.internalValue; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFill[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -57518,44 +57988,47 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillLis /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestFillOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatement { /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#positional_constraint Wafv2WebAcl#positional_constraint} */ - readonly aggregation: string; + readonly positionalConstraint: string; /** - * The facet name. + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#search_string Wafv2WebAcl#search_string} + */ + readonly searchString: string; + /** + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly facet?: string; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch; /** - * Define the time interval in seconds. + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly interval?: number; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + positional_constraint: cdktf.stringToTerraform(struct!.positionalConstraint), + search_string: cdktf.stringToTerraform(struct!.searchString), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -57566,118 +58039,123 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApm super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._positionalConstraint !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.positionalConstraint = this._positionalConstraint; } - if (this._facet !== undefined) { + if (this._searchString !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.searchString = this._searchString; } - if (this._interval !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; + } + if (this._textTransformation?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._positionalConstraint = undefined; + this._searchString = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._positionalConstraint = value.positionalConstraint; + this._searchString = value.searchString; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // positional_constraint - computed: false, optional: false, required: true + private _positionalConstraint?: string; + public get positionalConstraint() { + return this.getStringAttribute('positional_constraint'); } - public set aggregation(value: string) { - this._aggregation = value; + public set positionalConstraint(value: string) { + this._positionalConstraint = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get positionalConstraintInput() { + return this._positionalConstraint; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // search_string - computed: false, optional: false, required: true + private _searchString?: string; + public get searchString() { + return this.getStringAttribute('search_string'); } - public resetFacet() { - this._facet = undefined; + public set searchString(value: string) { + this._searchString = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get searchStringInput() { + return this._searchString; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set interval(value: number) { - this._interval = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetInterval() { - this._interval = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; + } + + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; + } + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; + } + // Temporarily expose input value. Use with caution. + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} */ - readonly facet?: string; + readonly fallbackBehavior: string; /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} */ - readonly order: string; + readonly headerName: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -57688,440 +58166,285 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApm super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._fallbackBehavior !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.fallbackBehavior = this._fallbackBehavior; } - if (this._order !== undefined) { + if (this._headerName !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.headerName = this._headerName; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._fallbackBehavior = undefined; + this._headerName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); } - public resetFacet() { - this._facet = undefined; + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } - public set order(value: string) { - this._order = value; + public set headerName(value: string) { + this._headerName = value; } // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + public get headerNameInput() { + return this._headerName; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatement { /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#country_codes Wafv2WebAcl#country_codes} */ - readonly limit?: number; + readonly countryCodes: string[]; /** - * sort_query block + * forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#forwarded_ip_config Wafv2WebAcl#forwarded_ip_config} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery; + readonly forwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryToTerraform(struct!.sortQuery), + country_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.countryCodes), + forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigToTerraform(struct!.forwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { + if (this._countryCodes !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.countryCodes = this._countryCodes; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._forwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.forwardedIpConfig = this._forwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._countryCodes = undefined; + this._forwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._countryCodes = value.countryCodes; + this._forwardedIpConfig.internalValue = value.forwardedIpConfig; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; + // country_codes - computed: false, optional: false, required: true + private _countryCodes?: string[]; + public get countryCodes() { + return this.getListAttribute('country_codes'); } - public resetLimit() { - this._limit = undefined; + public set countryCodes(value: string[]) { + this._countryCodes = value; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get countryCodesInput() { + return this._countryCodes; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // forwarded_ip_config - computed: false, optional: true, required: false + private _forwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfigOutputReference(this, "forwarded_ip_config"); + public get forwardedIpConfig() { + return this._forwardedIpConfig; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementGeoMatchStatementForwardedIpConfig) { + this._forwardedIpConfig.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetForwardedIpConfig() { + this._forwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; - } -} - -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get forwardedIpConfigInput() { + return this._forwardedIpConfig.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig { /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#fallback_behavior Wafv2WebAcl#fallback_behavior} */ - readonly aggregation: string; + readonly fallbackBehavior: string; /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#header_name Wafv2WebAcl#header_name} */ - readonly facet?: string; + readonly headerName: string; /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#position Wafv2WebAcl#position} */ - readonly interval?: number; + readonly position: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + fallback_behavior: cdktf.stringToTerraform(struct!.fallbackBehavior), + header_name: cdktf.stringToTerraform(struct!.headerName), + position: cdktf.stringToTerraform(struct!.position), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { + if (this._fallbackBehavior !== undefined) { hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; + internalValueResult.fallbackBehavior = this._fallbackBehavior; } - if (this._facet !== undefined) { + if (this._headerName !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.headerName = this._headerName; } - if (this._interval !== undefined) { + if (this._position !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.position = this._position; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._fallbackBehavior = undefined; + this._headerName = undefined; + this._position = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._fallbackBehavior = value.fallbackBehavior; + this._headerName = value.headerName; + this._position = value.position; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // fallback_behavior - computed: false, optional: false, required: true + private _fallbackBehavior?: string; + public get fallbackBehavior() { + return this.getStringAttribute('fallback_behavior'); } - public set aggregation(value: string) { - this._aggregation = value; + public set fallbackBehavior(value: string) { + this._fallbackBehavior = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get fallbackBehaviorInput() { + return this._fallbackBehavior; } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // header_name - computed: false, optional: false, required: true + private _headerName?: string; + public get headerName() { + return this.getStringAttribute('header_name'); } - public resetFacet() { - this._facet = undefined; + public set headerName(value: string) { + this._headerName = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get headerNameInput() { + return this._headerName; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // position - computed: false, optional: false, required: true + private _position?: string; + public get position() { + return this.getStringAttribute('position'); } - public resetInterval() { - this._interval = undefined; + public set position(value: string) { + this._position = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; - } -} - -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute[] | 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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) - } - - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get positionInput() { + return this._position; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; - /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} - */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatement { /** - * group_by block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy[] | cdktf.IResolvable; + readonly arn: string; /** - * multi_compute block + * ip_set_forwarded_ip_config block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#ip_set_forwarded_ip_config Wafv2WebAcl#ip_set_forwarded_ip_config} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute[] | cdktf.IResolvable; + readonly ipSetForwardedIpConfig?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeToTerraform, true)(struct!.multiCompute), + arn: cdktf.stringToTerraform(struct!.arn), + ip_set_forwarded_ip_config: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigToTerraform(struct!.ipSetForwardedIpConfig), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -58132,162 +58455,232 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApm super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; - } - if (this._groupBy?.internalValue !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.arn = this._arn; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._ipSetForwardedIpConfig?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.ipSetForwardedIpConfig = this._ipSetForwardedIpConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._arn = undefined; + this._ipSetForwardedIpConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._arn = value.arn; + this._ipSetForwardedIpConfig.internalValue = value.ipSetForwardedIpConfig; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public set index(value: string) { - this._index = value; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + public get arnInput() { + return this._arn; } - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); + // ip_set_forwarded_ip_config - computed: false, optional: true, required: false + private _ipSetForwardedIpConfig = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfigOutputReference(this, "ip_set_forwarded_ip_config"); + public get ipSetForwardedIpConfig() { + return this._ipSetForwardedIpConfig; } - public set searchQuery(value: string) { - this._searchQuery = value; + public putIpSetForwardedIpConfig(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementIpSetReferenceStatementIpSetForwardedIpConfig) { + this._ipSetForwardedIpConfig.internalValue = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetIpSetForwardedIpConfig() { + this._ipSetForwardedIpConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get ipSetForwardedIpConfigInput() { + return this._ipSetForwardedIpConfig.internalValue; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments { +} - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery) { - this._computeQuery.internalValue = value; + return { } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + return { } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + return { } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery { + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly aggregation: string; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString { +} + +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); + } + return { + } +} + +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing */ - readonly facet?: string; + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); + } + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } + } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader { /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly interval?: number; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -58298,118 +58691,58 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLog super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetInterval() { - this._interval = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get nameInput() { + return this._name; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument { /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly order: string; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -58420,272 +58753,342 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLog super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set aggregation(value: string) { - this._aggregation = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath { +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + return { } +} - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public set order(value: string) { - this._order = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch { /** - * The facet name. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly facet?: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments; /** - * The maximum number of items in the group. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly limit?: number; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody; /** - * sort_query block + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod; + /** + * query_string block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + */ + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; + /** + * single_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + */ + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryToTerraform(struct!.sortQuery), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._limit !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.body = this._body?.internalValue; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.method = this._method?.internalValue; + } + if (this._queryString?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.queryString = this._queryString?.internalValue; + } + if (this._singleHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set facet(value: string) { - this._facet = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set limit(value: number) { - this._limit = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetLimit() { - this._limit = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get bodyInput() { + return this._body.internalValue; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get methodInput() { + return this._method.internalValue; } -} -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy[] | cdktf.IResolvable + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; + } + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; + } + public resetQueryString() { + this._queryString.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get queryStringInput() { + return this._queryString.internalValue; + } - /** - * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; + } + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; + } + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; + } + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; + } + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; + } + + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; + } + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly facet?: string; + readonly priority: number; /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly interval?: number; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -58699,34 +59102,29 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLog super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.priority = this._priority; } - if (this._interval !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -58735,60 +59133,40 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLog else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._priority = value.priority; + this._type = value.type; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetFacet() { - this._facet = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get priorityInput() { + return this._priority; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetInterval() { - this._interval = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -58802,58 +59180,42 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLog /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; - /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} - */ - readonly searchQuery?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatement { /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#arn Wafv2WebAcl#arn} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery; + readonly arn: string; /** - * group_by block + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy[] | cdktf.IResolvable; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch; /** - * multi_compute block + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute[] | cdktf.IResolvable; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeToTerraform, true)(struct!.multiCompute), + arn: cdktf.stringToTerraform(struct!.arn), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -58864,169 +59226,132 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLog super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { - hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; - } - if (this._computeQuery?.internalValue !== undefined) { + if (this._arn !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.arn = this._arn; } - if (this._groupBy?.internalValue !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._arn = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._arn = value.arn; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); + // arn - computed: false, optional: false, required: true + private _arn?: string; + public get arn() { + return this.getStringAttribute('arn'); } - public set index(value: string) { - this._index = value; + public set arn(value: string) { + this._arn = value; } // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; + public get arnInput() { + return this._arn; } - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public set searchQuery(value: string) { - this._searchQuery = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetSearchQuery() { - this._searchQuery = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery) { - this._computeQuery.internalValue = value; + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get textTransformationInput() { + return this._textTransformation.internalValue; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments { +} - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; - } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; - } - public resetGroupBy() { - this._groupBy.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + return { } +} - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQuery { - /** - * A list of processes. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#filter_by Dashboard#filter_by} - */ - readonly filterBy?: string[]; - /** - * The max number of items in the filter list. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; - /** - * Your chosen metric. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#metric Dashboard#metric} - */ - readonly metric: string; - /** - * Your chosen search term. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_by Dashboard#search_by} - */ - readonly searchBy?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody { } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - filter_by: cdktf.listMapper(cdktf.stringToTerraform, false)(struct!.filterBy), - limit: cdktf.numberToTerraform(struct!.limit), - metric: cdktf.stringToTerraform(struct!.metric), - search_by: cdktf.stringToTerraform(struct!.searchBy), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -59037,140 +59362,72 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizePro super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._filterBy !== undefined) { - hasAnyValues = true; - internalValueResult.filterBy = this._filterBy; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._metric !== undefined) { - hasAnyValues = true; - internalValueResult.metric = this._metric; - } - if (this._searchBy !== undefined) { - hasAnyValues = true; - internalValueResult.searchBy = this._searchBy; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeProcessQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._filterBy = undefined; - this._limit = undefined; - this._metric = undefined; - this._searchBy = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._filterBy = value.filterBy; - this._limit = value.limit; - this._metric = value.metric; - this._searchBy = value.searchBy; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod { +} - // filter_by - computed: false, optional: true, required: false - private _filterBy?: string[]; - public get filterBy() { - return this.getListAttribute('filter_by'); - } - public set filterBy(value: string[]) { - this._filterBy = value; - } - public resetFilterBy() { - this._filterBy = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get filterByInput() { - return this._filterBy; + return { } +} - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; - } - public resetLimit() { - this._limit = undefined; - } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; - } +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; - // metric - computed: false, optional: false, required: true - private _metric?: string; - public get metric() { - return this.getStringAttribute('metric'); - } - public set metric(value: string) { - this._metric = value; - } - // Temporarily expose input value. Use with caution. - public get metricInput() { - return this._metric; + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - // search_by - computed: false, optional: true, required: false - private _searchBy?: string; - public get searchBy() { - return this.getStringAttribute('search_by'); - } - public set searchBy(value: string) { - this._searchBy = value; - } - public resetSearchBy() { - this._searchBy = undefined; + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get searchByInput() { - return this._searchBy; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} - */ - readonly interval?: number; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString { } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -59181,118 +59438,101 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRum super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { - hasAnyValues = true; - internalValueResult.interval = this._interval; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} + */ + readonly name: string; +} - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + return { + name: cdktf.stringToTerraform(struct!.name), } +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public resetFacet() { - this._facet = undefined; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + if (this._name !== undefined) { + hasAnyValues = true; + internalValueResult.name = this._name; + } + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + this._name = undefined; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + this._name = value.name; + } } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public resetInterval() { - this._interval = undefined; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get nameInput() { + return this._name; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument { /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#name Wafv2WebAcl#name} */ - readonly order: string; + readonly name: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), + name: cdktf.stringToTerraform(struct!.name), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -59303,272 +59543,342 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRum super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { + if (this._name !== undefined) { hasAnyValues = true; - internalValueResult.order = this._order; + internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; + this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; + this._name = value.name; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); + // name - computed: false, optional: false, required: true + private _name?: string; + public get name() { + return this.getStringAttribute('name'); } - public set aggregation(value: string) { - this._aggregation = value; + public set name(value: string) { + this._name = value; } // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; + public get nameInput() { + return this._name; } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath { +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + return { } +} - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; + + /** + * @param terraformResource The parent resource + * @param terraformAttribute The attribute on the parent resource this class is referencing + */ + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public set order(value: string) { - this._order = value; + + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy { +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch { /** - * The facet name. + * all_query_arguments block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#all_query_arguments Wafv2WebAcl#all_query_arguments} */ - readonly facet?: string; + readonly allQueryArguments?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments; /** - * The maximum number of items in the group. + * body block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#body Wafv2WebAcl#body} */ - readonly limit?: number; + readonly body?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody; /** - * sort_query block + * method block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#method Wafv2WebAcl#method} */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery; + readonly method?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod; + /** + * query_string block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#query_string Wafv2WebAcl#query_string} + */ + readonly queryString?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString; + /** + * single_header block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_header Wafv2WebAcl#single_header} + */ + readonly singleHeader?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader; + /** + * single_query_argument block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#single_query_argument Wafv2WebAcl#single_query_argument} + */ + readonly singleQueryArgument?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument; + /** + * uri_path block + * + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#uri_path Wafv2WebAcl#uri_path} + */ + readonly uriPath?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryToTerraform(struct!.sortQuery), + all_query_arguments: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsToTerraform(struct!.allQueryArguments), + body: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyToTerraform(struct!.body), + method: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodToTerraform(struct!.method), + query_string: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringToTerraform(struct!.queryString), + single_header: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderToTerraform(struct!.singleHeader), + single_query_argument: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentToTerraform(struct!.singleQueryArgument), + uri_path: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathToTerraform(struct!.uriPath), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { + if (this._allQueryArguments?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.allQueryArguments = this._allQueryArguments?.internalValue; } - if (this._limit !== undefined) { + if (this._body?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.limit = this._limit; + internalValueResult.body = this._body?.internalValue; } - if (this._sortQuery?.internalValue !== undefined) { + if (this._method?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; + internalValueResult.method = this._method?.internalValue; + } + if (this._queryString?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.queryString = this._queryString?.internalValue; + } + if (this._singleHeader?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleHeader = this._singleHeader?.internalValue; + } + if (this._singleQueryArgument?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.singleQueryArgument = this._singleQueryArgument?.internalValue; + } + if (this._uriPath?.internalValue !== undefined) { + hasAnyValues = true; + internalValueResult.uriPath = this._uriPath?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; + this._allQueryArguments.internalValue = undefined; + this._body.internalValue = undefined; + this._method.internalValue = undefined; + this._queryString.internalValue = undefined; + this._singleHeader.internalValue = undefined; + this._singleQueryArgument.internalValue = undefined; + this._uriPath.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; + this._allQueryArguments.internalValue = value.allQueryArguments; + this._body.internalValue = value.body; + this._method.internalValue = value.method; + this._queryString.internalValue = value.queryString; + this._singleHeader.internalValue = value.singleHeader; + this._singleQueryArgument.internalValue = value.singleQueryArgument; + this._uriPath.internalValue = value.uriPath; } } - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); + // all_query_arguments - computed: false, optional: true, required: false + private _allQueryArguments = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArgumentsOutputReference(this, "all_query_arguments"); + public get allQueryArguments() { + return this._allQueryArguments; } - public set facet(value: string) { - this._facet = value; + public putAllQueryArguments(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchAllQueryArguments) { + this._allQueryArguments.internalValue = value; } - public resetFacet() { - this._facet = undefined; + public resetAllQueryArguments() { + this._allQueryArguments.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get allQueryArgumentsInput() { + return this._allQueryArguments.internalValue; } - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); + // body - computed: false, optional: true, required: false + private _body = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBodyOutputReference(this, "body"); + public get body() { + return this._body; } - public set limit(value: number) { - this._limit = value; + public putBody(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchBody) { + this._body.internalValue = value; } - public resetLimit() { - this._limit = undefined; + public resetBody() { + this._body.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; + public get bodyInput() { + return this._body.internalValue; } - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; + // method - computed: false, optional: true, required: false + private _method = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethodOutputReference(this, "method"); + public get method() { + return this._method; } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; + public putMethod(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchMethod) { + this._method.internalValue = value; } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; + public resetMethod() { + this._method.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + public get methodInput() { + return this._method.internalValue; } -} -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy[] | cdktf.IResolvable + // query_string - computed: false, optional: true, required: false + private _queryString = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryStringOutputReference(this, "query_string"); + public get queryString() { + return this._queryString; + } + public putQueryString(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchQueryString) { + this._queryString.internalValue = value; + } + public resetQueryString() { + this._queryString.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get queryStringInput() { + return this._queryString.internalValue; + } - /** - * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + // single_header - computed: false, optional: true, required: false + private _singleHeader = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeaderOutputReference(this, "single_header"); + public get singleHeader() { + return this._singleHeader; + } + public putSingleHeader(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleHeader) { + this._singleHeader.internalValue = value; + } + public resetSingleHeader() { + this._singleHeader.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleHeaderInput() { + return this._singleHeader.internalValue; } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + // single_query_argument - computed: false, optional: true, required: false + private _singleQueryArgument = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutputReference(this, "single_query_argument"); + public get singleQueryArgument() { + return this._singleQueryArgument; + } + public putSingleQueryArgument(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchSingleQueryArgument) { + this._singleQueryArgument.internalValue = value; + } + public resetSingleQueryArgument() { + this._singleQueryArgument.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get singleQueryArgumentInput() { + return this._singleQueryArgument.internalValue; + } + + // uri_path - computed: false, optional: true, required: false + private _uriPath = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPathOutputReference(this, "uri_path"); + public get uriPath() { + return this._uriPath; + } + public putUriPath(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchUriPath) { + this._uriPath.internalValue = value; + } + public resetUriPath() { + this._uriPath.internalValue = undefined; + } + // Temporarily expose input value. Use with caution. + public get uriPathInput() { + return this._uriPath.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation { /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#priority Wafv2WebAcl#priority} */ - readonly facet?: string; + readonly priority: number; /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#type Wafv2WebAcl#type} */ - readonly interval?: number; + readonly type: string; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), + priority: cdktf.numberToTerraform(struct!.priority), + type: cdktf.stringToTerraform(struct!.type), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; private resolvableValue?: cdktf.IResolvable; @@ -59582,34 +59892,29 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRum super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute | cdktf.IResolvable | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { + if (this._priority !== undefined) { hasAnyValues = true; - internalValueResult.facet = this._facet; + internalValueResult.priority = this._priority; } - if (this._interval !== undefined) { + if (this._type !== undefined) { hasAnyValues = true; - internalValueResult.interval = this._interval; + internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation | cdktf.IResolvable | undefined) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; + this._priority = undefined; + this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; @@ -59618,60 +59923,40 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRum else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; + this._priority = value.priority; + this._type = value.type; } } - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; + // priority - computed: false, optional: false, required: true + private _priority?: number; + public get priority() { + return this.getNumberAttribute('priority'); } - public resetFacet() { - this._facet = undefined; + public set priority(value: number) { + this._priority = value; } // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; + public get priorityInput() { + return this._priority; } - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; + // type - computed: false, optional: false, required: true + private _type?: string; + public get type() { + return this.getStringAttribute('type'); } - public resetInterval() { - this._interval = undefined; + public set type(value: string) { + this._type = value; } // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; + public get typeInput() { + return this._type; } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationList extends cdktf.ComplexList { + public internalValue? : Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable /** * @param terraformResource The parent resource @@ -59685,58 +59970,47 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRum /** * @param index the index of the item to return */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get(index: number): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationOutputReference { + return new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQuery { - /** - * The name of the index to query. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#index Dashboard#index} - */ - readonly index: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatement { /** - * The search query to use. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#search_query Dashboard#search_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#comparison_operator Wafv2WebAcl#comparison_operator} */ - readonly searchQuery?: string; + readonly comparisonOperator: string; /** - * compute_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#compute_query Dashboard#compute_query} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#size Wafv2WebAcl#size} */ - readonly computeQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery; + readonly size: number; /** - * group_by block + * field_to_match block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#group_by Dashboard#group_by} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#field_to_match Wafv2WebAcl#field_to_match} */ - readonly groupBy?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy[] | cdktf.IResolvable; + readonly fieldToMatch?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch; /** - * multi_compute block + * text_transformation block * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#multi_compute Dashboard#multi_compute} + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl#text_transformation Wafv2WebAcl#text_transformation} */ - readonly multiCompute?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute[] | cdktf.IResolvable; + readonly textTransformation: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable; } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatement): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - index: cdktf.stringToTerraform(struct!.index), - search_query: cdktf.stringToTerraform(struct!.searchQuery), - compute_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryToTerraform(struct!.computeQuery), - group_by: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByToTerraform, true)(struct!.groupBy), - multi_compute: cdktf.listMapper(dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeToTerraform, true)(struct!.multiCompute), + comparison_operator: cdktf.stringToTerraform(struct!.comparisonOperator), + size: cdktf.numberToTerraform(struct!.size), + field_to_match: wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchToTerraform(struct!.fieldToMatch), + text_transformation: cdktf.listMapper(wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationToTerraform, true)(struct!.textTransformation), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -59747,162 +60021,113 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRum super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatement | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._index !== undefined) { - hasAnyValues = true; - internalValueResult.index = this._index; - } - if (this._searchQuery !== undefined) { + if (this._comparisonOperator !== undefined) { hasAnyValues = true; - internalValueResult.searchQuery = this._searchQuery; + internalValueResult.comparisonOperator = this._comparisonOperator; } - if (this._computeQuery?.internalValue !== undefined) { + if (this._size !== undefined) { hasAnyValues = true; - internalValueResult.computeQuery = this._computeQuery?.internalValue; + internalValueResult.size = this._size; } - if (this._groupBy?.internalValue !== undefined) { + if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.groupBy = this._groupBy?.internalValue; + internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } - if (this._multiCompute?.internalValue !== undefined) { + if (this._textTransformation?.internalValue !== undefined) { hasAnyValues = true; - internalValueResult.multiCompute = this._multiCompute?.internalValue; + internalValueResult.textTransformation = this._textTransformation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatement | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._index = undefined; - this._searchQuery = undefined; - this._computeQuery.internalValue = undefined; - this._groupBy.internalValue = undefined; - this._multiCompute.internalValue = undefined; + this._comparisonOperator = undefined; + this._size = undefined; + this._fieldToMatch.internalValue = undefined; + this._textTransformation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._index = value.index; - this._searchQuery = value.searchQuery; - this._computeQuery.internalValue = value.computeQuery; - this._groupBy.internalValue = value.groupBy; - this._multiCompute.internalValue = value.multiCompute; + this._comparisonOperator = value.comparisonOperator; + this._size = value.size; + this._fieldToMatch.internalValue = value.fieldToMatch; + this._textTransformation.internalValue = value.textTransformation; } } - // index - computed: false, optional: false, required: true - private _index?: string; - public get index() { - return this.getStringAttribute('index'); - } - public set index(value: string) { - this._index = value; - } - // Temporarily expose input value. Use with caution. - public get indexInput() { - return this._index; - } - - // search_query - computed: false, optional: true, required: false - private _searchQuery?: string; - public get searchQuery() { - return this.getStringAttribute('search_query'); - } - public set searchQuery(value: string) { - this._searchQuery = value; + // comparison_operator - computed: false, optional: false, required: true + private _comparisonOperator?: string; + public get comparisonOperator() { + return this.getStringAttribute('comparison_operator'); } - public resetSearchQuery() { - this._searchQuery = undefined; + public set comparisonOperator(value: string) { + this._comparisonOperator = value; } // Temporarily expose input value. Use with caution. - public get searchQueryInput() { - return this._searchQuery; + public get comparisonOperatorInput() { + return this._comparisonOperator; } - // compute_query - computed: false, optional: true, required: false - private _computeQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQueryOutputReference(this, "compute_query"); - public get computeQuery() { - return this._computeQuery; - } - public putComputeQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery) { - this._computeQuery.internalValue = value; + // size - computed: false, optional: false, required: true + private _size?: number; + public get size() { + return this.getNumberAttribute('size'); } - public resetComputeQuery() { - this._computeQuery.internalValue = undefined; + public set size(value: number) { + this._size = value; } // Temporarily expose input value. Use with caution. - public get computeQueryInput() { - return this._computeQuery.internalValue; + public get sizeInput() { + return this._size; } - // group_by - computed: false, optional: true, required: false - private _groupBy = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupByList(this, "group_by", false); - public get groupBy() { - return this._groupBy; + // field_to_match - computed: false, optional: true, required: false + private _fieldToMatch = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchOutputReference(this, "field_to_match"); + public get fieldToMatch() { + return this._fieldToMatch; } - public putGroupBy(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryGroupBy[] | cdktf.IResolvable) { - this._groupBy.internalValue = value; + public putFieldToMatch(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch) { + this._fieldToMatch.internalValue = value; } - public resetGroupBy() { - this._groupBy.internalValue = undefined; + public resetFieldToMatch() { + this._fieldToMatch.internalValue = undefined; } // Temporarily expose input value. Use with caution. - public get groupByInput() { - return this._groupBy.internalValue; + public get fieldToMatchInput() { + return this._fieldToMatch.internalValue; } - // multi_compute - computed: false, optional: true, required: false - private _multiCompute = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiComputeList(this, "multi_compute", false); - public get multiCompute() { - return this._multiCompute; - } - public putMultiCompute(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute[] | cdktf.IResolvable) { - this._multiCompute.internalValue = value; + // text_transformation - computed: false, optional: false, required: true + private _textTransformation = new Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformationList(this, "text_transformation", true); + public get textTransformation() { + return this._textTransformation; } - public resetMultiCompute() { - this._multiCompute.internalValue = undefined; + public putTextTransformation(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementTextTransformation[] | cdktf.IResolvable) { + this._textTransformation.internalValue = value; } // Temporarily expose input value. Use with caution. - public get multiComputeInput() { - return this._multiCompute.internalValue; + public get textTransformationInput() { + return this._textTransformation.internalValue; } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Define the time interval in seconds. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#interval Dashboard#interval} - */ - readonly interval?: number; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments { } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - interval: cdktf.numberToTerraform(struct!.interval), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -59913,118 +60138,34 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSec super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._interval !== undefined) { - hasAnyValues = true; - internalValueResult.interval = this._interval; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._interval = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._interval = value.interval; } } - - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // interval - computed: false, optional: true, required: false - private _interval?: number; - public get interval() { - return this.getNumberAttribute('interval'); - } - public set interval(value: number) { - this._interval = value; - } - public resetInterval() { - this._interval = undefined; - } - // Temporarily expose input value. Use with caution. - public get intervalInput() { - return this._interval; - } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery { - /** - * The aggregation method. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#aggregation Dashboard#aggregation} - */ - readonly aggregation: string; - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * Widget sorting methods. Valid values are \`asc\`, \`desc\`. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#order Dashboard#order} - */ - readonly order: string; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBody { } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryOutputReference | DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBodyToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBody): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - aggregation: cdktf.stringToTerraform(struct!.aggregation), - facet: cdktf.stringToTerraform(struct!.facet), - order: cdktf.stringToTerraform(struct!.order), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBodyOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; /** @@ -60035,242 +60176,101 @@ export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSec super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery | undefined { + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBody | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._aggregation !== undefined) { - hasAnyValues = true; - internalValueResult.aggregation = this._aggregation; - } - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._order !== undefined) { - hasAnyValues = true; - internalValueResult.order = this._order; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchBody | undefined) { if (value === undefined) { this.isEmptyObject = false; - this._aggregation = undefined; - this._facet = undefined; - this._order = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; - this._aggregation = value.aggregation; - this._facet = value.facet; - this._order = value.order; } } - - // aggregation - computed: false, optional: false, required: true - private _aggregation?: string; - public get aggregation() { - return this.getStringAttribute('aggregation'); - } - public set aggregation(value: string) { - this._aggregation = value; - } - // Temporarily expose input value. Use with caution. - public get aggregationInput() { - return this._aggregation; - } - - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // order - computed: false, optional: false, required: true - private _order?: string; - public get order() { - return this.getStringAttribute('order'); - } - public set order(value: string) { - this._order = value; - } - // Temporarily expose input value. Use with caution. - public get orderInput() { - return this._order; - } } -export interface DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy { - /** - * The facet name. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#facet Dashboard#facet} - */ - readonly facet?: string; - /** - * The maximum number of items in the group. - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#limit Dashboard#limit} - */ - readonly limit?: number; - /** - * sort_query block - * - * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/datadog/latest/docs/resources/dashboard#sort_query Dashboard#sort_query} - */ - readonly sortQuery?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery; +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethod { } -export function dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByToTerraform(struct?: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy | cdktf.IResolvable): any { +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethodToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethod): any { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { - facet: cdktf.stringToTerraform(struct!.facet), - limit: cdktf.numberToTerraform(struct!.limit), - sort_query: dashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryToTerraform(struct!.sortQuery), } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByOutputReference extends cdktf.ComplexObject { +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethodOutputReference extends cdktf.ComplexObject { private isEmptyObject = false; - private resolvableValue?: cdktf.IResolvable; /** * @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) */ - public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean) { - super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - public get internalValue(): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy | cdktf.IResolvable | undefined { - if (this.resolvableValue) { - return this.resolvableValue; - } + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethod | undefined { let hasAnyValues = this.isEmptyObject; const internalValueResult: any = {}; - if (this._facet !== undefined) { - hasAnyValues = true; - internalValueResult.facet = this._facet; - } - if (this._limit !== undefined) { - hasAnyValues = true; - internalValueResult.limit = this._limit; - } - if (this._sortQuery?.internalValue !== undefined) { - hasAnyValues = true; - internalValueResult.sortQuery = this._sortQuery?.internalValue; - } return hasAnyValues ? internalValueResult : undefined; } - public set internalValue(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy | cdktf.IResolvable | undefined) { + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchMethod | undefined) { if (value === undefined) { this.isEmptyObject = false; - this.resolvableValue = undefined; - this._facet = undefined; - this._limit = undefined; - this._sortQuery.internalValue = undefined; - } - else if (cdktf.Tokenization.isResolvable(value)) { - this.isEmptyObject = false; - this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; - this.resolvableValue = undefined; - this._facet = value.facet; - this._limit = value.limit; - this._sortQuery.internalValue = value.sortQuery; } } +} +export interface Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryString { +} - // facet - computed: false, optional: true, required: false - private _facet?: string; - public get facet() { - return this.getStringAttribute('facet'); - } - public set facet(value: string) { - this._facet = value; - } - public resetFacet() { - this._facet = undefined; - } - // Temporarily expose input value. Use with caution. - public get facetInput() { - return this._facet; - } - - // limit - computed: false, optional: true, required: false - private _limit?: number; - public get limit() { - return this.getNumberAttribute('limit'); - } - public set limit(value: number) { - this._limit = value; - } - public resetLimit() { - this._limit = undefined; - } - // Temporarily expose input value. Use with caution. - public get limitInput() { - return this._limit; - } - - // sort_query - computed: false, optional: true, required: false - private _sortQuery = new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQueryOutputReference(this, "sort_query"); - public get sortQuery() { - return this._sortQuery; - } - public putSortQuery(value: DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery) { - this._sortQuery.internalValue = value; - } - public resetSortQuery() { - this._sortQuery.internalValue = undefined; +export function wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryStringToTerraform(struct?: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference | Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryString): any { + if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } + if (cdktf.isComplexElement(struct)) { + throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } - // Temporarily expose input value. Use with caution. - public get sortQueryInput() { - return this._sortQuery.internalValue; + return { } } -export class DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByList extends cdktf.ComplexList { - public internalValue? : DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy[] | cdktf.IResolvable +export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryStringOutputReference extends cdktf.ComplexObject { + private isEmptyObject = false; /** * @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(protected terraformResource: cdktf.IInterpolatingParent, protected terraformAttribute: string, protected wrapsSet: boolean) { - super(terraformResource, terraformAttribute, wrapsSet) + public constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string) { + super(terraformResource, terraformAttribute, false, 0); } - /** - * @param index the index of the item to return - */ - public get(index: number): DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByOutputReference { - return new DashboardWidgetGroupDefinitionWidgetHostmapDefinitionRequestSizeSecurityQueryGroupByOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); + public get internalValue(): Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined { + let hasAnyValues = this.isEmptyObject; + const internalValueResult: any = {}; + return hasAnyValues ? internalValueResult : undefined; + } + + public set internalValue(value: Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchQueryString | undefined) { + if (value === undefined) { + this.isEmptyObject = false; + } + else { + this.isEmptyObject = Object.keys(value).length === 0; + } } } " `; -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs800 1`] = ` +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs800 1`] = ` "import * as cdktf from 'cdktf'; import { Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArguments, wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchAllQueryArgumentsToTerraform, @@ -71114,7 +71114,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement " `; -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs1200 1`] = ` +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs1200 1`] = ` "import * as cdktf from 'cdktf'; import { Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatement, wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementToTerraform, @@ -81999,7 +81999,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement " `; -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs1600 1`] = ` +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs1600 1`] = ` "import * as cdktf from 'cdktf'; import { Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatement, wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementToTerraform, @@ -92745,7 +92745,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement " `; -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs2000 1`] = ` +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs2000 1`] = ` "import * as cdktf from 'cdktf'; import { Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments, wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform, @@ -103276,7 +103276,7 @@ export class Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatement " `; -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs2400 1`] = ` +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs2400 1`] = ` "import * as cdktf from 'cdktf'; import { Wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchAllQueryArguments, wafv2WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform, @@ -114374,7 +114374,7 @@ export class Wafv2WebAclRuleStatementOrStatementStatementRegexPatternSetReferenc " `; -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs2800 1`] = ` +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs2800 1`] = ` "import * as cdktf from 'cdktf'; import { Wafv2WebAclRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments, wafv2WebAclRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform, @@ -125225,7 +125225,7 @@ export class Wafv2WebAclRuleStatementRateBasedStatementScopeDownStatementAndStat " `; -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs3200 1`] = ` +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs3200 1`] = ` "import * as cdktf from 'cdktf'; import { Wafv2WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArguments, wafv2WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchAllQueryArgumentsToTerraform, @@ -135765,7 +135765,7 @@ export class Wafv2WebAclRuleStatementRateBasedStatementScopeDownStatementAndStat " `; -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: structs3600 1`] = ` +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: structs3600 1`] = ` "import * as cdktf from 'cdktf'; import { Wafv2WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArguments, wafv2WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchAllQueryArgumentsToTerraform, @@ -146788,7 +146788,7 @@ export class Wafv2WebAclRuleStatementRateBasedStatementScopeDownStatementNotStat " `; -exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: wafv2-web-acl-resource 1`] = ` +exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports: wafv2-web-acl-resource 1`] = ` "// generated from terraform resource schema import { Wafv2WebAclDefaultAction, diff --git a/packages/@cdktf/provider-generator/lib/get/__tests__/generator/__snapshots__/types.test.ts.snap b/packages/@cdktf/provider-generator/lib/get/__tests__/generator/__snapshots__/types.test.ts.snap index 0a03a886ef..569a70c078 100644 --- a/packages/@cdktf/provider-generator/lib/get/__tests__/generator/__snapshots__/types.test.ts.snap +++ b/packages/@cdktf/provider-generator/lib/get/__tests__/generator/__snapshots__/types.test.ts.snap @@ -1907,6 +1907,453 @@ export * as licenseResource from './license-resource'; " `; +exports[`incompatible resource names: lazy-index.ts 1`] = ` +"// generated by cdktf get +Object.defineProperty(exports, 'stringResource', { get: function () { return require('./string-resource'); } }); +Object.defineProperty(exports, 'objectResource', { get: function () { return require('./object-resource'); } }); +Object.defineProperty(exports, 'functionResource', { get: function () { return require('./function-resource'); } }); +Object.defineProperty(exports, 'staticResource', { get: function () { return require('./static-resource'); } }); +Object.defineProperty(exports, 'providerResource', { get: function () { return require('./provider-resource'); } }); +Object.defineProperty(exports, 'licenseResource', { get: function () { return require('./license-resource'); } }); + +" +`; + +exports[`incompatible resource names: license-resource 1`] = ` +"// https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/license +// generated from terraform resource schema + +import { Construct } from 'constructs'; +import * as cdktf from 'cdktf'; + +// Configuration + +export interface LicenseResourceConfig extends cdktf.TerraformMetaArguments { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/license#dummy LicenseResource#dummy} + */ + readonly dummy?: string; +} + +/** +* Represents a {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/license test_license} +*/ +export class LicenseResource extends cdktf.TerraformResource { + + // ================= + // STATIC PROPERTIES + // ================= + public static readonly tfResourceType = "test_license"; + + // =========== + // INITIALIZER + // =========== + + /** + * Create a new {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/license test_license} 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 LicenseResourceConfig = {} + */ + public constructor(scope: Construct, id: string, config: LicenseResourceConfig = {}) { + super(scope, id, { + terraformResourceType: 'test_license', + terraformGeneratorMetadata: { + providerName: 'test' + }, + provider: config.provider, + dependsOn: config.dependsOn, + count: config.count, + lifecycle: config.lifecycle, + provisioners: config.provisioners, + connection: config.connection, + forEach: config.forEach + }); + this._dummy = config.dummy; + } + + // ========== + // ATTRIBUTES + // ========== + + // dummy - computed: false, optional: true, required: false + private _dummy?: string; + public get dummy() { + return this.getStringAttribute('dummy'); + } + public set dummy(value: string) { + this._dummy = value; + } + public resetDummy() { + this._dummy = undefined; + } + // Temporarily expose input value. Use with caution. + public get dummyInput() { + return this._dummy; + } + + // ========= + // SYNTHESIS + // ========= + + protected synthesizeAttributes(): { [name: string]: any } { + return { + dummy: cdktf.stringToTerraform(this._dummy), + }; + } +} +" +`; + +exports[`incompatible resource names: object-resource 1`] = ` +"// https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/object +// generated from terraform resource schema + +import { Construct } from 'constructs'; +import * as cdktf from 'cdktf'; + +// Configuration + +export interface ObjectResourceConfig extends cdktf.TerraformMetaArguments { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/object#dummy ObjectResource#dummy} + */ + readonly dummy?: string; +} + +/** +* Represents a {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/object test_object} +*/ +export class ObjectResource extends cdktf.TerraformResource { + + // ================= + // STATIC PROPERTIES + // ================= + public static readonly tfResourceType = "test_object"; + + // =========== + // INITIALIZER + // =========== + + /** + * Create a new {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/object test_object} 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 ObjectResourceConfig = {} + */ + public constructor(scope: Construct, id: string, config: ObjectResourceConfig = {}) { + super(scope, id, { + terraformResourceType: 'test_object', + terraformGeneratorMetadata: { + providerName: 'test' + }, + provider: config.provider, + dependsOn: config.dependsOn, + count: config.count, + lifecycle: config.lifecycle, + provisioners: config.provisioners, + connection: config.connection, + forEach: config.forEach + }); + this._dummy = config.dummy; + } + + // ========== + // ATTRIBUTES + // ========== + + // dummy - computed: false, optional: true, required: false + private _dummy?: string; + public get dummy() { + return this.getStringAttribute('dummy'); + } + public set dummy(value: string) { + this._dummy = value; + } + public resetDummy() { + this._dummy = undefined; + } + // Temporarily expose input value. Use with caution. + public get dummyInput() { + return this._dummy; + } + + // ========= + // SYNTHESIS + // ========= + + protected synthesizeAttributes(): { [name: string]: any } { + return { + dummy: cdktf.stringToTerraform(this._dummy), + }; + } +} +" +`; + +exports[`incompatible resource names: provider-resource 1`] = ` +"// https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/provider +// generated from terraform resource schema + +import { Construct } from 'constructs'; +import * as cdktf from 'cdktf'; + +// Configuration + +export interface ProviderResourceConfig extends cdktf.TerraformMetaArguments { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/provider#dummy ProviderResource#dummy} + */ + readonly dummy?: string; +} + +/** +* Represents a {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/provider test_provider} +*/ +export class ProviderResource extends cdktf.TerraformResource { + + // ================= + // STATIC PROPERTIES + // ================= + public static readonly tfResourceType = "test_provider"; + + // =========== + // INITIALIZER + // =========== + + /** + * Create a new {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/provider test_provider} 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 ProviderResourceConfig = {} + */ + public constructor(scope: Construct, id: string, config: ProviderResourceConfig = {}) { + super(scope, id, { + terraformResourceType: 'test_provider', + terraformGeneratorMetadata: { + providerName: 'test' + }, + provider: config.provider, + dependsOn: config.dependsOn, + count: config.count, + lifecycle: config.lifecycle, + provisioners: config.provisioners, + connection: config.connection, + forEach: config.forEach + }); + this._dummy = config.dummy; + } + + // ========== + // ATTRIBUTES + // ========== + + // dummy - computed: false, optional: true, required: false + private _dummy?: string; + public get dummy() { + return this.getStringAttribute('dummy'); + } + public set dummy(value: string) { + this._dummy = value; + } + public resetDummy() { + this._dummy = undefined; + } + // Temporarily expose input value. Use with caution. + public get dummyInput() { + return this._dummy; + } + + // ========= + // SYNTHESIS + // ========= + + protected synthesizeAttributes(): { [name: string]: any } { + return { + dummy: cdktf.stringToTerraform(this._dummy), + }; + } +} +" +`; + +exports[`incompatible resource names: static-resource 1`] = ` +"// https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/static +// generated from terraform resource schema + +import { Construct } from 'constructs'; +import * as cdktf from 'cdktf'; + +// Configuration + +export interface StaticResourceConfig extends cdktf.TerraformMetaArguments { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/static#dummy StaticResource#dummy} + */ + readonly dummy?: string; +} + +/** +* Represents a {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/static test_static} +*/ +export class StaticResource extends cdktf.TerraformResource { + + // ================= + // STATIC PROPERTIES + // ================= + public static readonly tfResourceType = "test_static"; + + // =========== + // INITIALIZER + // =========== + + /** + * Create a new {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/static test_static} 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 StaticResourceConfig = {} + */ + public constructor(scope: Construct, id: string, config: StaticResourceConfig = {}) { + super(scope, id, { + terraformResourceType: 'test_static', + terraformGeneratorMetadata: { + providerName: 'test' + }, + provider: config.provider, + dependsOn: config.dependsOn, + count: config.count, + lifecycle: config.lifecycle, + provisioners: config.provisioners, + connection: config.connection, + forEach: config.forEach + }); + this._dummy = config.dummy; + } + + // ========== + // ATTRIBUTES + // ========== + + // dummy - computed: false, optional: true, required: false + private _dummy?: string; + public get dummy() { + return this.getStringAttribute('dummy'); + } + public set dummy(value: string) { + this._dummy = value; + } + public resetDummy() { + this._dummy = undefined; + } + // Temporarily expose input value. Use with caution. + public get dummyInput() { + return this._dummy; + } + + // ========= + // SYNTHESIS + // ========= + + protected synthesizeAttributes(): { [name: string]: any } { + return { + dummy: cdktf.stringToTerraform(this._dummy), + }; + } +} +" +`; + +exports[`incompatible resource names: string-resource 1`] = ` +"// https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/string +// generated from terraform resource schema + +import { Construct } from 'constructs'; +import * as cdktf from 'cdktf'; + +// Configuration + +export interface StringResourceConfig extends cdktf.TerraformMetaArguments { + /** + * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/string#dummy StringResource#dummy} + */ + readonly dummy?: string; +} + +/** +* Represents a {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/string test_string} +*/ +export class StringResource extends cdktf.TerraformResource { + + // ================= + // STATIC PROPERTIES + // ================= + public static readonly tfResourceType = "test_string"; + + // =========== + // INITIALIZER + // =========== + + /** + * Create a new {@link https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/string test_string} 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 StringResourceConfig = {} + */ + public constructor(scope: Construct, id: string, config: StringResourceConfig = {}) { + super(scope, id, { + terraformResourceType: 'test_string', + terraformGeneratorMetadata: { + providerName: 'test' + }, + provider: config.provider, + dependsOn: config.dependsOn, + count: config.count, + lifecycle: config.lifecycle, + provisioners: config.provisioners, + connection: config.connection, + forEach: config.forEach + }); + this._dummy = config.dummy; + } + + // ========== + // ATTRIBUTES + // ========== + + // dummy - computed: false, optional: true, required: false + private _dummy?: string; + public get dummy() { + return this.getStringAttribute('dummy'); + } + public set dummy(value: string) { + this._dummy = value; + } + public resetDummy() { + this._dummy = undefined; + } + // Temporarily expose input value. Use with caution. + public get dummyInput() { + return this._dummy; + } + + // ========= + // SYNTHESIS + // ========= + + protected synthesizeAttributes(): { [name: string]: any } { + return { + dummy: cdktf.stringToTerraform(this._dummy), + }; + } +} +" +`; + exports[`list of list attributes 1`] = ` "// https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/complex // generated from terraform resource schema diff --git a/packages/@cdktf/provider-generator/lib/get/__tests__/generator/types.test.ts b/packages/@cdktf/provider-generator/lib/get/__tests__/generator/types.test.ts index b1f8194260..19a5e1e0ef 100644 --- a/packages/@cdktf/provider-generator/lib/get/__tests__/generator/types.test.ts +++ b/packages/@cdktf/provider-generator/lib/get/__tests__/generator/types.test.ts @@ -431,6 +431,7 @@ test("incompatible resource names", async () => { await code.save(workdir); const files = fs.readdirSync(path.join(workdir, "providers/test")); + const topLevelFiles = ["index.ts", "lazy-index.ts"]; expect(files).toMatchInlineSnapshot(` [ "function-resource", @@ -450,7 +451,7 @@ test("incompatible resource names", async () => { workdir, "providers/test/", file, - file !== "index.ts" ? "index.ts" : "" + topLevelFiles.includes(file) ? "" : "index.ts" ), "utf-8" );