/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataDatadogCustomAllocationRuleConfig extends cdktf.TerraformMetaArguments { /** * The ID of the custom allocation rule to retrieve. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#rule_id DataDatadogCustomAllocationRule#rule_id} */ readonly ruleId?: number; /** * costs_to_allocate block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#costs_to_allocate DataDatadogCustomAllocationRule#costs_to_allocate} */ readonly costsToAllocate?: DataDatadogCustomAllocationRuleCostsToAllocate[] | cdktf.IResolvable; /** * strategy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#strategy DataDatadogCustomAllocationRule#strategy} */ readonly strategy?: DataDatadogCustomAllocationRuleStrategy; } export interface DataDatadogCustomAllocationRuleCostsToAllocate { } export declare function dataDatadogCustomAllocationRuleCostsToAllocateToTerraform(struct?: DataDatadogCustomAllocationRuleCostsToAllocate | cdktf.IResolvable): any; export declare function dataDatadogCustomAllocationRuleCostsToAllocateToHclTerraform(struct?: DataDatadogCustomAllocationRuleCostsToAllocate | cdktf.IResolvable): any; export declare class DataDatadogCustomAllocationRuleCostsToAllocateOutputReference 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(): DataDatadogCustomAllocationRuleCostsToAllocate | cdktf.IResolvable | undefined; set internalValue(value: DataDatadogCustomAllocationRuleCostsToAllocate | cdktf.IResolvable | undefined); get condition(): string; get tag(): string; get value(): string; get values(): string[]; } export declare class DataDatadogCustomAllocationRuleCostsToAllocateList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataDatadogCustomAllocationRuleCostsToAllocate[] | 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): DataDatadogCustomAllocationRuleCostsToAllocateOutputReference; } export interface DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTags { } export declare function dataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTagsToTerraform(struct?: DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTags | cdktf.IResolvable): any; export declare function dataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTagsToHclTerraform(struct?: DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTags | cdktf.IResolvable): any; export declare class DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTagsOutputReference 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(): DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTags | cdktf.IResolvable | undefined; set internalValue(value: DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTags | cdktf.IResolvable | undefined); get key(): string; get value(): string; } export declare class DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTagsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTags[] | 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): DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTagsOutputReference; } export interface DataDatadogCustomAllocationRuleStrategyAllocatedBy { /** * allocated_tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#allocated_tags DataDatadogCustomAllocationRule#allocated_tags} */ readonly allocatedTags?: DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTags[] | cdktf.IResolvable; } export declare function dataDatadogCustomAllocationRuleStrategyAllocatedByToTerraform(struct?: DataDatadogCustomAllocationRuleStrategyAllocatedBy | cdktf.IResolvable): any; export declare function dataDatadogCustomAllocationRuleStrategyAllocatedByToHclTerraform(struct?: DataDatadogCustomAllocationRuleStrategyAllocatedBy | cdktf.IResolvable): any; export declare class DataDatadogCustomAllocationRuleStrategyAllocatedByOutputReference 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(): DataDatadogCustomAllocationRuleStrategyAllocatedBy | cdktf.IResolvable | undefined; set internalValue(value: DataDatadogCustomAllocationRuleStrategyAllocatedBy | cdktf.IResolvable | undefined); get percentage(): number; private _allocatedTags; get allocatedTags(): DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTagsList; putAllocatedTags(value: DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTags[] | cdktf.IResolvable): void; resetAllocatedTags(): void; get allocatedTagsInput(): cdktf.IResolvable | DataDatadogCustomAllocationRuleStrategyAllocatedByAllocatedTags[] | undefined; } export declare class DataDatadogCustomAllocationRuleStrategyAllocatedByList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataDatadogCustomAllocationRuleStrategyAllocatedBy[] | 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): DataDatadogCustomAllocationRuleStrategyAllocatedByOutputReference; } export interface DataDatadogCustomAllocationRuleStrategyAllocatedByFilters { } export declare function dataDatadogCustomAllocationRuleStrategyAllocatedByFiltersToTerraform(struct?: DataDatadogCustomAllocationRuleStrategyAllocatedByFilters | cdktf.IResolvable): any; export declare function dataDatadogCustomAllocationRuleStrategyAllocatedByFiltersToHclTerraform(struct?: DataDatadogCustomAllocationRuleStrategyAllocatedByFilters | cdktf.IResolvable): any; export declare class DataDatadogCustomAllocationRuleStrategyAllocatedByFiltersOutputReference 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(): DataDatadogCustomAllocationRuleStrategyAllocatedByFilters | cdktf.IResolvable | undefined; set internalValue(value: DataDatadogCustomAllocationRuleStrategyAllocatedByFilters | cdktf.IResolvable | undefined); get condition(): string; get tag(): string; get value(): string; get values(): string[]; } export declare class DataDatadogCustomAllocationRuleStrategyAllocatedByFiltersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataDatadogCustomAllocationRuleStrategyAllocatedByFilters[] | 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): DataDatadogCustomAllocationRuleStrategyAllocatedByFiltersOutputReference; } export interface DataDatadogCustomAllocationRuleStrategyBasedOnCosts { } export declare function dataDatadogCustomAllocationRuleStrategyBasedOnCostsToTerraform(struct?: DataDatadogCustomAllocationRuleStrategyBasedOnCosts | cdktf.IResolvable): any; export declare function dataDatadogCustomAllocationRuleStrategyBasedOnCostsToHclTerraform(struct?: DataDatadogCustomAllocationRuleStrategyBasedOnCosts | cdktf.IResolvable): any; export declare class DataDatadogCustomAllocationRuleStrategyBasedOnCostsOutputReference 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(): DataDatadogCustomAllocationRuleStrategyBasedOnCosts | cdktf.IResolvable | undefined; set internalValue(value: DataDatadogCustomAllocationRuleStrategyBasedOnCosts | cdktf.IResolvable | undefined); get condition(): string; get tag(): string; get value(): string; get values(): string[]; } export declare class DataDatadogCustomAllocationRuleStrategyBasedOnCostsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataDatadogCustomAllocationRuleStrategyBasedOnCosts[] | 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): DataDatadogCustomAllocationRuleStrategyBasedOnCostsOutputReference; } export interface DataDatadogCustomAllocationRuleStrategyBasedOnTimeseries { } export declare function dataDatadogCustomAllocationRuleStrategyBasedOnTimeseriesToTerraform(struct?: DataDatadogCustomAllocationRuleStrategyBasedOnTimeseries | cdktf.IResolvable): any; export declare function dataDatadogCustomAllocationRuleStrategyBasedOnTimeseriesToHclTerraform(struct?: DataDatadogCustomAllocationRuleStrategyBasedOnTimeseries | cdktf.IResolvable): any; export declare class DataDatadogCustomAllocationRuleStrategyBasedOnTimeseriesOutputReference 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(): DataDatadogCustomAllocationRuleStrategyBasedOnTimeseries | cdktf.IResolvable | undefined; set internalValue(value: DataDatadogCustomAllocationRuleStrategyBasedOnTimeseries | cdktf.IResolvable | undefined); } export interface DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFilters { } export declare function dataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFiltersToTerraform(struct?: DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFilters | cdktf.IResolvable): any; export declare function dataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFiltersToHclTerraform(struct?: DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFilters | cdktf.IResolvable): any; export declare class DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFiltersOutputReference 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(): DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFilters | cdktf.IResolvable | undefined; set internalValue(value: DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFilters | cdktf.IResolvable | undefined); get condition(): string; get tag(): string; get value(): string; get values(): string[]; } export declare class DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFiltersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFilters[] | 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): DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFiltersOutputReference; } export interface DataDatadogCustomAllocationRuleStrategy { /** * allocated_by block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#allocated_by DataDatadogCustomAllocationRule#allocated_by} */ readonly allocatedBy?: DataDatadogCustomAllocationRuleStrategyAllocatedBy[] | cdktf.IResolvable; /** * allocated_by_filters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#allocated_by_filters DataDatadogCustomAllocationRule#allocated_by_filters} */ readonly allocatedByFilters?: DataDatadogCustomAllocationRuleStrategyAllocatedByFilters[] | cdktf.IResolvable; /** * based_on_costs block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#based_on_costs DataDatadogCustomAllocationRule#based_on_costs} */ readonly basedOnCosts?: DataDatadogCustomAllocationRuleStrategyBasedOnCosts[] | cdktf.IResolvable; /** * based_on_timeseries block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#based_on_timeseries DataDatadogCustomAllocationRule#based_on_timeseries} */ readonly basedOnTimeseries?: DataDatadogCustomAllocationRuleStrategyBasedOnTimeseries; /** * evaluate_grouped_by_filters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#evaluate_grouped_by_filters DataDatadogCustomAllocationRule#evaluate_grouped_by_filters} */ readonly evaluateGroupedByFilters?: DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFilters[] | cdktf.IResolvable; } export declare function dataDatadogCustomAllocationRuleStrategyToTerraform(struct?: DataDatadogCustomAllocationRuleStrategy | cdktf.IResolvable): any; export declare function dataDatadogCustomAllocationRuleStrategyToHclTerraform(struct?: DataDatadogCustomAllocationRuleStrategy | cdktf.IResolvable): any; export declare class DataDatadogCustomAllocationRuleStrategyOutputReference 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(): DataDatadogCustomAllocationRuleStrategy | cdktf.IResolvable | undefined; set internalValue(value: DataDatadogCustomAllocationRuleStrategy | cdktf.IResolvable | undefined); get allocatedByTagKeys(): string[]; get evaluateGroupedByTagKeys(): string[]; get granularity(): string; get method(): string; private _allocatedBy; get allocatedBy(): DataDatadogCustomAllocationRuleStrategyAllocatedByList; putAllocatedBy(value: DataDatadogCustomAllocationRuleStrategyAllocatedBy[] | cdktf.IResolvable): void; resetAllocatedBy(): void; get allocatedByInput(): cdktf.IResolvable | DataDatadogCustomAllocationRuleStrategyAllocatedBy[] | undefined; private _allocatedByFilters; get allocatedByFilters(): DataDatadogCustomAllocationRuleStrategyAllocatedByFiltersList; putAllocatedByFilters(value: DataDatadogCustomAllocationRuleStrategyAllocatedByFilters[] | cdktf.IResolvable): void; resetAllocatedByFilters(): void; get allocatedByFiltersInput(): cdktf.IResolvable | DataDatadogCustomAllocationRuleStrategyAllocatedByFilters[] | undefined; private _basedOnCosts; get basedOnCosts(): DataDatadogCustomAllocationRuleStrategyBasedOnCostsList; putBasedOnCosts(value: DataDatadogCustomAllocationRuleStrategyBasedOnCosts[] | cdktf.IResolvable): void; resetBasedOnCosts(): void; get basedOnCostsInput(): cdktf.IResolvable | DataDatadogCustomAllocationRuleStrategyBasedOnCosts[] | undefined; private _basedOnTimeseries; get basedOnTimeseries(): DataDatadogCustomAllocationRuleStrategyBasedOnTimeseriesOutputReference; putBasedOnTimeseries(value: DataDatadogCustomAllocationRuleStrategyBasedOnTimeseries): void; get basedOnTimeseriesInput(): cdktf.IResolvable | DataDatadogCustomAllocationRuleStrategyBasedOnTimeseries | undefined; private _evaluateGroupedByFilters; get evaluateGroupedByFilters(): DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFiltersList; putEvaluateGroupedByFilters(value: DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFilters[] | cdktf.IResolvable): void; resetEvaluateGroupedByFilters(): void; get evaluateGroupedByFiltersInput(): cdktf.IResolvable | DataDatadogCustomAllocationRuleStrategyEvaluateGroupedByFilters[] | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule datadog_custom_allocation_rule} */ export declare class DataDatadogCustomAllocationRule extends cdktf.TerraformDataSource { static readonly tfResourceType = "datadog_custom_allocation_rule"; /** * Generates CDKTF code for importing a DataDatadogCustomAllocationRule 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 DataDatadogCustomAllocationRule to import * @param importFromId The id of the existing DataDatadogCustomAllocationRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/datadog/datadog/3.82.0/docs/data-sources/custom_allocation_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataDatadogCustomAllocationRule 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/data-sources/custom_allocation_rule datadog_custom_allocation_rule} Data Source * * @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 DataDatadogCustomAllocationRuleConfig = {} */ constructor(scope: Construct, id: string, config?: DataDatadogCustomAllocationRuleConfig); get created(): string; get enabled(): cdktf.IResolvable; get id(): string; get lastModifiedUserUuid(): string; get orderId(): number; get providernames(): string[]; get rejected(): cdktf.IResolvable; private _ruleId?; get ruleId(): number; set ruleId(value: number); resetRuleId(): void; get ruleIdInput(): number | undefined; get ruleName(): string; get type(): string; get updated(): string; get version(): string; private _costsToAllocate; get costsToAllocate(): DataDatadogCustomAllocationRuleCostsToAllocateList; putCostsToAllocate(value: DataDatadogCustomAllocationRuleCostsToAllocate[] | cdktf.IResolvable): void; resetCostsToAllocate(): void; get costsToAllocateInput(): cdktf.IResolvable | DataDatadogCustomAllocationRuleCostsToAllocate[] | undefined; private _strategy; get strategy(): DataDatadogCustomAllocationRuleStrategyOutputReference; putStrategy(value: DataDatadogCustomAllocationRuleStrategy): void; resetStrategy(): void; get strategyInput(): cdktf.IResolvable | DataDatadogCustomAllocationRuleStrategy | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }