1. Packages
  2. Packages
  3. Datadog Provider
  4. API Docs
  5. CostCustomForecast
Viewing docs for Datadog v5.9.0
published on Saturday, Jul 25, 2026 by Pulumi
datadog logo
Viewing docs for Datadog v5.9.0
published on Saturday, Jul 25, 2026 by Pulumi

    Provides a Datadog Cost Custom Forecast resource. This resource manages the custom forecast override entries for a datadog.CostBudget. Note: each entry’s (month, tag_filters) combination must correspond to an existing entry on the referenced budget, and the budget must exist before this resource is created.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as datadog from "@pulumi/datadog";
    
    // A budget with two monthly entries for the same tag combination, plus a
    // custom forecast override for the first month. The entry's (month, tag_filters)
    // must match one of the budget's own entries.
    const example = new datadog.CostBudget("example", {
        name: "Engineering Q1 Budget",
        metricsQuery: "sum:aws.cost.amortized{service:ec2} by {service}",
        startMonth: 202601,
        endMonth: 202602,
        entries: [
            {
                amount: 1000,
                month: 202601,
                tagFilters: [{
                    tagKey: "service",
                    tagValue: "ec2",
                }],
            },
            {
                amount: 1200,
                month: 202602,
                tagFilters: [{
                    tagKey: "service",
                    tagValue: "ec2",
                }],
            },
        ],
    });
    const exampleCostCustomForecast = new datadog.CostCustomForecast("example", {
        budgetUid: example.budgetId,
        entries: [{
            amount: 900,
            month: 202601,
            tagFilters: [{
                tagKey: "service",
                tagValue: "ec2",
            }],
        }],
    });
    
    import pulumi
    import pulumi_datadog as datadog
    
    # A budget with two monthly entries for the same tag combination, plus a
    # custom forecast override for the first month. The entry's (month, tag_filters)
    # must match one of the budget's own entries.
    example = datadog.CostBudget("example",
        name="Engineering Q1 Budget",
        metrics_query="sum:aws.cost.amortized{service:ec2} by {service}",
        start_month=202601,
        end_month=202602,
        entries=[
            {
                "amount": float(1000),
                "month": 202601,
                "tag_filters": [{
                    "tag_key": "service",
                    "tag_value": "ec2",
                }],
            },
            {
                "amount": float(1200),
                "month": 202602,
                "tag_filters": [{
                    "tag_key": "service",
                    "tag_value": "ec2",
                }],
            },
        ])
    example_cost_custom_forecast = datadog.CostCustomForecast("example",
        budget_uid=example.budget_id,
        entries=[{
            "amount": float(900),
            "month": 202601,
            "tag_filters": [{
                "tag_key": "service",
                "tag_value": "ec2",
            }],
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-datadog/sdk/v5/go/datadog"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// A budget with two monthly entries for the same tag combination, plus a
    		// custom forecast override for the first month. The entry's (month, tag_filters)
    		// must match one of the budget's own entries.
    		example, err := datadog.NewCostBudget(ctx, "example", &datadog.CostBudgetArgs{
    			Name:         pulumi.String("Engineering Q1 Budget"),
    			MetricsQuery: pulumi.String("sum:aws.cost.amortized{service:ec2} by {service}"),
    			StartMonth:   pulumi.Int(202601),
    			EndMonth:     pulumi.Int(202602),
    			Entries: datadog.CostBudgetEntryArray{
    				&datadog.CostBudgetEntryArgs{
    					Amount: pulumi.Float64(1000),
    					Month:  pulumi.Int(202601),
    					TagFilters: datadog.CostBudgetEntryTagFilterArray{
    						&datadog.CostBudgetEntryTagFilterArgs{
    							TagKey:   pulumi.String("service"),
    							TagValue: pulumi.String("ec2"),
    						},
    					},
    				},
    				&datadog.CostBudgetEntryArgs{
    					Amount: pulumi.Float64(1200),
    					Month:  pulumi.Int(202602),
    					TagFilters: datadog.CostBudgetEntryTagFilterArray{
    						&datadog.CostBudgetEntryTagFilterArgs{
    							TagKey:   pulumi.String("service"),
    							TagValue: pulumi.String("ec2"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = datadog.NewCostCustomForecast(ctx, "example", &datadog.CostCustomForecastArgs{
    			BudgetUid: example.BudgetId,
    			Entries: datadog.CostCustomForecastEntryArray{
    				&datadog.CostCustomForecastEntryArgs{
    					Amount: pulumi.Float64(900),
    					Month:  pulumi.Int(202601),
    					TagFilters: datadog.CostCustomForecastEntryTagFilterArray{
    						&datadog.CostCustomForecastEntryTagFilterArgs{
    							TagKey:   pulumi.String("service"),
    							TagValue: pulumi.String("ec2"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Datadog = Pulumi.Datadog;
    
    return await Deployment.RunAsync(() => 
    {
        // A budget with two monthly entries for the same tag combination, plus a
        // custom forecast override for the first month. The entry's (month, tag_filters)
        // must match one of the budget's own entries.
        var example = new Datadog.CostBudget("example", new()
        {
            Name = "Engineering Q1 Budget",
            MetricsQuery = "sum:aws.cost.amortized{service:ec2} by {service}",
            StartMonth = 202601,
            EndMonth = 202602,
            Entries = new[]
            {
                new Datadog.Inputs.CostBudgetEntryArgs
                {
                    Amount = 1000,
                    Month = 202601,
                    TagFilters = new[]
                    {
                        new Datadog.Inputs.CostBudgetEntryTagFilterArgs
                        {
                            TagKey = "service",
                            TagValue = "ec2",
                        },
                    },
                },
                new Datadog.Inputs.CostBudgetEntryArgs
                {
                    Amount = 1200,
                    Month = 202602,
                    TagFilters = new[]
                    {
                        new Datadog.Inputs.CostBudgetEntryTagFilterArgs
                        {
                            TagKey = "service",
                            TagValue = "ec2",
                        },
                    },
                },
            },
        });
    
        var exampleCostCustomForecast = new Datadog.CostCustomForecast("example", new()
        {
            BudgetUid = example.BudgetId,
            Entries = new[]
            {
                new Datadog.Inputs.CostCustomForecastEntryArgs
                {
                    Amount = 900,
                    Month = 202601,
                    TagFilters = new[]
                    {
                        new Datadog.Inputs.CostCustomForecastEntryTagFilterArgs
                        {
                            TagKey = "service",
                            TagValue = "ec2",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.datadog.CostBudget;
    import com.pulumi.datadog.CostBudgetArgs;
    import com.pulumi.datadog.inputs.CostBudgetEntryArgs;
    import com.pulumi.datadog.inputs.CostBudgetEntryTagFilterArgs;
    import com.pulumi.datadog.CostCustomForecast;
    import com.pulumi.datadog.CostCustomForecastArgs;
    import com.pulumi.datadog.inputs.CostCustomForecastEntryArgs;
    import com.pulumi.datadog.inputs.CostCustomForecastEntryTagFilterArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // A budget with two monthly entries for the same tag combination, plus a
            // custom forecast override for the first month. The entry's (month, tag_filters)
            // must match one of the budget's own entries.
            var example = new CostBudget("example", CostBudgetArgs.builder()
                .name("Engineering Q1 Budget")
                .metricsQuery("sum:aws.cost.amortized{service:ec2} by {service}")
                .startMonth(202601)
                .endMonth(202602)
                .entries(            
                    CostBudgetEntryArgs.builder()
                        .amount(1000.0)
                        .month(202601)
                        .tagFilters(CostBudgetEntryTagFilterArgs.builder()
                            .tagKey("service")
                            .tagValue("ec2")
                            .build())
                        .build(),
                    CostBudgetEntryArgs.builder()
                        .amount(1200.0)
                        .month(202602)
                        .tagFilters(CostBudgetEntryTagFilterArgs.builder()
                            .tagKey("service")
                            .tagValue("ec2")
                            .build())
                        .build())
                .build());
    
            var exampleCostCustomForecast = new CostCustomForecast("exampleCostCustomForecast", CostCustomForecastArgs.builder()
                .budgetUid(example.budgetId())
                .entries(CostCustomForecastEntryArgs.builder()
                    .amount(900.0)
                    .month(202601)
                    .tagFilters(CostCustomForecastEntryTagFilterArgs.builder()
                        .tagKey("service")
                        .tagValue("ec2")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # A budget with two monthly entries for the same tag combination, plus a
      # custom forecast override for the first month. The entry's (month, tag_filters)
      # must match one of the budget's own entries.
      example:
        type: datadog:CostBudget
        properties:
          name: Engineering Q1 Budget
          metricsQuery: sum:aws.cost.amortized{service:ec2} by {service}
          startMonth: 202601
          endMonth: 202602
          entries:
            - amount: 1000
              month: 202601
              tagFilters:
                - tagKey: service
                  tagValue: ec2
            - amount: 1200
              month: 202602
              tagFilters:
                - tagKey: service
                  tagValue: ec2
      exampleCostCustomForecast:
        type: datadog:CostCustomForecast
        name: example
        properties:
          budgetUid: ${example.budgetId}
          entries:
            - amount: 900
              month: 202601
              tagFilters:
                - tagKey: service
                  tagValue: ec2
    
    pulumi {
      required_providers {
        datadog = {
          source = "pulumi/datadog"
        }
      }
    }
    
    # A budget with two monthly entries for the same tag combination, plus a
    # custom forecast override for the first month. The entry's (month, tag_filters)
    # must match one of the budget's own entries.
    resource "datadog_costbudget" "example" {
      name          = "Engineering Q1 Budget"
      metrics_query = "sum:aws.cost.amortized{service:ec2} by {service}"
      start_month   = 202601
      end_month     = 202602
      entries {
        amount = 1000
        month  = 202601
        tag_filters {
          tag_key   = "service"
          tag_value = "ec2"
        }
      }
      entries {
        amount = 1200
        month  = 202602
        tag_filters {
          tag_key   = "service"
          tag_value = "ec2"
        }
      }
    }
    resource "datadog_costcustomforecast" "example" {
      budget_uid = datadog_costbudget.example.budget_id
      entries {
        amount = 900
        month  = 202601
        tag_filters {
          tag_key   = "service"
          tag_value = "ec2"
        }
      }
    }
    

    Create CostCustomForecast Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new CostCustomForecast(name: string, args: CostCustomForecastArgs, opts?: CustomResourceOptions);
    @overload
    def CostCustomForecast(resource_name: str,
                           args: CostCustomForecastArgs,
                           opts: Optional[ResourceOptions] = None)
    
    @overload
    def CostCustomForecast(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           budget_uid: Optional[str] = None,
                           entries: Optional[Sequence[CostCustomForecastEntryArgs]] = None)
    func NewCostCustomForecast(ctx *Context, name string, args CostCustomForecastArgs, opts ...ResourceOption) (*CostCustomForecast, error)
    public CostCustomForecast(string name, CostCustomForecastArgs args, CustomResourceOptions? opts = null)
    public CostCustomForecast(String name, CostCustomForecastArgs args)
    public CostCustomForecast(String name, CostCustomForecastArgs args, CustomResourceOptions options)
    
    type: datadog:CostCustomForecast
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "datadog_cost_custom_forecast" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args CostCustomForecastArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CostCustomForecastArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CostCustomForecastArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CostCustomForecastArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CostCustomForecastArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var costCustomForecastResource = new Datadog.CostCustomForecast("costCustomForecastResource", new()
    {
        BudgetUid = "string",
        Entries = new[]
        {
            new Datadog.Inputs.CostCustomForecastEntryArgs
            {
                Amount = 0,
                Month = 0,
                TagFilters = new[]
                {
                    new Datadog.Inputs.CostCustomForecastEntryTagFilterArgs
                    {
                        TagKey = "string",
                        TagValue = "string",
                    },
                },
            },
        },
    });
    
    example, err := datadog.NewCostCustomForecast(ctx, "costCustomForecastResource", &datadog.CostCustomForecastArgs{
    	BudgetUid: pulumi.String("string"),
    	Entries: datadog.CostCustomForecastEntryArray{
    		&datadog.CostCustomForecastEntryArgs{
    			Amount: pulumi.Float64(0),
    			Month:  pulumi.Int(0),
    			TagFilters: datadog.CostCustomForecastEntryTagFilterArray{
    				&datadog.CostCustomForecastEntryTagFilterArgs{
    					TagKey:   pulumi.String("string"),
    					TagValue: pulumi.String("string"),
    				},
    			},
    		},
    	},
    })
    
    resource "datadog_cost_custom_forecast" "costCustomForecastResource" {
      lifecycle {
        create_before_destroy = true
      }
      budget_uid = "string"
      entries {
        amount = 0
        month  = 0
        tag_filters {
          tag_key   = "string"
          tag_value = "string"
        }
      }
    }
    
    var costCustomForecastResource = new CostCustomForecast("costCustomForecastResource", CostCustomForecastArgs.builder()
        .budgetUid("string")
        .entries(CostCustomForecastEntryArgs.builder()
            .amount(0.0)
            .month(0)
            .tagFilters(CostCustomForecastEntryTagFilterArgs.builder()
                .tagKey("string")
                .tagValue("string")
                .build())
            .build())
        .build());
    
    cost_custom_forecast_resource = datadog.CostCustomForecast("costCustomForecastResource",
        budget_uid="string",
        entries=[{
            "amount": float(0),
            "month": 0,
            "tag_filters": [{
                "tag_key": "string",
                "tag_value": "string",
            }],
        }])
    
    const costCustomForecastResource = new datadog.CostCustomForecast("costCustomForecastResource", {
        budgetUid: "string",
        entries: [{
            amount: 0,
            month: 0,
            tagFilters: [{
                tagKey: "string",
                tagValue: "string",
            }],
        }],
    });
    
    type: datadog:CostCustomForecast
    properties:
        budgetUid: string
        entries:
            - amount: 0
              month: 0
              tagFilters:
                - tagKey: string
                  tagValue: string
    

    CostCustomForecast Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The CostCustomForecast resource accepts the following input properties:

    BudgetUid string
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    Entries List<CostCustomForecastEntry>
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    BudgetUid string
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    Entries []CostCustomForecastEntryArgs
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    budget_uid string
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    entries list(object)
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    budgetUid String
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    entries List<CostCustomForecastEntry>
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    budgetUid string
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    entries CostCustomForecastEntry[]
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    budget_uid str
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    entries Sequence[CostCustomForecastEntryArgs]
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    budgetUid String
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    entries List<Property Map>
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the CostCustomForecast resource produces the following output properties:

    CreatedAt int
    Timestamp the custom forecast was created, in Unix milliseconds.
    CreatedBy string
    The ID of the user that created the custom forecast.
    Id string
    The provider-assigned unique ID for this managed resource.
    UpdatedAt int
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    UpdatedBy string
    The ID of the user that last updated the custom forecast.
    CreatedAt int
    Timestamp the custom forecast was created, in Unix milliseconds.
    CreatedBy string
    The ID of the user that created the custom forecast.
    Id string
    The provider-assigned unique ID for this managed resource.
    UpdatedAt int
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    UpdatedBy string
    The ID of the user that last updated the custom forecast.
    created_at number
    Timestamp the custom forecast was created, in Unix milliseconds.
    created_by string
    The ID of the user that created the custom forecast.
    id string
    The provider-assigned unique ID for this managed resource.
    updated_at number
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updated_by string
    The ID of the user that last updated the custom forecast.
    createdAt Integer
    Timestamp the custom forecast was created, in Unix milliseconds.
    createdBy String
    The ID of the user that created the custom forecast.
    id String
    The provider-assigned unique ID for this managed resource.
    updatedAt Integer
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updatedBy String
    The ID of the user that last updated the custom forecast.
    createdAt number
    Timestamp the custom forecast was created, in Unix milliseconds.
    createdBy string
    The ID of the user that created the custom forecast.
    id string
    The provider-assigned unique ID for this managed resource.
    updatedAt number
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updatedBy string
    The ID of the user that last updated the custom forecast.
    created_at int
    Timestamp the custom forecast was created, in Unix milliseconds.
    created_by str
    The ID of the user that created the custom forecast.
    id str
    The provider-assigned unique ID for this managed resource.
    updated_at int
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updated_by str
    The ID of the user that last updated the custom forecast.
    createdAt Number
    Timestamp the custom forecast was created, in Unix milliseconds.
    createdBy String
    The ID of the user that created the custom forecast.
    id String
    The provider-assigned unique ID for this managed resource.
    updatedAt Number
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updatedBy String
    The ID of the user that last updated the custom forecast.

    Look up Existing CostCustomForecast Resource

    Get an existing CostCustomForecast resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: CostCustomForecastState, opts?: CustomResourceOptions): CostCustomForecast
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            budget_uid: Optional[str] = None,
            created_at: Optional[int] = None,
            created_by: Optional[str] = None,
            entries: Optional[Sequence[CostCustomForecastEntryArgs]] = None,
            updated_at: Optional[int] = None,
            updated_by: Optional[str] = None) -> CostCustomForecast
    func GetCostCustomForecast(ctx *Context, name string, id IDInput, state *CostCustomForecastState, opts ...ResourceOption) (*CostCustomForecast, error)
    public static CostCustomForecast Get(string name, Input<string> id, CostCustomForecastState? state, CustomResourceOptions? opts = null)
    public static CostCustomForecast get(String name, Output<String> id, CostCustomForecastState state, CustomResourceOptions options)
    resources:  _:    type: datadog:CostCustomForecast    get:      id: ${id}
    import {
      to = datadog_cost_custom_forecast.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    BudgetUid string
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    CreatedAt int
    Timestamp the custom forecast was created, in Unix milliseconds.
    CreatedBy string
    The ID of the user that created the custom forecast.
    Entries List<CostCustomForecastEntry>
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    UpdatedAt int
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    UpdatedBy string
    The ID of the user that last updated the custom forecast.
    BudgetUid string
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    CreatedAt int
    Timestamp the custom forecast was created, in Unix milliseconds.
    CreatedBy string
    The ID of the user that created the custom forecast.
    Entries []CostCustomForecastEntryArgs
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    UpdatedAt int
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    UpdatedBy string
    The ID of the user that last updated the custom forecast.
    budget_uid string
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    created_at number
    Timestamp the custom forecast was created, in Unix milliseconds.
    created_by string
    The ID of the user that created the custom forecast.
    entries list(object)
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    updated_at number
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updated_by string
    The ID of the user that last updated the custom forecast.
    budgetUid String
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    createdAt Integer
    Timestamp the custom forecast was created, in Unix milliseconds.
    createdBy String
    The ID of the user that created the custom forecast.
    entries List<CostCustomForecastEntry>
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    updatedAt Integer
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updatedBy String
    The ID of the user that last updated the custom forecast.
    budgetUid string
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    createdAt number
    Timestamp the custom forecast was created, in Unix milliseconds.
    createdBy string
    The ID of the user that created the custom forecast.
    entries CostCustomForecastEntry[]
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    updatedAt number
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updatedBy string
    The ID of the user that last updated the custom forecast.
    budget_uid str
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    created_at int
    Timestamp the custom forecast was created, in Unix milliseconds.
    created_by str
    The ID of the user that created the custom forecast.
    entries Sequence[CostCustomForecastEntryArgs]
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    updated_at int
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updated_by str
    The ID of the user that last updated the custom forecast.
    budgetUid String
    The UUID of the budget that this custom forecast belongs to. Changing this value forces a new resource to be created.
    createdAt Number
    Timestamp the custom forecast was created, in Unix milliseconds.
    createdBy String
    The ID of the user that created the custom forecast.
    entries List<Property Map>
    Monthly custom forecast entries. Each entry overrides the forecast for one (month, tag_filters) combination that must already exist as a budget entry. To remove all custom forecast entries, destroy this resource rather than setting an empty entries set.
    updatedAt Number
    Timestamp the custom forecast was last updated, in Unix milliseconds.
    updatedBy String
    The ID of the user that last updated the custom forecast.

    Supporting Types

    CostCustomForecastEntry, CostCustomForecastEntryArgs

    Amount double
    The forecast override amount for the month. Value must be at least 0.000000.
    Month int
    The month the entry applies to, in YYYYMM format.
    TagFilters List<CostCustomForecastEntryTagFilter>
    Tag filters that scope this entry to a specific budget entry tag combination.
    Amount float64
    The forecast override amount for the month. Value must be at least 0.000000.
    Month int
    The month the entry applies to, in YYYYMM format.
    TagFilters []CostCustomForecastEntryTagFilter
    Tag filters that scope this entry to a specific budget entry tag combination.
    amount number
    The forecast override amount for the month. Value must be at least 0.000000.
    month number
    The month the entry applies to, in YYYYMM format.
    tag_filters list(object)
    Tag filters that scope this entry to a specific budget entry tag combination.
    amount Double
    The forecast override amount for the month. Value must be at least 0.000000.
    month Integer
    The month the entry applies to, in YYYYMM format.
    tagFilters List<CostCustomForecastEntryTagFilter>
    Tag filters that scope this entry to a specific budget entry tag combination.
    amount number
    The forecast override amount for the month. Value must be at least 0.000000.
    month number
    The month the entry applies to, in YYYYMM format.
    tagFilters CostCustomForecastEntryTagFilter[]
    Tag filters that scope this entry to a specific budget entry tag combination.
    amount float
    The forecast override amount for the month. Value must be at least 0.000000.
    month int
    The month the entry applies to, in YYYYMM format.
    tag_filters Sequence[CostCustomForecastEntryTagFilter]
    Tag filters that scope this entry to a specific budget entry tag combination.
    amount Number
    The forecast override amount for the month. Value must be at least 0.000000.
    month Number
    The month the entry applies to, in YYYYMM format.
    tagFilters List<Property Map>
    Tag filters that scope this entry to a specific budget entry tag combination.

    CostCustomForecastEntryTagFilter, CostCustomForecastEntryTagFilterArgs

    TagKey string
    TagValue string
    TagKey string
    TagValue string
    tag_key string
    tag_value string
    tagKey String
    tagValue String
    tagKey string
    tagValue string
    tagKey String
    tagValue String

    Import

    The pulumi import command can be used, for example:

    Cost custom forecasts are imported using the parent budget’s UUID, e.g.

    $ pulumi import datadog:index/costCustomForecast:CostCustomForecast example a1b2c3d4-e5f6-7890-abcd-ef1234567890
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Datadog pulumi/pulumi-datadog
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the datadog Terraform Provider.
    datadog logo
    Viewing docs for Datadog v5.9.0
    published on Saturday, Jul 25, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial