Export budget for a blueprint

GET  /blueprint/{blueprint_id}/budget/{format}

Overview

Export the budget for a blueprint in CSV or XLSX format.

Path Parameters

  • blueprint_id: UUID. Blueprint ID
  • format: String. One of “csv” or “xlsx”.

Optional query parameters

  • currency: String. Currency in ISO_4217 format. Should be one of “USD”, “AUD”, “CHF”, “CKK”, “EUR”, “GBP”, “HKD”, “JPY”, “NOK”, “NZD”, “SEK”, or “ZAR”. Defaults to “USD”.
  • period: String. Period for budget. Should be one of “h” (hourly), “d” (daily), “w” (weekly), “m” (monthly), or “y” (yearly). Defaults to “m”.
  • rate: String. Should be one of “effective” (includes upfront fees) or “stated” (excludes upfront fees). Defaults to “effective”.

응답

OK

Unauthorized

Forbidden, insufficient privileges

Blueprint not found

코드 사례

package main

import (
	"context"
	"log"
	"os"

	"github.com/DataDog/cloudcraft-go"
)

func main() {
	// Get the API key from the environment.
	key, ok := os.LookupEnv("CLOUDCRAFT_API_KEY")
	if !ok {
		log.Fatal("missing env var: CLOUDCRAFT_API_KEY")
	}

	// Check if the command line arguments are correct.
	if len(os.Args) != 2 {
		log.Fatalf("usage: %s <blueprint-id>", os.Args[0])
	}

	// Create new Config to initialize a Client.
	cfg := cloudcraft.NewConfig(key)

	// Create a new Client instance with the given Config.
	client, err := cloudcraft.NewClient(cfg)
	if err != nil {
		log.Fatal(err)
	}

	// Export the blueprint's budget with the given blueprint-id coming from a
	// command line argument.
	budget, _, err := client.Blueprint.ExportBudget(
		context.Background(),
		os.Args[1],
		"csv",
		&cloudcraft.BudgetExportParams{
			Currency: "USD",
			Period:   "month",
			Rate:     "monthly",
		},
	)
	if err != nil {
		log.Fatal(err)
	}

	// Save the budget to a file.
	if err := os.WriteFile("blueprint.csv", budget, 0o600); err != nil {
		log.Fatal(err)
	}
}

PREVIEWING: deforest/fix-security-rule-link
Your Privacy Choices