/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface RumMetricConfig extends cdktf.TerraformMetaArguments { /** * The type of RUM events to filter on. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#event_type RumMetric#event_type} */ readonly eventType: string; /** * The name of the RUM-based metric. This field can't be updated after creation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#name RumMetric#name} */ readonly name: string; /** * compute block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#compute RumMetric#compute} */ readonly compute?: RumMetricCompute; /** * filter block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#filter RumMetric#filter} */ readonly filter?: RumMetricFilter; /** * group_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#group_by RumMetric#group_by} */ readonly groupBy?: RumMetricGroupBy[] | cdktf.IResolvable; /** * uniqueness block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#uniqueness RumMetric#uniqueness} */ readonly uniqueness?: RumMetricUniqueness; } export interface RumMetricCompute { /** * The type of aggregation to use. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#aggregation_type RumMetric#aggregation_type} */ readonly aggregationType: string; /** * Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#include_percentiles RumMetric#include_percentiles} */ readonly includePercentiles?: boolean | cdktf.IResolvable; /** * The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#path RumMetric#path} */ readonly path?: string; } export declare function rumMetricComputeToTerraform(struct?: RumMetricCompute | cdktf.IResolvable): any; export declare function rumMetricComputeToHclTerraform(struct?: RumMetricCompute | cdktf.IResolvable): any; export declare class RumMetricComputeOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): RumMetricCompute | cdktf.IResolvable | undefined; set internalValue(value: RumMetricCompute | cdktf.IResolvable | undefined); private _aggregationType?; get aggregationType(): string; set aggregationType(value: string); get aggregationTypeInput(): string | undefined; private _includePercentiles?; get includePercentiles(): boolean | cdktf.IResolvable; set includePercentiles(value: boolean | cdktf.IResolvable); resetIncludePercentiles(): void; get includePercentilesInput(): boolean | cdktf.IResolvable | undefined; private _path?; get path(): string; set path(value: string); resetPath(): void; get pathInput(): string | undefined; } export interface RumMetricFilter { /** * The search query. Follows RUM search syntax. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#query RumMetric#query} */ readonly query?: string; } export declare function rumMetricFilterToTerraform(struct?: RumMetricFilter | cdktf.IResolvable): any; export declare function rumMetricFilterToHclTerraform(struct?: RumMetricFilter | cdktf.IResolvable): any; export declare class RumMetricFilterOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): RumMetricFilter | cdktf.IResolvable | undefined; set internalValue(value: RumMetricFilter | cdktf.IResolvable | undefined); private _query?; get query(): string; set query(value: string); resetQuery(): void; get queryInput(): string | undefined; } export interface RumMetricGroupBy { /** * The path to the value the RUM-based metric will be aggregated over. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#path RumMetric#path} */ readonly path?: string; /** * Name of the tag that gets created. By default, `path` is used as the tag name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#tag_name RumMetric#tag_name} */ readonly tagName?: string; } export declare function rumMetricGroupByToTerraform(struct?: RumMetricGroupBy | cdktf.IResolvable): any; export declare function rumMetricGroupByToHclTerraform(struct?: RumMetricGroupBy | cdktf.IResolvable): any; export declare class RumMetricGroupByOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): RumMetricGroupBy | cdktf.IResolvable | undefined; set internalValue(value: RumMetricGroupBy | cdktf.IResolvable | undefined); private _path?; get path(): string; set path(value: string); resetPath(): void; get pathInput(): string | undefined; private _tagName?; get tagName(): string; set tagName(value: string); resetTagName(): void; get tagNameInput(): string | undefined; } export declare class RumMetricGroupByList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: RumMetricGroupBy[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): RumMetricGroupByOutputReference; } export interface RumMetricUniqueness { /** * When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#when RumMetric#when} */ readonly when?: string; } export declare function rumMetricUniquenessToTerraform(struct?: RumMetricUniqueness | cdktf.IResolvable): any; export declare function rumMetricUniquenessToHclTerraform(struct?: RumMetricUniqueness | cdktf.IResolvable): any; export declare class RumMetricUniquenessOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): RumMetricUniqueness | cdktf.IResolvable | undefined; set internalValue(value: RumMetricUniqueness | cdktf.IResolvable | undefined); private _when?; get when(): string; set when(value: string); resetWhen(): void; get whenInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric datadog_rum_metric} */ export declare class RumMetric extends cdktf.TerraformResource { static readonly tfResourceType = "datadog_rum_metric"; /** * Generates CDKTF code for importing a RumMetric resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the RumMetric to import * @param importFromId The id of the existing RumMetric that should be imported. Refer to the {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the RumMetric to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/resources/rum_metric datadog_rum_metric} 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 RumMetricConfig */ constructor(scope: Construct, id: string, config: RumMetricConfig); private _eventType?; get eventType(): string; set eventType(value: string); get eventTypeInput(): string | undefined; get id(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _compute; get compute(): RumMetricComputeOutputReference; putCompute(value: RumMetricCompute): void; resetCompute(): void; get computeInput(): cdktf.IResolvable | RumMetricCompute | undefined; private _filter; get filter(): RumMetricFilterOutputReference; putFilter(value: RumMetricFilter): void; resetFilter(): void; get filterInput(): cdktf.IResolvable | RumMetricFilter | undefined; private _groupBy; get groupBy(): RumMetricGroupByList; putGroupBy(value: RumMetricGroupBy[] | cdktf.IResolvable): void; resetGroupBy(): void; get groupByInput(): cdktf.IResolvable | RumMetricGroupBy[] | undefined; private _uniqueness; get uniqueness(): RumMetricUniquenessOutputReference; putUniqueness(value: RumMetricUniqueness): void; resetUniqueness(): void; get uniquenessInput(): cdktf.IResolvable | RumMetricUniqueness | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }