Documentation
¶
Overview ¶
Package cloudbilling provides access to the Cloud Billing API.
For product documentation, see: https://cloud.google.com/billing/
Creating a client ¶
Usage example:
import "google.golang.org/api/cloudbilling/v1beta" ... ctx := context.Background() cloudbillingService, err := cloudbilling.NewService(ctx)
In this example, Google Application Default Credentials are used for authentication.
For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
Other authentication options ¶
By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
cloudbillingService, err := cloudbilling.NewService(ctx, option.WithScopes(cloudbilling.CloudPlatformScope))
To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
cloudbillingService, err := cloudbilling.NewService(ctx, option.WithAPIKey("AIza..."))
To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
config := &oauth2.Config{...} // ... token, err := config.Exchange(ctx, ...) cloudbillingService, err := cloudbilling.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
See https://godoc.org/google.golang.org/api/option/ for details on options.
Index ¶
- Constants
- type BillingAccountsEstimateCostScenarioCall
- func (c *BillingAccountsEstimateCostScenarioCall) Context(ctx context.Context) *BillingAccountsEstimateCostScenarioCall
- func (c *BillingAccountsEstimateCostScenarioCall) Do(opts ...googleapi.CallOption) (*EstimateCostScenarioForBillingAccountResponse, error)
- func (c *BillingAccountsEstimateCostScenarioCall) Fields(s ...googleapi.Field) *BillingAccountsEstimateCostScenarioCall
- func (c *BillingAccountsEstimateCostScenarioCall) Header() http.Header
- type BillingAccountsService
- type CacheFillRegions
- type CloudCdnEgressWorkload
- type CloudCdnWorkload
- type CloudInterconnectEgressWorkload
- type CloudInterconnectWorkload
- type CloudStorageEgressWorkload
- type CloudStorageWorkload
- type Commitment
- type CommitmentCostEstimate
- type ComputeVmWorkload
- type CostEstimate
- type CostEstimationResult
- type CostScenario
- type CreditEstimate
- type CustomMachineType
- type DualRegional
- type EstimateCostScenarioForBillingAccountRequest
- type EstimateCostScenarioForBillingAccountResponse
- type EstimateCostScenarioWithListPriceRequest
- type EstimateCostScenarioWithListPriceResponse
- type EstimationTimePoint
- type GuestAccelerator
- type InterRegionEgress
- type IntraRegionEgress
- type MachineType
- type Money
- type MultiRegional
- type PersistentDisk
- type PredefinedMachineType
- type PremiumTierEgressWorkload
- type Price
- type Rate
- type RateTier
- type Regional
- type ScenarioConfig
- type SegmentCostEstimate
- type Service
- type Sku
- type SkuCostEstimate
- type StandardTierEgressWorkload
- type Usage
- type UsageRateTimeline
- type UsageRateTimelineEntry
- type V1betaEstimateCostScenarioCall
- func (c *V1betaEstimateCostScenarioCall) Context(ctx context.Context) *V1betaEstimateCostScenarioCall
- func (c *V1betaEstimateCostScenarioCall) Do(opts ...googleapi.CallOption) (*EstimateCostScenarioWithListPriceResponse, error)
- func (c *V1betaEstimateCostScenarioCall) Fields(s ...googleapi.Field) *V1betaEstimateCostScenarioCall
- func (c *V1betaEstimateCostScenarioCall) Header() http.Header
- type V1betaService
- type VlanAttachment
- type VmResourceBasedCud
- type VmToVmEgressWorkload
- type Workload
- type WorkloadCostEstimate
Constants ¶
const ( // View and manage your Google Cloud Platform billing accounts CloudBillingScope = "https://www.googleapis.com/auth/cloud-billing" // View your Google Cloud Platform billing accounts CloudBillingReadonlyScope = "https://www.googleapis.com/auth/cloud-billing.readonly" // See, edit, configure, and delete your Google Cloud data and see the // email address for your Google Account. CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" )
OAuth2 scopes used by this API.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BillingAccountsEstimateCostScenarioCall ¶
type BillingAccountsEstimateCostScenarioCall struct {
// contains filtered or unexported fields
}
func (*BillingAccountsEstimateCostScenarioCall) Context ¶
func (c *BillingAccountsEstimateCostScenarioCall) Context(ctx context.Context) *BillingAccountsEstimateCostScenarioCall
Context sets the context to be used in this call's Do method. Any pending HTTP request will be aborted if the provided context is canceled.
func (*BillingAccountsEstimateCostScenarioCall) Do ¶
func (c *BillingAccountsEstimateCostScenarioCall) Do(opts ...googleapi.CallOption) (*EstimateCostScenarioForBillingAccountResponse, error)
Do executes the "cloudbilling.billingAccounts.estimateCostScenario" call. Exactly one of *EstimateCostScenarioForBillingAccountResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *EstimateCostScenarioForBillingAccountResponse.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.
func (*BillingAccountsEstimateCostScenarioCall) Fields ¶
func (c *BillingAccountsEstimateCostScenarioCall) Fields(s ...googleapi.Field) *BillingAccountsEstimateCostScenarioCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
func (*BillingAccountsEstimateCostScenarioCall) Header ¶
func (c *BillingAccountsEstimateCostScenarioCall) Header() http.Header
Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.
type BillingAccountsService ¶
type BillingAccountsService struct {
// contains filtered or unexported fields
}
func NewBillingAccountsService ¶
func NewBillingAccountsService(s *Service) *BillingAccountsService
func (*BillingAccountsService) EstimateCostScenario ¶
func (r *BillingAccountsService) EstimateCostScenario(billingAccount string, estimatecostscenarioforbillingaccountrequest *EstimateCostScenarioForBillingAccountRequest) *BillingAccountsEstimateCostScenarioCall
EstimateCostScenario: Use custom pricing in the estimate, using a `CostScenario` with a defined `billingAccount`.
- billingAccount: Resource name of the billing account for the cost estimate. The resource name has the form `billingAccounts/{billing_acount_id}`. For example, `billingAccounts/012345-567890-ABCDEF` is the resource name for billing account `012345-567890-ABCDEF`. Must be specified.
type CacheFillRegions ¶ added in v0.106.0
type CacheFillRegions struct { // DestinationRegion: The destination region for cache fill. // // Possible values: // "CACHE_FILL_DESTINATION_REGION_UNSPECIFIED" - Not specified. // "CACHE_FILL_DESTINATION_REGION_ASIA_PACIFIC" - Asia Pacific. // "CACHE_FILL_DESTINATION_REGION_EUROPE" - Europe // "CACHE_FILL_DESTINATION_REGION_NORTH_AMERICA" - North America. // "CACHE_FILL_DESTINATION_REGION_OCEANIA" - Oceania. // "CACHE_FILL_DESTINATION_REGION_SOUTH_AMERICA" - South America. // "CACHE_FILL_DESTINATION_REGION_CHINA" - China. // "CACHE_FILL_DESTINATION_REGION_OTHERS" - Others. DestinationRegion string `json:"destinationRegion,omitempty"` // SourceRegion: The source region for cache fill. // // Possible values: // "CACHE_FILL_SOURCE_REGION_UNSPECIFIED" - Not specified. // "CACHE_FILL_REGION_ASIA_PACIFIC" - Asia Pacific. // "CACHE_FILL_SOURCE_REGION_EUROPE" - Europe // "CACHE_FILL_SOURCE_REGION_NORTH_AMERICA" - North America. // "CACHE_FILL_SOURCE_REGION_OCEANIA" - Oceania. // "CACHE_FILL_SOURCE_REGION_SOUTH_AMERICA" - South America. SourceRegion string `json:"sourceRegion,omitempty"` // ForceSendFields is a list of field names (e.g. "DestinationRegion") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DestinationRegion") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
CacheFillRegions: Specifies the regions for Cache Fill.
func (*CacheFillRegions) MarshalJSON ¶ added in v0.106.0
func (s *CacheFillRegions) MarshalJSON() ([]byte, error)
type CloudCdnEgressWorkload ¶ added in v0.106.0
type CloudCdnEgressWorkload struct { // CacheEgressDestination: The destination for the cache egress charges. // // Possible values: // "CACHE_EGRESS_DESTINATION_UNSPECIFIED" - Unspecified. // "CACHE_EGRESS_DESTINATION_ASIA_PACIFIC" - Asia Pacific. // "CACHE_EGRESS_DESTINATION_CHINA" - China. // "CACHE_EGRESS_DESTINATION_EUROPE" - Europe. // "CACHE_EGRESS_DESTINATION_NORTH_AMERICA" - North America. // "CACHE_EGRESS_DESTINATION_OCEANIA" - Oceania including Australia, // New Zealand, and surrounding Pacific Ocean islands such as Papua New // Guinea and Fiji. This region excludes Hawaii. // "CACHE_EGRESS_DESTINATION_LATIN_AMERICA" - Latin America (Including // the Caribbean, South America and Central America.) // "CACHE_EGRESS_DESTINATION_OTHER_DESTINATIONS" - All other // destinations (including Africa and Antarctica) CacheEgressDestination string `json:"cacheEgressDestination,omitempty"` // CacheEgressRate: Cache egress usage. The rate of data cache egressed // in the destination. For example : units such as "GiBy/s" or "TBy/mo". CacheEgressRate *Usage `json:"cacheEgressRate,omitempty"` // ForceSendFields is a list of field names (e.g. // "CacheEgressDestination") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CacheEgressDestination") // to include in API requests with the JSON null value. By default, // fields with empty values are omitted from API requests. However, any // field with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
CloudCdnEgressWorkload: Specifies usage for Cloud CDN egress.
func (*CloudCdnEgressWorkload) MarshalJSON ¶ added in v0.106.0
func (s *CloudCdnEgressWorkload) MarshalJSON() ([]byte, error)
type CloudCdnWorkload ¶ added in v0.106.0
type CloudCdnWorkload struct { // CacheFillOriginService: The source service for the cache fill. // // Possible values: // "CACHE_FILL_ORIGIN_SERVICE_UNSPECIFIED" - Not specified. // "CACHE_FILL_ORIGIN_SERVICE_GOOGLE_CLOUD_STORAGE_BUCKET" - Origin // service is Google Cloud Storage. // "CACHE_FILL_ORIGIN_SERVICE_BACKEND_SERVICE" - Origin service is // backend service, such as Compute VMs, external backend, etc. CacheFillOriginService string `json:"cacheFillOriginService,omitempty"` // CacheFillRate: Cache fill usage. The rate of data transferred between // cache fill regions. For example: units such as "GiBy/s" or "TBy/mo". CacheFillRate *Usage `json:"cacheFillRate,omitempty"` // CacheFillRegions: The regions where data is transferred from Google // data locations into Google global cache servers. The SKU prices for // cache fill across services are the same. CacheFillRegions *CacheFillRegions `json:"cacheFillRegions,omitempty"` // CacheLookUpRate: Cache look up requests. This is specified to // indicate the number of requests. For example: units such as "1/s". CacheLookUpRate *Usage `json:"cacheLookUpRate,omitempty"` // ForceSendFields is a list of field names (e.g. // "CacheFillOriginService") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CacheFillOriginService") // to include in API requests with the JSON null value. By default, // fields with empty values are omitted from API requests. However, any // field with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
CloudCdnWorkload: Specifies usage for Cloud CDN resources.
func (*CloudCdnWorkload) MarshalJSON ¶ added in v0.106.0
func (s *CloudCdnWorkload) MarshalJSON() ([]byte, error)
type CloudInterconnectEgressWorkload ¶ added in v0.106.0
type CloudInterconnectEgressWorkload struct { // EgressRate: Data egress usage. This usage applies when you move or // copy data from one Google Cloud service to another service. Expected // units such as "GiBy/s, By/s, etc." EgressRate *Usage `json:"egressRate,omitempty"` // InterconnectConnectionLocation: Locations in the Interconnect // connection location table // (https://cloud.google.com/vpc/network-pricing#interconnect-pricing). // This is the interconnect egress charges. // // Possible values: // "INTERCONNECT_CONNECTION_LOCATION_UNSPECIFIED" - Unspecified. // "INTERCONNECT_CONNECTION_LOCATION_ASIA" - Asia. // "INTERCONNECT_CONNECTION_LOCATION_EUROPE" - Europe. // "INTERCONNECT_CONNECTION_LOCATION_NORTH_AMERICA" - North America. // "INTERCONNECT_CONNECTION_LOCATION_SOUTH_AMERICA" - South America. // "INTERCONNECT_CONNECTION_LOCATION_AUSTRALIA" - Australia. InterconnectConnectionLocation string `json:"interconnectConnectionLocation,omitempty"` // ForceSendFields is a list of field names (e.g. "EgressRate") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EgressRate") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
CloudInterconnectEgressWorkload: The interconnect egress only includes the Interconnect Egress. Please use the standard egress traffic interface to specify your standard egress usage.
func (*CloudInterconnectEgressWorkload) MarshalJSON ¶ added in v0.106.0
func (s *CloudInterconnectEgressWorkload) MarshalJSON() ([]byte, error)
type CloudInterconnectWorkload ¶ added in v0.106.0
type CloudInterconnectWorkload struct { // InterconnectAttachments: VLAN attachment used for interconnect. InterconnectAttachments []*VlanAttachment `json:"interconnectAttachments,omitempty"` // InterconnectType: Vlan attachment type. // // Possible values: // "INTERCONNECT_TYPE_UNSPECIFIED" - Unspecified. // "INTERCONNECT_TYPE_DEDICATED" - Type is dedicated. // "INTERCONNECT_TYPE_PARTNER" - Type is partner. InterconnectType string `json:"interconnectType,omitempty"` // LinkType: Interconnect circuit link type. // // Possible values: // "LINK_TYPE_UNSPECIFIED" - Unspecified. // "LINK_TYPE_ETHERNET_10G_LR" - Link type is 10 gbps. // "LINK_TYPE_ETHERNET_100G_LR" - Link type is 100 gbps. LinkType string `json:"linkType,omitempty"` // ProvisionedLinkCount: Interconnect usage. This is specified as a // unitless quantity which indicates the number of circuit provisioned // in interconnect. ProvisionedLinkCount *Usage `json:"provisionedLinkCount,omitempty"` // ForceSendFields is a list of field names (e.g. // "InterconnectAttachments") to unconditionally include in API // requests. By default, fields with empty or default values are omitted // from API requests. However, any non-pointer, non-interface field // appearing in ForceSendFields will be sent to the server regardless of // whether the field is empty or not. This may be used to include empty // fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InterconnectAttachments") // to include in API requests with the JSON null value. By default, // fields with empty values are omitted from API requests. However, any // field with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
CloudInterconnectWorkload: Specifies usage for Cloud Interconnect resources.
func (*CloudInterconnectWorkload) MarshalJSON ¶ added in v0.106.0
func (s *CloudInterconnectWorkload) MarshalJSON() ([]byte, error)
type CloudStorageEgressWorkload ¶ added in v0.106.0
type CloudStorageEgressWorkload struct { // DestinationContinent: Where the data is sent to. // // Possible values: // "DESTINATION_CONTINENT_UNSPECIFIED" - Not specified. // "DESTINATION_CONTINENT_ASIA_PACIFIC" - Asia Pacific. // "DESTINATION_CONTINENT_AUTRALIA" - Australia. // "DESTINATION_CONTINENT_EUROPE" - Europe. // "DESTINATION_CONTINENT_NORTH_AMERICA" - North America. // "DESTINATION_CONTINENT_SOUTH_AMERICA" - South America DestinationContinent string `json:"destinationContinent,omitempty"` // EgressRate: Egress usage rate. This usage applies when you move or // copy data from one Cloud Storage bucket to another or when another // Google Cloud service accesses data in your Cloud Storage bucket. // Expected units such as "GiBy/s, By/s, ..." EgressRate *Usage `json:"egressRate,omitempty"` // SourceContinent: Where the data comes from. // // Possible values: // "SOURCE_CONTINENT_UNSPECIFIED" - Not specified. // "SOURCE_CONTINENT_ASIA_PACIFIC" - Asia Pacific. // "SOURCE_CONTINENT_AUSTRALIA" - Australia. // "SOURCE_CONTINENT_EUROPE" - Europe. // "SOURCE_CONTINENT_NORTH_AMERICA" - North America. // "SOURCE_CONTINENT_SOUTH_AMERICA" - South America. SourceContinent string `json:"sourceContinent,omitempty"` // ForceSendFields is a list of field names (e.g. // "DestinationContinent") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DestinationContinent") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
CloudStorageEgressWorkload: Specification of a network type. Network egress within Google Cloud applies when you move or copy data from one Cloud Storage bucket to another or when another Google Cloud service accesses data in your Cloud Storage bucket.This includes the network egress within Google Cloud and the general network usage.
func (*CloudStorageEgressWorkload) MarshalJSON ¶ added in v0.106.0
func (s *CloudStorageEgressWorkload) MarshalJSON() ([]byte, error)
type CloudStorageWorkload ¶
type CloudStorageWorkload struct { // DataRetrieval: Data retrieval usage. A retrieval cost applies when // data or metadata is read, copied, or rewritten . For example: units // such as "GiBy/s" or "By/s". DataRetrieval *Usage `json:"dataRetrieval,omitempty"` // DataStored: Data storage usage. The amount of data stored in buckets. // For example: units such as "GiBy/s" or "TBy/mo". DataStored *Usage `json:"dataStored,omitempty"` // DualRegion: Specify dual regions. DualRegion *DualRegional `json:"dualRegion,omitempty"` // MultiRegion: Specify multi regions. MultiRegion *MultiRegional `json:"multiRegion,omitempty"` // OperationA: Class A operation usage in Cloud Storage, such as listing // the objects in buckets. See the operations pricing // (https://cloud.google.com/storage/pricing#operations-pricing) tables // for a list of which operations fall into each class. For example: // units such as "1/s". OperationA *Usage `json:"operationA,omitempty"` // OperationB: Class B operation usage in Cloud Storage, such as // `getIamPolicy`. See the operations pricing // (https://cloud.google.com/storage/pricing#operations-pricing) tables // for a list of which operations fall into each class. For example: // units such as "1/s". OperationB *Usage `json:"operationB,omitempty"` // Region: Specify a single region. Region *Regional `json:"region,omitempty"` // StorageClass: The storage class // (https://cloud.google.com/storage/docs/storage-classes#classes) of // the data and operation. For example: "standard" and "nearline". StorageClass string `json:"storageClass,omitempty"` // ForceSendFields is a list of field names (e.g. "DataRetrieval") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DataRetrieval") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
CloudStorageWorkload: Specifies usage of Cloud Storage resources.
func (*CloudStorageWorkload) MarshalJSON ¶
func (s *CloudStorageWorkload) MarshalJSON() ([]byte, error)
type Commitment ¶
type Commitment struct { // Name: Required. A name for this commitment. All commitments in a // CostScenario must have unique names. Each name may be at most 128 // characters long. Name string `json:"name,omitempty"` // VmResourceBasedCud: A resource-based committed use discount (CUD). VmResourceBasedCud *VmResourceBasedCud `json:"vmResourceBasedCud,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
Commitment: Commitments give you the ability to pay a recurring fee in exchange for a benefit, such as a discount for your use. For example, this object might contain details of a spend-based committed use discount (CUD) (https://cloud.google.com/docs/cuds#spend_based_commitments). Within a CostScenario, adding a commitment includes the cost of the commitment and any discounts.
func (*Commitment) MarshalJSON ¶
func (s *Commitment) MarshalJSON() ([]byte, error)
type CommitmentCostEstimate ¶
type CommitmentCostEstimate struct { // CommitmentTotalCostEstimate: Total estimated costs for the // commitment. CommitmentTotalCostEstimate *CostEstimate `json:"commitmentTotalCostEstimate,omitempty"` // Name: The name of the commitment, as specified in the `CostScenario`. Name string `json:"name,omitempty"` // SkuCostEstimates: Estimated costs for each SKU in the commitment. SkuCostEstimates []*SkuCostEstimate `json:"skuCostEstimates,omitempty"` // ForceSendFields is a list of field names (e.g. // "CommitmentTotalCostEstimate") to unconditionally include in API // requests. By default, fields with empty or default values are omitted // from API requests. However, any non-pointer, non-interface field // appearing in ForceSendFields will be sent to the server regardless of // whether the field is empty or not. This may be used to include empty // fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "CommitmentTotalCostEstimate") to include in API requests with the // JSON null value. By default, fields with empty values are omitted // from API requests. However, any field with an empty value appearing // in NullFields will be sent to the server as null. It is an error if a // field in this list has a non-empty value. This may be used to include // null fields in Patch requests. NullFields []string `json:"-"` }
CommitmentCostEstimate: Estimated cost for a commitment.
func (*CommitmentCostEstimate) MarshalJSON ¶
func (s *CommitmentCostEstimate) MarshalJSON() ([]byte, error)
type ComputeVmWorkload ¶
type ComputeVmWorkload struct { // EnableConfidentialCompute: Defines whether each instance has // confidential compute enabled. EnableConfidentialCompute bool `json:"enableConfidentialCompute,omitempty"` // GuestAccelerator: Guest accelerators attached to each machine. GuestAccelerator *GuestAccelerator `json:"guestAccelerator,omitempty"` // InstancesRunning: VM usage. This is specified as a unitless quantity // which indicates the number of instances running. InstancesRunning *Usage `json:"instancesRunning,omitempty"` // Licenses: Premium image licenses used by each instance. Licenses []string `json:"licenses,omitempty"` // MachineType: The machine type. MachineType *MachineType `json:"machineType,omitempty"` // PersistentDisks: Persistent disks attached to each instance. Must // include a boot disk. PersistentDisks []*PersistentDisk `json:"persistentDisks,omitempty"` // Preemptible: Defines whether each instance is preemptible. Preemptible bool `json:"preemptible,omitempty"` // Region: The region // (https://cloud.google.com/compute/docs/regions-zones) where the VMs // run. For example: "us-central1". Region string `json:"region,omitempty"` // ForceSendFields is a list of field names (e.g. // "EnableConfidentialCompute") to unconditionally include in API // requests. By default, fields with empty or default values are omitted // from API requests. However, any non-pointer, non-interface field // appearing in ForceSendFields will be sent to the server regardless of // whether the field is empty or not. This may be used to include empty // fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "EnableConfidentialCompute") to include in API requests with the JSON // null value. By default, fields with empty values are omitted from API // requests. However, any field with an empty value appearing in // NullFields will be sent to the server as null. It is an error if a // field in this list has a non-empty value. This may be used to include // null fields in Patch requests. NullFields []string `json:"-"` }
ComputeVmWorkload: Specificies usage of a set of identical compute VM instances.
func (*ComputeVmWorkload) MarshalJSON ¶
func (s *ComputeVmWorkload) MarshalJSON() ([]byte, error)
type CostEstimate ¶
type CostEstimate struct { // CreditEstimates: The estimated credits applied. CreditEstimates []*CreditEstimate `json:"creditEstimates,omitempty"` // NetCostEstimate: The estimated net cost after applying credits. NetCostEstimate *Money `json:"netCostEstimate,omitempty"` // PreCreditCostEstimate: The estimated cost prior to applying credits. PreCreditCostEstimate *Money `json:"preCreditCostEstimate,omitempty"` // ForceSendFields is a list of field names (e.g. "CreditEstimates") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreditEstimates") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
CostEstimate: An estimated cost.
func (*CostEstimate) MarshalJSON ¶
func (s *CostEstimate) MarshalJSON() ([]byte, error)
type CostEstimationResult ¶
type CostEstimationResult struct { // CurrencyCode: Required. The ISO 4217 currency code for the cost // estimate. CurrencyCode string `json:"currencyCode,omitempty"` // SegmentCostEstimates: Required. Estimated costs for each idealized // month of a `CostScenario`. SegmentCostEstimates []*SegmentCostEstimate `json:"segmentCostEstimates,omitempty"` // Skus: Required. Information about SKUs used in the estimate. Skus []*Sku `json:"skus,omitempty"` // ForceSendFields is a list of field names (e.g. "CurrencyCode") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CurrencyCode") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
CostEstimationResult: The result of a estimating the costs of a `CostScenario`.
func (*CostEstimationResult) MarshalJSON ¶
func (s *CostEstimationResult) MarshalJSON() ([]byte, error)
type CostScenario ¶
type CostScenario struct { // Commitments: New commitments to estimate the costs for. The cost of // the commitments will be included in the estimate result and discounts // the commitment entitles will be included in the workload cost // estimates. A maximum of 100 workloads can be provided. Commitments []*Commitment `json:"commitments,omitempty"` // ScenarioConfig: Configuration for the scenario. ScenarioConfig *ScenarioConfig `json:"scenarioConfig,omitempty"` // Workloads: The Google Cloud usage whose costs are estimated. A // maximum of 100 workloads can be provided. Workloads []*Workload `json:"workloads,omitempty"` // ForceSendFields is a list of field names (e.g. "Commitments") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Commitments") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
CostScenario: Encapsulates all the information needed to perform a cost estimate. It includes a specification of the Google Cloud usage whose costs are estimated, and configuration options.
func (*CostScenario) MarshalJSON ¶
func (s *CostScenario) MarshalJSON() ([]byte, error)
type CreditEstimate ¶
type CreditEstimate struct { // CreditAmount: The estimated credit amount. CreditAmount *Money `json:"creditAmount,omitempty"` // CreditDescription: The credit description. CreditDescription string `json:"creditDescription,omitempty"` // CreditType: The credit type. CreditType string `json:"creditType,omitempty"` // ForceSendFields is a list of field names (e.g. "CreditAmount") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreditAmount") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
CreditEstimate: An estimated credit applied to the costs on a SKU.
func (*CreditEstimate) MarshalJSON ¶
func (s *CreditEstimate) MarshalJSON() ([]byte, error)
type CustomMachineType ¶
type CustomMachineType struct { // MachineSeries: Required. The machine series. Only certain machine // series // (https://cloud.google.com/compute/docs/general-purpose-machines#custom_machine_types) // support custom configurations. For example: "n1". MachineSeries string `json:"machineSeries,omitempty"` // MemorySizeGb: Required. Memory size of the VM in GB (2^30 bytes). // Must be an increment of 0.25 (256 MB). Each machine series // (https://cloud.google.com/compute/docs/machine-types#machine_type_comparison) // has limitations on allowed values for the ratio of memory-to-vCPU // count. MemorySizeGb float64 `json:"memorySizeGb,omitempty"` // VirtualCpuCount: Required. The number of vCPUs. The allowed values // depend on the machine series // (https://cloud.google.com/compute/docs/machine-types#machine_type_comparison). VirtualCpuCount int64 `json:"virtualCpuCount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "MachineSeries") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MachineSeries") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
CustomMachineType: Specification of a custom machine type.
func (*CustomMachineType) MarshalJSON ¶
func (s *CustomMachineType) MarshalJSON() ([]byte, error)
func (*CustomMachineType) UnmarshalJSON ¶
func (s *CustomMachineType) UnmarshalJSON(data []byte) error
type DualRegional ¶
type DualRegional struct { // Name: The location name // (https://cloud.google.com/storage/docs/locations#available-locations) // where the data is stored. For example: "asia1" for dual region. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
DualRegional: Area contains dual locations.
func (*DualRegional) MarshalJSON ¶
func (s *DualRegional) MarshalJSON() ([]byte, error)
type EstimateCostScenarioForBillingAccountRequest ¶
type EstimateCostScenarioForBillingAccountRequest struct { // CostScenario: The scenario to estimate costs for. CostScenario *CostScenario `json:"costScenario,omitempty"` // ForceSendFields is a list of field names (e.g. "CostScenario") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CostScenario") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
EstimateCostScenarioForBillingAccountRequest: Request for EstimateCostScenarioForBillingAccount.
func (*EstimateCostScenarioForBillingAccountRequest) MarshalJSON ¶
func (s *EstimateCostScenarioForBillingAccountRequest) MarshalJSON() ([]byte, error)
type EstimateCostScenarioForBillingAccountResponse ¶
type EstimateCostScenarioForBillingAccountResponse struct { // CostEstimationResult: The result of the cost estimation. CostEstimationResult *CostEstimationResult `json:"costEstimationResult,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. // "CostEstimationResult") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CostEstimationResult") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
EstimateCostScenarioForBillingAccountResponse: Response for EstimateCostScenarioForBillingAccount
func (*EstimateCostScenarioForBillingAccountResponse) MarshalJSON ¶
func (s *EstimateCostScenarioForBillingAccountResponse) MarshalJSON() ([]byte, error)
type EstimateCostScenarioWithListPriceRequest ¶
type EstimateCostScenarioWithListPriceRequest struct { // CostScenario: The scenario to estimate costs for. CostScenario *CostScenario `json:"costScenario,omitempty"` // ForceSendFields is a list of field names (e.g. "CostScenario") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CostScenario") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
EstimateCostScenarioWithListPriceRequest: Request for EstimateCostScenarioWithListPrice.
func (*EstimateCostScenarioWithListPriceRequest) MarshalJSON ¶
func (s *EstimateCostScenarioWithListPriceRequest) MarshalJSON() ([]byte, error)
type EstimateCostScenarioWithListPriceResponse ¶
type EstimateCostScenarioWithListPriceResponse struct { // CostEstimationResult: The result of the cost estimation. CostEstimationResult *CostEstimationResult `json:"costEstimationResult,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. // "CostEstimationResult") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CostEstimationResult") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
EstimateCostScenarioWithListPriceResponse: Response for EstimateCostScenarioWithListPrice
func (*EstimateCostScenarioWithListPriceResponse) MarshalJSON ¶
func (s *EstimateCostScenarioWithListPriceResponse) MarshalJSON() ([]byte, error)
type EstimationTimePoint ¶
type EstimationTimePoint struct { // EstimationTimeFrameOffset: The point in time, relative to the start // of the time frame covered by the cost estimate. EstimationTimeFrameOffset string `json:"estimationTimeFrameOffset,omitempty"` // ForceSendFields is a list of field names (e.g. // "EstimationTimeFrameOffset") to unconditionally include in API // requests. By default, fields with empty or default values are omitted // from API requests. However, any non-pointer, non-interface field // appearing in ForceSendFields will be sent to the server regardless of // whether the field is empty or not. This may be used to include empty // fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "EstimationTimeFrameOffset") to include in API requests with the JSON // null value. By default, fields with empty values are omitted from API // requests. However, any field with an empty value appearing in // NullFields will be sent to the server as null. It is an error if a // field in this list has a non-empty value. This may be used to include // null fields in Patch requests. NullFields []string `json:"-"` }
EstimationTimePoint: Represents a point in time.
func (*EstimationTimePoint) MarshalJSON ¶
func (s *EstimationTimePoint) MarshalJSON() ([]byte, error)
type GuestAccelerator ¶
type GuestAccelerator struct { // AcceleratorCount: The number of the guest accelerator cards exposed // to each instance. AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"` // AcceleratorType: The type of the guest accelerator cards. For // example: "nvidia-tesla-t4". AcceleratorType string `json:"acceleratorType,omitempty"` // ForceSendFields is a list of field names (e.g. "AcceleratorCount") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AcceleratorCount") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
GuestAccelerator: Specification of a set of guest accelerators attached to a machine.
func (*GuestAccelerator) MarshalJSON ¶
func (s *GuestAccelerator) MarshalJSON() ([]byte, error)
type InterRegionEgress ¶ added in v0.110.0
type InterRegionEgress struct { // DestinationRegion: Which region // (https://cloud.google.com/compute/docs/regions-zones) the egress data // goes to. DestinationRegion string `json:"destinationRegion,omitempty"` // EgressRate: VM to VM egress usage. Expected units such as "GiBy/s, // By/s, etc." EgressRate *Usage `json:"egressRate,omitempty"` // SourceRegion: Which region // (https://cloud.google.com/compute/docs/regions-zones) the egress data // comes from. SourceRegion string `json:"sourceRegion,omitempty"` // ForceSendFields is a list of field names (e.g. "DestinationRegion") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DestinationRegion") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
InterRegionEgress: Egress traffic between two regions.
func (*InterRegionEgress) MarshalJSON ¶ added in v0.110.0
func (s *InterRegionEgress) MarshalJSON() ([]byte, error)
type IntraRegionEgress ¶ added in v0.110.0
type IntraRegionEgress struct { // EgressRate: VM to VM egress usage. Expected units such as "GiBy/s, // By/s, etc." EgressRate *Usage `json:"egressRate,omitempty"` // ForceSendFields is a list of field names (e.g. "EgressRate") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EgressRate") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
IntraRegionEgress: Egress traffic within the same region. When source region and destination region are in the same zone, using the internal IP addresses, there isn't any egress charge.
func (*IntraRegionEgress) MarshalJSON ¶ added in v0.110.0
func (s *IntraRegionEgress) MarshalJSON() ([]byte, error)
type MachineType ¶
type MachineType struct { CustomMachineType *CustomMachineType `json:"customMachineType,omitempty"` PredefinedMachineType *PredefinedMachineType `json:"predefinedMachineType,omitempty"` // ForceSendFields is a list of field names (e.g. "CustomMachineType") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomMachineType") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
MachineType: Specification of machine series, memory, and number of vCPUs.
func (*MachineType) MarshalJSON ¶
func (s *MachineType) MarshalJSON() ([]byte, error)
type Money ¶
type Money struct { // CurrencyCode: The three-letter currency code defined in ISO 4217. CurrencyCode string `json:"currencyCode,omitempty"` // Nanos: Number of nano (10^-9) units of the amount. The value must be // between -999,999,999 and +999,999,999 inclusive. If `units` is // positive, `nanos` must be positive or zero. If `units` is zero, // `nanos` can be positive, zero, or negative. If `units` is negative, // `nanos` must be negative or zero. For example $-1.75 is represented // as `units`=-1 and `nanos`=-750,000,000. Nanos int64 `json:"nanos,omitempty"` // Units: The whole units of the amount. For example if `currencyCode` // is "USD", then 1 unit is one US dollar. Units int64 `json:"units,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CurrencyCode") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CurrencyCode") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
Money: Represents an amount of money with its currency type.
func (*Money) MarshalJSON ¶
type MultiRegional ¶
type MultiRegional struct { // Name: The location name // (https://cloud.google.com/storage/docs/locations#available-locations) // where the data is stored. For example: "us" for multi-region. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
MultiRegional: Area contains multiple locations.
func (*MultiRegional) MarshalJSON ¶
func (s *MultiRegional) MarshalJSON() ([]byte, error)
type PersistentDisk ¶
type PersistentDisk struct { // DiskSize: Specifies the size of disk. Must be at least 10 GB. DiskSize *Usage `json:"diskSize,omitempty"` // DiskType: The disk type // (https://cloud.google.com/compute/docs/disks#disk-types). For // example: "pd-standard". DiskType string `json:"diskType,omitempty"` // ProvisionedIops: Indicates how many IOPS to provision for the disk // for extreme persistent disks. This sets the number of I/O operations // per second that the disk can handle. Values must be between 10,000 // and 120,000. ProvisionedIops *Usage `json:"provisionedIops,omitempty"` // Scope: The geographic scope of the disk. Defaults to `SCOPE_ZONAL` if // not specified. // // Possible values: // "SCOPE_UNSPECIFIED" - Unspecified. // "SCOPE_ZONAL" - The disk exists in a single zone. // "SCOPE_REGIONAL" - The disk is replicated in a secondary zone // within the same region. Scope string `json:"scope,omitempty"` // ForceSendFields is a list of field names (e.g. "DiskSize") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DiskSize") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
PersistentDisk: Specification of a persistent disk attached to a VM.
func (*PersistentDisk) MarshalJSON ¶
func (s *PersistentDisk) MarshalJSON() ([]byte, error)
type PredefinedMachineType ¶
type PredefinedMachineType struct { // MachineType: The machine type // (https://cloud.google.com/compute/docs/machine-types). For example: // "n1-standard1". MachineType string `json:"machineType,omitempty"` // ForceSendFields is a list of field names (e.g. "MachineType") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MachineType") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
PredefinedMachineType: Specification of a predefined machine type.
func (*PredefinedMachineType) MarshalJSON ¶
func (s *PredefinedMachineType) MarshalJSON() ([]byte, error)
type PremiumTierEgressWorkload ¶ added in v0.106.0
type PremiumTierEgressWorkload struct { // DestinationContinent: Where the data is sent to. // // Possible values: // "DESTINATION_CONTINENT_UNSPECIFIED" - Not specified. // "DESTINATION_CONTINENT_ASIA_PACIFIC" - Asia Pacific. // "DESTINATION_CONTINENT_AFRICA" - Africa. // "DESTINATION_CONTINENT_NORTH_AMERICA" - North America. // "DESTINATION_CONTINENT_AUTRALIA" - Australia. // "DESTINATION_CONTINENT_CENTRAL_AMERICA" - Central America. // "DESTINATION_CONTINENT_CHINA" - China. // "DESTINATION_CONTINENT_EASTERN_EUROPE" - Eastern Europe. // "DESTINATION_CONTINENT_WESTERN_EUROPE" - Western Europe. // "DESTINATION_CONTINENT_EMEA" - Other regions in Europe, Middle East // and Africa. // "DESTINATION_CONTINENT_INDIA" - India // "DESTINATION_CONTINENT_MIDDLE_EAST" - Middle East. // "DESTINATION_CONTINENT_SOUTH_AMERICA" - South America. DestinationContinent string `json:"destinationContinent,omitempty"` // EgressRate: Premium Tier egress usage. Expected units such as // "GiBy/s, By/s, etc." EgressRate *Usage `json:"egressRate,omitempty"` // SourceRegion: Which region // (https://cloud.google.com/compute/docs/regions-zones) the egress data // comes from. SourceRegion string `json:"sourceRegion,omitempty"` // ForceSendFields is a list of field names (e.g. // "DestinationContinent") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DestinationContinent") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
PremiumTierEgressWorkload: Specify Premium Tier Internet egress networking.
func (*PremiumTierEgressWorkload) MarshalJSON ¶ added in v0.106.0
func (s *PremiumTierEgressWorkload) MarshalJSON() ([]byte, error)
type Price ¶
type Price struct { // EffectiveTime: The timestamp within the estimation time frame when // the price was set. EffectiveTime *EstimationTimePoint `json:"effectiveTime,omitempty"` // PriceType: The type of price. Possible values: "RATE" PriceType string `json:"priceType,omitempty"` // Rate: A set of tiered rates. Rate *Rate `json:"rate,omitempty"` // ForceSendFields is a list of field names (e.g. "EffectiveTime") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EffectiveTime") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
Price: The price of a SKU at a point int time.
func (*Price) MarshalJSON ¶
type Rate ¶
type Rate struct { // Tiers: The service tiers. Tiers []*RateTier `json:"tiers,omitempty"` // Unit: The SKU's pricing unit. For example, if the tier price is $1 // per 1000000 Bytes, then this field will show 'By'. The `start_amount` // field in each tier will be in this unit. Unit string `json:"unit,omitempty"` // UnitCount: The SKU's count for the pricing unit. For example, if the // tier price is $1 per 1000000 Bytes, then this column will show // 1000000. UnitCount float64 `json:"unitCount,omitempty"` // ForceSendFields is a list of field names (e.g. "Tiers") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Tiers") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
Rate: A SKU price consisting of tiered rates.
func (*Rate) MarshalJSON ¶
func (*Rate) UnmarshalJSON ¶
type RateTier ¶
type RateTier struct { // Price: The price for this tier. Price *Money `json:"price,omitempty"` // StartAmount: The magnitude of usage in which the tier interval // begins. Example: "From 100 GiBi the price is $1 per byte" implies // `start_amount` = 100 StartAmount float64 `json:"startAmount,omitempty"` // ForceSendFields is a list of field names (e.g. "Price") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Price") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
RateTier: Pricing details for a service tier.
func (*RateTier) MarshalJSON ¶
func (*RateTier) UnmarshalJSON ¶
type Regional ¶
type Regional struct { // Name: The location name // (https://cloud.google.com/storage/docs/locations#available-locations). // For example: "us-central1" for region. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
Regional: Area contains only one location.
func (*Regional) MarshalJSON ¶
type ScenarioConfig ¶
type ScenarioConfig struct { // EstimateDuration: Time frame for the estimate. Workloads must specify // usage for this duration. Duration must be at least 1 hour (3,600 // seconds) and at most 10 years (315,360,000 seconds). The calculations // for years and months are based on a 730-hour (2,628,000-second) // month. For durations longer than one month (2,628,000 seconds), the // duration is rounded up to the next month, so the estimate shows you // the costs for full months. For example, a duration of 3,232,800 // seconds (roughly 5 weeks) is rounded up to 2 months. EstimateDuration string `json:"estimateDuration,omitempty"` // ForceSendFields is a list of field names (e.g. "EstimateDuration") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EstimateDuration") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
ScenarioConfig: Configuration for a CostScenario. Specifies how costs are calculated.
func (*ScenarioConfig) MarshalJSON ¶
func (s *ScenarioConfig) MarshalJSON() ([]byte, error)
type SegmentCostEstimate ¶
type SegmentCostEstimate struct { // CommitmentCostEstimates: Estimated costs for each commitment. CommitmentCostEstimates []*CommitmentCostEstimate `json:"commitmentCostEstimates,omitempty"` // SegmentStartTime: Timestamp for the start of the segment. SegmentStartTime *EstimationTimePoint `json:"segmentStartTime,omitempty"` // SegmentTotalCostEstimate: Total estimated costs for the time segment. SegmentTotalCostEstimate *CostEstimate `json:"segmentTotalCostEstimate,omitempty"` // WorkloadCostEstimates: Estimated costs for each workload. WorkloadCostEstimates []*WorkloadCostEstimate `json:"workloadCostEstimates,omitempty"` // ForceSendFields is a list of field names (e.g. // "CommitmentCostEstimates") to unconditionally include in API // requests. By default, fields with empty or default values are omitted // from API requests. However, any non-pointer, non-interface field // appearing in ForceSendFields will be sent to the server regardless of // whether the field is empty or not. This may be used to include empty // fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CommitmentCostEstimates") // to include in API requests with the JSON null value. By default, // fields with empty values are omitted from API requests. However, any // field with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
SegmentCostEstimate: Workload cost estimates for a single time segment.
func (*SegmentCostEstimate) MarshalJSON ¶
func (s *SegmentCostEstimate) MarshalJSON() ([]byte, error)
type Service ¶
type Service struct { BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment BillingAccounts *BillingAccountsService V1beta *V1betaService // contains filtered or unexported fields }
func New
deprecated
New creates a new Service. It uses the provided http.Client for requests.
Deprecated: please use NewService instead. To provide a custom HTTP client, use option.WithHTTPClient. If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func NewService ¶
NewService creates a new Service.
type Sku ¶
type Sku struct { // DisplayName: The display name for the SKU. Example: A2 Instance Core // running in Americas DisplayName string `json:"displayName,omitempty"` // Prices: A timeline of prices for a SKU in chronological order. Note: // The API currently only supports using a constant price for the entire // estimation time frame so this list will contain a single value. Prices []*Price `json:"prices,omitempty"` // Sku: The resource name for the SKU. Example: // "services/DA34-426B-A397/skus/AA95-CD31-42FE" Sku string `json:"sku,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
Sku: Information about SKUs appearing in the cost estimate.
func (*Sku) MarshalJSON ¶
type SkuCostEstimate ¶
type SkuCostEstimate struct { // CostEstimate: The estimated cost for the usage on this SKU. CostEstimate *CostEstimate `json:"costEstimate,omitempty"` // Sku: The resource name for the SKU. Example: // "services/DA34-426B-A397/skus/AA95-CD31-42FE" More information about // the SKU can be found in the `skus` field of the // `CostEstimationResult`. Sku string `json:"sku,omitempty"` // UsageAmount: The amount of usage on this SKU. UsageAmount float64 `json:"usageAmount,omitempty"` // UsageUnit: The unit for the usage on this SKU. UsageUnit string `json:"usageUnit,omitempty"` // ForceSendFields is a list of field names (e.g. "CostEstimate") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CostEstimate") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
SkuCostEstimate: Estimated cost for usage on a SKU.
func (*SkuCostEstimate) MarshalJSON ¶
func (s *SkuCostEstimate) MarshalJSON() ([]byte, error)
func (*SkuCostEstimate) UnmarshalJSON ¶
func (s *SkuCostEstimate) UnmarshalJSON(data []byte) error
type StandardTierEgressWorkload ¶ added in v0.106.0
type StandardTierEgressWorkload struct { // EgressRate: Standard tier egress usage. Expected units such as // "GiBy/s, By/s, etc." EgressRate *Usage `json:"egressRate,omitempty"` // SourceRegion: Which region // (https://cloud.google.com/compute/docs/regions-zones) the egress data // comes from. SourceRegion string `json:"sourceRegion,omitempty"` // ForceSendFields is a list of field names (e.g. "EgressRate") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EgressRate") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
StandardTierEgressWorkload: Specify Standard Tier Internet egress networking.
func (*StandardTierEgressWorkload) MarshalJSON ¶ added in v0.106.0
func (s *StandardTierEgressWorkload) MarshalJSON() ([]byte, error)
type Usage ¶
type Usage struct { // UsageRateTimeline: A timeline of usage rates over the estimate // interval. UsageRateTimeline *UsageRateTimeline `json:"usageRateTimeline,omitempty"` // ForceSendFields is a list of field names (e.g. "UsageRateTimeline") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "UsageRateTimeline") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
Usage: An amount of usage over a time frame.
func (*Usage) MarshalJSON ¶
type UsageRateTimeline ¶
type UsageRateTimeline struct { // Unit: The unit for the usage rate in each timeline entry. If you // provide an incorrect unit for an instance, the correct unit is // provided in the error message. The supported units are a subset of // The Unified Code for Units of Measure (https://ucum.org/ucum.html) // standard: * **Time units (TIME-UNIT)** * `s` second * `min` minute * // `h` hour * `d` day * `wk` week * `mo` month * `yr` year * `ms` // millisecond * `us` microsecond * `ns` nanosecond * **Basic storage // units (BASIC-STORAGE-UNIT)** * `bit` bit * `By` byte * **Count units // (COUNT-UNIT)** * `count` count * **Prefixes (PREFIX)** * `k` kilo // (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12) * `P` // peta (10^15) * `Ki` kibi (2^10) * `Mi` mebi (2^20) * `Gi` gibi (2^30) // * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar** The grammar also // includes these connectors: * `/` division or ratio (as an infix // operator). For example: `kBy/{email}` or `MiBy/10ms`. * `.` // multiplication or composition (as an infix operator). For example: // `GBy.d` or `k{watt}.h`. The grammar for a unit is as follows: “` // Expression = Component { "." Component } { "/" Component } ; // Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] | Annotation | // "1" ; UNIT = TIME-UNIT | STORAGE-UNIT | DATA-UNIT | COUNT-UNIT // Annotation = "{" NAME "}" ; “` Examples: * Request per second: `1/s` // or `{requests}/s` * GibiBytes: `GiBy` * GibiBytes * seconds: `GiBy.s` Unit string `json:"unit,omitempty"` // UsageRateTimelineEntries: The timeline entries. Each entry has a // start time and usage rate. The start time specifies the effective // time of the usage rate. The entries must be sorted by start time in // an increasing order. UsageRateTimelineEntries []*UsageRateTimelineEntry `json:"usageRateTimelineEntries,omitempty"` // ForceSendFields is a list of field names (e.g. "Unit") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Unit") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
UsageRateTimeline: A timeline of usage rates. Consists of a series of entries, each of which specifies a constant rate of usage during a time interval. Each entry contains an effective time. The usage rate is in effect from that time until the effective time of the subsequent entry, or, for the last entry, for the remaining portion of estimation time frame. Effective times are specified as an offset into the estimation time frame. Usage is considered to be zero until the `effective_time` of the first entry. All subsequent entries must have an effective time greater than the previous entry and less than the estimate time frame. The effective time on all entries must be an integer number of hours.
func (*UsageRateTimeline) MarshalJSON ¶
func (s *UsageRateTimeline) MarshalJSON() ([]byte, error)
type UsageRateTimelineEntry ¶
type UsageRateTimelineEntry struct { // EffectiveTime: The effective time for this entry. The usage rate is // in effect starting at this time until the effective time of the // subsequent entry in the timeline. The last entry defines the usage // rate until the end of the `Usage` time frame. Must correspond to an // integer number of hours. EffectiveTime *EstimationTimePoint `json:"effectiveTime,omitempty"` // UsageRate: The usage rate. UsageRate float64 `json:"usageRate,omitempty"` // ForceSendFields is a list of field names (e.g. "EffectiveTime") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EffectiveTime") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
UsageRateTimelineEntry: A usage rate timeline entry. Each entry specifies a constant usage rate during a time interval.
func (*UsageRateTimelineEntry) MarshalJSON ¶
func (s *UsageRateTimelineEntry) MarshalJSON() ([]byte, error)
func (*UsageRateTimelineEntry) UnmarshalJSON ¶
func (s *UsageRateTimelineEntry) UnmarshalJSON(data []byte) error
type V1betaEstimateCostScenarioCall ¶
type V1betaEstimateCostScenarioCall struct {
// contains filtered or unexported fields
}
func (*V1betaEstimateCostScenarioCall) Context ¶
func (c *V1betaEstimateCostScenarioCall) Context(ctx context.Context) *V1betaEstimateCostScenarioCall
Context sets the context to be used in this call's Do method. Any pending HTTP request will be aborted if the provided context is canceled.
func (*V1betaEstimateCostScenarioCall) Do ¶
func (c *V1betaEstimateCostScenarioCall) Do(opts ...googleapi.CallOption) (*EstimateCostScenarioWithListPriceResponse, error)
Do executes the "cloudbilling.estimateCostScenario" call. Exactly one of *EstimateCostScenarioWithListPriceResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *EstimateCostScenarioWithListPriceResponse.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.
func (*V1betaEstimateCostScenarioCall) Fields ¶
func (c *V1betaEstimateCostScenarioCall) Fields(s ...googleapi.Field) *V1betaEstimateCostScenarioCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
func (*V1betaEstimateCostScenarioCall) Header ¶
func (c *V1betaEstimateCostScenarioCall) Header() http.Header
Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.
type V1betaService ¶
type V1betaService struct {
// contains filtered or unexported fields
}
func NewV1betaService ¶
func NewV1betaService(s *Service) *V1betaService
func (*V1betaService) EstimateCostScenario ¶
func (r *V1betaService) EstimateCostScenario(estimatecostscenariowithlistpricerequest *EstimateCostScenarioWithListPriceRequest) *V1betaEstimateCostScenarioCall
EstimateCostScenario: Estimate list prices using a `CostScenario` without a defined `billingAccount`.
type VlanAttachment ¶ added in v0.106.0
type VlanAttachment struct { // Bandwidth: Capacities in the pricing table // (https://cloud.google.com/vpc/network-pricing#interconnect-pricing) // Examples of capacity are: 50/100/200/300/400/500-Mbps, // 1/2/5/10/20/50-Gbps. // // Possible values: // "BANDWIDTH_UNSPECIFIED" - Unspecified. // "BANDWIDTH_BPS_50M" - 50 Mbit/s // "BANDWIDTH_BPS_100M" - 100 Mbit/s // "BANDWIDTH_BPS_200M" - 200 Mbit/s // "BANDWIDTH_BPS_300M" - 300 Mbit/s // "BANDWIDTH_BPS_400M" - 400 Mbit/s // "BANDWIDTH_BPS_500M" - 500 Mbit/s // "BANDWIDTH_BPS_1G" - 1 Gbit/s // "BANDWIDTH_BPS_2G" - 2 Gbit/s // "BANDWIDTH_BPS_5G" - 5 Gbit/s // "BANDWIDTH_BPS_10G" - 10 Gbit/s // "BANDWIDTH_BPS_20G" - 20 Gbit/s // "BANDWIDTH_BPS_50G" - 50 Gbit/s Bandwidth string `json:"bandwidth,omitempty"` // VlanCount: VLAN usage. This is specified as a unitless quantity which // indicates the number of VLAN attachment used in interconnect. VlanCount *Usage `json:"vlanCount,omitempty"` // ForceSendFields is a list of field names (e.g. "Bandwidth") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Bandwidth") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
VlanAttachment: VLAN attachment for cloud interconnect.
func (*VlanAttachment) MarshalJSON ¶ added in v0.106.0
func (s *VlanAttachment) MarshalJSON() ([]byte, error)
type VmResourceBasedCud ¶
type VmResourceBasedCud struct { // GuestAccelerator: Guest accelerator, known as GPU. GuestAccelerator *GuestAccelerator `json:"guestAccelerator,omitempty"` // MachineSeries: The machine series for CUD. For example: "n1" for // general purpose N1 machine type commitments. "n2" for general purpose // N2 machine type commitments. "e2" for general purpose E2 machine type // commitments. "n2d" for general purpose N2D machine type commitments. // "t2d" for general purpose T2D machine type commitments. "c2"/"c2d" // for compute-optimized commitments. "m1"/"m2" for the memory-optimized // commitments. "a2' for the accelerator-optimized commitments. MachineSeries string `json:"machineSeries,omitempty"` // MemorySizeGb: Memory size of the VM in GB (2^30 bytes). Must be an // increment of 0.25 (256 MB). MemorySizeGb float64 `json:"memorySizeGb,omitempty"` // Plan: Commitment usage plan. // // Possible values: // "COMMITMENT_PLAN_UNSPECIFIED" - Not specified commitment plan. // "TWELVE_MONTH" - 1 year commitment. // "THIRTY_SIX_MONTH" - 3 years commitment. Plan string `json:"plan,omitempty"` // Region: The region where the VM runs. For example: "us-central1" Region string `json:"region,omitempty"` // VirtualCpuCount: The number of vCPUs. The number of vCPUs must be an // integer of 0 or more and can be even or odd. VirtualCpuCount int64 `json:"virtualCpuCount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "GuestAccelerator") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "GuestAccelerator") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
VmResourceBasedCud: Specifies a resource-based committed use discount (CUD).
func (*VmResourceBasedCud) MarshalJSON ¶
func (s *VmResourceBasedCud) MarshalJSON() ([]byte, error)
func (*VmResourceBasedCud) UnmarshalJSON ¶
func (s *VmResourceBasedCud) UnmarshalJSON(data []byte) error
type VmToVmEgressWorkload ¶ added in v0.110.0
type VmToVmEgressWorkload struct { InterRegionEgress *InterRegionEgress `json:"interRegionEgress,omitempty"` IntraRegionEgress *IntraRegionEgress `json:"intraRegionEgress,omitempty"` // ForceSendFields is a list of field names (e.g. "InterRegionEgress") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InterRegionEgress") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
VmToVmEgressWorkload: Specify VM to VM egress.
func (*VmToVmEgressWorkload) MarshalJSON ¶ added in v0.110.0
func (s *VmToVmEgressWorkload) MarshalJSON() ([]byte, error)
type Workload ¶
type Workload struct { // CloudCdnEgressWorkload: Usage on Google Cloud CDN Egress. CloudCdnEgressWorkload *CloudCdnEgressWorkload `json:"cloudCdnEgressWorkload,omitempty"` // CloudCdnWorkload: Usage on Google Cloud CDN. CloudCdnWorkload *CloudCdnWorkload `json:"cloudCdnWorkload,omitempty"` // CloudInterconnectEgressWorkload: Usage on Google Cloud Interconnect // Egress. CloudInterconnectEgressWorkload *CloudInterconnectEgressWorkload `json:"cloudInterconnectEgressWorkload,omitempty"` // CloudInterconnectWorkload: Usage on Google Cloud Interconnect. CloudInterconnectWorkload *CloudInterconnectWorkload `json:"cloudInterconnectWorkload,omitempty"` // CloudStorageEgressWorkload: Usage on a cloud storage egress. CloudStorageEgressWorkload *CloudStorageEgressWorkload `json:"cloudStorageEgressWorkload,omitempty"` // CloudStorageWorkload: Usage on Google Cloud Storage. CloudStorageWorkload *CloudStorageWorkload `json:"cloudStorageWorkload,omitempty"` // ComputeVmWorkload: Usage of a Google Compute Engine Virtual Machine. ComputeVmWorkload *ComputeVmWorkload `json:"computeVmWorkload,omitempty"` // Name: Required. A name for this workload. All workloads in a // `CostScenario` must have a unique `name`. Each `name` may be at most // 128 characters long. Name string `json:"name,omitempty"` // PremiumTierEgressWorkload: Usage on Premium Tier Internet Egress. PremiumTierEgressWorkload *PremiumTierEgressWorkload `json:"premiumTierEgressWorkload,omitempty"` // StandardTierEgressWorkload: Usage on Standard Tier Internet Egress. StandardTierEgressWorkload *StandardTierEgressWorkload `json:"standardTierEgressWorkload,omitempty"` // VmToVmEgressWorkload: Usage on Vm to Vm Egress. VmToVmEgressWorkload *VmToVmEgressWorkload `json:"vmToVmEgressWorkload,omitempty"` // ForceSendFields is a list of field names (e.g. // "CloudCdnEgressWorkload") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CloudCdnEgressWorkload") // to include in API requests with the JSON null value. By default, // fields with empty values are omitted from API requests. However, any // field with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` }
Workload: Specifies usage on a single Google Cloud product over a time frame. Each Google Cloud product has its own message, containing specific product configuration parameters of the product usage amounts along each dimension in which the product is billed.
func (*Workload) MarshalJSON ¶
type WorkloadCostEstimate ¶
type WorkloadCostEstimate struct { // Name: The name of the workload, as specified in the `CostScenario`. Name string `json:"name,omitempty"` // SkuCostEstimates: Estimated costs for each SKU in the workload. SkuCostEstimates []*SkuCostEstimate `json:"skuCostEstimates,omitempty"` // WorkloadTotalCostEstimate: Total estimated costs for the workload. WorkloadTotalCostEstimate *CostEstimate `json:"workloadTotalCostEstimate,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` }
WorkloadCostEstimate: Estimated cost for a workload.
func (*WorkloadCostEstimate) MarshalJSON ¶
func (s *WorkloadCostEstimate) MarshalJSON() ([]byte, error)