Documentation
¶
Index ¶
- Constants
- type AccessGrant
- type AccessGrants
- type CostReport
- type CostReports
- type Costs
- type Dashboard
- type Dashboards
- type Errors
- type Folder
- type Folders
- type PostAccessGrants
- type PostCostReports
- type PostDashboards
- type PostFolders
- type PostReportsFolders
- type PostSavedFilters
- type PostSegments
- type PostTeams
- type Price
- type Prices
- type Product
- type Products
- type PutAccessGrants
- type PutCostReports
- type PutDashboards
- type PutFolders
- type PutReportsFolders
- type PutSavedFilters
- type PutSegments
- type PutTeams
- type Report
- type Reports
- type SavedFilter
- type SavedFilters
- type Segment
- type Segments
- type Team
- type Teams
- type User
- type Users
- type Workspace
- type Workspaces
Constants ¶
const ( // DashboardDateBinCumulative captures enum value "cumulative" DashboardDateBinCumulative string = "cumulative" // DashboardDateBinDay captures enum value "day" DashboardDateBinDay string = "day" // DashboardDateBinWeek captures enum value "week" DashboardDateBinWeek string = "week" // DashboardDateBinMonth captures enum value "month" DashboardDateBinMonth string = "month" )
const ( // DashboardDateIntervalThisMonth captures enum value "this_month" DashboardDateIntervalThisMonth string = "this_month" // DashboardDateIntervalLast7Days captures enum value "last_7_days" DashboardDateIntervalLast7Days string = "last_7_days" // DashboardDateIntervalLast30Days captures enum value "last_30_days" DashboardDateIntervalLast30Days string = "last_30_days" // DashboardDateIntervalLastMonth captures enum value "last_month" DashboardDateIntervalLastMonth string = "last_month" // DashboardDateIntervalLast3Months captures enum value "last_3_months" DashboardDateIntervalLast3Months string = "last_3_months" // DashboardDateIntervalLast6Months captures enum value "last_6_months" DashboardDateIntervalLast6Months string = "last_6_months" // DashboardDateIntervalCustom captures enum value "custom" DashboardDateIntervalCustom string = "custom" // DashboardDateIntervalLast12Months captures enum value "last_12_months" DashboardDateIntervalLast12Months string = "last_12_months" // DashboardDateIntervalLast24Months captures enum value "last_24_months" DashboardDateIntervalLast24Months string = "last_24_months" // DashboardDateIntervalLast36Months captures enum value "last_36_months" DashboardDateIntervalLast36Months string = "last_36_months" )
const ( // PostAccessGrantsAccessDenied captures enum value "denied" PostAccessGrantsAccessDenied string = "denied" // PostAccessGrantsAccessAllowed captures enum value "allowed" PostAccessGrantsAccessAllowed string = "allowed" )
const ( // PostDashboardsDateBinCumulative captures enum value "cumulative" PostDashboardsDateBinCumulative string = "cumulative" // PostDashboardsDateBinDay captures enum value "day" PostDashboardsDateBinDay string = "day" // PostDashboardsDateBinWeek captures enum value "week" PostDashboardsDateBinWeek string = "week" // PostDashboardsDateBinMonth captures enum value "month" PostDashboardsDateBinMonth string = "month" )
const ( // PostDashboardsDateIntervalThisMonth captures enum value "this_month" PostDashboardsDateIntervalThisMonth string = "this_month" // PostDashboardsDateIntervalLast7Days captures enum value "last_7_days" PostDashboardsDateIntervalLast7Days string = "last_7_days" // PostDashboardsDateIntervalLast30Days captures enum value "last_30_days" PostDashboardsDateIntervalLast30Days string = "last_30_days" // PostDashboardsDateIntervalLastMonth captures enum value "last_month" PostDashboardsDateIntervalLastMonth string = "last_month" // PostDashboardsDateIntervalLast3Months captures enum value "last_3_months" PostDashboardsDateIntervalLast3Months string = "last_3_months" // PostDashboardsDateIntervalLast6Months captures enum value "last_6_months" PostDashboardsDateIntervalLast6Months string = "last_6_months" // PostDashboardsDateIntervalCustom captures enum value "custom" PostDashboardsDateIntervalCustom string = "custom" // PostDashboardsDateIntervalLast12Months captures enum value "last_12_months" PostDashboardsDateIntervalLast12Months string = "last_12_months" // PostDashboardsDateIntervalLast24Months captures enum value "last_24_months" PostDashboardsDateIntervalLast24Months string = "last_24_months" // PostDashboardsDateIntervalLast36Months captures enum value "last_36_months" PostDashboardsDateIntervalLast36Months string = "last_36_months" )
const ( // PostTeamsRoleOwner captures enum value "owner" PostTeamsRoleOwner string = "owner" // PostTeamsRoleEditor captures enum value "editor" PostTeamsRoleEditor string = "editor" // PostTeamsRoleViewer captures enum value "viewer" PostTeamsRoleViewer string = "viewer" )
const ( // PutAccessGrantsAccessDenied captures enum value "denied" PutAccessGrantsAccessDenied string = "denied" // PutAccessGrantsAccessAllowed captures enum value "allowed" PutAccessGrantsAccessAllowed string = "allowed" )
const ( // PutDashboardsDateBinCumulative captures enum value "cumulative" PutDashboardsDateBinCumulative string = "cumulative" // PutDashboardsDateBinDay captures enum value "day" PutDashboardsDateBinDay string = "day" // PutDashboardsDateBinWeek captures enum value "week" PutDashboardsDateBinWeek string = "week" // PutDashboardsDateBinMonth captures enum value "month" PutDashboardsDateBinMonth string = "month" )
const ( // PutDashboardsDateIntervalThisMonth captures enum value "this_month" PutDashboardsDateIntervalThisMonth string = "this_month" // PutDashboardsDateIntervalLast7Days captures enum value "last_7_days" PutDashboardsDateIntervalLast7Days string = "last_7_days" // PutDashboardsDateIntervalLast30Days captures enum value "last_30_days" PutDashboardsDateIntervalLast30Days string = "last_30_days" // PutDashboardsDateIntervalLastMonth captures enum value "last_month" PutDashboardsDateIntervalLastMonth string = "last_month" // PutDashboardsDateIntervalLast3Months captures enum value "last_3_months" PutDashboardsDateIntervalLast3Months string = "last_3_months" // PutDashboardsDateIntervalLast6Months captures enum value "last_6_months" PutDashboardsDateIntervalLast6Months string = "last_6_months" // PutDashboardsDateIntervalCustom captures enum value "custom" PutDashboardsDateIntervalCustom string = "custom" // PutDashboardsDateIntervalLast12Months captures enum value "last_12_months" PutDashboardsDateIntervalLast12Months string = "last_12_months" // PutDashboardsDateIntervalLast24Months captures enum value "last_24_months" PutDashboardsDateIntervalLast24Months string = "last_24_months" // PutDashboardsDateIntervalLast36Months captures enum value "last_36_months" PutDashboardsDateIntervalLast36Months string = "last_36_months" )
const ( // PutTeamsRoleOwner captures enum value "owner" PutTeamsRoleOwner string = "owner" // PutTeamsRoleEditor captures enum value "editor" PutTeamsRoleEditor string = "editor" // PutTeamsRoleViewer captures enum value "viewer" PutTeamsRoleViewer string = "viewer" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessGrant ¶
type AccessGrant struct {
// The access status of the AccessGrant.
Access string `json:"access,omitempty"`
// The date and time, in UTC, the AccessGrant was created. ISO 8601 Formatted.
// Example: 2023-08-04T00:00:00Z
CreatedAt string `json:"created_at,omitempty"`
// The token for the User who created the AccessGrant.
CreatedBy string `json:"created_by,omitempty"`
// The token for any resource the AccessGrant is applied to.
// Example: rprt_abcd1234
ResourceToken string `json:"resource_token,omitempty"`
// The Team token for which an AccessGrant is applied to.
TeamToken string `json:"team_token,omitempty"`
// token
Token string `json:"token,omitempty"`
}
AccessGrant AccessGrant model
swagger:model AccessGrant
func (*AccessGrant) ContextValidate ¶
ContextValidate validates this access grant based on context it is used
func (*AccessGrant) MarshalBinary ¶
func (m *AccessGrant) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*AccessGrant) UnmarshalBinary ¶
func (m *AccessGrant) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type AccessGrants ¶
type AccessGrants struct {
// access grants
AccessGrants []*AccessGrant `json:"access_grants"`
// links
Links interface{} `json:"links,omitempty"`
}
AccessGrants AccessGrants model
swagger:model AccessGrants
func (*AccessGrants) ContextValidate ¶
ContextValidate validate this access grants based on the context it is used
func (*AccessGrants) MarshalBinary ¶
func (m *AccessGrants) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*AccessGrants) UnmarshalBinary ¶
func (m *AccessGrants) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type CostReport ¶
type CostReport struct {
// The date and time, in UTC, the report was created. ISO 8601 Formatted.
// Example: 2021-07-09T00:00:00Z
CreatedAt string `json:"created_at,omitempty"`
// The filter applied to the CostReport. Additional documentation available at https://docs.vantage.sh/vql.
Filter string `json:"filter,omitempty"`
// The token for the Folder the CostReport is a part of.
FolderToken string `json:"folder_token,omitempty"`
// The tokens for the SavedFilters assigned to the CostReport.
SavedFilterTokens []string `json:"saved_filter_tokens"`
// The title of the CostReport.
// Example: Production Environment
Title string `json:"title,omitempty"`
// token
Token string `json:"token,omitempty"`
// The token for the Workspace the CostReport is a part of.
WorkspaceToken string `json:"workspace_token,omitempty"`
}
CostReport CostReport model
swagger:model CostReport
func (*CostReport) ContextValidate ¶
ContextValidate validates this cost report based on context it is used
func (*CostReport) MarshalBinary ¶
func (m *CostReport) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*CostReport) UnmarshalBinary ¶
func (m *CostReport) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type CostReports ¶
type CostReports struct {
// cost reports
CostReports []*CostReport `json:"cost_reports"`
// links
Links interface{} `json:"links,omitempty"`
}
CostReports CostReports model
swagger:model CostReports
func (*CostReports) ContextValidate ¶
ContextValidate validate this cost reports based on the context it is used
func (*CostReports) MarshalBinary ¶
func (m *CostReports) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*CostReports) UnmarshalBinary ¶
func (m *CostReports) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type Costs ¶
type Costs struct {
// costs
Costs []string `json:"costs"`
// links
Links interface{} `json:"links,omitempty"`
// The sum of all costs for the CostReport for the requested period, rounded to 2 decimal places, alongside the ISO 4217 currency code.
TotalCost string `json:"total_cost,omitempty"`
}
Costs Costs model
swagger:model Costs
func (*Costs) ContextValidate ¶
ContextValidate validates this costs based on context it is used
func (*Costs) MarshalBinary ¶
MarshalBinary interface implementation
func (*Costs) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Dashboard ¶
type Dashboard struct {
// The date and time, in UTC, the Dashboard was created. ISO 8601 Formatted.
// Example: 2023-08-04T00:00:00Z
CreatedAt string `json:"created_at,omitempty"`
// Determines how to group costs in the Dashboard.
// Enum: [cumulative day week month]
DateBin string `json:"date_bin,omitempty"`
// Determines the date range in the Dashboard. Guaranteed to be set to 'custom' if 'start_date' and 'end_date' are set.
// Enum: [this_month last_7_days last_30_days last_month last_3_months last_6_months custom last_12_months last_24_months last_36_months]
DateInterval string `json:"date_interval,omitempty"`
// The end date for the date range for CostReports in the Dashboard. ISO 8601 Formatted. Overwrites 'date_interval' if set.
// Example: 2023-09-04
EndDate string `json:"end_date,omitempty"`
// The start date for the date range for CostReports in the Dashboard. ISO 8601 Formatted. Overwrites 'date_interval' if set.
// Example: 2023-08-04
StartDate string `json:"start_date,omitempty"`
// The title of the Dashboard.
// Example: AWS Dashboard
Title string `json:"title,omitempty"`
// token
// Example: dshbrd_abcd1234567890
Token string `json:"token,omitempty"`
// The date and time, in UTC, the Dashboard was created. ISO 8601 Formatted.
// Example: 2023-08-04T00:00:00Z
UpdatedAt string `json:"updated_at,omitempty"`
// The tokens of the widgets displayed in the Dashboard. Currently only supports CostReport tokens.
WidgetTokens []string `json:"widget_tokens"`
// The token for the Workspace the Dashboard is a part of.
// Example: wrkspc_abcd1234567890
WorkspaceToken string `json:"workspace_token,omitempty"`
}
Dashboard Dashboard model
swagger:model Dashboard
func (*Dashboard) ContextValidate ¶
ContextValidate validates this dashboard based on context it is used
func (*Dashboard) MarshalBinary ¶
MarshalBinary interface implementation
func (*Dashboard) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Dashboards ¶
type Dashboards struct {
// dashboards
Dashboards []*Dashboard `json:"dashboards"`
// links
Links interface{} `json:"links,omitempty"`
}
Dashboards Dashboards model
swagger:model Dashboards
func (*Dashboards) ContextValidate ¶
ContextValidate validate this dashboards based on the context it is used
func (*Dashboards) MarshalBinary ¶
func (m *Dashboards) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*Dashboards) UnmarshalBinary ¶
func (m *Dashboards) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type Errors ¶
type Errors struct {
// errors
Errors []string `json:"errors"`
// links
Links interface{} `json:"links,omitempty"`
}
Errors Errors model
swagger:model Errors
func (*Errors) ContextValidate ¶
ContextValidate validates this errors based on context it is used
func (*Errors) MarshalBinary ¶
MarshalBinary interface implementation
func (*Errors) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Folder ¶
type Folder struct {
// The date and time, in UTC, the Folder was created. ISO 8601 Formatted.
// Example: 2023-08-04T00:00:00Z
CreatedAt string `json:"created_at,omitempty"`
// The token for the parent Folder, if any.
ParentFolderToken string `json:"parent_folder_token,omitempty"`
// The tokens for the SavedFilters assigned to the Folder.
SavedFilterTokens []string `json:"saved_filter_tokens"`
// The title of the Folder.
// Example: Platform Team Reports
Title string `json:"title,omitempty"`
// token
Token string `json:"token,omitempty"`
// The date and time, in UTC, the Folder was last updated at. ISO 8601 Formatted.
// Example: 2023-08-04T00:00:00Z
UpdatedAt string `json:"updated_at,omitempty"`
// The token for the Workspace the Folder is a part of.
WorkspaceToken string `json:"workspace_token,omitempty"`
}
Folder Folder model
swagger:model Folder
func (*Folder) ContextValidate ¶
ContextValidate validates this folder based on context it is used
func (*Folder) MarshalBinary ¶
MarshalBinary interface implementation
func (*Folder) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Folders ¶
type Folders struct {
// folders
Folders []*Folder `json:"folders"`
// links
Links interface{} `json:"links,omitempty"`
}
Folders Folders model
swagger:model Folders
func (*Folders) ContextValidate ¶
ContextValidate validate this folders based on the context it is used
func (*Folders) MarshalBinary ¶
MarshalBinary interface implementation
func (*Folders) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type PostAccessGrants ¶
type PostAccessGrants struct {
// The access level you want to grant. Defaults to 'allowed'.
// Enum: [denied allowed]
Access string `json:"access,omitempty"`
// The token of the resource for which you are granting access.
// Required: true
ResourceToken *string `json:"resource_token"`
// The token of the Team you want to grant access to.
// Required: true
TeamToken *string `json:"team_token"`
}
PostAccessGrants Create an Access Grant.
swagger:model postAccessGrants
func (*PostAccessGrants) ContextValidate ¶
ContextValidate validates this post access grants based on context it is used
func (*PostAccessGrants) MarshalBinary ¶
func (m *PostAccessGrants) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PostAccessGrants) UnmarshalBinary ¶
func (m *PostAccessGrants) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PostCostReports ¶
type PostCostReports struct {
// The filter query language to apply to the CostReport. Additional documentation available at https://docs.vantage.sh/vql.
Filter string `json:"filter,omitempty"`
// The token of the Folder to add the CostReport to. Determines the Workspace the report is assigned to.
FolderToken string `json:"folder_token,omitempty"`
// The tokens of the SavedFilters to apply to the CostReport.
SavedFilterTokens []string `json:"saved_filter_tokens"`
// The title of the CostReport.
// Required: true
Title *string `json:"title"`
// The token of the Workspace to add the Cost Report to. Ignored if 'folder_token' is set. Required if the API token is associated with multiple Workspaces.
WorkspaceToken string `json:"workspace_token,omitempty"`
}
PostCostReports Create a CostReport.
swagger:model postCostReports
func (*PostCostReports) ContextValidate ¶
ContextValidate validates this post cost reports based on context it is used
func (*PostCostReports) MarshalBinary ¶
func (m *PostCostReports) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PostCostReports) UnmarshalBinary ¶
func (m *PostCostReports) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PostDashboards ¶
type PostDashboards struct {
// Determines how to group costs in the Dashboard.
// Enum: [cumulative day week month]
DateBin string `json:"date_bin,omitempty"`
// Determines the date range in the Dashboard. Incompatible with 'start_date' and 'end_date' parameters.
// Enum: [this_month last_7_days last_30_days last_month last_3_months last_6_months custom last_12_months last_24_months last_36_months]
DateInterval string `json:"date_interval,omitempty"`
// The end date for the date range for costs in the Dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.
// Required: true
EndDate *string `json:"end_date"`
// The start date for the date range for costs in the Dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.
StartDate string `json:"start_date,omitempty"`
// The title of the Dashboard.
// Required: true
Title *string `json:"title"`
// The tokens of the widgets to add to the Dashboard. Currently only supports CostReport tokens.
WidgetTokens []string `json:"widget_tokens"`
// The token of the Workspace to add the Dashboard to. Required if the API token is associated with multiple Workspaces.
WorkspaceToken string `json:"workspace_token,omitempty"`
}
PostDashboards Create a Dashboard.
swagger:model postDashboards
func (*PostDashboards) ContextValidate ¶
ContextValidate validates this post dashboards based on context it is used
func (*PostDashboards) MarshalBinary ¶
func (m *PostDashboards) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PostDashboards) UnmarshalBinary ¶
func (m *PostDashboards) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PostFolders ¶
type PostFolders struct {
// The token of the parent Folder.
ParentFolderToken string `json:"parent_folder_token,omitempty"`
// The tokens of the SavedFilters to apply to any Cost Report contained within the Folder.
SavedFilterTokens []string `json:"saved_filter_tokens"`
// The title of the Folder.
// Required: true
Title *string `json:"title"`
// The token of the Workspace to add the Folder to. Ignored if 'parent_folder_token' is set. Required if the API token is associated with multiple Workspaces.
WorkspaceToken string `json:"workspace_token,omitempty"`
}
PostFolders Create a Folder for CostReports.
swagger:model postFolders
func (*PostFolders) ContextValidate ¶
ContextValidate validates this post folders based on context it is used
func (*PostFolders) MarshalBinary ¶
func (m *PostFolders) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PostFolders) UnmarshalBinary ¶
func (m *PostFolders) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PostReportsFolders ¶
type PostReportsFolders struct {
// The token of the parent Folder.
ParentFolderToken string `json:"parent_folder_token,omitempty"`
// The title of the Folder.
// Required: true
Title *string `json:"title"`
}
PostReportsFolders Create a Folder for Cost Reports.
swagger:model postReportsFolders
func (*PostReportsFolders) ContextValidate ¶
ContextValidate validates this post reports folders based on context it is used
func (*PostReportsFolders) MarshalBinary ¶
func (m *PostReportsFolders) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PostReportsFolders) UnmarshalBinary ¶
func (m *PostReportsFolders) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PostSavedFilters ¶
type PostSavedFilters struct {
// The filter query language to apply to the SavedFilter, which subsequently gets applied to a CostReport. Additional documentation available at https://docs.vantage.sh/vql.
Filter string `json:"filter,omitempty"`
// The title of the SavedFilter.
// Required: true
Title *string `json:"title"`
// The Workspace to associate the SavedFilter with. Required if the API token is associated with multiple Workspaces.
WorkspaceToken string `json:"workspace_token,omitempty"`
}
PostSavedFilters Create a SavedFilter for CostReports.
swagger:model postSavedFilters
func (*PostSavedFilters) ContextValidate ¶
ContextValidate validates this post saved filters based on context it is used
func (*PostSavedFilters) MarshalBinary ¶
func (m *PostSavedFilters) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PostSavedFilters) UnmarshalBinary ¶
func (m *PostSavedFilters) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PostSegments ¶
type PostSegments struct {
// The description of the Segment.
Description string `json:"description,omitempty"`
// The filter query language to apply to the Segment. Additional documentation available at https://docs.vantage.sh/vql.
Filter string `json:"filter,omitempty"`
// The token of the parent Segment this new Segment belongs to. Determines the Workspace the segment is assigned to.
ParentSegmentToken string `json:"parent_segment_token,omitempty"`
// The priority of the Segment.
Priority int32 `json:"priority,omitempty"`
// The title of the Segment.
// Required: true
Title *string `json:"title"`
// Track Unallocated Costs which are not assigned to any of the created Segments.
TrackUnallocated *bool `json:"track_unallocated,omitempty"`
// The token of the Workspace to add the Segment to. Ignored if 'segment_token' is set. Required if the API token is associated with multiple Workspaces.
WorkspaceToken string `json:"workspace_token,omitempty"`
}
PostSegments Create a Segment.
swagger:model postSegments
func (*PostSegments) ContextValidate ¶
ContextValidate validates this post segments based on context it is used
func (*PostSegments) MarshalBinary ¶
func (m *PostSegments) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PostSegments) UnmarshalBinary ¶
func (m *PostSegments) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PostTeams ¶
type PostTeams struct {
// The description of the Team.
Description string `json:"description,omitempty"`
// The name of the Team.
// Required: true
Name *string `json:"name"`
// The role to assign to the provided Users. Defaults to 'editor' which has editor permissions.
// Enum: [owner editor viewer]
Role string `json:"role,omitempty"`
// The User emails to associate to the Team.
UserEmails []string `json:"user_emails"`
// The User tokens to associate to the Team.
UserTokens []string `json:"user_tokens"`
// The Workspace tokens to associate to the Team.
WorkspaceTokens []string `json:"workspace_tokens"`
}
PostTeams Create a new Team.
swagger:model postTeams
func (*PostTeams) ContextValidate ¶
ContextValidate validates this post teams based on context it is used
func (*PostTeams) MarshalBinary ¶
MarshalBinary interface implementation
func (*PostTeams) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Price ¶
type Price struct {
// The amount of money this specific product price costs.
// Example: 1.324
Amount float64 `json:"amount,omitempty"`
// The currency of the amount.
// Example: USD
Currency string `json:"currency,omitempty"`
// Service specific metadata.
// Example: {"lifecycle":"on-demand","platform":"linux-enterprise"}
Details interface{} `json:"details,omitempty"`
// id
ID string `json:"id,omitempty"`
// The part of the product the price applies to. (compute, transfer, etc..)
// Example: compute
RateType string `json:"rate_type,omitempty"`
// The region the price is specific to.
// Example: us-east-1
Region string `json:"region,omitempty"`
// The unit in which the amount is billed.
// Example: hour
Unit string `json:"unit,omitempty"`
}
Price Price model
swagger:model Price
func (*Price) ContextValidate ¶
ContextValidate validates this price based on context it is used
func (*Price) MarshalBinary ¶
MarshalBinary interface implementation
func (*Price) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Prices ¶
type Prices struct {
// links
Links interface{} `json:"links,omitempty"`
// prices
Prices []*Price `json:"prices"`
}
Prices Prices model
swagger:model Prices
func (*Prices) ContextValidate ¶
ContextValidate validate this prices based on the context it is used
func (*Prices) MarshalBinary ¶
MarshalBinary interface implementation
func (*Prices) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Product ¶
type Product struct {
// The category of the cloud product
// Example: compute
Category string `json:"category,omitempty"`
// An object of metadata about the product.
// Example: {"clock_speed_ghz":3.1,"gpu":0,"memory":256,"name":"M5 General Purpose 16xlarge","network_performance_description":"20 Gigabit","physical_processor_description":"Intel Xeon Platinum 8175 (Skylake)","vcpu":64}
Details interface{} `json:"details,omitempty"`
// id
ID string `json:"id,omitempty"`
// The common name of the product.
// Example: EC2
Name string `json:"name,omitempty"`
// A unique slug for the provider the product belongs to.
// Example: aws
ProviderID string `json:"provider_id,omitempty"`
// A unique slug for the service the product belongs to.
// Example: aws-ec2
ServiceID string `json:"service_id,omitempty"`
}
Product Product model
swagger:model Product
func (*Product) ContextValidate ¶
ContextValidate validates this product based on context it is used
func (*Product) MarshalBinary ¶
MarshalBinary interface implementation
func (*Product) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Products ¶
type Products struct {
// links
Links interface{} `json:"links,omitempty"`
// products
Products []*Product `json:"products"`
}
Products Products model
swagger:model Products
func (*Products) ContextValidate ¶
ContextValidate validate this products based on the context it is used
func (*Products) MarshalBinary ¶
MarshalBinary interface implementation
func (*Products) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type PutAccessGrants ¶
type PutAccessGrants struct {
// Allowed or denied access to resource.
// Required: true
// Enum: [denied allowed]
Access *string `json:"access"`
}
PutAccessGrants Update an AccessGrant.
swagger:model putAccessGrants
func (*PutAccessGrants) ContextValidate ¶
ContextValidate validates this put access grants based on context it is used
func (*PutAccessGrants) MarshalBinary ¶
func (m *PutAccessGrants) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PutAccessGrants) UnmarshalBinary ¶
func (m *PutAccessGrants) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PutCostReports ¶
type PutCostReports struct {
// The filter query language to apply to the CostReport. Additional documentation available at https://docs.vantage.sh/vql.
Filter string `json:"filter,omitempty"`
// The token of the Folder to add the CostReport to. Determines the Workspace the report is assigned to.
FolderToken string `json:"folder_token,omitempty"`
// The tokens of the SavedFilters to apply to the CostReport.
SavedFilterTokens []string `json:"saved_filter_tokens"`
// The title of the CostReport.
Title string `json:"title,omitempty"`
}
PutCostReports Update a CostReport.
swagger:model putCostReports
func (*PutCostReports) ContextValidate ¶
ContextValidate validates this put cost reports based on context it is used
func (*PutCostReports) MarshalBinary ¶
func (m *PutCostReports) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PutCostReports) UnmarshalBinary ¶
func (m *PutCostReports) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PutDashboards ¶
type PutDashboards struct {
// Determines how to group costs in the Dashboard.
// Enum: [cumulative day week month]
DateBin string `json:"date_bin,omitempty"`
// Determines the date range in the Dashboard. Incompatible with 'start_date' and 'end_date' parameters.
// Enum: [this_month last_7_days last_30_days last_month last_3_months last_6_months custom last_12_months last_24_months last_36_months]
DateInterval string `json:"date_interval,omitempty"`
// The end date for the date range for costs in the Dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.
// Required: true
EndDate *string `json:"end_date"`
// The start date for the date range for costs in the Dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.
StartDate string `json:"start_date,omitempty"`
// The title of the Dashboard.
Title string `json:"title,omitempty"`
// The tokens of the widgets to add to the Dashboard. Currently only supports CostReport tokens.
WidgetTokens []string `json:"widget_tokens"`
}
PutDashboards Update a Dashboard.
swagger:model putDashboards
func (*PutDashboards) ContextValidate ¶
ContextValidate validates this put dashboards based on context it is used
func (*PutDashboards) MarshalBinary ¶
func (m *PutDashboards) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PutDashboards) UnmarshalBinary ¶
func (m *PutDashboards) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PutFolders ¶
type PutFolders struct {
// The token of the parent Folder.
ParentFolderToken string `json:"parent_folder_token,omitempty"`
// The tokens of the SavedFilters to apply to any Cost Report contained within the Folder.
SavedFilterTokens []string `json:"saved_filter_tokens"`
// The title of the Folder.
Title string `json:"title,omitempty"`
}
PutFolders Update a Folder for CostReports.
swagger:model putFolders
func (*PutFolders) ContextValidate ¶
ContextValidate validates this put folders based on context it is used
func (*PutFolders) MarshalBinary ¶
func (m *PutFolders) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PutFolders) UnmarshalBinary ¶
func (m *PutFolders) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PutReportsFolders ¶
type PutReportsFolders struct {
// The token of the parent Folder.
ParentFolderToken string `json:"parent_folder_token,omitempty"`
// The title of the Folder.
Title string `json:"title,omitempty"`
}
PutReportsFolders Update a Folder for Cost Reports.
swagger:model putReportsFolders
func (*PutReportsFolders) ContextValidate ¶
ContextValidate validates this put reports folders based on context it is used
func (*PutReportsFolders) MarshalBinary ¶
func (m *PutReportsFolders) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PutReportsFolders) UnmarshalBinary ¶
func (m *PutReportsFolders) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PutSavedFilters ¶
type PutSavedFilters struct {
// The filter query language to apply to the SavedFilter, which subsequently gets applied to a CostReport. Additional documentation available at https://docs.vantage.sh/vql.
Filter string `json:"filter,omitempty"`
// The title of the SavedFilter.
Title string `json:"title,omitempty"`
}
PutSavedFilters Update a SavedFilter for CostReports.
swagger:model putSavedFilters
func (*PutSavedFilters) ContextValidate ¶
ContextValidate validates this put saved filters based on context it is used
func (*PutSavedFilters) MarshalBinary ¶
func (m *PutSavedFilters) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PutSavedFilters) UnmarshalBinary ¶
func (m *PutSavedFilters) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PutSegments ¶
type PutSegments struct {
// The description of the Segment.
Description string `json:"description,omitempty"`
// The filter query language to apply to the Segment. Additional documentation available at https://docs.vantage.sh/vql.
Filter string `json:"filter,omitempty"`
// The token of the parent Segment this new Segment belongs to. Determines the Workspace the segment is assigned to.
ParentSegmentToken string `json:"parent_segment_token,omitempty"`
// The priority of the Segment.
Priority int32 `json:"priority,omitempty"`
// The title of the Segment.
Title string `json:"title,omitempty"`
// Track Unallocated Costs which are not assigned to any of the created Segments.
TrackUnallocated *bool `json:"track_unallocated,omitempty"`
}
PutSegments Update a Segment.
swagger:model putSegments
func (*PutSegments) ContextValidate ¶
ContextValidate validates this put segments based on context it is used
func (*PutSegments) MarshalBinary ¶
func (m *PutSegments) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PutSegments) UnmarshalBinary ¶
func (m *PutSegments) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PutTeams ¶
type PutTeams struct {
// The description of the Team.
Description string `json:"description,omitempty"`
// The name of the Team.
Name string `json:"name,omitempty"`
// The role to assign to the provided Users. Defaults to 'editor' which has editor permissions.
// Enum: [owner editor viewer]
Role string `json:"role,omitempty"`
// The User emails to associate to the Team.
UserEmails []string `json:"user_emails"`
// The User tokens to associate to the Team.
UserTokens []string `json:"user_tokens"`
// The Workspace tokens to associate to the Team.
WorkspaceTokens []string `json:"workspace_tokens"`
}
PutTeams Update a Team.
swagger:model putTeams
func (*PutTeams) ContextValidate ¶
ContextValidate validates this put teams based on context it is used
func (*PutTeams) MarshalBinary ¶
MarshalBinary interface implementation
func (*PutTeams) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Report ¶
type Report struct {
// The date and time, in UTC, the report was created. ISO 8601 Formatted.
// Example: 2021-07-09T00:00:00Z
CreatedAt string `json:"created_at,omitempty"`
// The token for the Folder the Cost Report is a part of.
Folder string `json:"folder,omitempty"`
SharedFilters string `json:"shared_filters,omitempty"`
// The title of the Cost Report.
// Example: Production Environment
Title string `json:"title,omitempty"`
// token
Token string `json:"token,omitempty"`
// The token for the Workspace the Cost Report is a part of.
Workspace string `json:"workspace,omitempty"`
}
Report Report model
swagger:model Report
func (*Report) ContextValidate ¶
ContextValidate validates this report based on context it is used
func (*Report) MarshalBinary ¶
MarshalBinary interface implementation
func (*Report) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Reports ¶
type Reports struct {
// links
Links interface{} `json:"links,omitempty"`
// reports
Reports []*CostReport `json:"reports"`
}
Reports Reports model
swagger:model Reports
func (*Reports) ContextValidate ¶
ContextValidate validate this reports based on the context it is used
func (*Reports) MarshalBinary ¶
MarshalBinary interface implementation
func (*Reports) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type SavedFilter ¶
type SavedFilter struct {
// The tokens for any CostReports the SavedFilter is applied to.
CostReportTokens []string `json:"cost_report_tokens"`
// The date and time, in UTC, the report was created. ISO 8601 Formatted.
// Example: 2023-08-04T00:00:00Z
CreatedAt string `json:"created_at,omitempty"`
// The User who created the SavedFilter.
CreatedBy string `json:"created_by,omitempty"`
// The SavedFilter's filter, applied to any relevant CostReports. Additional documentation available at https://docs.vantage.sh/vql.
// Example: costs.provider = 'azure'
Filter string `json:"filter,omitempty"`
// The title of the SavedFilter.
// Example: Platform Team Reports
Title string `json:"title,omitempty"`
// token
Token string `json:"token,omitempty"`
// The token for the Workspace the SavedFilter is a part of.
WorkspaceToken string `json:"workspace_token,omitempty"`
}
SavedFilter SavedFilter model
swagger:model SavedFilter
func (*SavedFilter) ContextValidate ¶
ContextValidate validates this saved filter based on context it is used
func (*SavedFilter) MarshalBinary ¶
func (m *SavedFilter) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*SavedFilter) UnmarshalBinary ¶
func (m *SavedFilter) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type SavedFilters ¶
type SavedFilters struct {
// links
Links interface{} `json:"links,omitempty"`
// saved filters
SavedFilters []*SavedFilter `json:"saved_filters"`
}
SavedFilters SavedFilters model
swagger:model SavedFilters
func (*SavedFilters) ContextValidate ¶
ContextValidate validate this saved filters based on the context it is used
func (*SavedFilters) MarshalBinary ¶
func (m *SavedFilters) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*SavedFilters) UnmarshalBinary ¶
func (m *SavedFilters) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type Segment ¶
type Segment struct {
// The date and time, in UTC, the segment was created. ISO 8601 Formatted.
// Example: 2021-07-09T00:00:00Z
CreatedAt string `json:"created_at,omitempty"`
// The description of the Segment.
// Example: Operating expenses
Description string `json:"description,omitempty"`
// The filter applied to the SegmentFilter. Additional documentation available at https://docs.vantage.sh/vql.
Filter string `json:"filter,omitempty"`
// The token of the parent segment of this Segment.
ParentSegmentToken string `json:"parent_segment_token,omitempty"`
// Costs are assigned in priority order across all segments with assigned filters.
// Example: 100
Priority int32 `json:"priority,omitempty"`
// The title of the Segment.
// Example: OPEX
Title string `json:"title,omitempty"`
// token
Token string `json:"token,omitempty"`
// Track Unallocated Costs which are not assigned to any of the created segments.
// Example: false
TrackUnallocated bool `json:"track_unallocated,omitempty"`
// The token for the Workspace the Segment is a part of.
WorkspaceToken string `json:"workspace_token,omitempty"`
}
Segment Segment model
swagger:model Segment
func (*Segment) ContextValidate ¶
ContextValidate validates this segment based on context it is used
func (*Segment) MarshalBinary ¶
MarshalBinary interface implementation
func (*Segment) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Segments ¶
type Segments struct {
// links
Links interface{} `json:"links,omitempty"`
// segments
Segments []*Segment `json:"segments"`
}
Segments Segments model
swagger:model Segments
func (*Segments) ContextValidate ¶
ContextValidate validate this segments based on the context it is used
func (*Segments) MarshalBinary ¶
MarshalBinary interface implementation
func (*Segments) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Team ¶
type Team struct {
// The description of the Team.
// Example: The Team that saves costs
Description string `json:"description,omitempty"`
// The name of the Team.
// Example: Cost Savers
Name string `json:"name,omitempty"`
// token
Token string `json:"token,omitempty"`
// The email addresses for Users that belong to the Team
UserEmails []string `json:"user_emails"`
// The tokens for Users that belong to the Team
UserTokens []string `json:"user_tokens"`
// The tokens for any Workspaces that the Team belongs to
WorkspaceTokens []string `json:"workspace_tokens"`
}
Team Team model
swagger:model Team
func (*Team) ContextValidate ¶
ContextValidate validates this team based on context it is used
func (*Team) MarshalBinary ¶
MarshalBinary interface implementation
func (*Team) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Teams ¶
type Teams struct {
// links
Links interface{} `json:"links,omitempty"`
// teams
Teams []*Team `json:"teams"`
}
Teams Teams model
swagger:model Teams
func (*Teams) ContextValidate ¶
ContextValidate validate this teams based on the context it is used
func (*Teams) MarshalBinary ¶
MarshalBinary interface implementation
func (*Teams) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type User ¶
type User struct {
// The email of the User.
// Example: john_doe@acme.com
Email string `json:"email,omitempty"`
// The name of the User.
// Example: John Doe
Name string `json:"name,omitempty"`
// The role of the User.
// Example: Admin
Role string `json:"role,omitempty"`
// token
Token string `json:"token,omitempty"`
}
User User model
swagger:model User
func (*User) ContextValidate ¶
ContextValidate validates this user based on context it is used
func (*User) MarshalBinary ¶
MarshalBinary interface implementation
func (*User) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Users ¶
type Users struct {
// links
Links interface{} `json:"links,omitempty"`
// users
Users []*User `json:"users"`
}
Users Users model
swagger:model Users
func (*Users) ContextValidate ¶
ContextValidate validate this users based on the context it is used
func (*Users) MarshalBinary ¶
MarshalBinary interface implementation
func (*Users) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Workspace ¶
type Workspace struct {
// The name of the Workspace.
// Example: Acme Corp.
Name string `json:"name,omitempty"`
// token
Token string `json:"token,omitempty"`
}
Workspace Workspace model
swagger:model Workspace
func (*Workspace) ContextValidate ¶
ContextValidate validates this workspace based on context it is used
func (*Workspace) MarshalBinary ¶
MarshalBinary interface implementation
func (*Workspace) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Workspaces ¶
type Workspaces struct {
// links
Links interface{} `json:"links,omitempty"`
// workspaces
Workspaces []*Workspace `json:"workspaces"`
}
Workspaces Workspaces model
swagger:model Workspaces
func (*Workspaces) ContextValidate ¶
ContextValidate validate this workspaces based on the context it is used
func (*Workspaces) MarshalBinary ¶
func (m *Workspaces) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*Workspaces) UnmarshalBinary ¶
func (m *Workspaces) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
Source Files
¶
- access_grant.go
- access_grants.go
- cost_report.go
- cost_reports.go
- costs.go
- dashboard.go
- dashboards.go
- errors.go
- folder.go
- folders.go
- post_access_grants.go
- post_cost_reports.go
- post_dashboards.go
- post_folders.go
- post_reports_folders.go
- post_saved_filters.go
- post_segments.go
- post_teams.go
- price.go
- prices.go
- product.go
- products.go
- put_access_grants.go
- put_cost_reports.go
- put_dashboards.go
- put_folders.go
- put_reports_folders.go
- put_saved_filters.go
- put_segments.go
- put_teams.go
- report.go
- reports.go
- saved_filter.go
- saved_filters.go
- segment.go
- segments.go
- team.go
- teams.go
- user.go
- users.go
- workspace.go
- workspaces.go