billing

package
v0.1.0-preview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package billing wraps the platform's multicloud billing endpoints.

Endpoints:

POST /api/v2/tenant/billing/multicloud
POST /api/v2/tenant/billing/optimization (planned)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	T       *transport.Transport
	NodeURL string
}

Client — construct via c.Billing().

func (*Client) Multicloud

func (c *Client) Multicloud(ctx context.Context, in MulticloudInput) (*MulticloudReport, error)

Multicloud retrieves a cost breakdown across all connected providers.

func (*Client) Optimization

func (c *Client) Optimization(ctx context.Context, in OptimizationInput) (*OptimizationReport, error)

Optimization retrieves AI-powered cost-optimization recommendations.

type MulticloudInput

type MulticloudInput struct {
	StartDate string `json:"start_date"` // YYYY-MM-DD
	EndDate   string `json:"end_date"`
}

MulticloudInput requests a cost breakdown across all connected providers for a date range.

type MulticloudReport

type MulticloudReport struct {
	TotalUSD  float64                `json:"total_usd"`
	Breakdown map[string]float64     `json:"breakdown"`
	Period    map[string]string      `json:"period,omitempty"`
	Raw       map[string]interface{} `json:"-"`
}

MulticloudReport is the cost-breakdown response.

type OptimizationInput

type OptimizationInput struct {
	Provider string `json:"provider,omitempty"` // empty = all providers
}

OptimizationInput requests cost-optimization recommendations.

type OptimizationReport

type OptimizationReport struct {
	PotentialSavingsUSD float64                `json:"potential_savings_usd"`
	Recommendations     []Recommendation       `json:"recommendations"`
	Raw                 map[string]interface{} `json:"-"`
}

OptimizationReport aggregates potential savings + recommendations.

type Recommendation

type Recommendation struct {
	Action     string                 `json:"action"` // right-size | shutdown | migrate | …
	Resource   string                 `json:"resource"`
	SavingsUSD float64                `json:"savings_usd,omitempty"`
	Detail     string                 `json:"detail,omitempty"`
	Raw        map[string]interface{} `json:"-"`
}

Recommendation is one cost-saving opportunity.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL