costs

package
v1.20.1 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package costs provides primitives to interact with the openapi HTTP API.

Code generated by dev.azure.com/schwarzit/schwarzit.odj.core/_git/stackit-client-generator.git version v1.0.23 DO NOT EDIT.

Index

Constants

View Source
const (
	BearerAuthScopes = "bearerAuth.Scopes"
)

Variables

View Source
var BaseURLs = env.URLs(
	"costs",
	"https://api.stackit.cloud/costs-service/v2/",
	"https://api-qa.stackit.cloud/costs-service/v2/",
	"https://api-dev.stackit.cloud/costs-service/v2/",
)

Functions

func NewGetCostsForAllProjectsInAllSubCustomerAccountsRequest

func NewGetCostsForAllProjectsInAllSubCustomerAccountsRequest(ctx context.Context, server string, customerAccountId openapiTypes.UUID, params *GetCostsForAllProjectsInAllSubCustomerAccountsParams) (*http.Request, error)

NewGetCostsForAllProjectsInAllSubCustomerAccountsRequest generates requests for GetCostsForAllProjectsInAllSubCustomerAccounts

func NewGetCostsForAllProjectsInCustomerAccountRequest

func NewGetCostsForAllProjectsInCustomerAccountRequest(ctx context.Context, server string, customerAccountId openapiTypes.UUID, params *GetCostsForAllProjectsInCustomerAccountParams) (*http.Request, error)

NewGetCostsForAllProjectsInCustomerAccountRequest generates requests for GetCostsForAllProjectsInCustomerAccount

func NewGetForecastCustomerAccountRequest

func NewGetForecastCustomerAccountRequest(ctx context.Context, server string, customerAccountId openapiTypes.UUID, params *GetForecastCustomerAccountParams) (*http.Request, error)

NewGetForecastCustomerAccountRequest generates requests for GetForecastCustomerAccount

func NewGetProjectCostsRequest

func NewGetProjectCostsRequest(ctx context.Context, server string, customerAccountId openapiTypes.UUID, projectId openapiTypes.UUID, params *GetProjectCostsParams) (*http.Request, error)

NewGetProjectCostsRequest generates requests for GetProjectCosts

Types

type Client

type Client struct {
	// The endpoint of the server conforming to this interface, with scheme,
	// https://api.deepmap.com for example. This can contain a path relative
	// to the server, such as https://api.deepmap.com/dev-test, and all the
	// paths in the swagger spec will be appended to the server.
	Server string

	// Doer for performing requests, typically a *http.Client with any
	// customized settings, such as certificate chains.
	Client contracts.BaseClientInterface

	// A list of callbacks for modifying requests which are generated before sending over
	// the network.
	RequestEditors []RequestEditorFn
}

Client which conforms to the OpenAPI3 specification for this service.

func NewRawClient

func NewRawClient(server string, opts ...ClientOption) (*Client, error)

NewRawClient creates a new Client, with reasonable defaults

func (*Client) GetCostsForAllProjectsInAllSubCustomerAccountsRaw

func (c *Client) GetCostsForAllProjectsInAllSubCustomerAccountsRaw(ctx context.Context, customerAccountId openapiTypes.UUID, params *GetCostsForAllProjectsInAllSubCustomerAccountsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetCostsForAllProjectsInCustomerAccountRaw

func (c *Client) GetCostsForAllProjectsInCustomerAccountRaw(ctx context.Context, customerAccountId openapiTypes.UUID, params *GetCostsForAllProjectsInCustomerAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetForecastCustomerAccountRaw

func (c *Client) GetForecastCustomerAccountRaw(ctx context.Context, customerAccountId openapiTypes.UUID, params *GetForecastCustomerAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetProjectCostsRaw

func (c *Client) GetProjectCostsRaw(ctx context.Context, customerAccountId openapiTypes.UUID, projectId openapiTypes.UUID, params *GetProjectCostsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

type ClientOption

type ClientOption func(*Client) error

ClientOption allows setting custom parameters during construction

func WithBaseURL

func WithBaseURL(baseURL string) ClientOption

WithBaseURL overrides the baseURL.

func WithHTTPClient

func WithHTTPClient(doer contracts.BaseClientInterface) ClientOption

WithHTTPClient allows overriding the default Doer, which is automatically created using http.Client. This is useful for tests.

func WithRequestEditorFn

func WithRequestEditorFn(fn RequestEditorFn) ClientOption

WithRequestEditorFn allows setting up a callback function, which will be called right before sending the request. This can be used to mutate the request.

type ClientWithResponses

type ClientWithResponses struct {
	// contains filtered or unexported fields
}

ClientWithResponses builds on ClientInterface to offer response payloads

func NewClient

func NewClient(server string, opts ...ClientOption) (*ClientWithResponses, error)

NewClient creates a new ClientWithResponses, which wraps Client with return type handling

func (*ClientWithResponses) GetCostsForAllProjectsInAllSubCustomerAccounts

func (c *ClientWithResponses) GetCostsForAllProjectsInAllSubCustomerAccounts(ctx context.Context, customerAccountId openapiTypes.UUID, params *GetCostsForAllProjectsInAllSubCustomerAccountsParams, reqEditors ...RequestEditorFn) (*GetCostsForAllProjectsInAllSubCustomerAccountsResponse, error)

GetCostsForAllProjectsInAllSubCustomerAccounts request returning *GetCostsForAllProjectsInAllSubCustomerAccountsResponse

func (*ClientWithResponses) GetCostsForAllProjectsInCustomerAccount

func (c *ClientWithResponses) GetCostsForAllProjectsInCustomerAccount(ctx context.Context, customerAccountId openapiTypes.UUID, params *GetCostsForAllProjectsInCustomerAccountParams, reqEditors ...RequestEditorFn) (*GetCostsForAllProjectsInCustomerAccountResponse, error)

GetCostsForAllProjectsInCustomerAccount request returning *GetCostsForAllProjectsInCustomerAccountResponse

func (*ClientWithResponses) GetForecastCustomerAccount

func (c *ClientWithResponses) GetForecastCustomerAccount(ctx context.Context, customerAccountId openapiTypes.UUID, params *GetForecastCustomerAccountParams, reqEditors ...RequestEditorFn) (*GetForecastCustomerAccountResponse, error)

GetForecastCustomerAccount request returning *GetForecastCustomerAccountResponse

func (*ClientWithResponses) GetProjectCosts

func (c *ClientWithResponses) GetProjectCosts(ctx context.Context, customerAccountId openapiTypes.UUID, projectId openapiTypes.UUID, params *GetProjectCostsParams, reqEditors ...RequestEditorFn) (*GetProjectCostsResponse, error)

GetProjectCosts request returning *GetProjectCostsResponse

func (*ClientWithResponses) ParseGetCostsForAllProjectsInAllSubCustomerAccountsResponse

func (c *ClientWithResponses) ParseGetCostsForAllProjectsInAllSubCustomerAccountsResponse(rsp *http.Response) (*GetCostsForAllProjectsInAllSubCustomerAccountsResponse, error)

ParseGetCostsForAllProjectsInAllSubCustomerAccountsResponse parses an HTTP response from a GetCostsForAllProjectsInAllSubCustomerAccounts call

func (*ClientWithResponses) ParseGetCostsForAllProjectsInCustomerAccountResponse

func (c *ClientWithResponses) ParseGetCostsForAllProjectsInCustomerAccountResponse(rsp *http.Response) (*GetCostsForAllProjectsInCustomerAccountResponse, error)

ParseGetCostsForAllProjectsInCustomerAccountResponse parses an HTTP response from a GetCostsForAllProjectsInCustomerAccount call

func (*ClientWithResponses) ParseGetForecastCustomerAccountResponse

func (c *ClientWithResponses) ParseGetForecastCustomerAccountResponse(rsp *http.Response) (*GetForecastCustomerAccountResponse, error)

ParseGetForecastCustomerAccountResponse parses an HTTP response from a GetForecastCustomerAccount call

func (*ClientWithResponses) ParseGetProjectCostsResponse

func (c *ClientWithResponses) ParseGetProjectCostsResponse(rsp *http.Response) (*GetProjectCostsResponse, error)

ParseGetProjectCostsResponse parses an HTTP response from a GetProjectCosts call

type ClientWithResponsesInterface

type ClientWithResponsesInterface interface {
	// GetCostsForAllProjectsInCustomerAccount request
	GetCostsForAllProjectsInCustomerAccount(ctx context.Context, customerAccountId openapiTypes.UUID, params *GetCostsForAllProjectsInCustomerAccountParams, reqEditors ...RequestEditorFn) (*GetCostsForAllProjectsInCustomerAccountResponse, error)

	// GetCostsForAllProjectsInAllSubCustomerAccounts request
	GetCostsForAllProjectsInAllSubCustomerAccounts(ctx context.Context, customerAccountId openapiTypes.UUID, params *GetCostsForAllProjectsInAllSubCustomerAccountsParams, reqEditors ...RequestEditorFn) (*GetCostsForAllProjectsInAllSubCustomerAccountsResponse, error)

	// GetProjectCosts request
	GetProjectCosts(ctx context.Context, customerAccountId openapiTypes.UUID, projectId openapiTypes.UUID, params *GetProjectCostsParams, reqEditors ...RequestEditorFn) (*GetProjectCostsResponse, error)

	// GetForecastCustomerAccount request
	GetForecastCustomerAccount(ctx context.Context, customerAccountId openapiTypes.UUID, params *GetForecastCustomerAccountParams, reqEditors ...RequestEditorFn) (*GetForecastCustomerAccountResponse, error)
}

ClientWithResponsesInterface is the interface specification for the client with responses above.

type GetCostsForAllProjectsInAllSubCustomerAccountsParams

type GetCostsForAllProjectsInAllSubCustomerAccountsParams struct {
	// From Start date (including)
	From openapiTypes.Date `form:"from" json:"from"`

	// To End date (including)
	To openapiTypes.Date `form:"to" json:"to"`

	// Depth Depth of desired cost information. "project" provides costs grouped by project, without services. "service" provides costs separated on service level.
	Depth *GetCostsForAllProjectsInAllSubCustomerAccountsParamsDepth `form:"depth,omitempty" json:"depth,omitempty"`

	// Granularity Define granularity of costs – Default is "none" which does NOT include detailed report data.
	//
	// If "monthly", "weekly" or "yearly" is requested, the "from" parameter SHOULD be the first day and the "to" parameter SHOULD be the last day of that time period.
	// If not, they are normalized accordingly.
	//
	// If "daily" is requested, the date range defined by "from" and "to" MUST NOT be longer than 92 days.
	Granularity *GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity `form:"granularity,omitempty" json:"granularity,omitempty"`

	// IncludeZeroCosts Whether costs of 0 should be included in the response
	IncludeZeroCosts *bool `form:"includeZeroCosts,omitempty" json:"includeZeroCosts,omitempty"`

	// Accept Desired content type
	Accept *GetCostsForAllProjectsInAllSubCustomerAccountsParamsAccept `json:"Accept,omitempty"`
}

GetCostsForAllProjectsInAllSubCustomerAccountsParams defines parameters for GetCostsForAllProjectsInAllSubCustomerAccounts.

type GetCostsForAllProjectsInAllSubCustomerAccountsParamsAccept

type GetCostsForAllProjectsInAllSubCustomerAccountsParamsAccept string

GetCostsForAllProjectsInAllSubCustomerAccountsParamsAccept defines parameters for GetCostsForAllProjectsInAllSubCustomerAccounts.

const (
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_ACCEPT_APPLICATION_JSON GetCostsForAllProjectsInAllSubCustomerAccountsParamsAccept = "application/json"
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_ACCEPT_TEXT_CSV         GetCostsForAllProjectsInAllSubCustomerAccountsParamsAccept = "text/csv"
)

Defines values for GetCostsForAllProjectsInAllSubCustomerAccountsParamsAccept.

type GetCostsForAllProjectsInAllSubCustomerAccountsParamsDepth

type GetCostsForAllProjectsInAllSubCustomerAccountsParamsDepth string

GetCostsForAllProjectsInAllSubCustomerAccountsParamsDepth defines parameters for GetCostsForAllProjectsInAllSubCustomerAccounts.

const (
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_DEPTH_AUTO    GetCostsForAllProjectsInAllSubCustomerAccountsParamsDepth = "auto"
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_DEPTH_PROJECT GetCostsForAllProjectsInAllSubCustomerAccountsParamsDepth = "project"
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_DEPTH_SERVICE GetCostsForAllProjectsInAllSubCustomerAccountsParamsDepth = "service"
)

Defines values for GetCostsForAllProjectsInAllSubCustomerAccountsParamsDepth.

type GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity

type GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity string

GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity defines parameters for GetCostsForAllProjectsInAllSubCustomerAccounts.

const (
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_GRANULARITY_DAILY   GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity = "daily"
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_GRANULARITY_MONTHLY GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity = "monthly"
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_GRANULARITY_NONE    GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity = "none"
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_GRANULARITY_WEEKLY  GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity = "weekly"
	GET_COSTS_FOR_ALL_PROJECTS_IN_ALL_SUB_CUSTOMER_ACCOUNTS_PARAMS_GRANULARITY_YEARLY  GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity = "yearly"
)

Defines values for GetCostsForAllProjectsInAllSubCustomerAccountsParamsGranularity.

type GetCostsForAllProjectsInAllSubCustomerAccountsResponse

type GetCostsForAllProjectsInAllSubCustomerAccountsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *struct {
		CustomerAccountID *openapiTypes.UUID `json:"customerAccountId,omitempty"`
		Customers         *[]struct {
			CustomerAccountID *openapiTypes.UUID `json:"customerAccountId,omitempty"`
			Projects          *[]struct {
				ProjectID   openapiTypes.UUID `json:"projectId"`
				ProjectName string            `json:"projectName"`

				// ReportData Detailed project costs which are ONLY included if granularity is provided AND depth is "project"
				ReportData *[]struct {
					// Charge Charge, value in cents
					Charge float64 `json:"charge"`

					// Discount Discount, value in cents
					Discount float64 `json:"discount"`

					// Quantity Quantity
					Quantity int32 `json:"quantity"`

					// TimePeriod Time period according to desired granularity
					TimePeriod struct {
						End   *openapiTypes.Date `json:"end,omitempty"`
						Start *openapiTypes.Date `json:"start,omitempty"`
					} `json:"timePeriod"`
				} `json:"reportData,omitempty"`

				// Services Total discount for all services and the whole requested date range (value in cents). Please see "depth" parameter for more details.
				Services *[]struct {
					// ReportData Detailed service costs which are ONLY included if granularity is provided
					ReportData *[]struct {
						// Charge Charge, value in cents
						Charge float64 `json:"charge"`

						// Discount Discount, value in cents
						Discount float64 `json:"discount"`

						// Quantity Quantity
						Quantity int32 `json:"quantity"`

						// TimePeriod Time period according to desired granularity
						TimePeriod struct {
							End   *openapiTypes.Date `json:"end,omitempty"`
							Start *openapiTypes.Date `json:"start,omitempty"`
						} `json:"timePeriod"`
					} `json:"reportData,omitempty"`

					// ServiceCategoryName Service category name
					ServiceCategoryName string `json:"serviceCategoryName"`

					// ServiceName Name of the service
					ServiceName string `json:"serviceName"`

					// Sku Service key
					Sku string `json:"sku"`

					// TotalCharge Total charge for the whole requested date range (value in cents)
					TotalCharge float64 `json:"totalCharge"`

					// TotalDiscount Total discount for the whole requested date range (value in cents)
					TotalDiscount float64 `json:"totalDiscount"`

					// TotalQuantity Total quantity
					TotalQuantity int32 `json:"totalQuantity"`

					// UnitLabel Label for unit
					UnitLabel string `json:"unitLabel"`
				} `json:"services,omitempty"`

				// TotalCharge Total charge for all services and the whole requested date range (value in cents)
				TotalCharge float64 `json:"totalCharge"`

				// TotalDiscount Total discount for all services and the whole requested date range (value in cents)
				TotalDiscount float64 `json:"totalDiscount"`
			} `json:"projects,omitempty"`
		} `json:"customers,omitempty"`
	}
	JSONDefault *struct {
		Code    string  `json:"code"`
		Message *string `json:"message,omitempty"`
	}
	Error error // Aggregated error
}

func (GetCostsForAllProjectsInAllSubCustomerAccountsResponse) Status

Status returns HTTPResponse.Status

func (GetCostsForAllProjectsInAllSubCustomerAccountsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetCostsForAllProjectsInCustomerAccountParams

type GetCostsForAllProjectsInCustomerAccountParams struct {
	// From Start date (including)
	From openapiTypes.Date `form:"from" json:"from"`

	// To End date (including)
	To openapiTypes.Date `form:"to" json:"to"`

	// Depth Depth of desired cost information. "project" provides costs grouped by project, without services. "service" provides costs separated on service level.
	Depth *GetCostsForAllProjectsInCustomerAccountParamsDepth `form:"depth,omitempty" json:"depth,omitempty"`

	// Granularity Define granularity of costs – Default is "none" which does NOT include detailed report data.
	//
	// If "monthly", "weekly" or "yearly" is requested, the "from" parameter SHOULD be the first day and the "to" parameter SHOULD be the last day of that time period.
	// If not, they are normalized accordingly.
	//
	// If "daily" is requested, the date range defined by "from" and "to" MUST NOT be longer than 92 days.
	Granularity *GetCostsForAllProjectsInCustomerAccountParamsGranularity `form:"granularity,omitempty" json:"granularity,omitempty"`

	// IncludeZeroCosts Whether costs of 0 should be included in the response
	IncludeZeroCosts *bool `form:"includeZeroCosts,omitempty" json:"includeZeroCosts,omitempty"`

	// Accept Desired content type
	Accept *GetCostsForAllProjectsInCustomerAccountParamsAccept `json:"Accept,omitempty"`
}

GetCostsForAllProjectsInCustomerAccountParams defines parameters for GetCostsForAllProjectsInCustomerAccount.

type GetCostsForAllProjectsInCustomerAccountParamsAccept

type GetCostsForAllProjectsInCustomerAccountParamsAccept string

GetCostsForAllProjectsInCustomerAccountParamsAccept defines parameters for GetCostsForAllProjectsInCustomerAccount.

const (
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_ACCEPT_APPLICATION_JSON GetCostsForAllProjectsInCustomerAccountParamsAccept = "application/json"
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_ACCEPT_TEXT_CSV         GetCostsForAllProjectsInCustomerAccountParamsAccept = "text/csv"
)

Defines values for GetCostsForAllProjectsInCustomerAccountParamsAccept.

type GetCostsForAllProjectsInCustomerAccountParamsDepth

type GetCostsForAllProjectsInCustomerAccountParamsDepth string

GetCostsForAllProjectsInCustomerAccountParamsDepth defines parameters for GetCostsForAllProjectsInCustomerAccount.

const (
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_DEPTH_AUTO    GetCostsForAllProjectsInCustomerAccountParamsDepth = "auto"
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_DEPTH_PROJECT GetCostsForAllProjectsInCustomerAccountParamsDepth = "project"
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_DEPTH_SERVICE GetCostsForAllProjectsInCustomerAccountParamsDepth = "service"
)

Defines values for GetCostsForAllProjectsInCustomerAccountParamsDepth.

type GetCostsForAllProjectsInCustomerAccountParamsGranularity

type GetCostsForAllProjectsInCustomerAccountParamsGranularity string

GetCostsForAllProjectsInCustomerAccountParamsGranularity defines parameters for GetCostsForAllProjectsInCustomerAccount.

const (
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_GRANULARITY_DAILY   GetCostsForAllProjectsInCustomerAccountParamsGranularity = "daily"
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_GRANULARITY_MONTHLY GetCostsForAllProjectsInCustomerAccountParamsGranularity = "monthly"
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_GRANULARITY_NONE    GetCostsForAllProjectsInCustomerAccountParamsGranularity = "none"
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_GRANULARITY_WEEKLY  GetCostsForAllProjectsInCustomerAccountParamsGranularity = "weekly"
	GET_COSTS_FOR_ALL_PROJECTS_IN_CUSTOMER_ACCOUNT_PARAMS_GRANULARITY_YEARLY  GetCostsForAllProjectsInCustomerAccountParamsGranularity = "yearly"
)

Defines values for GetCostsForAllProjectsInCustomerAccountParamsGranularity.

type GetCostsForAllProjectsInCustomerAccountResponse

type GetCostsForAllProjectsInCustomerAccountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *struct {
		CustomerAccountID *openapiTypes.UUID `json:"customerAccountId,omitempty"`
		Projects          *[]struct {
			ProjectID   openapiTypes.UUID `json:"projectId"`
			ProjectName string            `json:"projectName"`

			// ReportData Detailed project costs which are ONLY included if granularity is provided AND depth is "project"
			ReportData *[]struct {
				// Charge Charge, value in cents
				Charge float64 `json:"charge"`

				// Discount Discount, value in cents
				Discount float64 `json:"discount"`

				// Quantity Quantity
				Quantity int32 `json:"quantity"`

				// TimePeriod Time period according to desired granularity
				TimePeriod struct {
					End   *openapiTypes.Date `json:"end,omitempty"`
					Start *openapiTypes.Date `json:"start,omitempty"`
				} `json:"timePeriod"`
			} `json:"reportData,omitempty"`

			// Services Total discount for all services and the whole requested date range (value in cents). Please see "depth" parameter for more details.
			Services *[]struct {
				// ReportData Detailed service costs which are ONLY included if granularity is provided
				ReportData *[]struct {
					// Charge Charge, value in cents
					Charge float64 `json:"charge"`

					// Discount Discount, value in cents
					Discount float64 `json:"discount"`

					// Quantity Quantity
					Quantity int32 `json:"quantity"`

					// TimePeriod Time period according to desired granularity
					TimePeriod struct {
						End   *openapiTypes.Date `json:"end,omitempty"`
						Start *openapiTypes.Date `json:"start,omitempty"`
					} `json:"timePeriod"`
				} `json:"reportData,omitempty"`

				// ServiceCategoryName Service category name
				ServiceCategoryName string `json:"serviceCategoryName"`

				// ServiceName Name of the service
				ServiceName string `json:"serviceName"`

				// Sku Service key
				Sku string `json:"sku"`

				// TotalCharge Total charge for the whole requested date range (value in cents)
				TotalCharge float64 `json:"totalCharge"`

				// TotalDiscount Total discount for the whole requested date range (value in cents)
				TotalDiscount float64 `json:"totalDiscount"`

				// TotalQuantity Total quantity
				TotalQuantity int32 `json:"totalQuantity"`

				// UnitLabel Label for unit
				UnitLabel string `json:"unitLabel"`
			} `json:"services,omitempty"`

			// TotalCharge Total charge for all services and the whole requested date range (value in cents)
			TotalCharge float64 `json:"totalCharge"`

			// TotalDiscount Total discount for all services and the whole requested date range (value in cents)
			TotalDiscount float64 `json:"totalDiscount"`
		} `json:"projects,omitempty"`
	}
	JSONDefault *struct {
		Code    string  `json:"code"`
		Message *string `json:"message,omitempty"`
	}
	Error error // Aggregated error
}

func (GetCostsForAllProjectsInCustomerAccountResponse) Status

Status returns HTTPResponse.Status

func (GetCostsForAllProjectsInCustomerAccountResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetForecastCustomerAccountParams

type GetForecastCustomerAccountParams struct {
	// From Start date (including)
	From openapiTypes.Date `form:"from" json:"from"`

	// To End date (including), maximum 3 months in the future
	To openapiTypes.Date `form:"to" json:"to"`

	// Granularity Define granularity of costs – Default is "none" which does NOT include detailed report data.
	//
	// If "monthly" or "weekly" is requested, the "from" parameter SHOULD be the first day and the "to" parameter SHOULD be the last day of that time period.
	// If not, they are normalized accordingly.
	//
	// If "daily" is requested, the date range defined by "from" and "to" MUST NOT be longer than 92 days.
	Granularity *GetForecastCustomerAccountParamsGranularity `form:"granularity,omitempty" json:"granularity,omitempty"`

	// Accept Desired content type
	Accept *GetForecastCustomerAccountParamsAccept `json:"Accept,omitempty"`
}

GetForecastCustomerAccountParams defines parameters for GetForecastCustomerAccount.

type GetForecastCustomerAccountParamsAccept

type GetForecastCustomerAccountParamsAccept string

GetForecastCustomerAccountParamsAccept defines parameters for GetForecastCustomerAccount.

const (
	GET_FORECAST_CUSTOMER_ACCOUNT_PARAMS_ACCEPT_APPLICATION_JSON GetForecastCustomerAccountParamsAccept = "application/json"
	GET_FORECAST_CUSTOMER_ACCOUNT_PARAMS_ACCEPT_TEXT_CSV         GetForecastCustomerAccountParamsAccept = "text/csv"
)

Defines values for GetForecastCustomerAccountParamsAccept.

type GetForecastCustomerAccountParamsGranularity

type GetForecastCustomerAccountParamsGranularity string

GetForecastCustomerAccountParamsGranularity defines parameters for GetForecastCustomerAccount.

const (
	GET_FORECAST_CUSTOMER_ACCOUNT_PARAMS_GRANULARITY_DAILY   GetForecastCustomerAccountParamsGranularity = "daily"
	GET_FORECAST_CUSTOMER_ACCOUNT_PARAMS_GRANULARITY_MONTHLY GetForecastCustomerAccountParamsGranularity = "monthly"
	GET_FORECAST_CUSTOMER_ACCOUNT_PARAMS_GRANULARITY_NONE    GetForecastCustomerAccountParamsGranularity = "none"
	GET_FORECAST_CUSTOMER_ACCOUNT_PARAMS_GRANULARITY_WEEKLY  GetForecastCustomerAccountParamsGranularity = "weekly"
)

Defines values for GetForecastCustomerAccountParamsGranularity.

type GetForecastCustomerAccountResponse

type GetForecastCustomerAccountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *struct {
		CustomerAccountID *openapiTypes.UUID `json:"customerAccountId,omitempty"`
		Projects          *[]struct {
			ProjectID   openapiTypes.UUID `json:"projectId"`
			ProjectName string            `json:"projectName"`

			// ReportData Detailed forcasted project costs which are ONLY included if granularity is provided AND depth is "project"
			ReportData *[]struct {
				// Charge Forecasted charge, value in cents
				Charge float64 `json:"charge"`

				// TimePeriod Time period according to desired granularity
				TimePeriod struct {
					End   *openapiTypes.Date `json:"end,omitempty"`
					Start *openapiTypes.Date `json:"start,omitempty"`
				} `json:"timePeriod"`
			} `json:"reportData,omitempty"`

			// TotalCharge Total forecasted charge for all services and the whole requested date range (value in cents)
			TotalCharge float64 `json:"totalCharge"`
		} `json:"projects,omitempty"`
	}
	JSONDefault *struct {
		Code    string  `json:"code"`
		Message *string `json:"message,omitempty"`
	}
	Error error // Aggregated error
}

func (GetForecastCustomerAccountResponse) Status

Status returns HTTPResponse.Status

func (GetForecastCustomerAccountResponse) StatusCode

func (r GetForecastCustomerAccountResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetProjectCostsParams

type GetProjectCostsParams struct {
	// From Start date (including)
	From openapiTypes.Date `form:"from" json:"from"`

	// To End date (including)
	To openapiTypes.Date `form:"to" json:"to"`

	// Depth Depth of desired cost information. "project" provides costs grouped by project, without services. "service" provides costs separated on service level.
	Depth *GetProjectCostsParamsDepth `form:"depth,omitempty" json:"depth,omitempty"`

	// Granularity Define granularity of costs – Default is "none" which does NOT include detailed report data.
	//
	// If "monthly", "weekly" or "yearly" is requested, the "from" parameter SHOULD be the first day and the "to" parameter SHOULD be the last day of that time period.
	// If not, they are normalized accordingly.
	//
	// If "daily" is requested, the date range defined by "from" and "to" MUST NOT be longer than 92 days.
	Granularity *GetProjectCostsParamsGranularity `form:"granularity,omitempty" json:"granularity,omitempty"`

	// IncludeZeroCosts Whether costs of 0 should be included in the response
	IncludeZeroCosts *bool `form:"includeZeroCosts,omitempty" json:"includeZeroCosts,omitempty"`

	// Accept Desired content type
	Accept *GetProjectCostsParamsAccept `json:"Accept,omitempty"`
}

GetProjectCostsParams defines parameters for GetProjectCosts.

type GetProjectCostsParamsAccept

type GetProjectCostsParamsAccept string

GetProjectCostsParamsAccept defines parameters for GetProjectCosts.

const (
	GET_PROJECT_COSTS_PARAMS_ACCEPT_APPLICATION_JSON GetProjectCostsParamsAccept = "application/json"
	GET_PROJECT_COSTS_PARAMS_ACCEPT_TEXT_CSV         GetProjectCostsParamsAccept = "text/csv"
)

Defines values for GetProjectCostsParamsAccept.

type GetProjectCostsParamsDepth

type GetProjectCostsParamsDepth string

GetProjectCostsParamsDepth defines parameters for GetProjectCosts.

const (
	AUTO    GetProjectCostsParamsDepth = "auto"
	PROJECT GetProjectCostsParamsDepth = "project"
	SERVICE GetProjectCostsParamsDepth = "service"
)

Defines values for GetProjectCostsParamsDepth.

type GetProjectCostsParamsGranularity

type GetProjectCostsParamsGranularity string

GetProjectCostsParamsGranularity defines parameters for GetProjectCosts.

const (
	GET_PROJECT_COSTS_PARAMS_GRANULARITY_DAILY   GetProjectCostsParamsGranularity = "daily"
	GET_PROJECT_COSTS_PARAMS_GRANULARITY_MONTHLY GetProjectCostsParamsGranularity = "monthly"
	GET_PROJECT_COSTS_PARAMS_GRANULARITY_NONE    GetProjectCostsParamsGranularity = "none"
	GET_PROJECT_COSTS_PARAMS_GRANULARITY_WEEKLY  GetProjectCostsParamsGranularity = "weekly"
	GET_PROJECT_COSTS_PARAMS_GRANULARITY_YEARLY  GetProjectCostsParamsGranularity = "yearly"
)

Defines values for GetProjectCostsParamsGranularity.

type GetProjectCostsResponse

type GetProjectCostsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *struct {
		ProjectID   openapiTypes.UUID `json:"projectId"`
		ProjectName string            `json:"projectName"`

		// ReportData Detailed project costs which are ONLY included if granularity is provided AND depth is "project"
		ReportData *[]struct {
			// Charge Charge, value in cents
			Charge float64 `json:"charge"`

			// Discount Discount, value in cents
			Discount float64 `json:"discount"`

			// Quantity Quantity
			Quantity int32 `json:"quantity"`

			// TimePeriod Time period according to desired granularity
			TimePeriod struct {
				End   *openapiTypes.Date `json:"end,omitempty"`
				Start *openapiTypes.Date `json:"start,omitempty"`
			} `json:"timePeriod"`
		} `json:"reportData,omitempty"`

		// Services Total discount for all services and the whole requested date range (value in cents). Please see "depth" parameter for more details.
		Services *[]struct {
			// ReportData Detailed service costs which are ONLY included if granularity is provided
			ReportData *[]struct {
				// Charge Charge, value in cents
				Charge float64 `json:"charge"`

				// Discount Discount, value in cents
				Discount float64 `json:"discount"`

				// Quantity Quantity
				Quantity int32 `json:"quantity"`

				// TimePeriod Time period according to desired granularity
				TimePeriod struct {
					End   *openapiTypes.Date `json:"end,omitempty"`
					Start *openapiTypes.Date `json:"start,omitempty"`
				} `json:"timePeriod"`
			} `json:"reportData,omitempty"`

			// ServiceCategoryName Service category name
			ServiceCategoryName string `json:"serviceCategoryName"`

			// ServiceName Name of the service
			ServiceName string `json:"serviceName"`

			// Sku Service key
			Sku string `json:"sku"`

			// TotalCharge Total charge for the whole requested date range (value in cents)
			TotalCharge float64 `json:"totalCharge"`

			// TotalDiscount Total discount for the whole requested date range (value in cents)
			TotalDiscount float64 `json:"totalDiscount"`

			// TotalQuantity Total quantity
			TotalQuantity int32 `json:"totalQuantity"`

			// UnitLabel Label for unit
			UnitLabel string `json:"unitLabel"`
		} `json:"services,omitempty"`

		// TotalCharge Total charge for all services and the whole requested date range (value in cents)
		TotalCharge float64 `json:"totalCharge"`

		// TotalDiscount Total discount for all services and the whole requested date range (value in cents)
		TotalDiscount float64 `json:"totalDiscount"`
	}
	JSONDefault *struct {
		Code    string  `json:"code"`
		Message *string `json:"message,omitempty"`
	}
	Error error // Aggregated error
}

func (GetProjectCostsResponse) Status

func (r GetProjectCostsResponse) Status() string

Status returns HTTPResponse.Status

func (GetProjectCostsResponse) StatusCode

func (r GetProjectCostsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type RequestEditorFn

type RequestEditorFn func(ctx context.Context, req *http.Request) error

RequestEditorFn is the function signature for the RequestEditor callback function

Jump to

Keyboard shortcuts

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