Documentation
¶
Index ¶
- Constants
- Variables
- type APIManagement
- type ActiveDirectoryDomainService
- type ActiveDirectoryDomainServiceReplicaSet
- func (r *ActiveDirectoryDomainServiceReplicaSet) BuildResource() *engine.Estimate
- func (r *ActiveDirectoryDomainServiceReplicaSet) CoreType() string
- func (r *ActiveDirectoryDomainServiceReplicaSet) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *ActiveDirectoryDomainServiceReplicaSet) UsageSchema() []*engine.ConsumptionField
- type AppConfiguration
- type AppServiceCertificateBinding
- type AppServiceCertificateOrder
- type AppServiceCustomHostnameBinding
- func (r *AppServiceCustomHostnameBinding) BuildResource() *engine.Estimate
- func (r *AppServiceCustomHostnameBinding) CoreType() string
- func (r *AppServiceCustomHostnameBinding) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *AppServiceCustomHostnameBinding) UsageSchema() []*engine.ConsumptionField
- type AppServiceEnvironment
- type AppServicePlan
- type ApplicationGateway
- type ApplicationInsights
- type ApplicationInsightsStandardWebTest
- func (r *ApplicationInsightsStandardWebTest) BuildResource() *engine.Estimate
- func (r *ApplicationInsightsStandardWebTest) CoreType() string
- func (r *ApplicationInsightsStandardWebTest) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *ApplicationInsightsStandardWebTest) UsageSchema() []*engine.ConsumptionField
- type ApplicationInsightsWebTest
- type AutomationAccount
- type AutomationDSCConfiguration
- type AutomationDSCNodeConfiguration
- type AutomationJobSchedule
- type BackupProtectedVM
- type BastionHost
- type CognitiveAccountLUIS
- type CognitiveAccountLanguage
- type CognitiveAccountSpeech
- type CognitiveDeployment
- type ContainerRegistry
- type DNSAAAARecord
- type DNSARecord
- type DNSCAARecord
- type DNSCNameRecord
- type DNSMXRecord
- type DNSNSRecord
- type DNSPtrRecord
- type DNSSrvRecord
- type DNSTxtRecord
- type DNSZone
- type DataFactory
- type DataFactoryIntegrationRuntimeAzure
- func (r *DataFactoryIntegrationRuntimeAzure) BuildResource() *engine.Estimate
- func (r *DataFactoryIntegrationRuntimeAzure) CoreType() string
- func (r *DataFactoryIntegrationRuntimeAzure) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *DataFactoryIntegrationRuntimeAzure) UsageSchema() []*engine.ConsumptionField
- type DataFactoryIntegrationRuntimeAzureSSIS
- func (r *DataFactoryIntegrationRuntimeAzureSSIS) BuildResource() *engine.Estimate
- func (r *DataFactoryIntegrationRuntimeAzureSSIS) CoreType() string
- func (r *DataFactoryIntegrationRuntimeAzureSSIS) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *DataFactoryIntegrationRuntimeAzureSSIS) UsageSchema() []*engine.ConsumptionField
- type DataFactoryIntegrationRuntimeManaged
- func (r *DataFactoryIntegrationRuntimeManaged) BuildResource() *engine.Estimate
- func (r *DataFactoryIntegrationRuntimeManaged) CoreType() string
- func (r *DataFactoryIntegrationRuntimeManaged) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *DataFactoryIntegrationRuntimeManaged) UsageSchema() []*engine.ConsumptionField
- type DataFactoryIntegrationRuntimeSelfHosted
- func (r *DataFactoryIntegrationRuntimeSelfHosted) BuildResource() *engine.Estimate
- func (r *DataFactoryIntegrationRuntimeSelfHosted) CoreType() string
- func (r *DataFactoryIntegrationRuntimeSelfHosted) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *DataFactoryIntegrationRuntimeSelfHosted) UsageSchema() []*engine.ConsumptionField
- type DatabricksWorkspace
- type EventGridTopic
- type ExpressRouteConnection
- type ExpressRouteGateway
- type FederatedIdentityCredential
- type Frontdoor
- type FrontdoorFirewallPolicy
- type FunctionApp
- type Image
- type IoTHub
- type IoTHubDPS
- type KubernetesCluster
- type KubernetesClusterDefaultNodePool
- type KubernetesClusterLoadBalancer
- type KubernetesClusterNodePool
- type LB
- type LinuxVirtualMachine
- type LinuxVirtualMachineScaleSet
- type LogAnalyticsWorkspace
- type LogicAppIntegrationAccount
- type LogicAppStandard
- type MSSQLElasticPool
- type MSSQLManagedInstance
- type MachineLearningComputeCluster
- type MachineLearningComputeInstance
- type ManagedDisk
- type ManagedDiskData
- type MonitorActionGroup
- func (r *MonitorActionGroup) BuildResource() *engine.Estimate
- func (r *MonitorActionGroup) CoreType() string
- func (r *MonitorActionGroup) ITSMEventCostComponent(count int, quantity *int64) *engine.LineItem
- func (r *MonitorActionGroup) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *MonitorActionGroup) UsageSchema() []*engine.ConsumptionField
- type MonitorDataCollectionRule
- type MonitorDiagnosticSetting
- type MonitorMetricAlert
- type MonitorScheduledQueryRulesAlert
- func (r *MonitorScheduledQueryRulesAlert) BuildResource() *engine.Estimate
- func (r *MonitorScheduledQueryRulesAlert) CoreType() string
- func (r *MonitorScheduledQueryRulesAlert) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *MonitorScheduledQueryRulesAlert) UsageSchema() []*engine.ConsumptionField
- type MySQLFlexibleServer
- type NetworkConnectionMonitor
- type NetworkDdosProtectionPlan
- type NetworkWatcher
- type NetworkWatcherFlowLog
- type OSDiskUsage
- type PostgreSQLFlexibleServer
- type PowerBIEmbedded
- type PrivateDNSAAAARecord
- type PrivateDNSARecord
- type PrivateDNSCNameRecord
- type PrivateDNSMXRecord
- type PrivateDNSPTRRecord
- type PrivateDNSSRVRecord
- type PrivateDNSTXTRecord
- type PrivateDNSZone
- type PrivateDnsResolverDnsForwardingRuleset
- func (r *PrivateDnsResolverDnsForwardingRuleset) BuildResource() *engine.Estimate
- func (r *PrivateDnsResolverDnsForwardingRuleset) CoreType() string
- func (r *PrivateDnsResolverDnsForwardingRuleset) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *PrivateDnsResolverDnsForwardingRuleset) UsageSchema() []*engine.ConsumptionField
- type PrivateDnsResolverInboundEndpoint
- func (r *PrivateDnsResolverInboundEndpoint) BuildResource() *engine.Estimate
- func (r *PrivateDnsResolverInboundEndpoint) CoreType() string
- func (r *PrivateDnsResolverInboundEndpoint) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *PrivateDnsResolverInboundEndpoint) UsageSchema() []*engine.ConsumptionField
- type PrivateDnsResolverOutboundEndpoint
- func (r *PrivateDnsResolverOutboundEndpoint) BuildResource() *engine.Estimate
- func (r *PrivateDnsResolverOutboundEndpoint) CoreType() string
- func (r *PrivateDnsResolverOutboundEndpoint) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *PrivateDnsResolverOutboundEndpoint) UsageSchema() []*engine.ConsumptionField
- type RecoveryServicesVault
- type SQLDatabase
- type SQLManagedInstance
- type SecurityCenterSubscriptionPricing
- func (r *SecurityCenterSubscriptionPricing) BuildResource() *engine.Estimate
- func (r *SecurityCenterSubscriptionPricing) CoreType() string
- func (r *SecurityCenterSubscriptionPricing) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *SecurityCenterSubscriptionPricing) UsageSchema() []*engine.ConsumptionField
- type ServiceBusNamespace
- type ServicePlan
- type SignalRService
- type StorageAccount
- type StorageDataDiskUsage
- type StorageOSDiskUsage
- type StorageProfileDataDiskUsage
- type StorageProfileOSDiskUsage
- type StorageQueue
- type StorageShare
- type TrafficManagerEndpoint
- type TrafficManagerProfile
- type VPNGateway
- type VPNGatewayConnection
- type VirtualHub
- type VirtualMachine
- type VirtualMachineScaleSet
- type VirtualNetworkPeering
- type WindowsVirtualMachine
- type WindowsVirtualMachineScaleSet
Constants ¶
const Premium = "Premium"
const Standard = "Standard"
const StandardSSD = "StandardSSD"
Variables ¶
var KubernetesClusterDefaultNodePoolSchema = []*engine.ConsumptionField{ {Key: "nodes", ValueType: engine.Int64, DefaultValue: 0}, {Key: "monthly_hrs", ValueType: engine.Float64, DefaultValue: 0}, }
var KubernetesClusterLoadBalancerSchema = []*engine.ConsumptionField{{Key: "monthly_data_processed_gb", ValueType: engine.Int64, DefaultValue: 0}}
var OSDiskUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
var StorageDataDiskUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
var StorageOSDiskUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
var StorageProfileDataDiskUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
var StorageProfileOSDiskUsageSchema = []*engine.ConsumptionField{ {ValueType: engine.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
Functions ¶
This section is empty.
Types ¶
type APIManagement ¶
type APIManagement struct {
Address string
Region string
SKUName string
SelfHostedGatewayCount *int64 `c3x_usage:"self_hosted_gateway_count"`
MonthlyAPICalls *int64 `c3x_usage:"monthly_api_calls"`
}
func (*APIManagement) BuildResource ¶
func (r *APIManagement) BuildResource() *engine.Estimate
func (*APIManagement) CoreType ¶
func (r *APIManagement) CoreType() string
func (*APIManagement) PopulateUsage ¶
func (r *APIManagement) PopulateUsage(u *engine.ConsumptionProfile)
func (*APIManagement) UsageSchema ¶
func (r *APIManagement) UsageSchema() []*engine.ConsumptionField
type ActiveDirectoryDomainService ¶
func (*ActiveDirectoryDomainService) BuildResource ¶
func (r *ActiveDirectoryDomainService) BuildResource() *engine.Estimate
func (*ActiveDirectoryDomainService) CoreType ¶
func (r *ActiveDirectoryDomainService) CoreType() string
func (*ActiveDirectoryDomainService) PopulateUsage ¶
func (r *ActiveDirectoryDomainService) PopulateUsage(u *engine.ConsumptionProfile)
func (*ActiveDirectoryDomainService) UsageSchema ¶
func (r *ActiveDirectoryDomainService) UsageSchema() []*engine.ConsumptionField
type ActiveDirectoryDomainServiceReplicaSet ¶
type ActiveDirectoryDomainServiceReplicaSet struct {
Address string
Region string
DomainServiceIDSKU string
}
func (*ActiveDirectoryDomainServiceReplicaSet) BuildResource ¶
func (r *ActiveDirectoryDomainServiceReplicaSet) BuildResource() *engine.Estimate
func (*ActiveDirectoryDomainServiceReplicaSet) CoreType ¶
func (r *ActiveDirectoryDomainServiceReplicaSet) CoreType() string
func (*ActiveDirectoryDomainServiceReplicaSet) PopulateUsage ¶
func (r *ActiveDirectoryDomainServiceReplicaSet) PopulateUsage(u *engine.ConsumptionProfile)
func (*ActiveDirectoryDomainServiceReplicaSet) UsageSchema ¶
func (r *ActiveDirectoryDomainServiceReplicaSet) UsageSchema() []*engine.ConsumptionField
type AppConfiguration ¶
type AppConfiguration struct {
Address string
Region string
SKU string
Replicas int64
MonthlyAdditionalRequests *int64 `c3x_usage:"monthly_additional_requests"`
}
AppConfiguration struct represents an Azure App Configuration. App Configuration is a managed service that helps developers centralize their application configurations. It provides a service to store, manage, and access application configuration settings.
Resource information: https://azure.microsoft.com/en-us/products/app-configuration/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/app-configuration/
func (*AppConfiguration) BuildResource ¶
func (r *AppConfiguration) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid AppConfiguration struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
BuildResource only returns cost components if the sku is not "free". "Standard" App Configuration instances are charged per instance and replica and per 10k requests over a daily 200k limit. However, we cannot compute the request count from the IaC code, so we rely on the user to provide the request count as a usage parameter. This usage parameter defines all total request made to the App Configuration instance and it's replicas in a month.
func (*AppConfiguration) CoreType ¶
func (r *AppConfiguration) CoreType() string
CoreType returns the name of this resource type
func (*AppConfiguration) PopulateUsage ¶
func (r *AppConfiguration) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the AppConfiguration. It uses the `c3x_usage` struct tags to populate data into the AppConfiguration.
func (*AppConfiguration) UsageSchema ¶
func (r *AppConfiguration) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of AppConfiguration.
type AppServiceCertificateBinding ¶
func (*AppServiceCertificateBinding) BuildResource ¶
func (r *AppServiceCertificateBinding) BuildResource() *engine.Estimate
func (*AppServiceCertificateBinding) CoreType ¶
func (r *AppServiceCertificateBinding) CoreType() string
func (*AppServiceCertificateBinding) PopulateUsage ¶
func (r *AppServiceCertificateBinding) PopulateUsage(u *engine.ConsumptionProfile)
func (*AppServiceCertificateBinding) UsageSchema ¶
func (r *AppServiceCertificateBinding) UsageSchema() []*engine.ConsumptionField
type AppServiceCertificateOrder ¶
func (*AppServiceCertificateOrder) BuildResource ¶
func (r *AppServiceCertificateOrder) BuildResource() *engine.Estimate
func (*AppServiceCertificateOrder) CoreType ¶
func (r *AppServiceCertificateOrder) CoreType() string
func (*AppServiceCertificateOrder) PopulateUsage ¶
func (r *AppServiceCertificateOrder) PopulateUsage(u *engine.ConsumptionProfile)
func (*AppServiceCertificateOrder) UsageSchema ¶
func (r *AppServiceCertificateOrder) UsageSchema() []*engine.ConsumptionField
type AppServiceCustomHostnameBinding ¶
func (*AppServiceCustomHostnameBinding) BuildResource ¶
func (r *AppServiceCustomHostnameBinding) BuildResource() *engine.Estimate
func (*AppServiceCustomHostnameBinding) CoreType ¶
func (r *AppServiceCustomHostnameBinding) CoreType() string
func (*AppServiceCustomHostnameBinding) PopulateUsage ¶
func (r *AppServiceCustomHostnameBinding) PopulateUsage(u *engine.ConsumptionProfile)
func (*AppServiceCustomHostnameBinding) UsageSchema ¶
func (r *AppServiceCustomHostnameBinding) UsageSchema() []*engine.ConsumptionField
type AppServiceEnvironment ¶
type AppServiceEnvironment struct {
Address string
Region string
PricingTier string
OperatingSystem *string `c3x_usage:"operating_system"`
}
func (*AppServiceEnvironment) BuildResource ¶
func (r *AppServiceEnvironment) BuildResource() *engine.Estimate
func (*AppServiceEnvironment) CoreType ¶
func (r *AppServiceEnvironment) CoreType() string
func (*AppServiceEnvironment) PopulateUsage ¶
func (r *AppServiceEnvironment) PopulateUsage(u *engine.ConsumptionProfile)
func (*AppServiceEnvironment) UsageSchema ¶
func (r *AppServiceEnvironment) UsageSchema() []*engine.ConsumptionField
type AppServicePlan ¶
type AppServicePlan struct {
Address string
SKUSize string
SKUCapacity int64
Kind string
Region string
IsDevTest bool
}
func (*AppServicePlan) BuildResource ¶
func (r *AppServicePlan) BuildResource() *engine.Estimate
func (*AppServicePlan) CoreType ¶
func (r *AppServicePlan) CoreType() string
func (*AppServicePlan) PopulateUsage ¶
func (r *AppServicePlan) PopulateUsage(u *engine.ConsumptionProfile)
func (*AppServicePlan) UsageSchema ¶
func (r *AppServicePlan) UsageSchema() []*engine.ConsumptionField
type ApplicationGateway ¶
type ApplicationGateway struct {
Address string
SKUName string
SKUCapacity int64
AutoscalingMinCapacity *int64
Region string
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
CapacityUnits *int64 `c3x_usage:"capacity_units"`
}
func (*ApplicationGateway) BuildResource ¶
func (r *ApplicationGateway) BuildResource() *engine.Estimate
func (*ApplicationGateway) CoreType ¶
func (r *ApplicationGateway) CoreType() string
func (*ApplicationGateway) PopulateUsage ¶
func (r *ApplicationGateway) PopulateUsage(u *engine.ConsumptionProfile)
func (*ApplicationGateway) UsageSchema ¶
func (r *ApplicationGateway) UsageSchema() []*engine.ConsumptionField
type ApplicationInsights ¶
type ApplicationInsights struct {
Address string
Region string
RetentionInDays int64
MonthlyDataIngestedGB *float64 `c3x_usage:"monthly_data_ingested_gb"`
}
func (*ApplicationInsights) BuildResource ¶
func (r *ApplicationInsights) BuildResource() *engine.Estimate
func (*ApplicationInsights) CoreType ¶
func (r *ApplicationInsights) CoreType() string
func (*ApplicationInsights) PopulateUsage ¶
func (r *ApplicationInsights) PopulateUsage(u *engine.ConsumptionProfile)
func (*ApplicationInsights) UsageSchema ¶
func (r *ApplicationInsights) UsageSchema() []*engine.ConsumptionField
type ApplicationInsightsStandardWebTest ¶
type ApplicationInsightsStandardWebTest struct {
Address string
Region string
Enabled bool
Frequency int64
}
ApplicationInsightsStandardWebTest struct represents an Application Insights Standard WebTest.
Resource information: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/application_insights_standard_web_test Pricing information: https://azure.microsoft.com/en-in/pricing/details/monitor/
func (*ApplicationInsightsStandardWebTest) BuildResource ¶
func (r *ApplicationInsightsStandardWebTest) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ApplicationInsightsStandardWebTest struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ApplicationInsightsStandardWebTest) CoreType ¶
func (r *ApplicationInsightsStandardWebTest) CoreType() string
CoreType returns the name of this resource type
func (*ApplicationInsightsStandardWebTest) PopulateUsage ¶
func (r *ApplicationInsightsStandardWebTest) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ApplicationInsightsStandardWebTest. It uses the `c3x_usage` struct tags to populate data into the ApplicationInsightsStandardWebTest.
func (*ApplicationInsightsStandardWebTest) UsageSchema ¶
func (r *ApplicationInsightsStandardWebTest) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of ApplicationInsightsStandardWebTest.
type ApplicationInsightsWebTest ¶
func (*ApplicationInsightsWebTest) BuildResource ¶
func (r *ApplicationInsightsWebTest) BuildResource() *engine.Estimate
func (*ApplicationInsightsWebTest) CoreType ¶
func (r *ApplicationInsightsWebTest) CoreType() string
func (*ApplicationInsightsWebTest) PopulateUsage ¶
func (r *ApplicationInsightsWebTest) PopulateUsage(u *engine.ConsumptionProfile)
func (*ApplicationInsightsWebTest) UsageSchema ¶
func (r *ApplicationInsightsWebTest) UsageSchema() []*engine.ConsumptionField
type AutomationAccount ¶
type AutomationAccount struct {
Address string
Region string
MonthlyJobRunMins *int64 `c3x_usage:"monthly_job_run_mins"`
NonAzureConfigNodeCount *int64 `c3x_usage:"non_azure_config_node_count"`
MonthlyWatcherHrs *int64 `c3x_usage:"monthly_watcher_hrs"`
}
func (*AutomationAccount) BuildResource ¶
func (r *AutomationAccount) BuildResource() *engine.Estimate
func (*AutomationAccount) CoreType ¶
func (r *AutomationAccount) CoreType() string
func (*AutomationAccount) PopulateUsage ¶
func (r *AutomationAccount) PopulateUsage(u *engine.ConsumptionProfile)
func (*AutomationAccount) UsageSchema ¶
func (r *AutomationAccount) UsageSchema() []*engine.ConsumptionField
type AutomationDSCConfiguration ¶
type AutomationDSCConfiguration struct {
Address string
Region string
NonAzureConfigNodeCount *int64 `c3x_usage:"non_azure_config_node_count"`
}
func (*AutomationDSCConfiguration) BuildResource ¶
func (r *AutomationDSCConfiguration) BuildResource() *engine.Estimate
func (*AutomationDSCConfiguration) CoreType ¶
func (r *AutomationDSCConfiguration) CoreType() string
func (*AutomationDSCConfiguration) PopulateUsage ¶
func (r *AutomationDSCConfiguration) PopulateUsage(u *engine.ConsumptionProfile)
func (*AutomationDSCConfiguration) UsageSchema ¶
func (r *AutomationDSCConfiguration) UsageSchema() []*engine.ConsumptionField
type AutomationDSCNodeConfiguration ¶
type AutomationDSCNodeConfiguration struct {
Address string
Region string
NonAzureConfigNodeCount *int64 `c3x_usage:"non_azure_config_node_count"`
}
func (*AutomationDSCNodeConfiguration) BuildResource ¶
func (r *AutomationDSCNodeConfiguration) BuildResource() *engine.Estimate
func (*AutomationDSCNodeConfiguration) CoreType ¶
func (r *AutomationDSCNodeConfiguration) CoreType() string
func (*AutomationDSCNodeConfiguration) PopulateUsage ¶
func (r *AutomationDSCNodeConfiguration) PopulateUsage(u *engine.ConsumptionProfile)
func (*AutomationDSCNodeConfiguration) UsageSchema ¶
func (r *AutomationDSCNodeConfiguration) UsageSchema() []*engine.ConsumptionField
type AutomationJobSchedule ¶
type AutomationJobSchedule struct {
Address string
Region string
MonthlyJobRunMins *int64 `c3x_usage:"monthly_job_run_mins"`
}
func (*AutomationJobSchedule) BuildResource ¶
func (r *AutomationJobSchedule) BuildResource() *engine.Estimate
func (*AutomationJobSchedule) CoreType ¶
func (r *AutomationJobSchedule) CoreType() string
func (*AutomationJobSchedule) PopulateUsage ¶
func (r *AutomationJobSchedule) PopulateUsage(u *engine.ConsumptionProfile)
func (*AutomationJobSchedule) UsageSchema ¶
func (r *AutomationJobSchedule) UsageSchema() []*engine.ConsumptionField
type BackupProtectedVM ¶
type BackupProtectedVM struct {
Address string
Region string
StorageType string
DiskSizeGB float64
// DiskUtilizationGB is an override that allows users to specify how much
// data is actually stored on the VM and will be stored in the vault. By
// default, we assume that the total VM storage capacity will be backed up.
DiskUtilizationGB *float64 `c3x_usage:"disk_utilization_gb"`
// AdditionalBackupRetentionGB allows user sto specify how much additional monthly data
// is stored in the parent vault because of daily/monthly/yearly retention policies.
// Azure Backup uses incremental backups, which means that after the initial full backup,
// it only stores the changes made to the data since the last backup.
//
// In the future, it might be better to switch this to a percentage which can be used as daily churn of
// data from the parent vault. We can then infer the data stored using azurerm_backup_policy_vm and the disk
// utilization. However, attempts were done when initially writing this mapping, and it proved hard to match
// up to the exact churn & estimated storage that the azure pricing calculator shows.
AdditionalBackupRetentionGB *float64 `c3x_usage:"additional_backup_retention_gb"`
}
BackupProtectedVM struct represents a backup for a given VM into a recovery services vault.
Backup information: https://learn.microsoft.com/en-us/azure/backup/backup-overview Resource information: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/backup_policy_vm Pricing information: https://azure.microsoft.com/en-gb/pricing/details/backup/
func (*BackupProtectedVM) BuildResource ¶
func (r *BackupProtectedVM) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid BackupProtectedVM struct.
BackupProtectedVM is charged for the backup data stored for the protected VM:
Firstly, the backup is charged a flat monthly fee for the size of the VM that it is backing up:
Instance < or = 50 GB $5 + storage consumed Instance is > 50 GB but < or = 500 GB $10 + storage consumed Instance is > 500 GB $10 for each 500 GB increment + storage consumed
Then BackupProtectedVM is charged per GB of data stored in the parent recovery service vault. This depends on the amount of data stored within the vault and the type of storage that the vault uses, e.g. LRS vs GRS.
func (*BackupProtectedVM) CoreType ¶
func (r *BackupProtectedVM) CoreType() string
func (*BackupProtectedVM) PopulateUsage ¶
func (r *BackupProtectedVM) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the BackupProtectedVM.
This method is normally called from the parent RecoveryServicesVault.PopulateUsage method.
func (*BackupProtectedVM) UsageSchema ¶
func (r *BackupProtectedVM) UsageSchema() []*engine.ConsumptionField
type BastionHost ¶
type BastionHost struct {
Address string
Region string
MonthlyOutboundDataGB *float64 `c3x_usage:"monthly_outbound_data_gb"`
}
func (*BastionHost) BuildResource ¶
func (r *BastionHost) BuildResource() *engine.Estimate
func (*BastionHost) CoreType ¶
func (r *BastionHost) CoreType() string
func (*BastionHost) PopulateUsage ¶
func (r *BastionHost) PopulateUsage(u *engine.ConsumptionProfile)
func (*BastionHost) UsageSchema ¶
func (r *BastionHost) UsageSchema() []*engine.ConsumptionField
type CognitiveAccountLUIS ¶
type CognitiveAccountLUIS struct {
Address string
Region string
Sku string
MonthlyLUISTextRequests *int64 `c3x_usage:"monthly_luis_text_requests"`
MonthlyLUISSpeechRequests *int64 `c3x_usage:"monthly_luis_speech_requests"`
MonthlyCommitmentLUISTextRequests *int64 `c3x_usage:"monthly_commitment_luis_text_requests"`
MonthlyCommitmentLUISTextOverageRequests *int64 `c3x_usage:"monthly_commitment_luis_text_overage_requests"`
MonthlyConnectedContainerCommitmentLUISTextRequests *int64 `c3x_usage:"monthly_connected_container_commitment_luis_text_requests"`
MonthlyConnectedContainerCommitmentLUISTextOverageRequests *int64 `c3x_usage:"monthly_connected_container_commitment_luis_text_overage_requests"`
}
CognitiveAccountLUIS struct represents the Azure LUIS AI resource. This supports the pay-as-you pricing and the standard and connected container commitment tiers. This doesn't currently support the disconnected container commitment tier.
The commitment tiers are implemented using a usage-based cost component for the commitment amount. Since multiple commitment tiers can be used at the same time, we use separate usage-based cost components for each commitment tier and overage, instead of using the same cost component as the pay-as-you-go pricing.
Resource information: https://learn.microsoft.com/en-us/azure/ai-services/luis/what-is-luis Pricing information: https://azure.microsoft.com/en-gb/pricing/details/cognitive-services/language-understanding-intelligent-services/
func (*CognitiveAccountLUIS) BuildResource ¶
func (r *CognitiveAccountLUIS) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid CognitiveAccountLUIS struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*CognitiveAccountLUIS) CoreType ¶
func (r *CognitiveAccountLUIS) CoreType() string
// CoreType returns the name of this resource type
func (*CognitiveAccountLUIS) PopulateUsage ¶
func (r *CognitiveAccountLUIS) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the CognitiveAccountLUIS. It uses the `c3x_usage` struct tags to populate data into the CognitiveAccountLUIS.
func (*CognitiveAccountLUIS) UsageSchema ¶
func (r *CognitiveAccountLUIS) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of CognitiveAccountLUIS.
type CognitiveAccountLanguage ¶
type CognitiveAccountLanguage struct {
Address string
Region string
Sku string
MonthlyLanguageTextAnalyticsRecords *int64 `c3x_usage:"monthly_language_text_analytics_records"`
MonthlyLanguageSummarizationRecords *int64 `c3x_usage:"monthly_language_summarization_records"`
MonthlyLanguageConversationalLanguageUnderstandingRecords *int64 `c3x_usage:"monthly_language_conversational_language_understanding_records"`
MonthlyLanguageConversationalLanguageUnderstandingAdvancedTrainingHours *float64 `c3x_usage:"monthly_language_conversational_language_understanding_advanced_training_hours"`
MonthlyLanguageCustomizedTextClassificationRecords *int64 `c3x_usage:"monthly_language_customized_text_classification_records"`
MonthlyLanguageCustomizedSummarizationRecords *int64 `c3x_usage:"monthly_language_customized_summarization_records"`
MonthlyLanguageCustomizedQuestionAnsweringRecords *int64 `c3x_usage:"monthly_language_customized_question_answering_records"`
MonthlyLanguageCustomizedTrainingHours *float64 `c3x_usage:"monthly_language_customized_training_hours"`
MonthlyLanguageTextAnalyticsForHealthRecords *int64 `c3x_usage:"monthly_language_text_analytics_for_health_records"`
// Commitment tiers
MonthlyCommitmentLanguageTextAnalyticsRecords *int64 `c3x_usage:"monthly_commitment_language_text_analytics_records"`
MonthlyCommitmentLanguageTextAnalyticsOverageRecords *int64 `c3x_usage:"monthly_commitment_language_text_analytics_overage_records"`
MonthlyCommitmentLanguageSummarizationRecords *int64 `c3x_usage:"monthly_commitment_language_summarization_records"`
MonthlyCommitmentLanguageSummarizationOverageRecords *int64 `c3x_usage:"monthly_commitment_language_summarization_overage_records"`
MonthlyConnectedContainerCommitmentLanguageTextAnalyticsRecords *int64 `c3x_usage:"monthly_connected_container_commitment_language_text_analytics_records"`
MonthlyConnectedContainerCommitmentLanguageTextAnalyticsOverageRecords *int64 `c3x_usage:"monthly_connected_container_commitment_language_text_analytics_overage_records"`
MonthlyConnectedContainerCommitmentLanguageSummarizationRecords *int64 `c3x_usage:"monthly_connected_container_commitment_language_summarization_records"`
MonthlyConnectedContainerCommitmentLanguageSummarizationOverageRecords *int64 `c3x_usage:"monthly_connected_container_commitment_language_summarization_overage_records"`
}
CognitiveAccountLanguage struct represents the Azure AI Language Service. This supports the pay-as-you pricing and the standard and connected container commitment tiers. This doesn't currently support the disconnected container commitment tier.
The commitment tiers are implemented using a usage-based cost component for the commitment amount. Since multiple commitment tiers can be used at the same time, we use separate usage-based cost components for each commitment tier and overage, instead of using the same cost component as the pay-as-you-go pricing.
Resource information: https://learn.microsoft.com/en-us/azure/ai-services/language-service/overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/cognitive-services/language-service/
func (*CognitiveAccountLanguage) BuildResource ¶
func (r *CognitiveAccountLanguage) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid CognitiveAccountLanguage struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*CognitiveAccountLanguage) CoreType ¶
func (r *CognitiveAccountLanguage) CoreType() string
// CoreType returns the name of this resource type
func (*CognitiveAccountLanguage) PopulateUsage ¶
func (r *CognitiveAccountLanguage) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the CognitiveAccountLanguage. It uses the `c3x_usage` struct tags to populate data into the CognitiveAccountLanguage.
func (*CognitiveAccountLanguage) UsageSchema ¶
func (r *CognitiveAccountLanguage) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of CognitiveAccountLanguage.
type CognitiveAccountSpeech ¶
type CognitiveAccountSpeech struct {
Address string
Region string
Sku string
// Speech to text
MonthlySpeechToTextStandardHrs *float64 `c3x_usage:"monthly_speech_to_text_standard_hrs"`
MonthlySpeechToTextBatchHrs *float64 `c3x_usage:"monthly_speech_to_text_standard_batch_hrs"`
MonthlySpeechToTextCustomModelHrs *float64 `c3x_usage:"monthly_speech_to_text_custom_hrs"`
MonthlySpeechToTextCustomModelBatchHrs *float64 `c3x_usage:"monthly_speech_to_text_custom_batch_hrs"`
MonthlySpeechToTextCustomEndpointHrs *float64 `c3x_usage:"monthly_speech_to_text_custom_endpoint_hrs"`
MonthlySpeechToTextConversationTranscriptionMultiChannelAudioHrs *float64 `c3x_usage:"monthly_speech_to_text_conversation_transcription_multi_channel_audio_hrs"`
MonthlySpeechToTextCustomTrainingHrs *float64 `c3x_usage:"monthly_speech_to_text_custom_training_hrs"`
MonthlySpeechToTextEnhancedAddOnsHrs *float64 `c3x_usage:"monthly_speech_to_text_enhanced_add_ons_hrs"`
// Text to speech
MonthlyTextToSpeechNeuralChars *int64 `c3x_usage:"monthly_text_to_speech_neural_chars"`
MonthlyTextToSpeechCustomNeuralTrainingHrs *float64 `c3x_usage:"monthly_text_to_speech_custom_neural_training_hrs"`
MonthlyTextToSpeechCustomNeuralChars *int64 `c3x_usage:"monthly_text_to_speech_custom_neural_chars"`
MonthlyTextToSpeechCustomNeuralEndpointHrs *float64 `c3x_usage:"monthly_text_to_speech_custom_neural_endpoint_hrs"`
MonthlyTextToSpeechLongAudioChars *int64 `c3x_usage:"monthly_text_to_speech_long_audio_chars"`
MonthlyTextToSpeechPersonalVoiceProfiles *int64 `c3x_usage:"monthly_text_to_speech_personal_voice_profiles"`
MonthlyTextToSpeechPersonalVoiceChars *int64 `c3x_usage:"monthly_text_to_speech_personal_voice_chars"`
// Speech translation
MonthlySpeechTranslationHrs *float64 `c3x_usage:"monthly_speech_translation_hrs"`
// Speaker recognition
MonthlySpeakerVerificationTransactions *int64 `c3x_usage:"monthly_speaker_verification_transactions"`
MonthlySpeakerIdentificationTransactions *int64 `c3x_usage:"monthly_speaker_identification_transactions"`
// Voice storage
MonthlyVoiceProfiles *int64 `c3x_usage:"monthly_voice_profiles"`
// Standard commitment tier
MonthlyCommitmentSpeechToTextHrs *int64 `c3x_usage:"monthly_commitment_speech_to_text_standard_hrs"`
MonthlyCommitmentSpeechToTextOverageHrs *float64 `c3x_usage:"monthly_commitment_speech_to_text_standard_overage_hrs"`
MonthlyCommitmentSpeechToTextCustomModelHrs *int64 `c3x_usage:"monthly_commitment_speech_to_text_custom_hrs"`
MonthlyCommitmentSpeechToTextCustomModelOverageHrs *float64 `c3x_usage:"monthly_commitment_speech_to_text_custom_overage_hrs"`
MonthlyCommitmentSpeechToTextEnhancedAddOnsHrs *int64 `c3x_usage:"monthly_commitment_speech_to_text_enhanced_add_ons_hrs"`
MonthlyCommitmentSpeechToTextEnhancedAddOnsOverageHrs *float64 `c3x_usage:"monthly_commitment_speech_to_text_enhanced_add_ons_overage_hrs"`
MonthlyCommitmentTextToSpeechNeuralCommitmentChars *int64 `c3x_usage:"monthly_commitment_text_to_speech_neural_commitment_chars"`
MonthlyCommitmentTextToSpeechNeuralOverageChars *int64 `c3x_usage:"monthly_commitment_text_to_speech_neural_overage_chars"`
// Connected container
MonthlyConnectedContainerCommitmentSpeechToTextHrs *int64 `c3x_usage:"monthly_connected_container_commitment_speech_to_text_standard_hrs"`
MonthlyConnectedContainerCommitmentSpeechToTextOverageHrs *float64 `c3x_usage:"monthly_connected_container_commitment_speech_to_text_standard_overage_hrs"`
MonthlyConnectedContainerCommitmentSpeechToTextCustomModelHrs *int64 `c3x_usage:"monthly_connected_container_commitment_speech_to_text_custom_hrs"`
MonthlyConnectedContainerCommitmentSpeechToTextCustomModelOverageHrs *float64 `c3x_usage:"monthly_connected_container_commitment_speech_to_text_custom_overage_hrs"`
MonthlyConnectedContainerCommitmentSpeechToTextEnhancedAddOnsHrs *int64 `c3x_usage:"monthly_connected_container_commitment_speech_to_text_enhanced_add_ons_hrs"`
MonthlyConnectedContainerCommitmentSpeechToTextEnhancedAddOnsOverageHrs *float64 `c3x_usage:"monthly_connected_container_commitment_speech_to_text_enhanced_add_ons_overage_hrs"`
MonthlyConnectedContainerCommitmentTextToSpeechNeuralCommitmentChars *int64 `c3x_usage:"monthly_connected_container_commitment_text_to_speech_neural_commitment_chars"`
MonthlyConnectedContainerCommitmentTextToSpeechNeuralOverageChars *int64 `c3x_usage:"monthly_connected_container_commitment_text_to_speech_neural_overage_chars"`
}
CognitiveAccountSpeech struct represents the Azure Speech AI resource. This supports the pay-as-you pricing and the standard and connected container commitment tiers. This doesn't currently support the disconnected container commitment tier.
The commitment tiers are implemented using a usage-based cost component for the commitment amount. Since multiple commitment tiers can be used at the same time, we use separate usage-based cost components for each commitment tier and overage, instead of using the same cost component as the pay-as-you-go pricing.
Resource information:https://azure.microsoft.com/en-us/products/ai-services/ai-speech Pricing information: https://azure.microsoft.com/en-gb/pricing/details/cognitive-services/speech-services/
func (*CognitiveAccountSpeech) BuildResource ¶
func (r *CognitiveAccountSpeech) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid CognitiveAccountSpeech struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*CognitiveAccountSpeech) CoreType ¶
func (r *CognitiveAccountSpeech) CoreType() string
// CoreType returns the name of this resource type
func (*CognitiveAccountSpeech) PopulateUsage ¶
func (r *CognitiveAccountSpeech) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the CognitiveAccountSpeech. It uses the `c3x_usage` struct tags to populate data into the CognitiveAccountSpeech.
func (*CognitiveAccountSpeech) UsageSchema ¶
func (r *CognitiveAccountSpeech) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of CognitiveAccountSpeech.
type CognitiveDeployment ¶
type CognitiveDeployment struct {
Address string
Region string
Model string
Version string
Tier string
SKU string
Capacity int64
// Usage-based attributes
MonthlyLanguageInputTokens *int64 `c3x_usage:"monthly_language_input_tokens"`
MonthlyLanguageOutputTokens *int64 `c3x_usage:"monthly_language_output_tokens"`
MonthlyLanguageCachedInputTokens *int64 `c3x_usage:"monthly_language_cached_input_tokens"`
MonthlyCodeInterpreterSessions *int64 `c3x_usage:"monthly_code_interpreter_sessions"`
MonthlyBaseModelTokens *int64 `c3x_usage:"monthly_base_model_tokens"`
MonthlyFineTuningTrainingHours *float64 `c3x_usage:"monthly_fine_tuning_training_hours"`
MonthlyFineTuningHostingHours *float64 `c3x_usage:"monthly_fine_tuning_hosting_hours"`
MonthlyFineTuningInputTokens *int64 `c3x_usage:"monthly_fine_tuning_input_tokens"`
MonthlyFineTuningOutputTokens *int64 `c3x_usage:"monthly_fine_tuning_output_tokens"`
MonthlyStandard10241024Images *int64 `c3x_usage:"monthly_standard_1024_1024_images"`
MonthlyStandard10241792Images *int64 `c3x_usage:"monthly_standard_1024_1792_images"`
MonthlyHD10241024Images *int64 `c3x_usage:"monthly_hd_1024_1024_images"`
MonthlyHD10241792Images *int64 `c3x_usage:"monthly_hd_1024_1792_images"`
MonthlyTextEmbeddingTokens *int64 `c3x_usage:"monthly_text_embedding_tokens"`
MonthlyTextToSpeechCharacters *int64 `c3x_usage:"monthly_text_to_speech_characters"`
MonthlyTextToSpeechHours *float64 `c3x_usage:"monthly_text_to_speech_hours"`
MonthlyAudioInputTokens *int64 `c3x_usage:"monthly_audio_input_tokens"`
MonthlyAudioOutputTokens *int64 `c3x_usage:"monthly_audio_output_tokens"`
MonthlyFileSearchToolCalls *int64 `c3x_usage:"monthly_file_search_tool_calls"`
MonthlyFileSearchStorage *float64 `c3x_usage:"monthly_file_search_storage_gb"`
}
CognitiveDeployment struct represents an Azure OpenAI Deployment.
Since the availability of models is very different across different regions we ignore any cost components that we don't have a price for. This is done by setting the `IgnoreIfMissingPrice` field to true. See the following URL for more information on different model availability in different regions: https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models#standard-deployment-model-availability
This only supports Pay-As-You-Go pricing tier, currently since Azure doesn't provide pricing for their Provisioned Throughput Units.
This also doesn't support some models that have been deprecated by Azure. See the below for information on those resources: https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/legacy-models
Resource information: https://azure.microsoft.com/en-gb/products/ai-services/openai-service Pricing information: https://azure.microsoft.com/en-gb/pricing/details/cognitive-services/openai-service/
func (*CognitiveDeployment) BuildResource ¶
func (r *CognitiveDeployment) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid CognitiveDeployment struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*CognitiveDeployment) CoreType ¶
func (r *CognitiveDeployment) CoreType() string
CoreType returns the name of this resource type
func (*CognitiveDeployment) PopulateUsage ¶
func (r *CognitiveDeployment) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the CognitiveDeployment. It uses the `c3x_usage` struct tags to populate data into the CognitiveDeployment.
func (*CognitiveDeployment) UsageSchema ¶
func (r *CognitiveDeployment) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of CognitiveDeployment.
type ContainerRegistry ¶
type ContainerRegistry struct {
Address string
GeoReplicationLocations int
Region string
SKU string
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyBuildVCPUHrs *float64 `c3x_usage:"monthly_build_vcpu_hrs"`
}
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 DNSAAAARecord ¶
type DNSAAAARecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*DNSAAAARecord) BuildResource ¶
func (r *DNSAAAARecord) BuildResource() *engine.Estimate
func (*DNSAAAARecord) CoreType ¶
func (r *DNSAAAARecord) CoreType() string
func (*DNSAAAARecord) PopulateUsage ¶
func (r *DNSAAAARecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSAAAARecord) UsageSchema ¶
func (r *DNSAAAARecord) UsageSchema() []*engine.ConsumptionField
type DNSARecord ¶
type DNSARecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*DNSARecord) BuildResource ¶
func (r *DNSARecord) BuildResource() *engine.Estimate
func (*DNSARecord) CoreType ¶
func (r *DNSARecord) CoreType() string
func (*DNSARecord) PopulateUsage ¶
func (r *DNSARecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSARecord) UsageSchema ¶
func (r *DNSARecord) UsageSchema() []*engine.ConsumptionField
type DNSCAARecord ¶
type DNSCAARecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*DNSCAARecord) BuildResource ¶
func (r *DNSCAARecord) BuildResource() *engine.Estimate
func (*DNSCAARecord) CoreType ¶
func (r *DNSCAARecord) CoreType() string
func (*DNSCAARecord) PopulateUsage ¶
func (r *DNSCAARecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSCAARecord) UsageSchema ¶
func (r *DNSCAARecord) UsageSchema() []*engine.ConsumptionField
type DNSCNameRecord ¶
type DNSCNameRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*DNSCNameRecord) BuildResource ¶
func (r *DNSCNameRecord) BuildResource() *engine.Estimate
func (*DNSCNameRecord) CoreType ¶
func (r *DNSCNameRecord) CoreType() string
func (*DNSCNameRecord) PopulateUsage ¶
func (r *DNSCNameRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSCNameRecord) UsageSchema ¶
func (r *DNSCNameRecord) UsageSchema() []*engine.ConsumptionField
type DNSMXRecord ¶
type DNSMXRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*DNSMXRecord) BuildResource ¶
func (r *DNSMXRecord) BuildResource() *engine.Estimate
func (*DNSMXRecord) CoreType ¶
func (r *DNSMXRecord) CoreType() string
func (*DNSMXRecord) PopulateUsage ¶
func (r *DNSMXRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSMXRecord) UsageSchema ¶
func (r *DNSMXRecord) UsageSchema() []*engine.ConsumptionField
type DNSNSRecord ¶
type DNSNSRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*DNSNSRecord) BuildResource ¶
func (r *DNSNSRecord) BuildResource() *engine.Estimate
func (*DNSNSRecord) CoreType ¶
func (r *DNSNSRecord) CoreType() string
func (*DNSNSRecord) PopulateUsage ¶
func (r *DNSNSRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSNSRecord) UsageSchema ¶
func (r *DNSNSRecord) UsageSchema() []*engine.ConsumptionField
type DNSPtrRecord ¶
type DNSPtrRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*DNSPtrRecord) BuildResource ¶
func (r *DNSPtrRecord) BuildResource() *engine.Estimate
func (*DNSPtrRecord) CoreType ¶
func (r *DNSPtrRecord) CoreType() string
func (*DNSPtrRecord) PopulateUsage ¶
func (r *DNSPtrRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSPtrRecord) UsageSchema ¶
func (r *DNSPtrRecord) UsageSchema() []*engine.ConsumptionField
type DNSSrvRecord ¶
type DNSSrvRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*DNSSrvRecord) BuildResource ¶
func (r *DNSSrvRecord) BuildResource() *engine.Estimate
func (*DNSSrvRecord) CoreType ¶
func (r *DNSSrvRecord) CoreType() string
func (*DNSSrvRecord) PopulateUsage ¶
func (r *DNSSrvRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSSrvRecord) UsageSchema ¶
func (r *DNSSrvRecord) UsageSchema() []*engine.ConsumptionField
type DNSTxtRecord ¶
type DNSTxtRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*DNSTxtRecord) BuildResource ¶
func (r *DNSTxtRecord) BuildResource() *engine.Estimate
func (*DNSTxtRecord) CoreType ¶
func (r *DNSTxtRecord) CoreType() string
func (*DNSTxtRecord) PopulateUsage ¶
func (r *DNSTxtRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSTxtRecord) UsageSchema ¶
func (r *DNSTxtRecord) UsageSchema() []*engine.ConsumptionField
type DNSZone ¶
func (*DNSZone) BuildResource ¶
func (*DNSZone) PopulateUsage ¶
func (r *DNSZone) PopulateUsage(u *engine.ConsumptionProfile)
func (*DNSZone) UsageSchema ¶
func (r *DNSZone) UsageSchema() []*engine.ConsumptionField
type DataFactory ¶
type DataFactory struct {
Address string
Region string
// "usage" args
MonthlyReadWriteOperationEntities *int64 `c3x_usage:"monthly_read_write_operation_entities"`
MonthlyMonitoringOperationEntities *int64 `c3x_usage:"monthly_monitoring_operation_entities"`
}
DataFactory struct represents Azure Data Factory resource.
Resource information: https://azure.microsoft.com/en-us/services/data-factory/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/data-factory/data-pipeline/
func (*DataFactory) BuildResource ¶
func (r *DataFactory) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid DataFactory struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*DataFactory) CoreType ¶
func (r *DataFactory) CoreType() string
func (*DataFactory) PopulateUsage ¶
func (r *DataFactory) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the DataFactory. It uses the `c3x_usage` struct tags to populate data into the DataFactory.
func (*DataFactory) UsageSchema ¶
func (r *DataFactory) UsageSchema() []*engine.ConsumptionField
type DataFactoryIntegrationRuntimeAzure ¶
type DataFactoryIntegrationRuntimeAzure struct {
Address string
Region string
Cores int64
ComputeType string
// "usage" args
MonthlyOrchestrationRuns *int64 `c3x_usage:"monthly_orchestration_runs"`
}
DataFactoryIntegrationRuntimeAzure struct represents Azure Data Factory's runtime flow.
Resource information: https://azure.microsoft.com/en-us/services/data-factory/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/data-factory/data-pipeline/
func (*DataFactoryIntegrationRuntimeAzure) BuildResource ¶
func (r *DataFactoryIntegrationRuntimeAzure) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid DataFactoryIntegrationRuntimeAzure struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*DataFactoryIntegrationRuntimeAzure) CoreType ¶
func (r *DataFactoryIntegrationRuntimeAzure) CoreType() string
func (*DataFactoryIntegrationRuntimeAzure) PopulateUsage ¶
func (r *DataFactoryIntegrationRuntimeAzure) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the DataFactoryIntegrationRuntimeAzure. It uses the `c3x_usage` struct tags to populate data into the DataFactoryIntegrationRuntimeAzure.
func (*DataFactoryIntegrationRuntimeAzure) UsageSchema ¶
func (r *DataFactoryIntegrationRuntimeAzure) UsageSchema() []*engine.ConsumptionField
type DataFactoryIntegrationRuntimeAzureSSIS ¶
type DataFactoryIntegrationRuntimeAzureSSIS struct {
Address string
Region string
Instances int64
InstanceType string
Enterprise bool
LicenseIncluded bool
}
DataFactoryIntegrationRuntimeAzureSSIS struct represents Data Factory's Azure-SSIS runtime.
Resource information: https://azure.microsoft.com/en-us/services/data-factory/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/data-factory/ssis/
func (*DataFactoryIntegrationRuntimeAzureSSIS) BuildResource ¶
func (r *DataFactoryIntegrationRuntimeAzureSSIS) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid DataFactoryIntegrationRuntimeAzureSSIS struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*DataFactoryIntegrationRuntimeAzureSSIS) CoreType ¶
func (r *DataFactoryIntegrationRuntimeAzureSSIS) CoreType() string
func (*DataFactoryIntegrationRuntimeAzureSSIS) PopulateUsage ¶
func (r *DataFactoryIntegrationRuntimeAzureSSIS) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the DataFactoryIntegrationRuntimeAzureSSIS. It uses the `c3x_usage` struct tags to populate data into the DataFactoryIntegrationRuntimeAzureSSIS.
func (*DataFactoryIntegrationRuntimeAzureSSIS) UsageSchema ¶
func (r *DataFactoryIntegrationRuntimeAzureSSIS) UsageSchema() []*engine.ConsumptionField
type DataFactoryIntegrationRuntimeManaged ¶
type DataFactoryIntegrationRuntimeManaged struct {
Address string
Region string
Instances int64
InstanceType string
Enterprise bool
LicenseIncluded bool
// "usage" args
MonthlyOrchestrationRuns *int64 `c3x_usage:"monthly_orchestration_runs"`
}
DataFactoryIntegrationRuntimeManaged struct represents Data Factory's Managed VNET integration runtime.
Resource information: https://azure.microsoft.com/en-us/services/data-factory/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/data-factory/data-pipeline/
func (*DataFactoryIntegrationRuntimeManaged) BuildResource ¶
func (r *DataFactoryIntegrationRuntimeManaged) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid DataFactoryIntegrationRuntimeManaged struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*DataFactoryIntegrationRuntimeManaged) CoreType ¶
func (r *DataFactoryIntegrationRuntimeManaged) CoreType() string
func (*DataFactoryIntegrationRuntimeManaged) PopulateUsage ¶
func (r *DataFactoryIntegrationRuntimeManaged) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the DataFactoryIntegrationRuntimeManaged. It uses the `c3x_usage` struct tags to populate data into the DataFactoryIntegrationRuntimeManaged.
func (*DataFactoryIntegrationRuntimeManaged) UsageSchema ¶
func (r *DataFactoryIntegrationRuntimeManaged) UsageSchema() []*engine.ConsumptionField
type DataFactoryIntegrationRuntimeSelfHosted ¶
type DataFactoryIntegrationRuntimeSelfHosted struct {
Address string
Region string
// "usage" args
MonthlyOrchestrationRuns *int64 `c3x_usage:"monthly_orchestration_runs"`
}
DataFactoryIntegrationRuntimeSelfHosted struct represents Data Factory's Self-hosted runtime.
Resource information: https://azure.microsoft.com/en-us/services/data-factory/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/data-factory/data-pipeline/
func (*DataFactoryIntegrationRuntimeSelfHosted) BuildResource ¶
func (r *DataFactoryIntegrationRuntimeSelfHosted) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid DataFactoryIntegrationRuntimeSelfHosted struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*DataFactoryIntegrationRuntimeSelfHosted) CoreType ¶
func (r *DataFactoryIntegrationRuntimeSelfHosted) CoreType() string
func (*DataFactoryIntegrationRuntimeSelfHosted) PopulateUsage ¶
func (r *DataFactoryIntegrationRuntimeSelfHosted) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the DataFactoryIntegrationRuntimeSelfHosted. It uses the `c3x_usage` struct tags to populate data into the DataFactoryIntegrationRuntimeSelfHosted.
func (*DataFactoryIntegrationRuntimeSelfHosted) UsageSchema ¶
func (r *DataFactoryIntegrationRuntimeSelfHosted) UsageSchema() []*engine.ConsumptionField
type DatabricksWorkspace ¶
type DatabricksWorkspace struct {
Address string
Region string
SKU string
MonthlyAllPurposeComputeDBUHrs *int64 `c3x_usage:"monthly_all_purpose_compute_dbu_hrs"`
MonthlyJobsComputeDBUHrs *int64 `c3x_usage:"monthly_jobs_compute_dbu_hrs"`
MonthlyJobsLightComputeDBUHrs *int64 `c3x_usage:"monthly_jobs_light_compute_dbu_hrs"`
}
func (*DatabricksWorkspace) BuildResource ¶
func (r *DatabricksWorkspace) BuildResource() *engine.Estimate
func (*DatabricksWorkspace) CoreType ¶
func (r *DatabricksWorkspace) CoreType() string
func (*DatabricksWorkspace) PopulateUsage ¶
func (r *DatabricksWorkspace) PopulateUsage(u *engine.ConsumptionProfile)
func (*DatabricksWorkspace) UsageSchema ¶
func (r *DatabricksWorkspace) UsageSchema() []*engine.ConsumptionField
type EventGridTopic ¶
type EventGridTopic struct {
Address string
Region string
MonthlyOperations *float64 `c3x_usage:"monthly_operations"`
}
EventGridTopic struct represents an Azure Event Grid Topic, a fully managed event routing service that simplifies the process of creating and managing event-driven applications.
Azure Event Grid allows you to build reactive applications by reacting to events from various Azure services, custom sources, or on-premises infrastructure.
EventGridTopic is used for both System (azurerm_eventgrid_system_topic) and Custom (azurerm_eventgrid_topic) topics.
System Topics are predefined, multi-tenant topics that are built-in to Azure services and emit events directly from the service. Custom Topics are application and solution-specific topics that you define for your own applications to publish events to.
For more information about Azure Event Grid System Topics and pricing, refer to the following links:
System topic information: https://docs.microsoft.com/en-us/azure/event-grid/system-topics Custom topic information: https://learn.microsoft.com/en-us/azure/event-grid/custom-topics Pricing information: https://azure.microsoft.com/en-us/pricing/details/event-grid/
func (*EventGridTopic) BuildResource ¶
func (r *EventGridTopic) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid EventGridTopic struct. This method is called after the resource is initialized by an IAC provider. See providers folder for more information.
The returned resource includes a CostComponent for Event Grid operations, taking into account the user's specified number of monthly operations. Azure Event Grid pricing is based on the number of operations, where each operation is defined as an event ingress, delivery attempt, or management call. The pricing is tiered, with the first 100,000 operations free, and then billed per 100k operations thereafter.
Note: The pricing page for Azure Event Grid mistakenly describes that it is billed per million operations. This is incorrect and has been verified by the https://azure.microsoft.com/en-us/pricing/calculator/ and information in the cloud pricing API.
func (*EventGridTopic) CoreType ¶
func (r *EventGridTopic) CoreType() string
CoreType returns the name of this resource type
func (*EventGridTopic) PopulateUsage ¶
func (r *EventGridTopic) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the EventGridTopic. It uses the `c3x_usage` struct tags to populate data into the EventGridTopic.
func (*EventGridTopic) UsageSchema ¶
func (r *EventGridTopic) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of EventGridTopic.
type ExpressRouteConnection ¶
type ExpressRouteConnection struct {
// Address is the unique name of the resource in the IAC language.
Address string
// Region is the azure region the ExpressRouteConnection is provisioned within.
Region string
}
ExpressRouteConnection represents an Express Route Gateway connection, which is a billable component of ExpressRouteGateway. See ExpressRouteGateway for more information.
More resource information here: https://docs.microsoft.com/en-us/azure/virtual-wan/virtual-wan-about Pricing information here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/
func (*ExpressRouteConnection) BuildResource ¶
func (e *ExpressRouteConnection) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ExpressRouteConnection. It returns a ExpressRouteConnection as a engine.Estimate with a single cost component representing the connection unit. The hourly quantity is set to 1 as ExpressRouteConnection represents a single connection unit.
This method is called after the resource is initialised by an iac provider. See providers folder for more information.
func (*ExpressRouteConnection) CoreType ¶
func (e *ExpressRouteConnection) CoreType() string
func (*ExpressRouteConnection) PopulateUsage ¶
func (e *ExpressRouteConnection) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ExpressRouteConnection. It uses the `c3x_usage` struct tags to populate data into the ExpressRouteConnection.
func (*ExpressRouteConnection) UsageSchema ¶
func (e *ExpressRouteConnection) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of EventGridTopic.
type ExpressRouteGateway ¶
type ExpressRouteGateway struct {
// Address is the unique name of the resource in the IAC language.
Address string
// Region is the azure region the VPNGateway is provisioned within.
Region string
// ScaleUnits represents a unit defined to pick an aggregate throughput of a gateway in Virtual hub.
// 1 scale unit of ExpressRoute = 2 Gbps.
ScaleUnits int64
}
ExpressRouteGateway is a Virtual WAN gateway that provides direct connectivity to Azure cloud services. All transferred data is not encrypted, and do not go over the public Internet.
More resource information here: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-about-virtual-network-gateways Pricing information here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/
func (*ExpressRouteGateway) BuildResource ¶
func (e *ExpressRouteGateway) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ExpressRouteGateway. It returns ExpressRouteGateway with a single cost component "ER scale units". See more about scale units reading ExpressRouteGateway.ScaleUnits.
This method is called after the resource is initialised by an iac provider. See providers folder for more information.
func (*ExpressRouteGateway) CoreType ¶
func (e *ExpressRouteGateway) CoreType() string
func (*ExpressRouteGateway) PopulateUsage ¶
func (e *ExpressRouteGateway) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ExpressRouteGateway. It uses the `c3x_usage` struct tags to populate data into the ExpressRouteGateway.
func (*ExpressRouteGateway) UsageSchema ¶
func (e *ExpressRouteGateway) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of EventGridTopic.
type FederatedIdentityCredential ¶
type FederatedIdentityCredential struct {
Address string
Region string
MonthlyActiveP1Users *int64 `c3x_usage:"monthly_active_p1_users"`
MonthlyActiveP2Users *int64 `c3x_usage:"monthly_active_p2_users"`
}
FederatedIdentityCredential struct represents an Azure Federated Identity Credential. are a new type of credential that enables workload identity federation for software workloads. Workload identity federation allows you to access Microsoft Entra protected resources without needing to manage secrets (for supported scenarios).
Resource information: https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0 Pricing information: https://azure.microsoft.com/en-us/pricing/details/active-directory-external-identities/
func (*FederatedIdentityCredential) BuildResource ¶
func (r *FederatedIdentityCredential) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid FederatedIdentityCredential struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
BuildResource returns cost components for the monthly active users for both P1 and P2 licence types for Microsoft Entra. It is not possible to infer the licence type from the IaC code, so we rely on the user to provide the monthly active users for each licence type as a usage parameter. The resource can not have both P1 and P2 licence types at the same time, so we check which one is set and return the cost component for that licence type.
func (*FederatedIdentityCredential) CoreType ¶
func (r *FederatedIdentityCredential) CoreType() string
CoreType returns the name of this resource type
func (*FederatedIdentityCredential) PopulateUsage ¶
func (r *FederatedIdentityCredential) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the FederatedIdentityCredential. It uses the `c3x_usage` struct tags to populate data into the FederatedIdentityCredential.
func (*FederatedIdentityCredential) UsageSchema ¶
func (r *FederatedIdentityCredential) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of FederatedIdentityCredential.
type Frontdoor ¶
type Frontdoor struct {
Address string
Region string
FrontendHosts int
RoutingRules int
// "usage" args
MonthlyInboundDataTransferGB *float64 `c3x_usage:"monthly_inbound_data_transfer_gb"`
MonthlyOutboundDataTransferGB *frontdoorOutboundDataTransferUsage `c3x_usage:"monthly_outbound_data_transfer_gb"`
}
Frontdoor struct represents Azure's Front Door network service.
More resource information here: https://docs.microsoft.com/en-us/azure/frontdoor/front-door-overview Pricing information here: https://azure.microsoft.com/en-us/pricing/details/frontdoor/ (Azure Front Door tab)
func (*Frontdoor) BuildResource ¶
BuildResource builds a engine.Estimate from valid Frontdoor data. This method is called after the resource is initialised by an IaC provider.
func (*Frontdoor) PopulateUsage ¶
func (r *Frontdoor) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the Frontdoor. It uses the `c3x_usage` struct tags to populate data into the Frontdoor.
func (*Frontdoor) UsageSchema ¶
func (r *Frontdoor) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of EventGridTopic.
type FrontdoorFirewallPolicy ¶
type FrontdoorFirewallPolicy struct {
Address string
Region string
CustomRules int
ManagedRulesets int
// "usage" args
MonthlyCustomRuleRequests *int64 `c3x_usage:"monthly_custom_rule_requests"`
MonthlyManagedRulesetRequests *int64 `c3x_usage:"monthly_managed_ruleset_requests"`
}
FrontdoorFirewallPolicy represents a policy for Web Application Firewall (WAF) with Azure Front Door.
More resource information here: https://docs.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-drs Pricing information here: https://azure.microsoft.com/en-us/pricing/details/frontdoor/#overview
func (*FrontdoorFirewallPolicy) BuildResource ¶
func (r *FrontdoorFirewallPolicy) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid FrontdoorFirewallPolicy. This method is called after the resource is initialised by an IaC provider.
func (*FrontdoorFirewallPolicy) CoreType ¶
func (r *FrontdoorFirewallPolicy) CoreType() string
CoreType returns the name of this resource type
func (*FrontdoorFirewallPolicy) PopulateUsage ¶
func (r *FrontdoorFirewallPolicy) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the FrontdoorFirewallPolicy.
func (*FrontdoorFirewallPolicy) UsageSchema ¶
func (r *FrontdoorFirewallPolicy) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of EventGridTopic.
type FunctionApp ¶
type FunctionApp struct {
Address string
Region string
SKUName string
Tier string
OSType string
MonthlyExecutions *int64 `c3x_usage:"monthly_executions"`
ExecutionDurationMs *int64 `c3x_usage:"execution_duration_ms"`
MemoryMb *int64 `c3x_usage:"memory_mb"`
Instances *int64 `c3x_usage:"instances"`
}
FunctionApp struct a serverless function running in an app service environment. The billing for this function lies within Azure App Service, however we capture the costs in this component to make it more understandable.
Resource information: https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/app-service/windows/
func (*FunctionApp) BuildResource ¶
func (r *FunctionApp) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid FunctionApp struct.
FunctionApp costs are CPU and Memory usage. These values rely on the user defining their expected usage in the usage file.
Function apps are billed in two modes - Premium or Consumption.
func (*FunctionApp) CoreType ¶
func (r *FunctionApp) CoreType() string
func (*FunctionApp) PopulateUsage ¶
func (r *FunctionApp) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the FunctionApp struct It uses the `c3x_usage` struct tags to populate data into the FunctionApp
func (*FunctionApp) UsageSchema ¶
func (r *FunctionApp) UsageSchema() []*engine.ConsumptionField
type Image ¶
type Image struct {
Type string
Address string
Region string
StorageGB *float64 `c3x_usage:"storage_gb"`
}
Image represents a custom image or a snapshot in Azure Cloud.
A custom image in Azure is created from a VHD or a managed disk, and it's used as the base for creating new virtual machines. Image, when representing a custom image, takes into account the size of the managed disk that backs the image for cost calculation.
A snapshot in Azure is a read-only copy of a disk, created for backup or to create new disks with the same data. When representing a snapshot, Image considers the used size of the disk snapshot for cost estimation.
The cost of both custom images and snapshots is primarily based on the storage they consume.
Resource information: Custom Images: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource Snapshots: https://docs.microsoft.com/en-us/azure/virtual-machines/disks-snapshot
Pricing information: Managed Disks: https://azure.microsoft.com/en-us/pricing/details/managed-disks/ Storage: https://azure.microsoft.com/en-us/pricing/details/storage/
func (*Image) BuildResource ¶
BuildResource builds a engine.Estimate from a valid Image struct. This method is called after the resource is initialised by an IaC provider.
As of writing, snapshot and image costs are all billed under the "Standard HDD Managed Disks" product, even if the disks they are backing up are premium or SSD.
func (*Image) CoreType ¶
CoreType returns the name of this resource type. If no type is specified, it defaults to "Image".
func (*Image) PopulateUsage ¶
func (r *Image) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the Image. It uses the `c3x_usage` struct tags to populate data into the Image.
func (*Image) UsageSchema ¶
func (r *Image) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of Image. Currently, it includes a single key "storage_gb" for the storage size in GB.
type IoTHub ¶
IoTHub struct represents an IoT Hub
Resource information: https://azure.microsoft.com/en-us/services/iot-hub/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/iot-hub/
func (*IoTHub) BuildResource ¶
func (*IoTHub) PopulateUsage ¶
func (r *IoTHub) PopulateUsage(u *engine.ConsumptionProfile)
func (*IoTHub) UsageSchema ¶
func (r *IoTHub) UsageSchema() []*engine.ConsumptionField
type IoTHubDPS ¶
type IoTHubDPS struct {
Address string
Region string
Sku string
MonthlyOperations *int64 `c3x_usage:"monthly_operations"`
}
IoTHubDPS struct represents an IoT Hub DPS
Resource information: https://azure.microsoft.com/en-us/services/iot-hub/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/iot-hub/
func (*IoTHubDPS) BuildResource ¶
func (*IoTHubDPS) PopulateUsage ¶
func (r *IoTHubDPS) PopulateUsage(u *engine.ConsumptionProfile)
func (*IoTHubDPS) UsageSchema ¶
func (r *IoTHubDPS) UsageSchema() []*engine.ConsumptionField
type KubernetesCluster ¶
type KubernetesCluster struct {
Address string
Region string
SKUTier string
NetworkProfileLoadBalancerSKU string
DefaultNodePoolNodeCount int64
DefaultNodePoolOS string
DefaultNodePoolOSDiskType string
DefaultNodePoolVMSize string
DefaultNodePoolOSDiskSizeGB int64
HttpApplicationRoutingEnabled bool
LoadBalancer *KubernetesClusterLoadBalancer `c3x_usage:"load_balancer"`
DefaultNodePool *KubernetesClusterDefaultNodePool `c3x_usage:"default_node_pool"`
IsDevTest bool
}
func (*KubernetesCluster) BuildResource ¶
func (r *KubernetesCluster) BuildResource() *engine.Estimate
func (*KubernetesCluster) CoreType ¶
func (r *KubernetesCluster) CoreType() string
func (*KubernetesCluster) PopulateUsage ¶
func (r *KubernetesCluster) PopulateUsage(u *engine.ConsumptionProfile)
func (*KubernetesCluster) UsageSchema ¶
func (r *KubernetesCluster) UsageSchema() []*engine.ConsumptionField
type KubernetesClusterLoadBalancer ¶
type KubernetesClusterLoadBalancer struct {
MonthlyDataProcessedGB *int64 `c3x_usage:"monthly_data_processed_gb"`
}
type KubernetesClusterNodePool ¶
type KubernetesClusterNodePool struct {
Address string
Region string
NodeCount int64
VMSize string
OS string
OSDiskType string
OSDiskSizeGB int64
Nodes *int64 `c3x_usage:"nodes"`
MonthlyHours *float64 `c3x_usage:"monthly_hrs"`
IsDevTest bool
}
func (*KubernetesClusterNodePool) BuildResource ¶
func (r *KubernetesClusterNodePool) BuildResource() *engine.Estimate
func (*KubernetesClusterNodePool) CoreType ¶
func (r *KubernetesClusterNodePool) CoreType() string
func (*KubernetesClusterNodePool) PopulateUsage ¶
func (r *KubernetesClusterNodePool) PopulateUsage(u *engine.ConsumptionProfile)
func (*KubernetesClusterNodePool) UsageSchema ¶
func (r *KubernetesClusterNodePool) UsageSchema() []*engine.ConsumptionField
type LB ¶
type LB struct {
Address string
Region string
SKU string
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
}
func (*LB) BuildResource ¶
func (*LB) PopulateUsage ¶
func (r *LB) PopulateUsage(u *engine.ConsumptionProfile)
func (*LB) UsageSchema ¶
func (r *LB) UsageSchema() []*engine.ConsumptionField
type LinuxVirtualMachine ¶
type LinuxVirtualMachine struct {
Address string
Region string
Size string
UltraSSDEnabled bool
OSDiskData *ManagedDiskData
OSDisk *OSDiskUsage `c3x_usage:"os_disk"`
MonthlyHrs *float64 `c3x_usage:"monthly_hrs"`
}
func (*LinuxVirtualMachine) BuildResource ¶
func (r *LinuxVirtualMachine) BuildResource() *engine.Estimate
func (*LinuxVirtualMachine) CoreType ¶
func (r *LinuxVirtualMachine) CoreType() string
func (*LinuxVirtualMachine) PopulateUsage ¶
func (r *LinuxVirtualMachine) PopulateUsage(u *engine.ConsumptionProfile)
func (*LinuxVirtualMachine) UsageSchema ¶
func (r *LinuxVirtualMachine) UsageSchema() []*engine.ConsumptionField
type LinuxVirtualMachineScaleSet ¶
type LinuxVirtualMachineScaleSet struct {
Address string
SKU string
UltraSSDEnabled bool
Region string
OSDiskData *ManagedDiskData
Instances *int64 `c3x_usage:"instances"`
OSDisk *OSDiskUsage `c3x_usage:"os_disk"`
}
func (*LinuxVirtualMachineScaleSet) BuildResource ¶
func (r *LinuxVirtualMachineScaleSet) BuildResource() *engine.Estimate
func (*LinuxVirtualMachineScaleSet) CoreType ¶
func (r *LinuxVirtualMachineScaleSet) CoreType() string
func (*LinuxVirtualMachineScaleSet) PopulateUsage ¶
func (r *LinuxVirtualMachineScaleSet) PopulateUsage(u *engine.ConsumptionProfile)
func (*LinuxVirtualMachineScaleSet) UsageSchema ¶
func (r *LinuxVirtualMachineScaleSet) UsageSchema() []*engine.ConsumptionField
type LogAnalyticsWorkspace ¶
type LogAnalyticsWorkspace struct {
Address string
Region string
SKU string
ReservationCapacityInGBPerDay int64
RetentionInDays int64
SentinelEnabled bool
MonthlyArchivedDataGB *float64 `c3x_usage:"monthly_archive_data_gb"`
MonthlyArchivedDataRestoredGB *float64 `c3x_usage:"monthly_archive_data_restored_gb"`
MonthlyArchivedDataSearchedGB *float64 `c3x_usage:"monthly_archive_data_searched_gb"`
MonthlyBasicLogDataIngestionGB *float64 `c3x_usage:"monthly_basic_log_data_ingestion_gb"`
MonthlyBasicLogSearchGB *float64 `c3x_usage:"monthly_basic_log_search_gb"`
MonthlyLogDataIngestionGB *float64 `c3x_usage:"monthly_log_data_ingestion_gb"`
MonthlyAdditionalLogDataRetentionGB *float64 `c3x_usage:"monthly_additional_log_data_retention_gb"`
MonthlyLogDataExportGB *float64 `c3x_usage:"monthly_log_data_export_gb"`
MonthlySentinelDataIngestionGB *float64 `c3x_usage:"monthly_sentinel_data_ingestion_gb"`
}
LogAnalyticsWorkspace struct represents an Azure Monitor log workspace. A workspace consolidates data from multiple sources into a single data lake. A workspace defines:
- The geographic location of the data.
- Access rights that define which users can access data.
- Configuration settings such as the pricing tier and data retention.
Resource information: https://azure.microsoft.com/en-gb/services/monitor/ Pricing information: https://azure.microsoft.com/en-gb/pricing/details/monitor/
func (*LogAnalyticsWorkspace) BuildResource ¶
func (r *LogAnalyticsWorkspace) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid LogAnalyticsWorkspace struct. The returned engine.Estimate can have 9 potential engine.LineItem associated with it:
- Log data ingestion, which can be either: a) Pay-as-you-go, which is only valid for a sku of PerGB2018 and uses a usage param b) Billed per commitment tiers, which is only valid for a sku of CapacityReservation
- Log retention, which is free up to 31 days. Data retained beyond these no-charge periods will be charged for each GB of data retained for a month (pro-rated daily).
- Data export, which is billed per monthly GB exported and is defined from a usage param.
- Sentinel data ingestion if Sentinel usage is detected.
- Basic log data ingestion, which is a less expensive of tier for "ingesting and storing high-volume verbose logs in your Log Analytics workspace for debugging, troubleshooting, and auditing, but not for analytics and alerts."
- Basic log search, which is billed per monthly GB of basic log data queried.
- Archive data, which is billed per monthly GB of archived data
- Archive restore, which is billed per monthly GB of archived data restored
- Archive search, which is billed per monthly GB of archived data searched
Outside the above rules - if the workspace has sku of Free we return as a free resource & if the workspace sku is in a list of unsupported skus then we mark as skipped with a warning.
func (*LogAnalyticsWorkspace) CoreType ¶
func (r *LogAnalyticsWorkspace) CoreType() string
CoreType returns the name of this resource type
func (*LogAnalyticsWorkspace) PopulateUsage ¶
func (r *LogAnalyticsWorkspace) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the LogAnalyticsWorkspace. It uses the `c3x_usage` struct tags to populate data into the LogAnalyticsWorkspace.
func (*LogAnalyticsWorkspace) UsageSchema ¶
func (r *LogAnalyticsWorkspace) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of LogAnalyticsWorkspace.
type LogicAppIntegrationAccount ¶
LogicAppIntegrationAccount struct represents Microsoft's cloud-based solution for integrating business functions and data sources.
Resource information:https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-pricing Pricing information: https://azure.microsoft.com/en-gb/pricing/details/logic-apps/
func NewLogicAppIntegrationAccount ¶
func NewLogicAppIntegrationAccount(address string, region string, sku string) *LogicAppIntegrationAccount
NewLogicAppIntegrationAccount returns an initialised LogicAppIntegrationAccount with the provided attributes. This should be used over simple struct initialisation as NewLogicAppIntegrationAccount ensures that the casing for the SKU is consistent.
func (*LogicAppIntegrationAccount) BuildResource ¶
func (r *LogicAppIntegrationAccount) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid LogicAppIntegrationAccount struct.
LogicAppIntegrationAccount only have one associated cost with them which is the hourly cost of the account. The integration is billed hourly but the prices available are monthly. Therefore, we use the MonthToHourUnitMultiplier to convert this price to a more "correct" unit.
func (*LogicAppIntegrationAccount) CoreType ¶
func (r *LogicAppIntegrationAccount) CoreType() string
CoreType returns the name of this resource type
func (*LogicAppIntegrationAccount) PopulateUsage ¶
func (r *LogicAppIntegrationAccount) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the LogicAppIntegrationAccount. It uses the `c3x_usage` struct tags to populate data into the LogicAppIntegrationAccount.
func (*LogicAppIntegrationAccount) UsageSchema ¶
func (r *LogicAppIntegrationAccount) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of LogicAppIntegrationAccount.
type LogicAppStandard ¶
type LogicAppStandard struct {
Address string
Region string
// Usage-based attributes
// This is set from the related App Service Plan SKU, but can be overwritten in the usage file
SKU *string `c3x_usage:"sku"`
MonthlyStandardConnectorCalls *int64 `c3x_usage:"monthly_standard_connector_calls"`
MonthlyEnterpriseConnectorCalls *int64 `c3x_usage:"monthly_enterprise_connector_calls"`
}
LogicAppStandard struct represents Azure Logic App Standard.
This resource's pricing is based on the SKU size and the number of standard and enterprise connector calls. The SKU size is determined by the related App Service Plan SKU, but can be overwritten with a usage-based attribute in the usage file. If the SKU cannot be determined we show the pricing per vCore and GB of memory. This resource only supports the Standard Plan pricing, not the Consumption Plan.
Resource information: https://azure.microsoft.com/en-gb/pricing/details/logic-apps/ Pricing information: https://azure.microsoft.com/en-gb/pricing/details/logic-apps/#pricing
func (*LogicAppStandard) BuildResource ¶
func (r *LogicAppStandard) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid LogicAppStandard struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*LogicAppStandard) CoreType ¶
func (r *LogicAppStandard) CoreType() string
CoreType returns the name of this resource type
func (*LogicAppStandard) PopulateUsage ¶
func (r *LogicAppStandard) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the LogicAppStandard. It uses the `c3x_usage` struct tags to populate data into the LogicAppStandard.
func (*LogicAppStandard) UsageSchema ¶
func (r *LogicAppStandard) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of LogicAppStandard.
type MSSQLElasticPool ¶
type MSSQLElasticPool struct {
Address string
Region string
SKU string
LicenseType string
Tier string
Family string
Cores *int64
DTUCapacity *int64
MaxSizeGB *float64
ZoneRedundant bool
}
MSSQLElasticPool represents an Azure MSSQL Elastic Pool instance.
More resource information here: https://azure.microsoft.com/en-gb/products/azure-sql/database/ Pricing information here: https://azure.microsoft.com/en-gb/pricing/details/azure-sql-database/
func (*MSSQLElasticPool) BuildResource ¶
func (r *MSSQLElasticPool) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid MSSQLElasticPool. It returns a MSSQLElasticPool as a *engine.Estimate with cost components initialized.
MSSQLElasticPool splits pricing into two different models. DTU & vCores.
Database Transaction Unit (DTU) is made a performance metric representing a mixture of performance metrics in Azure SQL. Some include: CPU, I/O, Memory. DTU is used as Azure tries to simplify billing by using a single metric. Virtual Core (vCore) pricing is designed to translate from on premise hardware metrics (cores) into the cloud SQL instance. vCore is designed to allow users to better estimate their resource limits, e.g. RAM.
Elastic pools that follow a DTU pricing model have the following costs associated with them:
- Costs based on the number of DTUs that the SQL database has
- Extra backup data costs - this is configured using MSSQLElasticPool.ExtraDataStorageGB
- Long term data backup costs - this is configured using MSSQLElasticPool.LongTermRetentionStorageGB
Elastic pools that follow a vCore pricing model have the following costs associated with them:
- Costs based on the number of vCores the resource has
- Additional charge for SQL Server licensing based on vCores amount
- Charges for storage used
- Charges for long term data backup - this is configured using MSSQLElasticPool.LongTermRetentionStorageGB
This method is called after the resource is initialized by an IaC provider. MSSQLElasticPool is used by both mssql_elasticpool and sql_elasticpool Terraform catalog.
func (*MSSQLElasticPool) CoreType ¶
func (r *MSSQLElasticPool) CoreType() string
func (*MSSQLElasticPool) PopulateUsage ¶
func (r *MSSQLElasticPool) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the MSSQLElasticPool.
func (*MSSQLElasticPool) UsageSchema ¶
func (r *MSSQLElasticPool) UsageSchema() []*engine.ConsumptionField
type MSSQLManagedInstance ¶
type MSSQLManagedInstance struct {
Address string
Region string
SKU string
LicenseType string
Cores int64
StorageSizeInGb int64
StorageAccountType string
// LongTermRetentionStorageGB defines a usage param that allows users to define how many gb of cold storage the database uses.
// This is storage that can be kept for up to 10 years.
LongTermRetentionStorageGB *int64 `c3x_usage:"long_term_retention_storage_gb"`
BackupStorageGB *int64 `c3x_usage:"backup_storage_gb"`
}
MSSQLManagedInstance struct represents an azure Sql Managed Instance.
MSSQLManagedInstance currently only Gen5 database instance ¶
More resource information here: https://azure.microsoft.com/en-gb/products/azure-sql/managed-instance/ Pricing information here: https://azure.microsoft.com/en-gb/pricing/details/azure-sql-managed-instance/single/
func (*MSSQLManagedInstance) BuildResource ¶
func (r *MSSQLManagedInstance) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid MSSQLManagedInstance struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*MSSQLManagedInstance) CoreType ¶
func (r *MSSQLManagedInstance) CoreType() string
CoreType returns the name of this resource type
func (*MSSQLManagedInstance) PopulateUsage ¶
func (r *MSSQLManagedInstance) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the MSSQLManagedInstance. It uses the `c3x_usage` struct tags to populate data into the MSSQLManagedInstance.
func (*MSSQLManagedInstance) UsageSchema ¶
func (r *MSSQLManagedInstance) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of MSSQLManagedInstance.
type MachineLearningComputeCluster ¶
type MachineLearningComputeCluster struct {
Address string
Region string
InstanceType string
MinNodeCount int64
Instances *int64 `c3x_usage:"instances"`
MonthlyHours *float64 `c3x_usage:"monthly_hrs"`
}
MachineLearningComputeCluster struct represents a Azure Machine Learning Compute Cluster.
These use the same pricing as Azure Linux Virtual Machines. We default to the minimum scale of the cluster, but allow the number of instances and monthly hours of each instance to be set.
Resource information: https://azure.microsoft.com/en-gb/pricing/details/machine-learning/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/machine-learning/
func (*MachineLearningComputeCluster) BuildResource ¶
func (r *MachineLearningComputeCluster) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid MachineLearningComputeCluster struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*MachineLearningComputeCluster) CoreType ¶
func (r *MachineLearningComputeCluster) CoreType() string
CoreType returns the name of this resource type
func (*MachineLearningComputeCluster) PopulateUsage ¶
func (r *MachineLearningComputeCluster) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the MachineLearningComputeCluster. It uses the `c3x_usage` struct tags to populate data into the MachineLearningComputeCluster.
func (*MachineLearningComputeCluster) UsageSchema ¶
func (r *MachineLearningComputeCluster) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of MachineLearningComputeCluster.
type MachineLearningComputeInstance ¶
type MachineLearningComputeInstance struct {
Address string
Region string
InstanceType string
MonthlyHours *float64 `c3x_usage:"monthly_hrs"`
}
MachineLearningComputeInstance struct represents a Azure Machine Learning Compute Instance.
These use the same pricing as Azure Linux Virtual Machines.
Resource information: https://azure.microsoft.com/en-gb/pricing/details/machine-learning/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/machine-learning/
func (*MachineLearningComputeInstance) BuildResource ¶
func (r *MachineLearningComputeInstance) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid MachineLearningComputeInstance struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*MachineLearningComputeInstance) CoreType ¶
func (r *MachineLearningComputeInstance) CoreType() string
CoreType returns the name of this resource type
func (*MachineLearningComputeInstance) PopulateUsage ¶
func (r *MachineLearningComputeInstance) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the MachineLearningComputeInstance. It uses the `c3x_usage` struct tags to populate data into the MachineLearningComputeInstance.
func (*MachineLearningComputeInstance) UsageSchema ¶
func (r *MachineLearningComputeInstance) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of MachineLearningComputeInstance.
type ManagedDisk ¶
type ManagedDisk struct {
Address string
Region string
ManagedDiskData
MonthlyDiskOperations *int64 `c3x_usage:"monthly_disk_operations"`
}
func (*ManagedDisk) BuildResource ¶
func (r *ManagedDisk) BuildResource() *engine.Estimate
func (*ManagedDisk) CoreType ¶
func (r *ManagedDisk) CoreType() string
func (*ManagedDisk) PopulateUsage ¶
func (r *ManagedDisk) PopulateUsage(u *engine.ConsumptionProfile)
func (*ManagedDisk) UsageSchema ¶
func (r *ManagedDisk) UsageSchema() []*engine.ConsumptionField
type ManagedDiskData ¶
type MonitorActionGroup ¶
type MonitorActionGroup struct {
Address string
Region string
EmailReceivers int
ITSMEventReceivers int
PushNotificationReceivers int
SecureWebHookReceivers int
WebHookReceivers int
SMSReceiversByCountryCode map[int]int
VoiceCallReceiversByCountryCode map[int]int
MonthlyNotifications *int64 `c3x_usage:"monthly_notifications"`
}
MonitorActionGroup struct represents an Azure Monitor Action Group.
Resource information: https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/action-groups Pricing information: https://azure.microsoft.com/en-us/pricing/details/monitor/
func (*MonitorActionGroup) BuildResource ¶
func (r *MonitorActionGroup) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from the struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*MonitorActionGroup) CoreType ¶
func (r *MonitorActionGroup) CoreType() string
func (*MonitorActionGroup) ITSMEventCostComponent ¶
func (r *MonitorActionGroup) ITSMEventCostComponent(count int, quantity *int64) *engine.LineItem
func (*MonitorActionGroup) PopulateUsage ¶
func (r *MonitorActionGroup) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile It uses the `c3x_usage` struct tags to populate data.
func (*MonitorActionGroup) UsageSchema ¶
func (r *MonitorActionGroup) UsageSchema() []*engine.ConsumptionField
type MonitorDataCollectionRule ¶
type MonitorDataCollectionRule struct {
Address string
Region string
MonthlyCustomMetricsSamplesGB *int64 `c3x_usage:"monthly_custom_metrics_samples"`
}
MonitorDataCollectionRule struct represents an Azure Monitor Data Collection Rule.
Resource information: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/monitor_data_collection_rule Pricing information: https://azure.microsoft.com/en-in/pricing/details/monitor/
func (*MonitorDataCollectionRule) BuildResource ¶
func (r *MonitorDataCollectionRule) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid MonitorDataCollectionRule struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*MonitorDataCollectionRule) CoreType ¶
func (r *MonitorDataCollectionRule) CoreType() string
CoreType returns the name of this resource type
func (*MonitorDataCollectionRule) PopulateUsage ¶
func (r *MonitorDataCollectionRule) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the MonitorDataCollectionRule. It uses the `c3x_usage` struct tags to populate data into the MonitorDataCollectionRule.
func (*MonitorDataCollectionRule) UsageSchema ¶
func (r *MonitorDataCollectionRule) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of MonitorDataCollectionRule.
type MonitorDiagnosticSetting ¶
type MonitorDiagnosticSetting struct {
Address string
Region string
EventHubTarget bool
PartnerSolutionTarget bool
StorageAccountTarget bool
MonthlyPlatformLogGB *int64 `c3x_usage:"monthly_platform_log_gb"`
}
MonitorDiagnosticSetting struct represents an Azure Monitor Diagnostics Setting
Resource information: https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings Pricing information: https://azure.microsoft.com/en-in/pricing/details/monitor/
func (*MonitorDiagnosticSetting) BuildResource ¶
func (r *MonitorDiagnosticSetting) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid MonitorDiagnosticSetting struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*MonitorDiagnosticSetting) CoreType ¶
func (r *MonitorDiagnosticSetting) CoreType() string
CoreType returns the name of this resource type
func (*MonitorDiagnosticSetting) PopulateUsage ¶
func (r *MonitorDiagnosticSetting) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the MonitorDiagnosticSetting. It uses the `c3x_usage` struct tags to populate data into the MonitorDiagnosticSetting.
func (*MonitorDiagnosticSetting) UsageSchema ¶
func (r *MonitorDiagnosticSetting) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of MonitorDiagnosticSetting.
type MonitorMetricAlert ¶
type MonitorMetricAlert struct {
Address string
Region string
Enabled bool
ScopeCount int
CriteriaDimensionsCount int
DynamicCriteriaDimensionsCount int
}
MonitorMetricAlert struct represents an Azure Monitor Metric Group.
Resource information: https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/monitor/
func (*MonitorMetricAlert) BuildResource ¶
func (r *MonitorMetricAlert) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from the struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*MonitorMetricAlert) CoreType ¶
func (r *MonitorMetricAlert) CoreType() string
func (*MonitorMetricAlert) PopulateUsage ¶
func (r *MonitorMetricAlert) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile It uses the `c3x_usage` struct tags to populate data.
func (*MonitorMetricAlert) UsageSchema ¶
func (r *MonitorMetricAlert) UsageSchema() []*engine.ConsumptionField
type MonitorScheduledQueryRulesAlert ¶
type MonitorScheduledQueryRulesAlert struct {
Address string
Region string
Enabled bool
TimeSeriesCount int64
FrequencyMinutes int64
}
MonitorScheduledQueryRulesAlert struct represents Azure Monitor Log Alert Rules, aka Scheduled Query Rules.
Resource information:
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/monitor_scheduled_query_rules_alert_v2 https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/monitor_scheduled_query_rules_alert
Pricing information: https://azure.microsoft.com/en-in/pricing/details/monitor/
func (*MonitorScheduledQueryRulesAlert) BuildResource ¶
func (r *MonitorScheduledQueryRulesAlert) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid MonitorScheduledQueryRulesAlert struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*MonitorScheduledQueryRulesAlert) CoreType ¶
func (r *MonitorScheduledQueryRulesAlert) CoreType() string
CoreType returns the name of this resource type
func (*MonitorScheduledQueryRulesAlert) PopulateUsage ¶
func (r *MonitorScheduledQueryRulesAlert) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the MonitorScheduledQueryRulesAlert. It uses the `c3x_usage` struct tags to populate data into the MonitorScheduledQueryRulesAlert.
func (*MonitorScheduledQueryRulesAlert) UsageSchema ¶
func (r *MonitorScheduledQueryRulesAlert) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of MonitorScheduledQueryRulesAlert.
type MySQLFlexibleServer ¶
type MySQLFlexibleServer struct {
Address string
Region string
SKU string
Tier string
InstanceType string
InstanceVersion string
Storage int64
IOPS int64
// "usage" args
AdditionalBackupStorageGB *float64 `c3x_usage:"additional_backup_storage_gb"`
}
MySQLFlexibleServer struct represents Azure MySQL Flexible Server resource.
Resource information: https://docs.microsoft.com/en-gb/azure/mysql/flexible-server/ Pricing information: https://azure.microsoft.com/en-gb/pricing/details/mysql/flexible-server/
func (*MySQLFlexibleServer) BuildResource ¶
func (r *MySQLFlexibleServer) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid MySQLFlexibleServer struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*MySQLFlexibleServer) CoreType ¶
func (r *MySQLFlexibleServer) CoreType() string
CoreType returns the name of this resource type
func (*MySQLFlexibleServer) PopulateUsage ¶
func (r *MySQLFlexibleServer) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the MySQLFlexibleServer. It uses the `c3x_usage` struct tags to populate data into the MySQLFlexibleServer.
func (*MySQLFlexibleServer) UsageSchema ¶
func (r *MySQLFlexibleServer) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of MySQLFlexibleServerUsageSchema.
type NetworkConnectionMonitor ¶
type NetworkConnectionMonitor struct {
Address string
Region string
Tests *int64 `c3x_usage:"tests"`
}
NetworkConnectionMonitor struct represents Azure Network Watcher Connection Monitor (new)
This resource is charged for each test. Connection Monitors can have multiple test groups. A test is a combination of a source endpoint, destination endpoint and test configuration within a test group. The number of tests is calculated by multiplying the number of source endpoints, destination endpoints and test configurations for each enabled test group.
There is a free limit of 1000 tests.
If the test configuration is for a scale set, then each instance of that scale set counts as a separate test. Since we can't get the number of instances in each scale set we allow the `tests` attribute to be overridden in the usage file.
Resource information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#pricing
func (*NetworkConnectionMonitor) BuildResource ¶
func (r *NetworkConnectionMonitor) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid NetworkConnectionMonitor struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*NetworkConnectionMonitor) CoreType ¶
func (r *NetworkConnectionMonitor) CoreType() string
CoreType returns the name of this resource type
func (*NetworkConnectionMonitor) PopulateUsage ¶
func (r *NetworkConnectionMonitor) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the NetworkConnectionMonitor. It uses the `c3x_usage` struct tags to populate data into the NetworkConnectionMonitor.
func (*NetworkConnectionMonitor) UsageSchema ¶
func (r *NetworkConnectionMonitor) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of NetworkConnectionMonitor.
type NetworkDdosProtectionPlan ¶
type NetworkDdosProtectionPlan struct {
Address string
Region string
OverageAmount *int64 `c3x_usage:"overage_amount"`
}
NetworkDdosProtectionPlan struct represents Azure DDoS Protection Plan. DDoS Protection Plan is a resource that provides DDoS protection for virtual networks and IPs.
Resource information: https://azure.microsoft.com/en-us/products/ddos-protection/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/ddos-protection/#pricing
func (*NetworkDdosProtectionPlan) BuildResource ¶
func (r *NetworkDdosProtectionPlan) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid NetworkDdosProtectionPlan struct. This method is called after the resource is initialised by an IaC provider.
BuildResource returns two cost components:
- DDoS Protection Plan: The cost of the DDoS Protection Plan.
- Overage charges: The cost of the overage charges for the DDoS Protection Plan. This is the number of resources that fall outside the base coverage offered by the protection plan (100). This amount is defined in the usage file as it is difficult to infer the number of resources that fall outside the base coverage from the IaC.
func (*NetworkDdosProtectionPlan) CoreType ¶
func (r *NetworkDdosProtectionPlan) CoreType() string
CoreType returns the name of this resource type.
func (*NetworkDdosProtectionPlan) PopulateUsage ¶
func (r *NetworkDdosProtectionPlan) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the NetworkDdosProtectionPlan. It uses the `c3x_usage` struct tags to populate data into the NetworkDdosProtectionPlan.
func (*NetworkDdosProtectionPlan) UsageSchema ¶
func (r *NetworkDdosProtectionPlan) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of NetworkDdosProtectionPlan. There is only one usage item, `overage_amount`, which represents the number of resources that fall outside the base ddos coverage.
type NetworkWatcher ¶
type NetworkWatcher struct {
Address string
Region string
MonthlyDiagnosticChecks *int64 `c3x_usage:"monthly_diagnostic_checks"`
}
NetworkWatcher struct represents Azure Network Watcher.
From the Azure Network Watcher pricing page, this resource supports the 'Network Diagnostic Checks' pricing.
The other prices are supported as follows:
'Network Logs Collected' and 'Traffic Analytics' are counted against the azurerm_network_watcher_flow_log resource.
'Connection Monitor' is counted against the azurerm_network_connection_monitor resource.
'Network Performance Monitor' charges are not supported since they are deprecated and do not have an equivalent resource.
Resource information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#pricing
func (*NetworkWatcher) BuildResource ¶
func (r *NetworkWatcher) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid NetworkWatcher struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*NetworkWatcher) CoreType ¶
func (r *NetworkWatcher) CoreType() string
CoreType returns the name of this resource type
func (*NetworkWatcher) PopulateUsage ¶
func (r *NetworkWatcher) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the NetworkWatcher. It uses the `c3x_usage` struct tags to populate data into the NetworkWatcher.
func (*NetworkWatcher) UsageSchema ¶
func (r *NetworkWatcher) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of NetworkWatcher.
type NetworkWatcherFlowLog ¶
type NetworkWatcherFlowLog struct {
Address string
Region string
TrafficAnalyticsEnabled bool
TrafficAnalyticsAcceleratedProcessing bool
MonthlyLogsCollectedGB *float64 `c3x_usage:"monthly_logs_collected_gb"`
}
NetworkWatcherFlowLog struct represents Azure Network Watcher Flow Log
From the Azure Network Watcher pricing page, this resource supports the 'Network Logs Collected' and 'Traffic Analytics' pricing.
Other Network Monitor prices are supported in other resources, as specified in the NetworkWatcher resource struct.
Resource information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#pricing
func (*NetworkWatcherFlowLog) BuildResource ¶
func (r *NetworkWatcherFlowLog) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid NetworkWatcherFlowLog struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*NetworkWatcherFlowLog) CoreType ¶
func (r *NetworkWatcherFlowLog) CoreType() string
CoreType returns the name of this resource type
func (*NetworkWatcherFlowLog) PopulateUsage ¶
func (r *NetworkWatcherFlowLog) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the NetworkWatcherFlowLog. It uses the `c3x_usage` struct tags to populate data into the NetworkWatcherFlowLog.
func (*NetworkWatcherFlowLog) UsageSchema ¶
func (r *NetworkWatcherFlowLog) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of NetworkWatcherFlowLog.
type OSDiskUsage ¶
type OSDiskUsage struct {
MonthlyDiskOperations *int64 `c3x_usage:"monthly_disk_operations"`
}
type PostgreSQLFlexibleServer ¶
type PostgreSQLFlexibleServer struct {
Address string
Region string
SKU string
Tier string
InstanceType string
InstanceVersion string
Storage int64
HighAvailability bool
AdditionalBackupStorageGB *float64 `c3x_usage:"additional_backup_storage_gb"`
}
PostgreSQLFlexibleServer struct represents Azure PostgreSQL Flexible Server resource.
Resource information: https://docs.microsoft.com/en-gb/azure/postgresql/flexible-server/ Pricing information: https://azure.microsoft.com/en-gb/pricing/details/postgresql/flexible-server/
func (*PostgreSQLFlexibleServer) BuildResource ¶
func (r *PostgreSQLFlexibleServer) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid PostgreSQLFlexibleServer struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*PostgreSQLFlexibleServer) CoreType ¶
func (r *PostgreSQLFlexibleServer) CoreType() string
CoreType returns the name of this resource type
func (*PostgreSQLFlexibleServer) PopulateUsage ¶
func (r *PostgreSQLFlexibleServer) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the PostgreSQLFlexibleServer. It uses the `c3x_usage` struct tags to populate data into the PostgreSQLFlexibleServer.
func (*PostgreSQLFlexibleServer) UsageSchema ¶
func (r *PostgreSQLFlexibleServer) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of PostgreSQLFlexibleServer.
type PowerBIEmbedded ¶
PowerBIEmbedded struct represents a Power BI Embedded resource.
Resource information: https://learn.microsoft.com/en-us/power-bi/developer/embedded/ Pricing information: https://azure.microsoft.com/en-gb/pricing/details/power-bi-embedded/
func (*PowerBIEmbedded) BuildResource ¶
func (r *PowerBIEmbedded) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid PowerBIEmbedded struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*PowerBIEmbedded) CoreType ¶
func (r *PowerBIEmbedded) CoreType() string
func (*PowerBIEmbedded) PopulateUsage ¶
func (r *PowerBIEmbedded) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the PowerBIEmbedded. It uses the `c3x_usage` struct tags to populate data into the PowerBIEmbedded.
func (*PowerBIEmbedded) UsageSchema ¶
func (r *PowerBIEmbedded) UsageSchema() []*engine.ConsumptionField
type PrivateDNSAAAARecord ¶
type PrivateDNSAAAARecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*PrivateDNSAAAARecord) BuildResource ¶
func (r *PrivateDNSAAAARecord) BuildResource() *engine.Estimate
func (*PrivateDNSAAAARecord) CoreType ¶
func (r *PrivateDNSAAAARecord) CoreType() string
func (*PrivateDNSAAAARecord) PopulateUsage ¶
func (r *PrivateDNSAAAARecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*PrivateDNSAAAARecord) UsageSchema ¶
func (r *PrivateDNSAAAARecord) UsageSchema() []*engine.ConsumptionField
type PrivateDNSARecord ¶
type PrivateDNSARecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*PrivateDNSARecord) BuildResource ¶
func (r *PrivateDNSARecord) BuildResource() *engine.Estimate
func (*PrivateDNSARecord) CoreType ¶
func (r *PrivateDNSARecord) CoreType() string
func (*PrivateDNSARecord) PopulateUsage ¶
func (r *PrivateDNSARecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*PrivateDNSARecord) UsageSchema ¶
func (r *PrivateDNSARecord) UsageSchema() []*engine.ConsumptionField
type PrivateDNSCNameRecord ¶
type PrivateDNSCNameRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*PrivateDNSCNameRecord) BuildResource ¶
func (r *PrivateDNSCNameRecord) BuildResource() *engine.Estimate
func (*PrivateDNSCNameRecord) CoreType ¶
func (r *PrivateDNSCNameRecord) CoreType() string
func (*PrivateDNSCNameRecord) PopulateUsage ¶
func (r *PrivateDNSCNameRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*PrivateDNSCNameRecord) UsageSchema ¶
func (r *PrivateDNSCNameRecord) UsageSchema() []*engine.ConsumptionField
type PrivateDNSMXRecord ¶
type PrivateDNSMXRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*PrivateDNSMXRecord) BuildResource ¶
func (r *PrivateDNSMXRecord) BuildResource() *engine.Estimate
func (*PrivateDNSMXRecord) CoreType ¶
func (r *PrivateDNSMXRecord) CoreType() string
func (*PrivateDNSMXRecord) PopulateUsage ¶
func (r *PrivateDNSMXRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*PrivateDNSMXRecord) UsageSchema ¶
func (r *PrivateDNSMXRecord) UsageSchema() []*engine.ConsumptionField
type PrivateDNSPTRRecord ¶
type PrivateDNSPTRRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*PrivateDNSPTRRecord) BuildResource ¶
func (r *PrivateDNSPTRRecord) BuildResource() *engine.Estimate
func (*PrivateDNSPTRRecord) CoreType ¶
func (r *PrivateDNSPTRRecord) CoreType() string
func (*PrivateDNSPTRRecord) PopulateUsage ¶
func (r *PrivateDNSPTRRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*PrivateDNSPTRRecord) UsageSchema ¶
func (r *PrivateDNSPTRRecord) UsageSchema() []*engine.ConsumptionField
type PrivateDNSSRVRecord ¶
type PrivateDNSSRVRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*PrivateDNSSRVRecord) BuildResource ¶
func (r *PrivateDNSSRVRecord) BuildResource() *engine.Estimate
func (*PrivateDNSSRVRecord) CoreType ¶
func (r *PrivateDNSSRVRecord) CoreType() string
func (*PrivateDNSSRVRecord) PopulateUsage ¶
func (r *PrivateDNSSRVRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*PrivateDNSSRVRecord) UsageSchema ¶
func (r *PrivateDNSSRVRecord) UsageSchema() []*engine.ConsumptionField
type PrivateDNSTXTRecord ¶
type PrivateDNSTXTRecord struct {
Address string
Region string
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*PrivateDNSTXTRecord) BuildResource ¶
func (r *PrivateDNSTXTRecord) BuildResource() *engine.Estimate
func (*PrivateDNSTXTRecord) CoreType ¶
func (r *PrivateDNSTXTRecord) CoreType() string
func (*PrivateDNSTXTRecord) PopulateUsage ¶
func (r *PrivateDNSTXTRecord) PopulateUsage(u *engine.ConsumptionProfile)
func (*PrivateDNSTXTRecord) UsageSchema ¶
func (r *PrivateDNSTXTRecord) UsageSchema() []*engine.ConsumptionField
type PrivateDNSZone ¶
func (*PrivateDNSZone) BuildResource ¶
func (r *PrivateDNSZone) BuildResource() *engine.Estimate
func (*PrivateDNSZone) CoreType ¶
func (r *PrivateDNSZone) CoreType() string
func (*PrivateDNSZone) PopulateUsage ¶
func (r *PrivateDNSZone) PopulateUsage(u *engine.ConsumptionProfile)
func (*PrivateDNSZone) UsageSchema ¶
func (r *PrivateDNSZone) UsageSchema() []*engine.ConsumptionField
type PrivateDnsResolverDnsForwardingRuleset ¶
PrivateDnsResolverDnsForwardingRuleset struct represents Azure DNS Private Resolver Forwarding Ruleset.
Resource information: https://learn.microsoft.com/en-us/azure/dns/dns-private-resolver-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/dns/
func (*PrivateDnsResolverDnsForwardingRuleset) BuildResource ¶
func (r *PrivateDnsResolverDnsForwardingRuleset) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid PrivateDnsResolverDnsForwardingRuleset struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*PrivateDnsResolverDnsForwardingRuleset) CoreType ¶
func (r *PrivateDnsResolverDnsForwardingRuleset) CoreType() string
CoreType returns the name of this resource type
func (*PrivateDnsResolverDnsForwardingRuleset) PopulateUsage ¶
func (r *PrivateDnsResolverDnsForwardingRuleset) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the PrivateDnsResolverDnsForwardingRuleset. It uses the `c3x_usage` struct tags to populate data into the PrivateDnsResolverDnsForwardingRuleset.
func (*PrivateDnsResolverDnsForwardingRuleset) UsageSchema ¶
func (r *PrivateDnsResolverDnsForwardingRuleset) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of PrivateDnsResolverDnsForwardingRuleset.
type PrivateDnsResolverInboundEndpoint ¶
PrivateDnsResolverInboundEndpoint struct represents a Azure DNS Private Resolver Inbound Endpoint.
Resource information: https://learn.microsoft.com/en-us/azure/dns/dns-private-resolver-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/dns/
func (*PrivateDnsResolverInboundEndpoint) BuildResource ¶
func (r *PrivateDnsResolverInboundEndpoint) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid PrivateDnsResolverInboundEndpoint struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*PrivateDnsResolverInboundEndpoint) CoreType ¶
func (r *PrivateDnsResolverInboundEndpoint) CoreType() string
CoreType returns the name of this resource type
func (*PrivateDnsResolverInboundEndpoint) PopulateUsage ¶
func (r *PrivateDnsResolverInboundEndpoint) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the PrivateDnsResolverInboundEndpoint. It uses the `c3x_usage` struct tags to populate data into the PrivateDnsResolverInboundEndpoint.
func (*PrivateDnsResolverInboundEndpoint) UsageSchema ¶
func (r *PrivateDnsResolverInboundEndpoint) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of PrivateDnsResolverInboundEndpoint.
type PrivateDnsResolverOutboundEndpoint ¶
PrivateDnsResolverOutboundEndpoint struct represents a Azure DNS Private Resolver Outbound Endpoint.
Resource information: https://learn.microsoft.com/en-us/azure/dns/dns-private-resolver-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/dns/
func (*PrivateDnsResolverOutboundEndpoint) BuildResource ¶
func (r *PrivateDnsResolverOutboundEndpoint) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid PrivateDnsResolverOutboundEndpoint struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*PrivateDnsResolverOutboundEndpoint) CoreType ¶
func (r *PrivateDnsResolverOutboundEndpoint) CoreType() string
CoreType returns the name of this resource type
func (*PrivateDnsResolverOutboundEndpoint) PopulateUsage ¶
func (r *PrivateDnsResolverOutboundEndpoint) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the PrivateDnsResolverOutboundEndpoint. It uses the `c3x_usage` struct tags to populate data into the PrivateDnsResolverOutboundEndpoint.
func (*PrivateDnsResolverOutboundEndpoint) UsageSchema ¶
func (r *PrivateDnsResolverOutboundEndpoint) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of PrivateDnsResolverOutboundEndpoint.
type RecoveryServicesVault ¶
type RecoveryServicesVault struct {
Address string
Region string
ProtectedVMs []*BackupProtectedVM
}
RecoveryServicesVault struct represents a storage vault that can azure users can back up various vms into.
See the ProtectedVM struct for more information about backup services are charged.
Resource information: https://learn.microsoft.com/en-us/azure/backup/backup-overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/backup/
func (*RecoveryServicesVault) BuildResource ¶
func (r *RecoveryServicesVault) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid RecoveryServicesVault struct.
RecoveryServicesVault does not have any top level costs associated with it and instead returns a list of sub resources where the costs are encapsulated.
func (*RecoveryServicesVault) CoreType ¶
func (r *RecoveryServicesVault) CoreType() string
func (*RecoveryServicesVault) PopulateUsage ¶
func (r *RecoveryServicesVault) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the RecoveryServicesVault's sub catalog.
RecoveryServicesVault does not have any actual usage associated with itself and instead relies on users specifying usage for child ProtectedVM catalog.
func (*RecoveryServicesVault) UsageSchema ¶
func (r *RecoveryServicesVault) UsageSchema() []*engine.ConsumptionField
UsageSchema dynamically constructs a list of UsageItems based on the ProtectedVM sub catalog.
type SQLDatabase ¶
type SQLDatabase struct {
Address string
Region string
SKU string
IsElasticPool bool
LicenseType string
Tier string
Family string
Cores *int64
MaxSizeGB *float64
ReadReplicaCount *int64
ZoneRedundant bool
BackupStorageType string
IsDevTest bool
// ExtraDataStorageGB represents a usage cost of additional backup storage used by the sql database.
ExtraDataStorageGB *float64 `c3x_usage:"extra_data_storage_gb"`
// MonthlyVCoreHours represents a usage param that allows users to define how many hours of usage a serverless sql database instance uses.
MonthlyVCoreHours *int64 `c3x_usage:"monthly_vcore_hours"`
// LongTermRetentionStorageGB defines a usage param that allows users to define how many GB of cold storage the database uses.
// This is storage that can be kept for up to 10 years.
LongTermRetentionStorageGB *int64 `c3x_usage:"long_term_retention_storage_gb"`
// BackupStorageGB defines a usage param that allows users to define how many GB Point-In-Time Restore (PITR) backup storage the database uses.
BackupStorageGB *int64 `c3x_usage:"backup_storage_gb"`
}
SQLDatabase represents an Azure SQL database instance.
More resource information here: https://azure.microsoft.com/en-gb/products/azure-sql/database/ Pricing information here: https://azure.microsoft.com/en-gb/pricing/details/azure-sql-database/single/
func (*SQLDatabase) BuildResource ¶
func (r *SQLDatabase) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid SQLDatabase. It returns a SQLDatabase as a *engine.Estimate with cost components initialized.
SQLDatabase splits pricing into two different models. DTU & vCores.
Database Transaction Unit (DTU) is made a performance metric representing a mixture of performance metrics in Azure SQL. Some include: CPU, I/O, Memory. DTU is used as Azure tries to simplify billing by using a single metric. Virtual Core (vCore) pricing is designed to translate from on premise hardware metrics (cores) into the cloud SQL instance. vCore is designed to allow users to better estimate their resource limits, e.g. RAM.
SQL databases that follow a DTU pricing model have the following costs associated with them:
- Costs based on the number of DTUs that the sql database has
- Extra backup data costs - this is configured using SQLDatabase.ExtraDataStorageGB
- Long term data backup costs - this is configured using SQLDatabase.LongTermRetentionStorageGB
SQL databases that follow a vCore pricing model have the following costs associated with them:
- Costs based on the number of vCores the resource has
- Extra pricing if any database read replicas have been provisioned
- Additional charge for SQL Server licensing based on vCores amount
- Charges for storage used
- Charges for long term data backup - this is configured using SQLDatabase.LongTermRetentionStorageGB
This method is called after the resource is initialized by an IaC provider. SQLDatabase is used by both mssql_database and sql_database Terraform catalog.
func (*SQLDatabase) CoreType ¶
func (r *SQLDatabase) CoreType() string
func (*SQLDatabase) PopulateUsage ¶
func (r *SQLDatabase) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the SQLDatabase.
func (*SQLDatabase) UsageSchema ¶
func (r *SQLDatabase) UsageSchema() []*engine.ConsumptionField
type SQLManagedInstance ¶
type SQLManagedInstance struct {
Address string
Region string
SKU string
LicenseType string
Cores int64
StorageSizeInGb int64
StorageAccountType string
// LongTermRetentionStorageGB defines a usage param that allows users to define how many gb of cold storage the database uses.
// This is storage that can be kept for up to 10 years.
LongTermRetentionStorageGB *int64 `c3x_usage:"long_term_retention_storage_gb"`
BackupStorageGB *int64 `c3x_usage:"backup_storage_gb"`
}
*** this resource is deprecated in v3.0 of AzureRM provider and will be removed in v4.0 *** SQLManagedInstance struct represents an azure Sql Managed Instance.
SQLManagedInstance currently only Gen5 database instance ¶
More resource information here: https://azure.microsoft.com/en-gb/products/azure-sql/managed-instance/ Pricing information here: https://azure.microsoft.com/en-gb/pricing/details/azure-sql-managed-instance/single/
func (*SQLManagedInstance) BuildResource ¶
func (r *SQLManagedInstance) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid SQLManagedInstance struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*SQLManagedInstance) CoreType ¶
func (r *SQLManagedInstance) CoreType() string
func (*SQLManagedInstance) PopulateUsage ¶
func (r *SQLManagedInstance) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the SQLManagedInstance. It uses the `c3x_usage` struct tags to populate data into the SQLManagedInstance.
func (*SQLManagedInstance) UsageSchema ¶
func (r *SQLManagedInstance) UsageSchema() []*engine.ConsumptionField
type SecurityCenterSubscriptionPricing ¶
type SecurityCenterSubscriptionPricing struct {
Address string
Region string
Tier string
ResourceType string
MonthlyServersPlan1Nodes *float64 `c3x_usage:"monthly_servers_plan_1_nodes"`
MonthlyServersPlan2Nodes *float64 `c3x_usage:"monthly_servers_plan_2_nodes"`
MonthlyContainersVCores *float64 `c3x_usage:"monthly_containers_vcores"`
MonthlyContainerRegistryImages *float64 `c3x_usage:"monthly_container_registry_images"`
MonthlySQLAzureConnectedInstances *float64 `c3x_usage:"monthly_sql_azure_connected_instances"`
MonthlySQLOutsideAzureVCores *float64 `c3x_usage:"monthly_sql_outside_azure_vcores"`
MonthlyMySQLInstances *float64 `c3x_usage:"monthly_mysql_instances"`
MonthlyPostgreSQLInstances *float64 `c3x_usage:"monthly_postgresql_instances"`
MonthlyMariaDBInstances *float64 `c3x_usage:"monthly_mariadb_instances"`
CosmosDBRequestUnits *float64 `c3x_usage:"cosmosdb_request_units"`
MonthlyStorageAccounts *float64 `c3x_usage:"monthly_storage_accounts"`
MonthlyAppServiceNodes *float64 `c3x_usage:"monthly_app_service_nodes"`
MonthlyKeyVaults *int64 `c3x_usage:"monthly_key_vaults"`
MonthlyARMSubscriptions *int64 `c3x_usage:"monthly_arm_subscriptions"`
MonthlyDNSQueries *int64 `c3x_usage:"monthly_dns_queries"`
MonthlyKubernetesCores *float64 `c3x_usage:"monthly_kubernetes_cores"`
}
SecurityCenterSubscriptionPricing struct represents the pricing structure for Microsoft Defender for Cloud. Currently, pricing is supported through the usage file.
Resource information: https://learn.microsoft.com/en-us/azure/defender-for-cloud/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/defender-for-cloud/
func (*SecurityCenterSubscriptionPricing) BuildResource ¶
func (r *SecurityCenterSubscriptionPricing) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid SecurityCenterSubscriptionPricing struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*SecurityCenterSubscriptionPricing) CoreType ¶
func (r *SecurityCenterSubscriptionPricing) CoreType() string
CoreType returns the name of this resource type
func (*SecurityCenterSubscriptionPricing) PopulateUsage ¶
func (r *SecurityCenterSubscriptionPricing) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the SecurityCenterSubscriptionPricing. It uses the `c3x_usage` struct tags to populate data into the SecurityCenterSubscriptionPricing.
func (*SecurityCenterSubscriptionPricing) UsageSchema ¶
func (r *SecurityCenterSubscriptionPricing) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of SecurityCenterSubscriptionPricing.
type ServiceBusNamespace ¶
type ServiceBusNamespace struct {
Address string
Region string
SKU string
Capacity int64
// Usage-based fields
MonthlyMessagingOperations *int64 `c3x_usage:"monthly_messaging_operations"`
MonthlyBrokeredConnections *int64 `c3x_usage:"monthly_brokered_connections"`
}
ServiceBusNamespace struct represents Azure Service Bus Namespace
This resource is charged based on the SKU (Basic, Standard or Premium) and Capacity (only for Premium).
Relay hours and Hybrid connection pricing should be associated with other Terraform resources in the future (azurerm_relay_namespace, azurerm_relay_hybrid_connection).
Resource information: https://azure.microsoft.com/en-gb/pricing/details/service-bus/#pricing Pricing information: https://azure.microsoft.com/en-gb/pricing/details/service-bus/#pricing
func (*ServiceBusNamespace) BuildResource ¶
func (r *ServiceBusNamespace) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ServiceBusNamespace struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ServiceBusNamespace) CoreType ¶
func (r *ServiceBusNamespace) CoreType() string
CoreType returns the name of this resource type
func (*ServiceBusNamespace) PopulateUsage ¶
func (r *ServiceBusNamespace) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ServiceBusNamespace. It uses the `c3x_usage` struct tags to populate data into the ServiceBusNamespace.
func (*ServiceBusNamespace) UsageSchema ¶
func (r *ServiceBusNamespace) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of ServiceBusNamespace.
type ServicePlan ¶
type ServicePlan struct {
Address string
SKUName string
WorkerCount int64
OSType string
Region string
IsDevTest bool
}
ServicePlan struct represents a user commitment to an App Service Plan. A service plan has a dedicated amount of compute and storage and can be used to run any number of apps/containers.
Resource information: https://learn.microsoft.com/en-us/azure/app-service/overview-hosting-plans Pricing information: https://azure.microsoft.com/en-gb/pricing/details/app-service/windows/
func (*ServicePlan) BuildResource ¶
func (r *ServicePlan) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid ServicePlan struct.
ServicePlan only has one cost component associated with the compute cost of the plan.
func (*ServicePlan) CoreType ¶
func (r *ServicePlan) CoreType() string
func (*ServicePlan) PopulateUsage ¶
func (r *ServicePlan) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ServicePlan struct It uses the `c3x_usage` struct tags to populate data into the ServicePlan
func (*ServicePlan) UsageSchema ¶
func (r *ServicePlan) UsageSchema() []*engine.ConsumptionField
type SignalRService ¶
type SignalRService struct {
Address string
Region string
SkuName string
SkuCapacity int64
MonthlyAdditionalMessages *int64 `c3x_usage:"monthly_additional_messages"`
}
SignalRService struct represents an Azure SignalR Service.
Resource information: https://azure.microsoft.com/en-us/products/signalr-service Pricing information: https://azure.microsoft.com/en-us/pricing/details/signalr-service/
func (*SignalRService) BuildResource ¶
func (r *SignalRService) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid SignalRService struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*SignalRService) CoreType ¶
func (r *SignalRService) CoreType() string
CoreType returns the name of this resource type
func (*SignalRService) PopulateUsage ¶
func (r *SignalRService) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the SignalRService. It uses the `c3x_usage` struct tags to populate data into the SignalRService.
func (*SignalRService) UsageSchema ¶
func (r *SignalRService) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of SignalRService.
type StorageAccount ¶
type StorageAccount struct {
Address string
Region string
AccessTier string
AccountKind string
AccountReplicationType string
AccountTier string
NFSv3 bool
// "usage" args
MonthlyStorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyIterativeReadOperations *int64 `c3x_usage:"monthly_iterative_read_operations"`
MonthlyReadOperations *int64 `c3x_usage:"monthly_read_operations"`
MonthlyIterativeWriteOperations *int64 `c3x_usage:"monthly_iterative_write_operations"`
MonthlyWriteOperations *int64 `c3x_usage:"monthly_write_operations"`
MonthlyListAndCreateContainerOperations *int64 `c3x_usage:"monthly_list_and_create_container_operations"`
MonthlyOtherOperations *int64 `c3x_usage:"monthly_other_operations"`
MonthlyDataRetrievalGB *float64 `c3x_usage:"monthly_data_retrieval_gb"`
MonthlyDataWriteGB *float64 `c3x_usage:"monthly_data_write_gb"`
BlobIndexTags *int64 `c3x_usage:"blob_index_tags"`
DataAtRestStorageGB *float64 `c3x_usage:"data_at_rest_storage_gb"`
SnapshotsStorageGB *float64 `c3x_usage:"snapshots_storage_gb"`
MetadataAtRestStorageGB *float64 `c3x_usage:"metadata_at_rest_storage_gb"`
EarlyDeletionGB *float64 `c3x_usage:"early_deletion_gb"`
}
StorageAccount represents Azure data storage services.
More resource information here:
Block Blob Storage: https://azure.microsoft.com/en-us/services/storage/blobs/ File Storage: https://azure.microsoft.com/en-us/services/storage/files/
Pricing information here:
Block Blob Storage: https://azure.microsoft.com/en-us/pricing/details/storage/blobs/ File Storage: https://azure.microsoft.com/en-us/pricing/details/storage/files/
func (*StorageAccount) BuildResource ¶
func (r *StorageAccount) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from valid StorageAccount data. This method is called after the resource is initialized by an IaC provider.
func (*StorageAccount) CoreType ¶
func (r *StorageAccount) CoreType() string
CoreType returns the name of this resource type
func (*StorageAccount) PopulateUsage ¶
func (r *StorageAccount) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the StorageAccount. It uses the `c3x_usage` struct tags to populate data into the StorageAccount.
func (*StorageAccount) UsageSchema ¶
func (r *StorageAccount) UsageSchema() []*engine.ConsumptionField
type StorageDataDiskUsage ¶
type StorageDataDiskUsage struct {
MonthlyDiskOperations *int64 `c3x_usage:"monthly_disk_operations"`
}
type StorageOSDiskUsage ¶
type StorageOSDiskUsage struct {
MonthlyDiskOperations *int64 `c3x_usage:"monthly_disk_operations"`
}
type StorageProfileDataDiskUsage ¶
type StorageProfileDataDiskUsage struct {
MonthlyDiskOperations *int64 `c3x_usage:"monthly_disk_operations"`
}
type StorageProfileOSDiskUsage ¶
type StorageProfileOSDiskUsage struct {
MonthlyDiskOperations *int64 `c3x_usage:"monthly_disk_operations"`
}
type StorageQueue ¶
type StorageQueue struct {
Address string
Region string
AccountKind string
AccountReplicationType string
MonthlyStorageGB *float64 `c3x_usage:"monthly_storage_gb"`
MonthlyClass1Operations *int64 `c3x_usage:"monthly_class_1_operations"`
MonthlyClass2Operations *int64 `c3x_usage:"monthly_class_2_operations"`
MonthlyGeoReplicationDataTransferGB *float64 `c3x_usage:"monthly_geo_replication_data_transfer_gb"`
}
StorageQueue struct represents Azure Queue Storage.
Resource information: https://azure.microsoft.com/en-gb/pricing/details/storage/queues/ Pricing information: https://azure.microsoft.com/en-gb/pricing/details/storage/queues/#pricing
func (*StorageQueue) BuildResource ¶
func (r *StorageQueue) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid StorageQueue struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*StorageQueue) CoreType ¶
func (r *StorageQueue) CoreType() string
CoreType returns the name of this resource type
func (*StorageQueue) PopulateUsage ¶
func (r *StorageQueue) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the StorageQueue. It uses the `c3x_usage` struct tags to populate data into the StorageQueue.
func (*StorageQueue) UsageSchema ¶
func (r *StorageQueue) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of StorageQueue.
type StorageShare ¶
type StorageShare struct {
// "usage" args
}
StorageShare struct represents an Azure Files Storage Shares
Resource information: https://azure.microsoft.com/en-gb/pricing/details/storage/files/ Pricing information: https://azure.microsoft.com/en-gb/pricing/details/storage/files/#pricing
func (*StorageShare) BuildResource ¶
func (r *StorageShare) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid StorageShare struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*StorageShare) CoreType ¶
func (r *StorageShare) CoreType() string
CoreType returns the name of this resource type
func (*StorageShare) PopulateUsage ¶
func (r *StorageShare) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the StorageShare. It uses the `c3x_usage` struct tags to populate data into the StorageShare.
func (*StorageShare) UsageSchema ¶
func (r *StorageShare) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of StorageShare.
type TrafficManagerEndpoint ¶
type TrafficManagerEndpoint struct {
Address string
Region string
ProfileEnabled bool
External bool
HealthCheckInterval int64
}
TrafficManagerEndpoint struct represents Azure Traffic Manager Endpoints.
Resource information: https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-endpoint-types Pricing information: https://azure.microsoft.com/en-us/pricing/details/traffic-manager/#pricing
func (*TrafficManagerEndpoint) BuildResource ¶
func (r *TrafficManagerEndpoint) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid TrafficManagerEndpoint struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*TrafficManagerEndpoint) CoreType ¶
func (r *TrafficManagerEndpoint) CoreType() string
CoreType returns the name of this resource type
func (*TrafficManagerEndpoint) PopulateUsage ¶
func (r *TrafficManagerEndpoint) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the TrafficManagerEndpoint. It uses the `c3x_usage` struct tags to populate data into the TrafficManagerEndpoint.
func (*TrafficManagerEndpoint) UsageSchema ¶
func (r *TrafficManagerEndpoint) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of TrafficManagerEndpoint.
type TrafficManagerProfile ¶
type TrafficManagerProfile struct {
Address string
Region string
Enabled bool
TrafficViewEnabled bool
MonthlyDNSQueries *int64 `c3x_usage:"monthly_dns_queries"`
MonthlyTrafficViewDataPoints *int64 `c3x_usage:"monthly_traffic_view_data_points"`
}
TrafficManagerProfile struct represents an Azure Traffic Manager profile.
Resource information: https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/traffic-manager/#pricing
func (*TrafficManagerProfile) BuildResource ¶
func (r *TrafficManagerProfile) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid TrafficManagerProfile struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*TrafficManagerProfile) CoreType ¶
func (r *TrafficManagerProfile) CoreType() string
CoreType returns the name of this resource type
func (*TrafficManagerProfile) PopulateUsage ¶
func (r *TrafficManagerProfile) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the TrafficManagerProfile. It uses the `c3x_usage` struct tags to populate data into the TrafficManagerProfile.
func (*TrafficManagerProfile) UsageSchema ¶
func (r *TrafficManagerProfile) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of TrafficManagerProfile.
type VPNGateway ¶
type VPNGateway struct {
// Address is the unique name of the resource in the IAC language.
Address string
// Region is the azure region the VPNGateway is provisioned within.
Region string
// ScaleUnits represents a unit defined to pick an aggregate throughput of a gateway in Virtual hub.
// 1 scale unit of VPN = 500 Mbps.
ScaleUnits int64
// Type represents the type of WAN Vpn Gateway, it can be one of: P2S|S2S.
Type string
// MonthlyP2SConnectionHrs represents a usage cost for the number of connection hours that the vpn
// gateway has been in use for. Can be a fraction to denote smaller time increments lower than a whole hour.
// This usage cost is only applicable for point to site vpns.
MonthlyP2SConnectionHrs *float64 `c3x_usage:"monthly_p2s_connections_hrs"`
}
VPNGateway represents a Virtual WAN VPN gateway. It can represent a Point-to-site gateway (P2S) or a Site-to-site (S2S) gateway. Both gateways have similar price components on azure: Scale Unit & Connection Unit. However, S2S gateway connection costs are found through VPNGatewayConnection resource. Whereas P2S defines a usage param which is parsed below.
More resource information here: https://docs.microsoft.com/en-us/azure/virtual-wan/virtual-wan-about Pricing information here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/
func (*VPNGateway) BuildResource ¶
func (v *VPNGateway) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid VPNGateway. It returns different Resources based on the VPNGateway.Type. If type Point to Site (P2S) it will include a usage cost component based on the connection usage. For other cases (S2S) it will just include a single scale unit cost component. See VPNGatewayConnection for S2S connection costs associated with S2S gateway.
This method is called after the resource is initialised by an iac provider. See providers folder for more information.
func (*VPNGateway) CoreType ¶
func (v *VPNGateway) CoreType() string
func (*VPNGateway) PopulateUsage ¶
func (v *VPNGateway) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the VPNGateway. It uses the `c3x_usage` struct tags to populate data into the VPNGateway.
func (*VPNGateway) UsageSchema ¶
func (v *VPNGateway) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of VPNGateway if of type P2S.
type VPNGatewayConnection ¶
type VPNGatewayConnection struct {
// Address is the unique name of the resource in the IAC language.
Address string
// Region is the azure region the VPNGatewayConnection is provisioned within.
Region string
}
VPNGatewayConnection represents a VPN Gateway connection, which is a billable component of a S2S VPN gateway. See VPNGateway for more information.
More resource information here: https://docs.microsoft.com/en-us/azure/virtual-wan/virtual-wan-about Pricing information here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/
func (*VPNGatewayConnection) BuildResource ¶
func (r *VPNGatewayConnection) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid VPNGatewayConnection. It returns a VPNGatewayConnection as a engine.Estimate with a single cost component representing the connection unit. The hourly quantity is set to 1 as VPNGatewayConnection represents a single connection unit.
This method is called after the resource is initialised by an iac provider. See providers folder for more information.
func (*VPNGatewayConnection) CoreType ¶
func (r *VPNGatewayConnection) CoreType() string
func (*VPNGatewayConnection) PopulateUsage ¶
func (r *VPNGatewayConnection) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the VPNGatewayConnection. It uses the `c3x_usage` struct tags to populate data into the VPNGatewayConnection.
func (*VPNGatewayConnection) UsageSchema ¶
func (r *VPNGatewayConnection) UsageSchema() []*engine.ConsumptionField
type VirtualHub ¶
type VirtualHub struct {
// Address is the unique name of the resource in the IAC language.
Address string
// Region is the azure region the VirtualHub is provisioned within.
Region string
// SKU is the VirtualHub hub type. It can be one of: Basic|Standard.
SKU string
// MonthlyDataProcessedGB represents a usage cost for the amount of gb of data that is processed
// through the hub on a monthly basis. It is a float to allow users to specify values whole GBs.
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
}
VirtualHub is the central hub in the "hub and spoke architecture" of Azure Virtual WAN. It enables transitive connectivity between endpoints that may be distributed across different types of 'spokes'.
More resource information here: https://docs.microsoft.com/en-us/azure/virtual-wan/virtual-wan-about Pricing information here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/
func (*VirtualHub) BuildResource ¶
func (v *VirtualHub) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid VirtualHub. It returns VirtualHub as a *engine.Estimate with 2 cost components provided. These cost components are only applicable if the VirtualHub is type Standard. The Basic hub is provided free by azure. See here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/ for more information.
This method is called after the resource is initialised by an iac provider. See providers folder for more information.
func (*VirtualHub) CoreType ¶
func (v *VirtualHub) CoreType() string
CoreType returns the name of this resource type
func (*VirtualHub) PopulateUsage ¶
func (v *VirtualHub) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the VirtualHub. It uses the `c3x_usage` struct tags to populate data into the VirtualHub.
func (*VirtualHub) UsageSchema ¶
func (v *VirtualHub) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of VirtualHubUsageSchema.
type VirtualMachine ¶
type VirtualMachine struct {
Address string
Region string
StorageImageReferenceOffer string
VMSize string
StorageOSDiskOSType string
LicenseType string
StorageOSDiskData *ManagedDiskData
OSDiskData *ManagedDiskData
StoragesDiskData []*ManagedDiskData
MonthlyHours *float64 `c3x_usage:"monthly_hrs"`
StorageOSDisk *StorageOSDiskUsage `c3x_usage:"storage_os_disk"`
StorageDataDisk *StorageDataDiskUsage `c3x_usage:"storage_data_disk"`
IsDevTest bool
}
func (*VirtualMachine) BuildResource ¶
func (r *VirtualMachine) BuildResource() *engine.Estimate
func (*VirtualMachine) CoreType ¶
func (r *VirtualMachine) CoreType() string
func (*VirtualMachine) PopulateUsage ¶
func (r *VirtualMachine) PopulateUsage(u *engine.ConsumptionProfile)
func (*VirtualMachine) UsageSchema ¶
func (r *VirtualMachine) UsageSchema() []*engine.ConsumptionField
type VirtualMachineScaleSet ¶
type VirtualMachineScaleSet struct {
Address string
Region string
SKUName string
SKUCapacity int64
IsWindows bool
IsDevTest bool
LicenseType string
StorageProfileOSDiskData *ManagedDiskData
StorageProfileOSDisksData []*ManagedDiskData
Instances *int64 `c3x_usage:"instances"`
StorageProfileOSDisk *StorageProfileOSDiskUsage `c3x_usage:"storage_profile_os_disk"`
StorageProfileDataDisk *StorageProfileOSDiskUsage `c3x_usage:"storage_profile_data_disk"`
}
func (*VirtualMachineScaleSet) BuildResource ¶
func (r *VirtualMachineScaleSet) BuildResource() *engine.Estimate
func (*VirtualMachineScaleSet) CoreType ¶
func (r *VirtualMachineScaleSet) CoreType() string
func (*VirtualMachineScaleSet) PopulateUsage ¶
func (r *VirtualMachineScaleSet) PopulateUsage(u *engine.ConsumptionProfile)
func (*VirtualMachineScaleSet) UsageSchema ¶
func (r *VirtualMachineScaleSet) UsageSchema() []*engine.ConsumptionField
type VirtualNetworkPeering ¶
type VirtualNetworkPeering struct {
Address string
SourceRegion string
DestinationRegion string
SourceZone string
DestinationZone string
MonthlyDataTransferGB *float64 `c3x_usage:"monthly_data_transfer_gb"`
}
Resource information: https://azure.microsoft.com/en-us/services/virtual-network/#overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/virtual-network/
func (*VirtualNetworkPeering) BuildResource ¶
func (r *VirtualNetworkPeering) BuildResource() *engine.Estimate
func (*VirtualNetworkPeering) CoreType ¶
func (r *VirtualNetworkPeering) CoreType() string
func (*VirtualNetworkPeering) PopulateUsage ¶
func (r *VirtualNetworkPeering) PopulateUsage(u *engine.ConsumptionProfile)
func (*VirtualNetworkPeering) UsageSchema ¶
func (r *VirtualNetworkPeering) UsageSchema() []*engine.ConsumptionField
type WindowsVirtualMachine ¶
type WindowsVirtualMachine struct {
Address string
Region string
Size string
LicenseType string
AdditionalCapabilitiesUltraSSDEnabled bool
OSDiskData *ManagedDiskData
MonthlyHours *float64 `c3x_usage:"monthly_hrs"`
OSDisk *OSDiskUsage `c3x_usage:"os_disk"`
IsDevTest bool
}
func (*WindowsVirtualMachine) BuildResource ¶
func (r *WindowsVirtualMachine) BuildResource() *engine.Estimate
func (*WindowsVirtualMachine) CoreType ¶
func (r *WindowsVirtualMachine) CoreType() string
func (*WindowsVirtualMachine) PopulateUsage ¶
func (r *WindowsVirtualMachine) PopulateUsage(u *engine.ConsumptionProfile)
func (*WindowsVirtualMachine) UsageSchema ¶
func (r *WindowsVirtualMachine) UsageSchema() []*engine.ConsumptionField
type WindowsVirtualMachineScaleSet ¶
type WindowsVirtualMachineScaleSet struct {
Address string
Region string
SKU string
LicenseType string
AdditionalCapabilitiesUltraSSDEnabled bool
IsDevTest bool
OSDiskData *ManagedDiskData
Instances *int64 `c3x_usage:"instances"`
OSDisk *OSDiskUsage `c3x_usage:"os_disk"`
}
func (*WindowsVirtualMachineScaleSet) BuildResource ¶
func (r *WindowsVirtualMachineScaleSet) BuildResource() *engine.Estimate
func (*WindowsVirtualMachineScaleSet) CoreType ¶
func (r *WindowsVirtualMachineScaleSet) CoreType() string
func (*WindowsVirtualMachineScaleSet) PopulateUsage ¶
func (r *WindowsVirtualMachineScaleSet) PopulateUsage(u *engine.ConsumptionProfile)
func (*WindowsVirtualMachineScaleSet) UsageSchema ¶
func (r *WindowsVirtualMachineScaleSet) UsageSchema() []*engine.ConsumptionField
Source Files
¶
- active_directory_domain_service.go
- active_directory_domain_service_replica_set.go
- api_management.go
- app_configuration.go
- app_service_certificate_binding.go
- app_service_certificate_order.go
- app_service_custom_hostname_binding.go
- app_service_environment.go
- app_service_plan.go
- application_gateway.go
- application_insights.go
- application_insights_standard_web_t.go
- application_insights_web_t.go
- automation_account.go
- automation_dsc_configuration.go
- automation_dsc_nodeconfiguration.go
- automation_job_schedule.go
- backup_protected_vm.go
- bastion_host.go
- cognitive_account_language.go
- cognitive_account_luis.go
- cognitive_account_speech.go
- cognitive_deployment.go
- container_registry.go
- data_factory.go
- data_factory_integration_runtime_azure.go
- data_factory_integration_runtime_azure_ssis.go
- data_factory_integration_runtime_managed.go
- data_factory_integration_runtime_self_hosted.go
- databricks_workspace.go
- dns_a_record.go
- dns_aaaa_record.go
- dns_caa_record.go
- dns_cname_record.go
- dns_mx_record.go
- dns_ns_record.go
- dns_ptr_record.go
- dns_srv_record.go
- dns_txt_record.go
- dns_zone.go
- eventgrid_topic.go
- express_route_connection.go
- express_route_gateway.go
- federated_identity_credential.go
- frontdoor.go
- frontdoor_firewall_policy.go
- function_app.go
- image.go
- iothub.go
- kubernetes_cluster.go
- kubernetes_cluster_node_pool.go
- lb.go
- linux_virtual_machine.go
- linux_virtual_machine_scale_set.go
- log_analytics_workspace.go
- logic_app_integration_account.go
- logic_app_standard.go
- machine_learning_compute_cluster.go
- machine_learning_compute_instance.go
- managed_disk.go
- monitor_action_group.go
- monitor_data_collection_rule.go
- monitor_diagnostic_setting.go
- monitor_metric_alert.go
- monitor_scheduled_query_rules_alert.go
- mssql_elasticpool.go
- mssql_managed_instance.go
- mysql_flexible_server.go
- network_connection_monitor.go
- network_ddos_protection_plan.go
- network_watcher.go
- network_watcher_flow_log.go
- postgresql_flexible_server.go
- powerbi_embedded.go
- private_dns_a_record.go
- private_dns_aaaa_record.go
- private_dns_cname_record.go
- private_dns_mx_record.go
- private_dns_ptr_record.go
- private_dns_resolver_dns_forwarding_ruleset.go
- private_dns_resolver_inbound_endpoint.go
- private_dns_resolver_outbound_endpoint.go
- private_dns_srv_record.go
- private_dns_txt_record.go
- private_dns_zone.go
- recovery_services_vault.go
- security_center_subscription_pricing.go
- service_plan.go
- servicebus_namespace.go
- signalr_service.go
- sql_database.go
- sql_managed_instance.go
- storage_account.go
- storage_queue.go
- storage_share.go
- traffic_manager_endpoint.go
- traffic_manager_profile.go
- util.go
- virtual_hub.go
- virtual_machine.go
- virtual_machine_scale_set.go
- virtual_network_peering.go
- vpn_gateway.go
- vpn_gateway_connection.go
- windows_virtual_machine.go
- windows_virtual_machine_scale_set.go