Documentation
¶
Index ¶
- Variables
- func GetFloatFieldValueByUsageTag(tagValue string, s interface{}) float64
- func GetRegionTier(region string) string
- type ArtifactRegistryRepository
- type BigQueryDataset
- type BigQueryTable
- type CloudFunctionsFunction
- type CloudRunService
- type CloudRunV2Job
- type ComputeAddress
- type ComputeDisk
- type ComputeExternalVPNGateway
- type ComputeExternalVPNGatewayNetworkEgressUsage
- type ComputeForwardingRule
- type ComputeGuestAccelerator
- type ComputeImage
- type ComputeInstance
- type ComputeInstanceGroupManager
- type ComputeMachineImage
- type ComputeRegionInstanceGroupManager
- func (r *ComputeRegionInstanceGroupManager) BuildResource() *engine.Estimate
- func (r *ComputeRegionInstanceGroupManager) CoreType() string
- func (r *ComputeRegionInstanceGroupManager) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *ComputeRegionInstanceGroupManager) UsageSchema() []*engine.ConsumptionField
- type ComputeRouterNAT
- type ComputeSnapshot
- type ComputeTargetGRPCProxy
- type ComputeVPNGateway
- type ComputeVPNGatewayNetworkEgressUsage
- type ComputeVPNTunnel
- type ContainerCluster
- type ContainerNodeConfig
- type ContainerNodePool
- type ContainerRegistry
- type ContainerRegistryNetworkEgressUsage
- type DNSManagedZone
- type DNSRecordSet
- type KMSCryptoKey
- type Logging
- type MonitoringMetricDescriptor
- type NetworkEgressUsage
- type PubSubSubscription
- type PubSubTopic
- type RedisCluster
- type RedisInstance
- type RegionUsage
- type RegionsUsage
- type SQLDatabaseInstance
- func (r *SQLDatabaseInstance) BuildResource() *engine.Estimate
- func (r *SQLDatabaseInstance) CoreType() string
- func (r *SQLDatabaseInstance) IsCustom() bool
- func (r *SQLDatabaseInstance) IsHighMem() bool
- func (r *SQLDatabaseInstance) IsLegacy() bool
- func (r *SQLDatabaseInstance) IsShared() bool
- func (r *SQLDatabaseInstance) IsStandard() bool
- func (r *SQLDatabaseInstance) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *SQLDatabaseInstance) UsageSchema() []*engine.ConsumptionField
- type SQLInstanceDBType
- type SecretManagerSecret
- type SecretManagerSecretVersion
- type StorageBucket
- type StorageBucketNetworkEgressUsage
Constants ¶
This section is empty.
Variables ¶
var ComputeExternalVPNGatewayNetworkEgressUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Float64, DefaultValue: 0, Key: "asia"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "worldwide"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "china"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "australia"}, }
var ComputeVPNGatewayNetworkEgressUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Float64, DefaultValue: 0, Key: "same_region"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "us_or_canada"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "europe"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "south_america"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "oceania"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "worldwide"}, }
var ContainerRegistryNetworkEgressUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Float64, DefaultValue: 0, Key: "same_continent"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "worldwide"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "china"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "australia"}, }
var RegionUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Float64, DefaultValue: 0, Key: "asia_east1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia_east2"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia_northeast1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia_northeast2"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia_northeast3"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia_south1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia_south2"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia_southeast1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia_southeast2"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "australia_southeast1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "australia_southeast2"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "europe_central2"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "europe_north1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "europe_west1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "europe_west2"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "europe_west3"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "europe_west4"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "europe_west6"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "northamerica_northeast1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "northamerica_northeast2"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "southamerica_east1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "southamerica_west1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "us_central1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "us_east1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "us_east4"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "us_west1"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "us_west2"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "us_west3"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "us_west4"}, }
RegionUsageSchema is the schema representation of the RegionsUsage type. This can be used as a engine.SubResourceUsage to define a structure that's commonly used with resources that vary on a per region basis.
var StorageBucketNetworkEgressUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Float64, DefaultValue: 0, Key: "same_continent"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "asia"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "worldwide"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "china"}, {ValueType: engine.Float64, DefaultValue: 0, Key: "australia"}, }
Functions ¶
func GetRegionTier ¶
Types ¶
type ArtifactRegistryRepository ¶
type ArtifactRegistryRepository struct {
Address string
Region string
Continent string
// StorageGB represents a usage cost that defines the amount of gb the artifact registry uses on a per monthly basis.
StorageGB *float64 `c3x_usage:"storage_gb"`
// MonthlyEgressDataTransferGB represents a complex usage cost that defines data transfer to different regions in the
// google cloud infra. This does not include outbound internet egress (e.g. downloading artifact data to a local machine).
MonthlyEgressDataTransferGB *RegionsUsage `c3x_usage:"monthly_egress_data_transfer_gb"`
}
ArtifactRegistryRepository struct represents a GCP artifact Registry. Artifact registry is essentially a next generation version of google's container registry. It allows users to store container images and language packages in the GCP.
Pricing for Artifact Registry is based on storage amounts and data transfer.
Resource information: https://cloud.google.com/artifact-registry Pricing information: https://cloud.google.com/artifact-registry/pricing
func (*ArtifactRegistryRepository) BuildResource ¶
func (r *ArtifactRegistryRepository) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ArtifactRegistryRepository struct. It returns ArtifactRegistryRepository as a engine.Estimate with two main cost components: storage costs & egress costs.
Storage costs:
priced at $0.10 a month after artifact registry usage is > 0.5 GB. We ignore the free tier as there is no way to currently tell if other artifact registry resources have gone beyond this free usage tier.
Network costs:
- free within the same region
- free from multi-region to a region within the same continent, e.g. europe -> europe-west1
- $0.01 when between different regions in North America continent
- $0.02 when between different regions in Europe continent
- $0.05 when between different regions in AsiaPacific continent
- $0.15 when between any region and Oceania continent
- $0.08 for all other intercontinental data transfer
This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ArtifactRegistryRepository) CoreType ¶
func (r *ArtifactRegistryRepository) CoreType() string
artifactRegistryRepositoryUsageSchema defines a list which represents the usage schema of ArtifactRegistryRepository.
func (*ArtifactRegistryRepository) PopulateUsage ¶
func (r *ArtifactRegistryRepository) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ArtifactRegistryRepository. It uses the `c3x_usage` struct tags to populate data into the ArtifactRegistryRepository.
func (*ArtifactRegistryRepository) UsageSchema ¶
func (r *ArtifactRegistryRepository) UsageSchema() []*engine.ConsumptionField
type BigQueryDataset ¶
type BigQueryDataset struct {
Address string
Region string
MonthlyQueriesTB *float64 `c3x_usage:"monthly_queries_tb"`
}
func (*BigQueryDataset) BuildResource ¶
func (r *BigQueryDataset) BuildResource() *engine.Estimate
func (*BigQueryDataset) CoreType ¶
func (r *BigQueryDataset) CoreType() string
func (*BigQueryDataset) PopulateUsage ¶
func (r *BigQueryDataset) PopulateUsage(u *engine.ConsumptionProfile)
func (*BigQueryDataset) UsageSchema ¶
func (r *BigQueryDataset) UsageSchema() []*engine.ConsumptionField
type BigQueryTable ¶
type BigQueryTable struct {
Address string
Region string
MonthlyStreamingInsertsMB *float64 `c3x_usage:"monthly_streaming_inserts_mb"`
MonthlyStorageWriteAPIGB *float64 `c3x_usage:"monthly_storage_write_api_gb"`
MonthlyStorageReadAPITB *float64 `c3x_usage:"monthly_storage_read_api_tb"`
MonthlyActiveStorageGB *float64 `c3x_usage:"monthly_active_storage_gb"`
MonthlyLongTermStorageGB *float64 `c3x_usage:"monthly_long_term_storage_gb"`
}
func (*BigQueryTable) BuildResource ¶
func (r *BigQueryTable) BuildResource() *engine.Estimate
func (*BigQueryTable) CoreType ¶
func (r *BigQueryTable) CoreType() string
func (*BigQueryTable) PopulateUsage ¶
func (r *BigQueryTable) PopulateUsage(u *engine.ConsumptionProfile)
func (*BigQueryTable) UsageSchema ¶
func (r *BigQueryTable) UsageSchema() []*engine.ConsumptionField
type CloudFunctionsFunction ¶
type CloudFunctionsFunction struct {
Address string
Region string
AvailableMemoryMB *int64
RequestDurationMs *int64 `c3x_usage:"request_duration_ms"`
MonthlyFunctionInvocations *int64 `c3x_usage:"monthly_function_invocations"`
MonthlyOutboundDataGB *float64 `c3x_usage:"monthly_outbound_data_gb"`
}
func (*CloudFunctionsFunction) BuildResource ¶
func (r *CloudFunctionsFunction) BuildResource() *engine.Estimate
func (*CloudFunctionsFunction) CoreType ¶
func (r *CloudFunctionsFunction) CoreType() string
func (*CloudFunctionsFunction) PopulateUsage ¶
func (r *CloudFunctionsFunction) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudFunctionsFunction) UsageSchema ¶
func (r *CloudFunctionsFunction) UsageSchema() []*engine.ConsumptionField
type CloudRunService ¶
type CloudRunService struct {
Address string
Region string
CpuLimit int64
IsThrottlingEnabled bool
MemoryLimit int64
MinInstanceCount float64
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
AverageRequestDurationMs *int64 `c3x_usage:"average_request_duration_ms"`
ConcurrentRequestsPerInstance *int64 `c3x_usage:"concurrent_requests_per_instance"`
InstanceHrs *int64 `c3x_usage:"instance_hrs"`
}
CloudRunService acts as a top-level container that manages a set of configurations and revision templates which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership.
Resource information: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service/
func (*CloudRunService) BuildResource ¶
func (r *CloudRunService) BuildResource() *engine.Estimate
func (*CloudRunService) CoreType ¶
func (r *CloudRunService) CoreType() string
func (*CloudRunService) PopulateUsage ¶
func (r *CloudRunService) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudRunService) UsageSchema ¶
func (r *CloudRunService) UsageSchema() []*engine.ConsumptionField
type CloudRunV2Job ¶
type CloudRunV2Job struct {
Address string
Region string
CpuLimit int64
MemoryLimit int64
TaskCount int64
MonthlyJobExecutions *int64 `c3x_usage:"monthly_job_executions"`
AvgTaskExecutionMins *float64 `c3x_usage:"average_task_execution_mins"`
}
CloudRunV2Job represents a resource that references a container image which is run to completion.
func (*CloudRunV2Job) BuildResource ¶
func (r *CloudRunV2Job) BuildResource() *engine.Estimate
func (*CloudRunV2Job) CoreType ¶
func (r *CloudRunV2Job) CoreType() string
CoreType returns the name of this resource type
func (*CloudRunV2Job) PopulateUsage ¶
func (r *CloudRunV2Job) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudRunV2Job) UsageSchema ¶
func (r *CloudRunV2Job) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of CloudRunV2Job.
type ComputeAddress ¶
type ComputeAddress struct {
Address string
Region string
AddressType string
Purpose string
InstancePurchaseOption string
}
func (*ComputeAddress) BuildResource ¶
func (r *ComputeAddress) BuildResource() *engine.Estimate
func (*ComputeAddress) CoreType ¶
func (r *ComputeAddress) CoreType() string
func (*ComputeAddress) PopulateUsage ¶
func (r *ComputeAddress) PopulateUsage(u *engine.ConsumptionProfile)
func (*ComputeAddress) UsageSchema ¶
func (r *ComputeAddress) UsageSchema() []*engine.ConsumptionField
type ComputeDisk ¶
type ComputeDisk struct {
Address string
Region string
Type string
Size float64
InstanceCount *int64
// applicable for pd-extreme and hyperdisk-extreme
IOPS int64
}
ComputeDisk struct represents Compute Disk resource.
func (*ComputeDisk) BuildResource ¶
func (r *ComputeDisk) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ComputeDisk struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ComputeDisk) CoreType ¶
func (r *ComputeDisk) CoreType() string
func (*ComputeDisk) PopulateUsage ¶
func (r *ComputeDisk) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ComputeDisk. It uses the `c3x_usage` struct tags to populate data into the ComputeDisk.
func (*ComputeDisk) UsageSchema ¶
func (r *ComputeDisk) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of ComputeDisk.
type ComputeExternalVPNGateway ¶
type ComputeExternalVPNGateway struct {
Address string
Region string
MonthlyEgressDataTransferGB *ComputeExternalVPNGatewayNetworkEgressUsage `c3x_usage:"monthly_egress_data_transfer_gb"`
}
func (*ComputeExternalVPNGateway) BuildResource ¶
func (r *ComputeExternalVPNGateway) BuildResource() *engine.Estimate
func (*ComputeExternalVPNGateway) CoreType ¶
func (r *ComputeExternalVPNGateway) CoreType() string
func (*ComputeExternalVPNGateway) PopulateUsage ¶
func (r *ComputeExternalVPNGateway) PopulateUsage(u *engine.ConsumptionProfile)
func (*ComputeExternalVPNGateway) UsageSchema ¶
func (r *ComputeExternalVPNGateway) UsageSchema() []*engine.ConsumptionField
type ComputeExternalVPNGatewayNetworkEgressUsage ¶
type ComputeExternalVPNGatewayNetworkEgressUsage struct {
Asia *float64 `c3x_usage:"asia"`
Worldwide *float64 `c3x_usage:"worldwide"`
China *float64 `c3x_usage:"china"`
Australia *float64 `c3x_usage:"australia"`
NetworkEgressUsage
}
func (*ComputeExternalVPNGatewayNetworkEgressUsage) BuildResource ¶
func (r *ComputeExternalVPNGatewayNetworkEgressUsage) BuildResource() *engine.Estimate
func (*ComputeExternalVPNGatewayNetworkEgressUsage) CoreType ¶
func (r *ComputeExternalVPNGatewayNetworkEgressUsage) CoreType() string
func (*ComputeExternalVPNGatewayNetworkEgressUsage) UsageSchema ¶
func (r *ComputeExternalVPNGatewayNetworkEgressUsage) UsageSchema() []*engine.ConsumptionField
type ComputeForwardingRule ¶
type ComputeForwardingRule struct {
Address string
Region string
MonthlyIngressDataGB *float64 `c3x_usage:"monthly_ingress_data_gb"`
}
func (*ComputeForwardingRule) BuildResource ¶
func (r *ComputeForwardingRule) BuildResource() *engine.Estimate
func (*ComputeForwardingRule) CoreType ¶
func (r *ComputeForwardingRule) CoreType() string
func (*ComputeForwardingRule) PopulateUsage ¶
func (r *ComputeForwardingRule) PopulateUsage(u *engine.ConsumptionProfile)
func (*ComputeForwardingRule) UsageSchema ¶
func (r *ComputeForwardingRule) UsageSchema() []*engine.ConsumptionField
type ComputeGuestAccelerator ¶
ComputeGuestAccelerator defines Guest Accelerator setup for Compute catalog.
type ComputeImage ¶
type ComputeImage struct {
Address string
Region string
StorageSize float64
// "usage" args
StorageGB *float64 `c3x_usage:"storage_gb"`
}
ComputeImage struct represents Compute Image resource.
func (*ComputeImage) BuildResource ¶
func (r *ComputeImage) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ComputeImage struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ComputeImage) CoreType ¶
func (r *ComputeImage) CoreType() string
func (*ComputeImage) PopulateUsage ¶
func (r *ComputeImage) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ComputeImage. It uses the `c3x_usage` struct tags to populate data into the ComputeImage.
func (*ComputeImage) UsageSchema ¶
func (r *ComputeImage) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of ComputeImage.
type ComputeInstance ¶
type ComputeInstance struct {
Address string
Region string
MachineType string
PurchaseOption string
Size int64
HasBootDisk bool
BootDiskSize float64
BootDiskType string
ScratchDisks int
GuestAccelerators []*ComputeGuestAccelerator
MonthlyHours *float64 `c3x_usage:"monthly_hrs"`
}
ComputeInstance struct represents Compute Instance resource.
func (*ComputeInstance) BuildResource ¶
func (r *ComputeInstance) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ComputeInstance struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ComputeInstance) CoreType ¶
func (r *ComputeInstance) CoreType() string
func (*ComputeInstance) PopulateUsage ¶
func (r *ComputeInstance) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ComputeInstance. It uses the `c3x_usage` struct tags to populate data into the ComputeInstance.
func (*ComputeInstance) UsageSchema ¶
func (r *ComputeInstance) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of ComputeInstance.
type ComputeInstanceGroupManager ¶
type ComputeInstanceGroupManager struct {
Address string
Region string
MachineType string
PurchaseOption string
TargetSize int64
Disks []*ComputeDisk
ScratchDisks int
GuestAccelerators []*ComputeGuestAccelerator
}
ComputeInstanceGroupManager struct represents Compute Instance Group Manager resource.
func (*ComputeInstanceGroupManager) BuildResource ¶
func (r *ComputeInstanceGroupManager) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ComputeInstanceGroupManager struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ComputeInstanceGroupManager) CoreType ¶
func (r *ComputeInstanceGroupManager) CoreType() string
func (*ComputeInstanceGroupManager) PopulateUsage ¶
func (r *ComputeInstanceGroupManager) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ComputeInstanceGroupManager. It uses the `c3x_usage` struct tags to populate data into the ComputeInstanceGroupManager.
func (*ComputeInstanceGroupManager) UsageSchema ¶
func (r *ComputeInstanceGroupManager) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of ComputeInstanceGroupManager.
type ComputeMachineImage ¶
type ComputeMachineImage struct {
Address string
Region string
// "usage" args
StorageGB *float64 `c3x_usage:"storage_gb"`
}
ComputeMachineImage struct represents Compute Machine Image resource.
func (*ComputeMachineImage) BuildResource ¶
func (r *ComputeMachineImage) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ComputeMachineImage struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ComputeMachineImage) CoreType ¶
func (r *ComputeMachineImage) CoreType() string
func (*ComputeMachineImage) PopulateUsage ¶
func (r *ComputeMachineImage) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ComputeMachineImage. It uses the `c3x_usage` struct tags to populate data into the ComputeMachineImage.
func (*ComputeMachineImage) UsageSchema ¶
func (r *ComputeMachineImage) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of ComputeMachineImage.
type ComputeRegionInstanceGroupManager ¶
type ComputeRegionInstanceGroupManager struct {
Address string
Region string
MachineType string
PurchaseOption string
TargetSize int64
ScratchDisks int
Disks []*ComputeDisk
GuestAccelerators []*ComputeGuestAccelerator
}
ComputeRegionInstanceGroupManager struct represents Compute Region Instance Group Manager resource.
func (*ComputeRegionInstanceGroupManager) BuildResource ¶
func (r *ComputeRegionInstanceGroupManager) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ComputeRegionInstanceGroupManager struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ComputeRegionInstanceGroupManager) CoreType ¶
func (r *ComputeRegionInstanceGroupManager) CoreType() string
func (*ComputeRegionInstanceGroupManager) PopulateUsage ¶
func (r *ComputeRegionInstanceGroupManager) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ComputeRegionInstanceGroupManager. It uses the `c3x_usage` struct tags to populate data into the ComputeRegionInstanceGroupManager.
func (*ComputeRegionInstanceGroupManager) UsageSchema ¶
func (r *ComputeRegionInstanceGroupManager) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of ComputeRegionInstanceGroupManager.
type ComputeRouterNAT ¶
type ComputeRouterNAT struct {
Address string
Region string
AssignedVMs *int64 `c3x_usage:"assigned_vms"`
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
}
func (*ComputeRouterNAT) BuildResource ¶
func (r *ComputeRouterNAT) BuildResource() *engine.Estimate
func (*ComputeRouterNAT) CoreType ¶
func (r *ComputeRouterNAT) CoreType() string
func (*ComputeRouterNAT) PopulateUsage ¶
func (r *ComputeRouterNAT) PopulateUsage(u *engine.ConsumptionProfile)
func (*ComputeRouterNAT) UsageSchema ¶
func (r *ComputeRouterNAT) UsageSchema() []*engine.ConsumptionField
type ComputeSnapshot ¶
type ComputeSnapshot struct {
Address string
Region string
DiskSize float64
// "usage" args
StorageGB *float64 `c3x_usage:"storage_gb"`
}
ComputeSnapshot struct represents Compute Snapshot resource.
func (*ComputeSnapshot) BuildResource ¶
func (r *ComputeSnapshot) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ComputeSnapshot struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ComputeSnapshot) CoreType ¶
func (r *ComputeSnapshot) CoreType() string
func (*ComputeSnapshot) PopulateUsage ¶
func (r *ComputeSnapshot) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ComputeSnapshot. It uses the `c3x_usage` struct tags to populate data into the ComputeSnapshot.
func (*ComputeSnapshot) UsageSchema ¶
func (r *ComputeSnapshot) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of ComputeSnapshot.
type ComputeTargetGRPCProxy ¶
type ComputeTargetGRPCProxy struct {
Address string
Region string
MonthlyProxyInstances *float64 `c3x_usage:"monthly_proxy_instances"`
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
}
func (*ComputeTargetGRPCProxy) BuildResource ¶
func (r *ComputeTargetGRPCProxy) BuildResource() *engine.Estimate
func (*ComputeTargetGRPCProxy) CoreType ¶
func (r *ComputeTargetGRPCProxy) CoreType() string
func (*ComputeTargetGRPCProxy) PopulateUsage ¶
func (r *ComputeTargetGRPCProxy) PopulateUsage(u *engine.ConsumptionProfile)
func (*ComputeTargetGRPCProxy) UsageSchema ¶
func (r *ComputeTargetGRPCProxy) UsageSchema() []*engine.ConsumptionField
type ComputeVPNGateway ¶
type ComputeVPNGateway struct {
Address string
Region string
MonthlyEgressDataTransferGB *ComputeVPNGatewayNetworkEgressUsage `c3x_usage:"monthly_egress_data_transfer_gb"`
}
func (*ComputeVPNGateway) BuildResource ¶
func (r *ComputeVPNGateway) BuildResource() *engine.Estimate
func (*ComputeVPNGateway) CoreType ¶
func (r *ComputeVPNGateway) CoreType() string
func (*ComputeVPNGateway) PopulateUsage ¶
func (r *ComputeVPNGateway) PopulateUsage(u *engine.ConsumptionProfile)
func (*ComputeVPNGateway) UsageSchema ¶
func (r *ComputeVPNGateway) UsageSchema() []*engine.ConsumptionField
type ComputeVPNGatewayNetworkEgressUsage ¶
type ComputeVPNGatewayNetworkEgressUsage struct {
SameRegion *float64 `c3x_usage:"same_region"`
USOrCanada *float64 `c3x_usage:"us_or_canada"`
Europe *float64 `c3x_usage:"europe"`
Asia *float64 `c3x_usage:"asia"`
SouthAmerica *float64 `c3x_usage:"south_america"`
Oceania *float64 `c3x_usage:"oceania"`
Worldwide *float64 `c3x_usage:"worldwide"`
NetworkEgressUsage
}
func (*ComputeVPNGatewayNetworkEgressUsage) BuildResource ¶
func (r *ComputeVPNGatewayNetworkEgressUsage) BuildResource() *engine.Estimate
func (*ComputeVPNGatewayNetworkEgressUsage) CoreType ¶
func (r *ComputeVPNGatewayNetworkEgressUsage) CoreType() string
func (*ComputeVPNGatewayNetworkEgressUsage) UsageSchema ¶
func (r *ComputeVPNGatewayNetworkEgressUsage) UsageSchema() []*engine.ConsumptionField
type ComputeVPNTunnel ¶
func (*ComputeVPNTunnel) BuildResource ¶
func (r *ComputeVPNTunnel) BuildResource() *engine.Estimate
func (*ComputeVPNTunnel) CoreType ¶
func (r *ComputeVPNTunnel) CoreType() string
func (*ComputeVPNTunnel) PopulateUsage ¶
func (r *ComputeVPNTunnel) PopulateUsage(u *engine.ConsumptionProfile)
func (*ComputeVPNTunnel) UsageSchema ¶
func (r *ComputeVPNTunnel) UsageSchema() []*engine.ConsumptionField
type ContainerCluster ¶
type ContainerCluster struct {
Address string
Region string
AutopilotEnabled bool
IsZone bool
DefaultNodePool *ContainerNodePool
NodePools []*ContainerNodePool
// "usage" args
DefaultNodePoolNodes *int64 `c3x_usage:"nodes"`
AutopilotVCPUCount *float64 `c3x_usage:"autopilot_vcpu_count"`
AutopilotMemoryGB *float64 `c3x_usage:"autopilot_memory_gb"`
AutopilotEphemeralStorageGB *float64 `c3x_usage:"autopilot_ephemeral_storage_gb"`
}
ContainerCluster struct represents Container Cluster resource.
func (*ContainerCluster) BuildResource ¶
func (r *ContainerCluster) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ContainerCluster struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ContainerCluster) CoreType ¶
func (r *ContainerCluster) CoreType() string
func (*ContainerCluster) PopulateUsage ¶
func (r *ContainerCluster) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ContainerCluster. It uses the `c3x_usage` struct tags to populate data into the ContainerCluster.
func (*ContainerCluster) UsageSchema ¶
func (r *ContainerCluster) UsageSchema() []*engine.ConsumptionField
type ContainerNodeConfig ¶
type ContainerNodeConfig struct {
MachineType string
PurchaseOption string
DiskType string
DiskSize float64
LocalSSDCount int64
GuestAccelerators []*ComputeGuestAccelerator
}
ContainerNodeConfig defines Node configuration for Container catalog.
type ContainerNodePool ¶
type ContainerNodePool struct {
Address string
Region string
Zones int64
CountPerZone int64
NodeConfig *ContainerNodeConfig
// "usage" args
Nodes *int64 `c3x_usage:"nodes"`
}
ContainerNodePool struct represents Container Cluster's Node Pool resource.
func (*ContainerNodePool) BuildResource ¶
func (r *ContainerNodePool) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ContainerNodePool struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ContainerNodePool) CoreType ¶
func (r *ContainerNodePool) CoreType() string
func (*ContainerNodePool) PopulateUsage ¶
func (r *ContainerNodePool) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ContainerNodePool. It uses the `c3x_usage` struct tags to populate data into the ContainerNodePool.
func (*ContainerNodePool) UsageSchema ¶
func (r *ContainerNodePool) UsageSchema() []*engine.ConsumptionField
type ContainerRegistry ¶
type ContainerRegistry struct {
Address string
Region string
Location string
StorageClass string
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyClassAOperations *int64 `c3x_usage:"monthly_class_a_operations"`
MonthlyClassBOperations *int64 `c3x_usage:"monthly_class_b_operations"`
MonthlyEgressDataTransferGB *ContainerRegistryNetworkEgressUsage `c3x_usage:"monthly_egress_data_transfer_gb"`
}
func (*ContainerRegistry) BuildResource ¶
func (r *ContainerRegistry) BuildResource() *engine.Estimate
func (*ContainerRegistry) CoreType ¶
func (r *ContainerRegistry) CoreType() string
func (*ContainerRegistry) PopulateUsage ¶
func (r *ContainerRegistry) PopulateUsage(u *engine.ConsumptionProfile)
func (*ContainerRegistry) UsageSchema ¶
func (r *ContainerRegistry) UsageSchema() []*engine.ConsumptionField
type ContainerRegistryNetworkEgressUsage ¶
type ContainerRegistryNetworkEgressUsage struct {
SameContinent *float64 `c3x_usage:"same_continent"`
Asia *float64 `c3x_usage:"asia"`
Worldwide *float64 `c3x_usage:"worldwide"`
China *float64 `c3x_usage:"china"`
Australia *float64 `c3x_usage:"australia"`
NetworkEgressUsage
}
func (*ContainerRegistryNetworkEgressUsage) BuildResource ¶
func (r *ContainerRegistryNetworkEgressUsage) BuildResource() *engine.Estimate
func (*ContainerRegistryNetworkEgressUsage) CoreType ¶
func (r *ContainerRegistryNetworkEgressUsage) CoreType() string
func (*ContainerRegistryNetworkEgressUsage) UsageSchema ¶
func (r *ContainerRegistryNetworkEgressUsage) UsageSchema() []*engine.ConsumptionField
type DNSManagedZone ¶
type DNSManagedZone struct {
Address string
}
func (*DNSManagedZone) BuildResource ¶
func (r *DNSManagedZone) BuildResource() *engine.Estimate
func (*DNSManagedZone) CoreType ¶
func (r *DNSManagedZone) CoreType() string
func (*DNSManagedZone) PopulateUsage ¶
func (r *DNSManagedZone) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSManagedZone) UsageSchema ¶
func (r *DNSManagedZone) UsageSchema() []*engine.ConsumptionField
type DNSRecordSet ¶
func (*DNSRecordSet) BuildResource ¶
func (r *DNSRecordSet) BuildResource() *engine.Estimate
func (*DNSRecordSet) CoreType ¶
func (r *DNSRecordSet) CoreType() string
func (*DNSRecordSet) PopulateUsage ¶
func (r *DNSRecordSet) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSRecordSet) UsageSchema ¶
func (r *DNSRecordSet) UsageSchema() []*engine.ConsumptionField
type KMSCryptoKey ¶
type KMSCryptoKey struct {
Address string
Region string
VersionTemplate string
Algorithm string
ProtectionLevel string
RotationPeriod string
KeyVersions *int64 `c3x_usage:"key_versions"`
MonthlyKeyOperations *int64 `c3x_usage:"monthly_key_operations"`
}
func (*KMSCryptoKey) BuildResource ¶
func (r *KMSCryptoKey) BuildResource() *engine.Estimate
func (*KMSCryptoKey) CoreType ¶
func (r *KMSCryptoKey) CoreType() string
func (*KMSCryptoKey) PopulateUsage ¶
func (r *KMSCryptoKey) PopulateUsage(u *engine.ConsumptionProfile)
func (*KMSCryptoKey) UsageSchema ¶
func (r *KMSCryptoKey) UsageSchema() []*engine.ConsumptionField
type Logging ¶
type Logging struct {
Address string
MonthlyLoggingDataGB *float64 `c3x_usage:"monthly_logging_data_gb"`
}
func (*Logging) BuildResource ¶
func (*Logging) PopulateUsage ¶
func (r *Logging) PopulateUsage(u *engine.ConsumptionProfile)
func (*Logging) UsageSchema ¶
func (r *Logging) UsageSchema() []*engine.ConsumptionField
type MonitoringMetricDescriptor ¶
type MonitoringMetricDescriptor struct {
Address string
MonthlyMonitoringDataMB *int64 `c3x_usage:"monthly_monitoring_data_mb"`
MonthlyAPICalls *int64 `c3x_usage:"monthly_api_calls"`
}
func (*MonitoringMetricDescriptor) BuildResource ¶
func (r *MonitoringMetricDescriptor) BuildResource() *engine.Estimate
func (*MonitoringMetricDescriptor) CoreType ¶
func (r *MonitoringMetricDescriptor) CoreType() string
func (*MonitoringMetricDescriptor) PopulateUsage ¶
func (r *MonitoringMetricDescriptor) PopulateUsage(u *engine.ConsumptionProfile)
func (*MonitoringMetricDescriptor) UsageSchema ¶
func (r *MonitoringMetricDescriptor) UsageSchema() []*engine.ConsumptionField
type NetworkEgressUsage ¶
type PubSubSubscription ¶
type PubSubSubscription struct {
Address string
MonthlyMessageDataTB *float64 `c3x_usage:"monthly_message_data_tb"`
StorageGB *float64 `c3x_usage:"storage_gb"`
SnapshotStorageGB *float64 `c3x_usage:"snapshot_storage_gb"`
}
func (*PubSubSubscription) BuildResource ¶
func (r *PubSubSubscription) BuildResource() *engine.Estimate
func (*PubSubSubscription) CoreType ¶
func (r *PubSubSubscription) CoreType() string
func (*PubSubSubscription) PopulateUsage ¶
func (r *PubSubSubscription) PopulateUsage(u *engine.ConsumptionProfile)
func (*PubSubSubscription) UsageSchema ¶
func (r *PubSubSubscription) UsageSchema() []*engine.ConsumptionField
type PubSubTopic ¶
type PubSubTopic struct {
Address string
MonthlyMessageDataTB *float64 `c3x_usage:"monthly_message_data_tb"`
}
func (*PubSubTopic) BuildResource ¶
func (r *PubSubTopic) BuildResource() *engine.Estimate
func (*PubSubTopic) CoreType ¶
func (r *PubSubTopic) CoreType() string
func (*PubSubTopic) PopulateUsage ¶
func (r *PubSubTopic) PopulateUsage(u *engine.ConsumptionProfile)
func (*PubSubTopic) UsageSchema ¶
func (r *PubSubTopic) UsageSchema() []*engine.ConsumptionField
type RedisCluster ¶
type RedisCluster struct {
Address string
Region string
NodeType string
NodeCount int
AOFProvisionedGB int64
AOFEnabled bool
BackupsEnabled bool
BackupStorageGB *float64 `c3x_usage:"backup_storage_gb"`
}
func (*RedisCluster) BuildResource ¶
func (r *RedisCluster) BuildResource() *engine.Estimate
func (*RedisCluster) CoreType ¶
func (r *RedisCluster) CoreType() string
func (*RedisCluster) PopulateUsage ¶
func (r *RedisCluster) PopulateUsage(u *engine.ConsumptionProfile)
func (*RedisCluster) UsageSchema ¶
func (r *RedisCluster) UsageSchema() []*engine.ConsumptionField
type RedisInstance ¶
func (*RedisInstance) BuildResource ¶
func (r *RedisInstance) BuildResource() *engine.Estimate
func (*RedisInstance) CoreType ¶
func (r *RedisInstance) CoreType() string
func (*RedisInstance) PopulateUsage ¶
func (r *RedisInstance) PopulateUsage(u *engine.ConsumptionProfile)
func (*RedisInstance) UsageSchema ¶
func (r *RedisInstance) UsageSchema() []*engine.ConsumptionField
type RegionUsage ¶
RegionUsage defines a hard definition in the regions map.
type RegionsUsage ¶
type RegionsUsage struct {
AsiaEast1 *float64 `c3x_usage:"asia_east1"`
AsiaEast2 *float64 `c3x_usage:"asia_east2"`
AsiaNortheast1 *float64 `c3x_usage:"asia_northeast1"`
AsiaNortheast2 *float64 `c3x_usage:"asia_northeast2"`
AsiaNortheast3 *float64 `c3x_usage:"asia_northeast3"`
AsiaSouth1 *float64 `c3x_usage:"asia_south1"`
AsiaSouth2 *float64 `c3x_usage:"asia_south2"`
AsiaSoutheast1 *float64 `c3x_usage:"asia_southeast1"`
AsiaSoutheast2 *float64 `c3x_usage:"asia_southeast2"`
AustraliaSoutheast1 *float64 `c3x_usage:"australia_southeast1"`
AustraliaSoutheast2 *float64 `c3x_usage:"australia_southeast2"`
EuropeCentral2 *float64 `c3x_usage:"europe_central2"`
EuropeNorth1 *float64 `c3x_usage:"europe_north1"`
EuropeWest1 *float64 `c3x_usage:"europe_west1"`
EuropeWest2 *float64 `c3x_usage:"europe_west2"`
EuropeWest3 *float64 `c3x_usage:"europe_west3"`
EuropeWest4 *float64 `c3x_usage:"europe_west4"`
EuropeWest6 *float64 `c3x_usage:"europe_west6"`
NorthAmericaNortheast1 *float64 `c3x_usage:"northamerica_northeast1"`
NorthAmericaNortheast2 *float64 `c3x_usage:"northamerica_northeast2"`
SouthAmericaEast1 *float64 `c3x_usage:"southamerica_east1"`
SouthAmericaWest1 *float64 `c3x_usage:"southamerica_west1"`
USCentral1 *float64 `c3x_usage:"us_central1"`
USEast1 *float64 `c3x_usage:"us_east1"`
USEast4 *float64 `c3x_usage:"us_east4"`
USWest1 *float64 `c3x_usage:"us_west1"`
USWest2 *float64 `c3x_usage:"us_west2"`
USWest3 *float64 `c3x_usage:"us_west3"`
USWest4 *float64 `c3x_usage:"us_west4"`
}
RegionsUsage is a reusable type that represents a usage cost map. This can be used in resources that define a usage parameter that's changed on a per-region basis, e.g:
monthly_data_processed_gb:
asia_northeast1: 188 asia_east2: 78
can be handled by adding a usage cost property to your resource like so:
type MyResource struct {
...
MonthlyDataProcessedGB *RegionsUsage `c3x_usage:"monthly_processed_gb"`
}
func (RegionsUsage) Values ¶
func (r RegionsUsage) Values() []RegionUsage
Values returns RegionUsage as a slice which can be iterated over to create cost components. The keys of the regions returned have their underscores replaced with hypens so they can be used in product filters and cost lookups.
type SQLDatabaseInstance ¶
type SQLDatabaseInstance struct {
Address string
DiskSize int64
UseIPV4 bool
ReplicaConfiguration string
Tier string
Edition string
AvailabilityType string
Region string
DatabaseVersion string
DiskType string
BackupStorageGB *float64 `c3x_usage:"backup_storage_gb"`
}
func (*SQLDatabaseInstance) BuildResource ¶
func (r *SQLDatabaseInstance) BuildResource() *engine.Estimate
func (*SQLDatabaseInstance) CoreType ¶
func (r *SQLDatabaseInstance) CoreType() string
func (*SQLDatabaseInstance) IsCustom ¶
func (r *SQLDatabaseInstance) IsCustom() bool
func (*SQLDatabaseInstance) IsHighMem ¶
func (r *SQLDatabaseInstance) IsHighMem() bool
func (*SQLDatabaseInstance) IsLegacy ¶
func (r *SQLDatabaseInstance) IsLegacy() bool
func (*SQLDatabaseInstance) IsShared ¶
func (r *SQLDatabaseInstance) IsShared() bool
func (*SQLDatabaseInstance) IsStandard ¶
func (r *SQLDatabaseInstance) IsStandard() bool
func (*SQLDatabaseInstance) PopulateUsage ¶
func (r *SQLDatabaseInstance) PopulateUsage(u *engine.ConsumptionProfile)
func (*SQLDatabaseInstance) UsageSchema ¶
func (r *SQLDatabaseInstance) UsageSchema() []*engine.ConsumptionField
type SQLInstanceDBType ¶
type SQLInstanceDBType int
const ( MySQL SQLInstanceDBType = iota PostgreSQL SQLServer )
type SecretManagerSecret ¶
type SecretManagerSecret struct {
Address string
Region string
ReplicationLocations int64
// "usage" args
ActiveSecretVersions *int64 `c3x_usage:"active_secret_versions"`
MonthlyAccessOperations *int64 `c3x_usage:"monthly_access_operations"`
MonthlyRotationNotifications *int64 `c3x_usage:"monthly_rotation_notifications"`
}
SecretManagerSecret represents Google Secret Manager's Secret resource.
The cost of active secret versions depends on the number of replication locations. If it's more than one then the price is multiplied by the locations' quantity. Pricing API includes Free Tier, but it's not used.
More resource information here: https://cloud.google.com/secret-manager Pricing information here: https://cloud.google.com/secret-manager/pricing
func (*SecretManagerSecret) BuildResource ¶
func (r *SecretManagerSecret) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid SecretManagerSecret. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*SecretManagerSecret) CoreType ¶
func (r *SecretManagerSecret) CoreType() string
func (*SecretManagerSecret) PopulateUsage ¶
func (r *SecretManagerSecret) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the SecretManagerSecret. It uses the `c3x_usage` struct tags to populate data into the SecretManagerSecret.
func (*SecretManagerSecret) UsageSchema ¶
func (r *SecretManagerSecret) UsageSchema() []*engine.ConsumptionField
type SecretManagerSecretVersion ¶
type SecretManagerSecretVersion struct {
Address string
Region string
ReplicationLocations int64
// "usage" args
MonthlyAccessOperations *int64 `c3x_usage:"monthly_access_operations"`
}
SecretManagerSecretVersion represents one Google Secret Manager Secret's Version resource.
The cost of active secret version depends on the number of replication locations specified by its parent secret. If it's more than one then the price is multiplied by the locations' quantity. Pricing API includes Free Tier, but it's not used.
More resource information here: https://cloud.google.com/secret-manager Pricing information here: https://cloud.google.com/secret-manager/pricing
func (*SecretManagerSecretVersion) BuildResource ¶
func (r *SecretManagerSecretVersion) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid SecretManagerSecretVersion. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*SecretManagerSecretVersion) CoreType ¶
func (r *SecretManagerSecretVersion) CoreType() string
func (*SecretManagerSecretVersion) PopulateUsage ¶
func (r *SecretManagerSecretVersion) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the SecretManagerSecretVersion. It uses the `c3x_usage` struct tags to populate data into the SecretManagerSecretVersion.
func (*SecretManagerSecretVersion) UsageSchema ¶
func (r *SecretManagerSecretVersion) UsageSchema() []*engine.ConsumptionField
type StorageBucket ¶
type StorageBucket struct {
Address string
Region string
Location string
StorageClass string
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyClassAOperations *int64 `c3x_usage:"monthly_class_a_operations"`
MonthlyClassBOperations *int64 `c3x_usage:"monthly_class_b_operations"`
MonthlyDataRetrievalGB *float64 `c3x_usage:"monthly_data_retrieval_gb"`
MonthlyEgressDataTransferGB *StorageBucketNetworkEgressUsage `c3x_usage:"monthly_egress_data_transfer_gb"`
}
func (*StorageBucket) BuildResource ¶
func (r *StorageBucket) BuildResource() *engine.Estimate
func (*StorageBucket) CoreType ¶
func (r *StorageBucket) CoreType() string
func (*StorageBucket) PopulateUsage ¶
func (r *StorageBucket) PopulateUsage(u *engine.ConsumptionProfile)
func (*StorageBucket) UsageSchema ¶
func (r *StorageBucket) UsageSchema() []*engine.ConsumptionField
type StorageBucketNetworkEgressUsage ¶
type StorageBucketNetworkEgressUsage struct {
SameContinent *float64 `c3x_usage:"same_continent"`
Asia *float64 `c3x_usage:"asia"`
Worldwide *float64 `c3x_usage:"worldwide"`
China *float64 `c3x_usage:"china"`
Australia *float64 `c3x_usage:"australia"`
NetworkEgressUsage
}
func (*StorageBucketNetworkEgressUsage) BuildResource ¶
func (r *StorageBucketNetworkEgressUsage) BuildResource() *engine.Estimate
func (*StorageBucketNetworkEgressUsage) CoreType ¶
func (r *StorageBucketNetworkEgressUsage) CoreType() string
func (*StorageBucketNetworkEgressUsage) UsageSchema ¶
func (r *StorageBucketNetworkEgressUsage) UsageSchema() []*engine.ConsumptionField
Source Files
¶
- artifact_registry_repository.go
- bigquery_dataset.go
- bigquery_table.go
- cloud_run_v2_job.go
- cloud_run_v2_service.go
- cloudfunctions_function.go
- compute_address.go
- compute_cost_component_helpers.go
- compute_disk.go
- compute_external_vpn_gateway.go
- compute_forwarding_rule.go
- compute_image.go
- compute_instance.go
- compute_instance_group_manager.go
- compute_machine_image.go
- compute_region_instance_group_manager.go
- compute_router_nat.go
- compute_snapshot.go
- compute_target_grpc_proxy.go
- compute_vpn_gateway.go
- compute_vpn_tunnel.go
- container_cluster.go
- container_node_pool.go
- container_registry.go
- dns_managed_zone.go
- dns_record_set.go
- kms_crypto_key.go
- logging.go
- monitoring_metric_descriptor.go
- network_egress_internal.go
- pubsub_subscription.go
- pubsub_topic.go
- redis_cluster.go
- redis_instance.go
- secret_manager_secret.go
- secret_manager_secret_version.go
- sql_database_instance.go
- storage_bucket.go
- util.go