Documentation ¶
Index ¶
- Constants
- Variables
- type APIManagement
- type ActiveDirectoryDomainService
- type ActiveDirectoryDomainServiceReplicaSet
- func (r *ActiveDirectoryDomainServiceReplicaSet) BuildResource() *schema.Resource
- func (r *ActiveDirectoryDomainServiceReplicaSet) CoreType() string
- func (r *ActiveDirectoryDomainServiceReplicaSet) PopulateUsage(u *schema.UsageData)
- func (r *ActiveDirectoryDomainServiceReplicaSet) UsageSchema() []*schema.UsageItem
- type AppConfiguration
- type AppServiceCertificateBinding
- type AppServiceCertificateOrder
- type AppServiceCustomHostnameBinding
- type AppServiceEnvironment
- type AppServicePlan
- type ApplicationGateway
- type ApplicationInsights
- type ApplicationInsightsStandardWebTest
- 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
- type DataFactoryIntegrationRuntimeAzureSSIS
- func (r *DataFactoryIntegrationRuntimeAzureSSIS) BuildResource() *schema.Resource
- func (r *DataFactoryIntegrationRuntimeAzureSSIS) CoreType() string
- func (r *DataFactoryIntegrationRuntimeAzureSSIS) PopulateUsage(u *schema.UsageData)
- func (r *DataFactoryIntegrationRuntimeAzureSSIS) UsageSchema() []*schema.UsageItem
- type DataFactoryIntegrationRuntimeManaged
- func (r *DataFactoryIntegrationRuntimeManaged) BuildResource() *schema.Resource
- func (r *DataFactoryIntegrationRuntimeManaged) CoreType() string
- func (r *DataFactoryIntegrationRuntimeManaged) PopulateUsage(u *schema.UsageData)
- func (r *DataFactoryIntegrationRuntimeManaged) UsageSchema() []*schema.UsageItem
- type DataFactoryIntegrationRuntimeSelfHosted
- func (r *DataFactoryIntegrationRuntimeSelfHosted) BuildResource() *schema.Resource
- func (r *DataFactoryIntegrationRuntimeSelfHosted) CoreType() string
- func (r *DataFactoryIntegrationRuntimeSelfHosted) PopulateUsage(u *schema.UsageData)
- func (r *DataFactoryIntegrationRuntimeSelfHosted) UsageSchema() []*schema.UsageItem
- 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() *schema.Resource
- func (r *MonitorActionGroup) CoreType() string
- func (r *MonitorActionGroup) ITSMEventCostComponent(count int, quantity *int64) *schema.CostComponent
- func (r *MonitorActionGroup) PopulateUsage(u *schema.UsageData)
- func (r *MonitorActionGroup) UsageSchema() []*schema.UsageItem
- type MonitorDataCollectionRule
- type MonitorDiagnosticSetting
- type MonitorMetricAlert
- type MonitorScheduledQueryRulesAlert
- 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() *schema.Resource
- func (r *PrivateDnsResolverDnsForwardingRuleset) CoreType() string
- func (r *PrivateDnsResolverDnsForwardingRuleset) PopulateUsage(u *schema.UsageData)
- func (r *PrivateDnsResolverDnsForwardingRuleset) UsageSchema() []*schema.UsageItem
- type PrivateDnsResolverInboundEndpoint
- type PrivateDnsResolverOutboundEndpoint
- type RecoveryServicesVault
- type SQLDatabase
- type SQLManagedInstance
- type SecurityCenterSubscriptionPricing
- 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 = []*schema.UsageItem{ {Key: "nodes", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_hrs", ValueType: schema.Float64, DefaultValue: 0}, }
var KubernetesClusterLoadBalancerSchema = []*schema.UsageItem{{Key: "monthly_data_processed_gb", ValueType: schema.Int64, DefaultValue: 0}}
var OSDiskUsageSchema = []*schema.UsageItem{ {ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
var StorageDataDiskUsageSchema = []*schema.UsageItem{ {ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
var StorageOSDiskUsageSchema = []*schema.UsageItem{ {ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
var StorageProfileDataDiskUsageSchema = []*schema.UsageItem{ {ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
var StorageProfileOSDiskUsageSchema = []*schema.UsageItem{ {ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"}, }
Functions ¶
This section is empty.
Types ¶
type APIManagement ¶ added in v0.9.23
type APIManagement struct { Address string Region string SKUName string SelfHostedGatewayCount *int64 `infracost_usage:"self_hosted_gateway_count"` MonthlyAPICalls *int64 `infracost_usage:"monthly_api_calls"` }
func (*APIManagement) BuildResource ¶ added in v0.9.23
func (r *APIManagement) BuildResource() *schema.Resource
func (*APIManagement) CoreType ¶ added in v0.10.35
func (r *APIManagement) CoreType() string
func (*APIManagement) PopulateUsage ¶ added in v0.9.23
func (r *APIManagement) PopulateUsage(u *schema.UsageData)
func (*APIManagement) UsageSchema ¶ added in v0.10.35
func (r *APIManagement) UsageSchema() []*schema.UsageItem
type ActiveDirectoryDomainService ¶ added in v0.10.4
func (*ActiveDirectoryDomainService) BuildResource ¶ added in v0.10.4
func (r *ActiveDirectoryDomainService) BuildResource() *schema.Resource
func (*ActiveDirectoryDomainService) CoreType ¶ added in v0.10.35
func (r *ActiveDirectoryDomainService) CoreType() string
func (*ActiveDirectoryDomainService) PopulateUsage ¶ added in v0.10.4
func (r *ActiveDirectoryDomainService) PopulateUsage(u *schema.UsageData)
func (*ActiveDirectoryDomainService) UsageSchema ¶ added in v0.10.35
func (r *ActiveDirectoryDomainService) UsageSchema() []*schema.UsageItem
type ActiveDirectoryDomainServiceReplicaSet ¶ added in v0.10.4
type ActiveDirectoryDomainServiceReplicaSet struct { Address string Region string DomainServiceIDSKU string }
func (*ActiveDirectoryDomainServiceReplicaSet) BuildResource ¶ added in v0.10.4
func (r *ActiveDirectoryDomainServiceReplicaSet) BuildResource() *schema.Resource
func (*ActiveDirectoryDomainServiceReplicaSet) CoreType ¶ added in v0.10.35
func (r *ActiveDirectoryDomainServiceReplicaSet) CoreType() string
func (*ActiveDirectoryDomainServiceReplicaSet) PopulateUsage ¶ added in v0.10.4
func (r *ActiveDirectoryDomainServiceReplicaSet) PopulateUsage(u *schema.UsageData)
func (*ActiveDirectoryDomainServiceReplicaSet) UsageSchema ¶ added in v0.10.35
func (r *ActiveDirectoryDomainServiceReplicaSet) UsageSchema() []*schema.UsageItem
type AppConfiguration ¶ added in v0.10.35
type AppConfiguration struct { Address string Region string SKU string Replicas int64 MonthlyAdditionalRequests *int64 `infracost_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 ¶ added in v0.10.35
func (r *AppConfiguration) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *AppConfiguration) CoreType() string
CoreType returns the name of this resource type
func (*AppConfiguration) PopulateUsage ¶ added in v0.10.35
func (r *AppConfiguration) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the AppConfiguration. It uses the `infracost_usage` struct tags to populate data into the AppConfiguration.
func (*AppConfiguration) UsageSchema ¶ added in v0.10.35
func (r *AppConfiguration) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of AppConfiguration.
type AppServiceCertificateBinding ¶ added in v0.9.23
func (*AppServiceCertificateBinding) BuildResource ¶ added in v0.9.23
func (r *AppServiceCertificateBinding) BuildResource() *schema.Resource
func (*AppServiceCertificateBinding) CoreType ¶ added in v0.10.35
func (r *AppServiceCertificateBinding) CoreType() string
func (*AppServiceCertificateBinding) PopulateUsage ¶ added in v0.9.23
func (r *AppServiceCertificateBinding) PopulateUsage(u *schema.UsageData)
func (*AppServiceCertificateBinding) UsageSchema ¶ added in v0.10.35
func (r *AppServiceCertificateBinding) UsageSchema() []*schema.UsageItem
type AppServiceCertificateOrder ¶ added in v0.9.23
func (*AppServiceCertificateOrder) BuildResource ¶ added in v0.9.23
func (r *AppServiceCertificateOrder) BuildResource() *schema.Resource
func (*AppServiceCertificateOrder) CoreType ¶ added in v0.10.35
func (r *AppServiceCertificateOrder) CoreType() string
func (*AppServiceCertificateOrder) PopulateUsage ¶ added in v0.9.23
func (r *AppServiceCertificateOrder) PopulateUsage(u *schema.UsageData)
func (*AppServiceCertificateOrder) UsageSchema ¶ added in v0.10.35
func (r *AppServiceCertificateOrder) UsageSchema() []*schema.UsageItem
type AppServiceCustomHostnameBinding ¶ added in v0.10.4
func (*AppServiceCustomHostnameBinding) BuildResource ¶ added in v0.10.4
func (r *AppServiceCustomHostnameBinding) BuildResource() *schema.Resource
func (*AppServiceCustomHostnameBinding) CoreType ¶ added in v0.10.35
func (r *AppServiceCustomHostnameBinding) CoreType() string
func (*AppServiceCustomHostnameBinding) PopulateUsage ¶ added in v0.10.4
func (r *AppServiceCustomHostnameBinding) PopulateUsage(u *schema.UsageData)
func (*AppServiceCustomHostnameBinding) UsageSchema ¶ added in v0.10.35
func (r *AppServiceCustomHostnameBinding) UsageSchema() []*schema.UsageItem
type AppServiceEnvironment ¶ added in v0.9.23
type AppServiceEnvironment struct { Address string Region string PricingTier string OperatingSystem *string `infracost_usage:"operating_system"` }
func (*AppServiceEnvironment) BuildResource ¶ added in v0.9.23
func (r *AppServiceEnvironment) BuildResource() *schema.Resource
func (*AppServiceEnvironment) CoreType ¶ added in v0.10.35
func (r *AppServiceEnvironment) CoreType() string
func (*AppServiceEnvironment) PopulateUsage ¶ added in v0.9.23
func (r *AppServiceEnvironment) PopulateUsage(u *schema.UsageData)
func (*AppServiceEnvironment) UsageSchema ¶ added in v0.10.35
func (r *AppServiceEnvironment) UsageSchema() []*schema.UsageItem
type AppServicePlan ¶ added in v0.10.4
type AppServicePlan struct { Address string SKUSize string SKUCapacity int64 Kind string Region string }
func (*AppServicePlan) BuildResource ¶ added in v0.10.4
func (r *AppServicePlan) BuildResource() *schema.Resource
func (*AppServicePlan) CoreType ¶ added in v0.10.35
func (r *AppServicePlan) CoreType() string
func (*AppServicePlan) PopulateUsage ¶ added in v0.10.4
func (r *AppServicePlan) PopulateUsage(u *schema.UsageData)
func (*AppServicePlan) UsageSchema ¶ added in v0.10.35
func (r *AppServicePlan) UsageSchema() []*schema.UsageItem
type ApplicationGateway ¶ added in v0.10.34
type ApplicationGateway struct { Address string SKUName string SKUCapacity int64 AutoscalingMinCapacity *int64 Region string MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"` CapacityUnits *int64 `infracost_usage:"capacity_units"` }
func (*ApplicationGateway) BuildResource ¶ added in v0.10.34
func (r *ApplicationGateway) BuildResource() *schema.Resource
func (*ApplicationGateway) CoreType ¶ added in v0.10.35
func (r *ApplicationGateway) CoreType() string
func (*ApplicationGateway) PopulateUsage ¶ added in v0.10.34
func (r *ApplicationGateway) PopulateUsage(u *schema.UsageData)
func (*ApplicationGateway) UsageSchema ¶ added in v0.10.35
func (r *ApplicationGateway) UsageSchema() []*schema.UsageItem
type ApplicationInsights ¶ added in v0.9.23
type ApplicationInsights struct { Address string Region string RetentionInDays int64 MonthlyDataIngestedGB *float64 `infracost_usage:"monthly_data_ingested_gb"` }
func (*ApplicationInsights) BuildResource ¶ added in v0.9.23
func (r *ApplicationInsights) BuildResource() *schema.Resource
func (*ApplicationInsights) CoreType ¶ added in v0.10.35
func (r *ApplicationInsights) CoreType() string
func (*ApplicationInsights) PopulateUsage ¶ added in v0.9.23
func (r *ApplicationInsights) PopulateUsage(u *schema.UsageData)
func (*ApplicationInsights) UsageSchema ¶ added in v0.10.35
func (r *ApplicationInsights) UsageSchema() []*schema.UsageItem
type ApplicationInsightsStandardWebTest ¶ added in v0.10.19
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 ¶ added in v0.10.19
func (r *ApplicationInsightsStandardWebTest) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *ApplicationInsightsStandardWebTest) CoreType() string
CoreType returns the name of this resource type
func (*ApplicationInsightsStandardWebTest) PopulateUsage ¶ added in v0.10.19
func (r *ApplicationInsightsStandardWebTest) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the ApplicationInsightsStandardWebTest. It uses the `infracost_usage` struct tags to populate data into the ApplicationInsightsStandardWebTest.
func (*ApplicationInsightsStandardWebTest) UsageSchema ¶ added in v0.10.19
func (r *ApplicationInsightsStandardWebTest) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of ApplicationInsightsStandardWebTest.
type ApplicationInsightsWebTest ¶ added in v0.9.23
func (*ApplicationInsightsWebTest) BuildResource ¶ added in v0.9.23
func (r *ApplicationInsightsWebTest) BuildResource() *schema.Resource
func (*ApplicationInsightsWebTest) CoreType ¶ added in v0.10.35
func (r *ApplicationInsightsWebTest) CoreType() string
func (*ApplicationInsightsWebTest) PopulateUsage ¶ added in v0.9.23
func (r *ApplicationInsightsWebTest) PopulateUsage(u *schema.UsageData)
func (*ApplicationInsightsWebTest) UsageSchema ¶ added in v0.10.35
func (r *ApplicationInsightsWebTest) UsageSchema() []*schema.UsageItem
type AutomationAccount ¶ added in v0.9.23
type AutomationAccount struct { Address string Region string MonthlyJobRunMins *int64 `infracost_usage:"monthly_job_run_mins"` NonAzureConfigNodeCount *int64 `infracost_usage:"non_azure_config_node_count"` MonthlyWatcherHrs *int64 `infracost_usage:"monthly_watcher_hrs"` }
func (*AutomationAccount) BuildResource ¶ added in v0.9.23
func (r *AutomationAccount) BuildResource() *schema.Resource
func (*AutomationAccount) CoreType ¶ added in v0.10.35
func (r *AutomationAccount) CoreType() string
func (*AutomationAccount) PopulateUsage ¶ added in v0.9.23
func (r *AutomationAccount) PopulateUsage(u *schema.UsageData)
func (*AutomationAccount) UsageSchema ¶ added in v0.10.35
func (r *AutomationAccount) UsageSchema() []*schema.UsageItem
type AutomationDSCConfiguration ¶ added in v0.9.23
type AutomationDSCConfiguration struct { Address string Region string NonAzureConfigNodeCount *int64 `infracost_usage:"non_azure_config_node_count"` }
func (*AutomationDSCConfiguration) BuildResource ¶ added in v0.9.23
func (r *AutomationDSCConfiguration) BuildResource() *schema.Resource
func (*AutomationDSCConfiguration) CoreType ¶ added in v0.10.35
func (r *AutomationDSCConfiguration) CoreType() string
func (*AutomationDSCConfiguration) PopulateUsage ¶ added in v0.9.23
func (r *AutomationDSCConfiguration) PopulateUsage(u *schema.UsageData)
func (*AutomationDSCConfiguration) UsageSchema ¶ added in v0.10.35
func (r *AutomationDSCConfiguration) UsageSchema() []*schema.UsageItem
type AutomationDSCNodeConfiguration ¶ added in v0.9.23
type AutomationDSCNodeConfiguration struct { Address string Region string NonAzureConfigNodeCount *int64 `infracost_usage:"non_azure_config_node_count"` }
func (*AutomationDSCNodeConfiguration) BuildResource ¶ added in v0.9.23
func (r *AutomationDSCNodeConfiguration) BuildResource() *schema.Resource
func (*AutomationDSCNodeConfiguration) CoreType ¶ added in v0.10.35
func (r *AutomationDSCNodeConfiguration) CoreType() string
func (*AutomationDSCNodeConfiguration) PopulateUsage ¶ added in v0.9.23
func (r *AutomationDSCNodeConfiguration) PopulateUsage(u *schema.UsageData)
func (*AutomationDSCNodeConfiguration) UsageSchema ¶ added in v0.10.35
func (r *AutomationDSCNodeConfiguration) UsageSchema() []*schema.UsageItem
type AutomationJobSchedule ¶ added in v0.9.23
type AutomationJobSchedule struct { Address string Region string MonthlyJobRunMins *int64 `infracost_usage:"monthly_job_run_mins"` }
func (*AutomationJobSchedule) BuildResource ¶ added in v0.9.23
func (r *AutomationJobSchedule) BuildResource() *schema.Resource
func (*AutomationJobSchedule) CoreType ¶ added in v0.10.35
func (r *AutomationJobSchedule) CoreType() string
func (*AutomationJobSchedule) PopulateUsage ¶ added in v0.9.23
func (r *AutomationJobSchedule) PopulateUsage(u *schema.UsageData)
func (*AutomationJobSchedule) UsageSchema ¶ added in v0.10.35
func (r *AutomationJobSchedule) UsageSchema() []*schema.UsageItem
type BackupProtectedVM ¶ added in v0.10.19
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 `infracost_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 `infracost_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 ¶ added in v0.10.19
func (r *BackupProtectedVM) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *BackupProtectedVM) CoreType() string
func (*BackupProtectedVM) PopulateUsage ¶ added in v0.10.19
func (r *BackupProtectedVM) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the BackupProtectedVM.
This method is normally called from the parent RecoveryServicesVault.PopulateUsage method.
func (*BackupProtectedVM) UsageSchema ¶ added in v0.10.19
func (r *BackupProtectedVM) UsageSchema() []*schema.UsageItem
type BastionHost ¶ added in v0.10.34
type BastionHost struct { Address string Region string MonthlyOutboundDataGB *float64 `infracost_usage:"monthly_outbound_data_gb"` }
func (*BastionHost) BuildResource ¶ added in v0.10.34
func (r *BastionHost) BuildResource() *schema.Resource
func (*BastionHost) CoreType ¶ added in v0.10.35
func (r *BastionHost) CoreType() string
func (*BastionHost) PopulateUsage ¶ added in v0.10.34
func (r *BastionHost) PopulateUsage(u *schema.UsageData)
func (*BastionHost) UsageSchema ¶ added in v0.10.35
func (r *BastionHost) UsageSchema() []*schema.UsageItem
type CognitiveAccountLUIS ¶ added in v0.10.35
type CognitiveAccountLUIS struct { Address string Region string Sku string MonthlyLUISTextRequests *int64 `infracost_usage:"monthly_luis_text_requests"` MonthlyLUISSpeechRequests *int64 `infracost_usage:"monthly_luis_speech_requests"` MonthlyCommitmentLUISTextRequests *int64 `infracost_usage:"monthly_commitment_luis_text_requests"` MonthlyCommitmentLUISTextOverageRequests *int64 `infracost_usage:"monthly_commitment_luis_text_overage_requests"` MonthlyConnectedContainerCommitmentLUISTextRequests *int64 `infracost_usage:"monthly_connected_container_commitment_luis_text_requests"` MonthlyConnectedContainerCommitmentLUISTextOverageRequests *int64 `infracost_usage:"monthly_connected_container_commitment_luis_text_overage_requests"` }
CognitiveAccountSpeech 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 ¶ added in v0.10.35
func (r *CognitiveAccountLUIS) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *CognitiveAccountLUIS) CoreType() string
// CoreType returns the name of this resource type
func (*CognitiveAccountLUIS) PopulateUsage ¶ added in v0.10.35
func (r *CognitiveAccountLUIS) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the CognitiveAccountLUIS. It uses the `infracost_usage` struct tags to populate data into the CognitiveAccountLUIS.
func (*CognitiveAccountLUIS) UsageSchema ¶ added in v0.10.35
func (r *CognitiveAccountLUIS) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of CognitiveAccountLUIS.
type CognitiveAccountLanguage ¶ added in v0.10.35
type CognitiveAccountLanguage struct { Address string Region string Sku string MonthlyLanguageTextAnalyticsRecords *int64 `infracost_usage:"monthly_language_text_analytics_records"` MonthlyLanguageSummarizationRecords *int64 `infracost_usage:"monthly_language_summarization_records"` MonthlyLanguageConversationalLanguageUnderstandingRecords *int64 `infracost_usage:"monthly_language_conversational_language_understanding_records"` MonthlyLanguageConversationalLanguageUnderstandingAdvancedTrainingHours *float64 `infracost_usage:"monthly_language_conversational_language_understanding_advanced_training_hours"` MonthlyLanguageCustomizedTextClassificationRecords *int64 `infracost_usage:"monthly_language_customized_text_classification_records"` MonthlyLanguageCustomizedSummarizationRecords *int64 `infracost_usage:"monthly_language_customized_summarization_records"` MonthlyLanguageCustomizedQuestionAnsweringRecords *int64 `infracost_usage:"monthly_language_customized_question_answering_records"` MonthlyLanguageCustomizedTrainingHours *float64 `infracost_usage:"monthly_language_customized_training_hours"` MonthlyLanguageTextAnalyticsForHealthRecords *int64 `infracost_usage:"monthly_language_text_analytics_for_health_records"` // Commitment tiers MonthlyCommitmentLanguageTextAnalyticsRecords *int64 `infracost_usage:"monthly_commitment_language_text_analytics_records"` MonthlyCommitmentLanguageTextAnalyticsOverageRecords *int64 `infracost_usage:"monthly_commitment_language_text_analytics_overage_records"` MonthlyCommitmentLanguageSummarizationRecords *int64 `infracost_usage:"monthly_commitment_language_summarization_records"` MonthlyCommitmentLanguageSummarizationOverageRecords *int64 `infracost_usage:"monthly_commitment_language_summarization_overage_records"` MonthlyConnectedContainerCommitmentLanguageTextAnalyticsRecords *int64 `infracost_usage:"monthly_connected_container_commitment_language_text_analytics_records"` MonthlyConnectedContainerCommitmentLanguageTextAnalyticsOverageRecords *int64 `infracost_usage:"monthly_connected_container_commitment_language_text_analytics_overage_records"` MonthlyConnectedContainerCommitmentLanguageSummarizationRecords *int64 `infracost_usage:"monthly_connected_container_commitment_language_summarization_records"` MonthlyConnectedContainerCommitmentLanguageSummarizationOverageRecords *int64 `infracost_usage:"monthly_connected_container_commitment_language_summarization_overage_records"` }
CognitiveAccountSpeech 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 ¶ added in v0.10.35
func (r *CognitiveAccountLanguage) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *CognitiveAccountLanguage) CoreType() string
// CoreType returns the name of this resource type
func (*CognitiveAccountLanguage) PopulateUsage ¶ added in v0.10.35
func (r *CognitiveAccountLanguage) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the CognitiveAccountLanguage. It uses the `infracost_usage` struct tags to populate data into the CognitiveAccountLanguage.
func (*CognitiveAccountLanguage) UsageSchema ¶ added in v0.10.35
func (r *CognitiveAccountLanguage) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of CognitiveAccountLanguage.
type CognitiveAccountSpeech ¶ added in v0.10.35
type CognitiveAccountSpeech struct { Address string Region string Sku string // Speech to text MonthlySpeechToTextStandardHrs *float64 `infracost_usage:"monthly_speech_to_text_standard_hrs"` MonthlySpeechToTextBatchHrs *float64 `infracost_usage:"monthly_speech_to_text_standard_batch_hrs"` MonthlySpeechToTextCustomModelHrs *float64 `infracost_usage:"monthly_speech_to_text_custom_hrs"` MonthlySpeechToTextCustomModelBatchHrs *float64 `infracost_usage:"monthly_speech_to_text_custom_batch_hrs"` MonthlySpeechToTextCustomEndpointHrs *float64 `infracost_usage:"monthly_speech_to_text_custom_endpoint_hrs"` MonthlySpeechToTextConversationTranscriptionMultiChannelAudioHrs *float64 `infracost_usage:"monthly_speech_to_text_conversation_transcription_multi_channel_audio_hrs"` MonthlySpeechToTextCustomTrainingHrs *float64 `infracost_usage:"monthly_speech_to_text_custom_training_hrs"` MonthlySpeechToTextEnhancedAddOnsHrs *float64 `infracost_usage:"monthly_speech_to_text_enhanced_add_ons_hrs"` // Text to speech MonthlyTextToSpeechNeuralChars *int64 `infracost_usage:"monthly_text_to_speech_neural_chars"` MonthlyTextToSpeechCustomNeuralTrainingHrs *float64 `infracost_usage:"monthly_text_to_speech_custom_neural_training_hrs"` MonthlyTextToSpeechCustomNeuralChars *int64 `infracost_usage:"monthly_text_to_speech_custom_neural_chars"` MonthlyTextToSpeechCustomNeuralEndpointHrs *float64 `infracost_usage:"monthly_text_to_speech_custom_neural_endpoint_hrs"` MonthlyTextToSpeechLongAudioChars *int64 `infracost_usage:"monthly_text_to_speech_long_audio_chars"` MonthlyTextToSpeechPersonalVoiceProfiles *int64 `infracost_usage:"monthly_text_to_speech_personal_voice_profiles"` MonthlyTextToSpeechPersonalVoiceChars *int64 `infracost_usage:"monthly_text_to_speech_personal_voice_chars"` // Speech translation MonthlySpeechTranslationHrs *float64 `infracost_usage:"monthly_speech_translation_hrs"` // Speaker recognition MonthlySpeakerVerificationTransactions *int64 `infracost_usage:"monthly_speaker_verification_transactions"` MonthlySpeakerIdentificationTransactions *int64 `infracost_usage:"monthly_speaker_identification_transactions"` // Voice storage MonthlyVoiceProfiles *int64 `infracost_usage:"monthly_voice_profiles"` // Standard commitment tier MonthlyCommitmentSpeechToTextHrs *int64 `infracost_usage:"monthly_commitment_speech_to_text_standard_hrs"` MonthlyCommitmentSpeechToTextOverageHrs *float64 `infracost_usage:"monthly_commitment_speech_to_text_standard_overage_hrs"` MonthlyCommitmentSpeechToTextCustomModelHrs *int64 `infracost_usage:"monthly_commitment_speech_to_text_custom_hrs"` MonthlyCommitmentSpeechToTextCustomModelOverageHrs *float64 `infracost_usage:"monthly_commitment_speech_to_text_custom_overage_hrs"` MonthlyCommitmentSpeechToTextEnhancedAddOnsHrs *int64 `infracost_usage:"monthly_commitment_speech_to_text_enhanced_add_ons_hrs"` MonthlyCommitmentSpeechToTextEnhancedAddOnsOverageHrs *float64 `infracost_usage:"monthly_commitment_speech_to_text_enhanced_add_ons_overage_hrs"` MonthlyCommitmentTextToSpeechNeuralCommitmentChars *int64 `infracost_usage:"monthly_commitment_text_to_speech_neural_commitment_chars"` MonthlyCommitmentTextToSpeechNeuralOverageChars *int64 `infracost_usage:"monthly_commitment_text_to_speech_neural_overage_chars"` // Connected container MonthlyConnectedContainerCommitmentSpeechToTextHrs *int64 `infracost_usage:"monthly_connected_container_commitment_speech_to_text_standard_hrs"` MonthlyConnectedContainerCommitmentSpeechToTextOverageHrs *float64 `infracost_usage:"monthly_connected_container_commitment_speech_to_text_standard_overage_hrs"` MonthlyConnectedContainerCommitmentSpeechToTextCustomModelHrs *int64 `infracost_usage:"monthly_connected_container_commitment_speech_to_text_custom_hrs"` MonthlyConnectedContainerCommitmentSpeechToTextCustomModelOverageHrs *float64 `infracost_usage:"monthly_connected_container_commitment_speech_to_text_custom_overage_hrs"` MonthlyConnectedContainerCommitmentSpeechToTextEnhancedAddOnsHrs *int64 `infracost_usage:"monthly_connected_container_commitment_speech_to_text_enhanced_add_ons_hrs"` MonthlyConnectedContainerCommitmentSpeechToTextEnhancedAddOnsOverageHrs *float64 `infracost_usage:"monthly_connected_container_commitment_speech_to_text_enhanced_add_ons_overage_hrs"` MonthlyConnectedContainerCommitmentTextToSpeechNeuralCommitmentChars *int64 `infracost_usage:"monthly_connected_container_commitment_text_to_speech_neural_commitment_chars"` MonthlyConnectedContainerCommitmentTextToSpeechNeuralOverageChars *int64 `infracost_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 ¶ added in v0.10.35
func (r *CognitiveAccountSpeech) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *CognitiveAccountSpeech) CoreType() string
// CoreType returns the name of this resource type
func (*CognitiveAccountSpeech) PopulateUsage ¶ added in v0.10.35
func (r *CognitiveAccountSpeech) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the CognitiveAccountSpeech. It uses the `infracost_usage` struct tags to populate data into the CognitiveAccountSpeech.
func (*CognitiveAccountSpeech) UsageSchema ¶ added in v0.10.35
func (r *CognitiveAccountSpeech) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of CognitiveAccountSpeech.
type CognitiveDeployment ¶ added in v0.10.35
type CognitiveDeployment struct { Address string Region string Model string Version string Tier string // Usage-based attributes MonthlyLanguageInputTokens *int64 `infracost_usage:"monthly_language_input_tokens"` MonthlyLanguageOutputTokens *int64 `infracost_usage:"monthly_language_output_tokens"` MonthlyCodeInterpreterSessions *int64 `infracost_usage:"monthly_code_interpreter_sessions"` MonthlyBaseModelTokens *int64 `infracost_usage:"monthly_base_model_tokens"` MonthlyFineTuningTrainingHours *float64 `infracost_usage:"monthly_fine_tuning_training_hours"` MonthlyFineTuningHostingHours *float64 `infracost_usage:"monthly_fine_tuning_hosting_hours"` MonthlyFineTuningInputTokens *int64 `infracost_usage:"monthly_fine_tuning_input_tokens"` MonthlyFineTuningOutputTokens *int64 `infracost_usage:"monthly_fine_tuning_output_tokens"` MonthlyStandard10241024Images *int64 `infracost_usage:"monthly_standard_1024_1024_images"` MonthlyStandard10241792Images *int64 `infracost_usage:"monthly_standard_1024_1792_images"` MonthlyHD10241024Images *int64 `infracost_usage:"monthly_hd_1024_1024_images"` MonthlyHD10241792Images *int64 `infracost_usage:"monthly_hd_1024_1792_images"` MonthlyTextEmbeddingTokens *int64 `infracost_usage:"monthly_text_embedding_tokens"` MonthlyTextToSpeechCharacters *int64 `infracost_usage:"monthly_text_to_speech_characters"` MonthlyTextToSpeechHours *float64 `infracost_usage:"monthly_text_to_speech_hours"` }
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 ¶ added in v0.10.35
func (r *CognitiveDeployment) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *CognitiveDeployment) CoreType() string
CoreType returns the name of this resource type
func (*CognitiveDeployment) PopulateUsage ¶ added in v0.10.35
func (r *CognitiveDeployment) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the CognitiveDeployment. It uses the `infracost_usage` struct tags to populate data into the CognitiveDeployment.
func (*CognitiveDeployment) UsageSchema ¶ added in v0.10.35
func (r *CognitiveDeployment) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of CognitiveDeployment.
type ContainerRegistry ¶ added in v0.10.4
type ContainerRegistry struct { Address string GeoReplicationLocations int Region string SKU string StorageGB *float64 `infracost_usage:"storage_gb"` MonthlyBuildVCPUHrs *float64 `infracost_usage:"monthly_build_vcpu_hrs"` }
func (*ContainerRegistry) BuildResource ¶ added in v0.10.4
func (r *ContainerRegistry) BuildResource() *schema.Resource
func (*ContainerRegistry) CoreType ¶ added in v0.10.35
func (r *ContainerRegistry) CoreType() string
func (*ContainerRegistry) PopulateUsage ¶ added in v0.10.4
func (r *ContainerRegistry) PopulateUsage(u *schema.UsageData)
func (*ContainerRegistry) UsageSchema ¶ added in v0.10.35
func (r *ContainerRegistry) UsageSchema() []*schema.UsageItem
type DNSAAAARecord ¶ added in v0.10.4
type DNSAAAARecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*DNSAAAARecord) BuildResource ¶ added in v0.10.4
func (r *DNSAAAARecord) BuildResource() *schema.Resource
func (*DNSAAAARecord) CoreType ¶ added in v0.10.35
func (r *DNSAAAARecord) CoreType() string
func (*DNSAAAARecord) PopulateUsage ¶ added in v0.10.4
func (r *DNSAAAARecord) PopulateUsage(u *schema.UsageData)
func (*DNSAAAARecord) UsageSchema ¶ added in v0.10.35
func (r *DNSAAAARecord) UsageSchema() []*schema.UsageItem
type DNSARecord ¶ added in v0.10.4
type DNSARecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*DNSARecord) BuildResource ¶ added in v0.10.4
func (r *DNSARecord) BuildResource() *schema.Resource
func (*DNSARecord) CoreType ¶ added in v0.10.35
func (r *DNSARecord) CoreType() string
func (*DNSARecord) PopulateUsage ¶ added in v0.10.4
func (r *DNSARecord) PopulateUsage(u *schema.UsageData)
func (*DNSARecord) UsageSchema ¶ added in v0.10.35
func (r *DNSARecord) UsageSchema() []*schema.UsageItem
type DNSCAARecord ¶ added in v0.10.4
type DNSCAARecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*DNSCAARecord) BuildResource ¶ added in v0.10.4
func (r *DNSCAARecord) BuildResource() *schema.Resource
func (*DNSCAARecord) CoreType ¶ added in v0.10.35
func (r *DNSCAARecord) CoreType() string
func (*DNSCAARecord) PopulateUsage ¶ added in v0.10.4
func (r *DNSCAARecord) PopulateUsage(u *schema.UsageData)
func (*DNSCAARecord) UsageSchema ¶ added in v0.10.35
func (r *DNSCAARecord) UsageSchema() []*schema.UsageItem
type DNSCNameRecord ¶ added in v0.10.4
type DNSCNameRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*DNSCNameRecord) BuildResource ¶ added in v0.10.4
func (r *DNSCNameRecord) BuildResource() *schema.Resource
func (*DNSCNameRecord) CoreType ¶ added in v0.10.35
func (r *DNSCNameRecord) CoreType() string
func (*DNSCNameRecord) PopulateUsage ¶ added in v0.10.4
func (r *DNSCNameRecord) PopulateUsage(u *schema.UsageData)
func (*DNSCNameRecord) UsageSchema ¶ added in v0.10.35
func (r *DNSCNameRecord) UsageSchema() []*schema.UsageItem
type DNSMXRecord ¶ added in v0.10.4
type DNSMXRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*DNSMXRecord) BuildResource ¶ added in v0.10.4
func (r *DNSMXRecord) BuildResource() *schema.Resource
func (*DNSMXRecord) CoreType ¶ added in v0.10.35
func (r *DNSMXRecord) CoreType() string
func (*DNSMXRecord) PopulateUsage ¶ added in v0.10.4
func (r *DNSMXRecord) PopulateUsage(u *schema.UsageData)
func (*DNSMXRecord) UsageSchema ¶ added in v0.10.35
func (r *DNSMXRecord) UsageSchema() []*schema.UsageItem
type DNSNSRecord ¶ added in v0.10.4
type DNSNSRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*DNSNSRecord) BuildResource ¶ added in v0.10.4
func (r *DNSNSRecord) BuildResource() *schema.Resource
func (*DNSNSRecord) CoreType ¶ added in v0.10.35
func (r *DNSNSRecord) CoreType() string
func (*DNSNSRecord) PopulateUsage ¶ added in v0.10.4
func (r *DNSNSRecord) PopulateUsage(u *schema.UsageData)
func (*DNSNSRecord) UsageSchema ¶ added in v0.10.35
func (r *DNSNSRecord) UsageSchema() []*schema.UsageItem
type DNSPtrRecord ¶ added in v0.10.4
type DNSPtrRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*DNSPtrRecord) BuildResource ¶ added in v0.10.4
func (r *DNSPtrRecord) BuildResource() *schema.Resource
func (*DNSPtrRecord) CoreType ¶ added in v0.10.35
func (r *DNSPtrRecord) CoreType() string
func (*DNSPtrRecord) PopulateUsage ¶ added in v0.10.4
func (r *DNSPtrRecord) PopulateUsage(u *schema.UsageData)
func (*DNSPtrRecord) UsageSchema ¶ added in v0.10.35
func (r *DNSPtrRecord) UsageSchema() []*schema.UsageItem
type DNSSrvRecord ¶ added in v0.10.4
type DNSSrvRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*DNSSrvRecord) BuildResource ¶ added in v0.10.4
func (r *DNSSrvRecord) BuildResource() *schema.Resource
func (*DNSSrvRecord) CoreType ¶ added in v0.10.35
func (r *DNSSrvRecord) CoreType() string
func (*DNSSrvRecord) PopulateUsage ¶ added in v0.10.4
func (r *DNSSrvRecord) PopulateUsage(u *schema.UsageData)
func (*DNSSrvRecord) UsageSchema ¶ added in v0.10.35
func (r *DNSSrvRecord) UsageSchema() []*schema.UsageItem
type DNSTxtRecord ¶ added in v0.10.4
type DNSTxtRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*DNSTxtRecord) BuildResource ¶ added in v0.10.4
func (r *DNSTxtRecord) BuildResource() *schema.Resource
func (*DNSTxtRecord) CoreType ¶ added in v0.10.35
func (r *DNSTxtRecord) CoreType() string
func (*DNSTxtRecord) PopulateUsage ¶ added in v0.10.4
func (r *DNSTxtRecord) PopulateUsage(u *schema.UsageData)
func (*DNSTxtRecord) UsageSchema ¶ added in v0.10.35
func (r *DNSTxtRecord) UsageSchema() []*schema.UsageItem
type DNSZone ¶ added in v0.10.34
func (*DNSZone) BuildResource ¶ added in v0.10.34
func (*DNSZone) PopulateUsage ¶ added in v0.10.34
func (*DNSZone) UsageSchema ¶ added in v0.10.35
type DataFactory ¶ added in v0.9.22
type DataFactory struct { Address string Region string // "usage" args MonthlyReadWriteOperationEntities *int64 `infracost_usage:"monthly_read_write_operation_entities"` MonthlyMonitoringOperationEntities *int64 `infracost_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 ¶ added in v0.9.22
func (r *DataFactory) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *DataFactory) CoreType() string
func (*DataFactory) PopulateUsage ¶ added in v0.9.22
func (r *DataFactory) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the DataFactory. It uses the `infracost_usage` struct tags to populate data into the DataFactory.
func (*DataFactory) UsageSchema ¶ added in v0.10.35
func (r *DataFactory) UsageSchema() []*schema.UsageItem
type DataFactoryIntegrationRuntimeAzure ¶ added in v0.9.22
type DataFactoryIntegrationRuntimeAzure struct { Address string Region string Cores int64 ComputeType string // "usage" args MonthlyOrchestrationRuns *int64 `infracost_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 ¶ added in v0.9.22
func (r *DataFactoryIntegrationRuntimeAzure) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *DataFactoryIntegrationRuntimeAzure) CoreType() string
func (*DataFactoryIntegrationRuntimeAzure) PopulateUsage ¶ added in v0.9.22
func (r *DataFactoryIntegrationRuntimeAzure) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the DataFactoryIntegrationRuntimeAzure. It uses the `infracost_usage` struct tags to populate data into the DataFactoryIntegrationRuntimeAzure.
func (*DataFactoryIntegrationRuntimeAzure) UsageSchema ¶ added in v0.10.35
func (r *DataFactoryIntegrationRuntimeAzure) UsageSchema() []*schema.UsageItem
type DataFactoryIntegrationRuntimeAzureSSIS ¶ added in v0.9.22
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 ¶ added in v0.9.22
func (r *DataFactoryIntegrationRuntimeAzureSSIS) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *DataFactoryIntegrationRuntimeAzureSSIS) CoreType() string
func (*DataFactoryIntegrationRuntimeAzureSSIS) PopulateUsage ¶ added in v0.9.22
func (r *DataFactoryIntegrationRuntimeAzureSSIS) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the DataFactoryIntegrationRuntimeAzureSSIS. It uses the `infracost_usage` struct tags to populate data into the DataFactoryIntegrationRuntimeAzureSSIS.
func (*DataFactoryIntegrationRuntimeAzureSSIS) UsageSchema ¶ added in v0.10.35
func (r *DataFactoryIntegrationRuntimeAzureSSIS) UsageSchema() []*schema.UsageItem
type DataFactoryIntegrationRuntimeManaged ¶ added in v0.9.22
type DataFactoryIntegrationRuntimeManaged struct { Address string Region string Instances int64 InstanceType string Enterprise bool LicenseIncluded bool // "usage" args MonthlyOrchestrationRuns *int64 `infracost_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 ¶ added in v0.9.22
func (r *DataFactoryIntegrationRuntimeManaged) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *DataFactoryIntegrationRuntimeManaged) CoreType() string
func (*DataFactoryIntegrationRuntimeManaged) PopulateUsage ¶ added in v0.9.22
func (r *DataFactoryIntegrationRuntimeManaged) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the DataFactoryIntegrationRuntimeManaged. It uses the `infracost_usage` struct tags to populate data into the DataFactoryIntegrationRuntimeManaged.
func (*DataFactoryIntegrationRuntimeManaged) UsageSchema ¶ added in v0.10.35
func (r *DataFactoryIntegrationRuntimeManaged) UsageSchema() []*schema.UsageItem
type DataFactoryIntegrationRuntimeSelfHosted ¶ added in v0.9.22
type DataFactoryIntegrationRuntimeSelfHosted struct { Address string Region string // "usage" args MonthlyOrchestrationRuns *int64 `infracost_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 ¶ added in v0.9.22
func (r *DataFactoryIntegrationRuntimeSelfHosted) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *DataFactoryIntegrationRuntimeSelfHosted) CoreType() string
func (*DataFactoryIntegrationRuntimeSelfHosted) PopulateUsage ¶ added in v0.9.22
func (r *DataFactoryIntegrationRuntimeSelfHosted) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the DataFactoryIntegrationRuntimeSelfHosted. It uses the `infracost_usage` struct tags to populate data into the DataFactoryIntegrationRuntimeSelfHosted.
func (*DataFactoryIntegrationRuntimeSelfHosted) UsageSchema ¶ added in v0.10.35
func (r *DataFactoryIntegrationRuntimeSelfHosted) UsageSchema() []*schema.UsageItem
type DatabricksWorkspace ¶ added in v0.10.4
type DatabricksWorkspace struct { Address string Region string SKU string MonthlyAllPurposeComputeDBUHrs *int64 `infracost_usage:"monthly_all_purpose_compute_dbu_hrs"` MonthlyJobsComputeDBUHrs *int64 `infracost_usage:"monthly_jobs_compute_dbu_hrs"` MonthlyJobsLightComputeDBUHrs *int64 `infracost_usage:"monthly_jobs_light_compute_dbu_hrs"` }
func (*DatabricksWorkspace) BuildResource ¶ added in v0.10.4
func (r *DatabricksWorkspace) BuildResource() *schema.Resource
func (*DatabricksWorkspace) CoreType ¶ added in v0.10.35
func (r *DatabricksWorkspace) CoreType() string
func (*DatabricksWorkspace) PopulateUsage ¶ added in v0.10.4
func (r *DatabricksWorkspace) PopulateUsage(u *schema.UsageData)
func (*DatabricksWorkspace) UsageSchema ¶ added in v0.10.35
func (r *DatabricksWorkspace) UsageSchema() []*schema.UsageItem
type EventGridTopic ¶ added in v0.10.21
type EventGridTopic struct { Address string Region string MonthlyOperations *float64 `infracost_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 ¶ added in v0.10.21
func (r *EventGridTopic) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.21
func (r *EventGridTopic) CoreType() string
CoreType returns the name of this resource type
func (*EventGridTopic) PopulateUsage ¶ added in v0.10.21
func (r *EventGridTopic) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the EventGridTopic. It uses the `infracost_usage` struct tags to populate data into the EventGridTopic.
func (*EventGridTopic) UsageSchema ¶ added in v0.10.21
func (r *EventGridTopic) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of EventGridTopic.
type ExpressRouteConnection ¶ added in v0.9.15
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 ¶ added in v0.9.15
func (e *ExpressRouteConnection) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid ExpressRouteConnection. It returns a ExpressRouteConnection as a schema.Resource 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 ¶ added in v0.10.35
func (e *ExpressRouteConnection) CoreType() string
func (*ExpressRouteConnection) PopulateUsage ¶ added in v0.9.15
func (e *ExpressRouteConnection) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the ExpressRouteConnection. It uses the `infracost_usage` struct tags to populate data into the ExpressRouteConnection.
func (*ExpressRouteConnection) UsageSchema ¶ added in v0.10.35
func (e *ExpressRouteConnection) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of EventGridTopic.
type ExpressRouteGateway ¶ added in v0.9.15
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 ¶ added in v0.9.15
func (e *ExpressRouteGateway) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (e *ExpressRouteGateway) CoreType() string
func (*ExpressRouteGateway) PopulateUsage ¶ added in v0.9.15
func (e *ExpressRouteGateway) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the ExpressRouteGateway. It uses the `infracost_usage` struct tags to populate data into the ExpressRouteGateway.
func (*ExpressRouteGateway) UsageSchema ¶ added in v0.10.35
func (e *ExpressRouteGateway) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of EventGridTopic.
type FederatedIdentityCredential ¶ added in v0.10.35
type FederatedIdentityCredential struct { Address string Region string MonthlyActiveP1Users *int64 `infracost_usage:"monthly_active_p1_users"` MonthlyActiveP2Users *int64 `infracost_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 ¶ added in v0.10.35
func (r *FederatedIdentityCredential) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *FederatedIdentityCredential) CoreType() string
CoreType returns the name of this resource type
func (*FederatedIdentityCredential) PopulateUsage ¶ added in v0.10.35
func (r *FederatedIdentityCredential) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the FederatedIdentityCredential. It uses the `infracost_usage` struct tags to populate data into the FederatedIdentityCredential.
func (*FederatedIdentityCredential) UsageSchema ¶ added in v0.10.35
func (r *FederatedIdentityCredential) UsageSchema() []*schema.UsageItem
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 `infracost_usage:"monthly_inbound_data_transfer_gb"` MonthlyOutboundDataTransferGB *frontdoorOutboundDataTransferUsage `infracost_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 schema.Resource from valid Frontdoor data. This method is called after the resource is initialised by an IaC provider.
func (*Frontdoor) PopulateUsage ¶
PopulateUsage parses the u schema.UsageData into the Frontdoor. It uses the `infracost_usage` struct tags to populate data into the Frontdoor.
func (*Frontdoor) UsageSchema ¶ added in v0.10.35
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 `infracost_usage:"monthly_custom_rule_requests"` MonthlyManagedRulesetRequests *int64 `infracost_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() *schema.Resource
BuildResource builds a schema.Resource from a valid FrontdoorFirewallPolicy. This method is called after the resource is initialised by an IaC provider.
func (*FrontdoorFirewallPolicy) CoreType ¶ added in v0.10.35
func (r *FrontdoorFirewallPolicy) CoreType() string
CoreType returns the name of this resource type
func (*FrontdoorFirewallPolicy) PopulateUsage ¶
func (r *FrontdoorFirewallPolicy) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the FrontdoorFirewallPolicy.
func (*FrontdoorFirewallPolicy) UsageSchema ¶ added in v0.10.35
func (r *FrontdoorFirewallPolicy) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of EventGridTopic.
type FunctionApp ¶ added in v0.10.19
type FunctionApp struct { Address string Region string SKUName string Tier string OSType string MonthlyExecutions *int64 `infracost_usage:"monthly_executions"` ExecutionDurationMs *int64 `infracost_usage:"execution_duration_ms"` MemoryMb *int64 `infracost_usage:"memory_mb"` Instances *int64 `infracost_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 ¶ added in v0.10.19
func (r *FunctionApp) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *FunctionApp) CoreType() string
func (*FunctionApp) PopulateUsage ¶ added in v0.10.19
func (r *FunctionApp) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the FunctionApp struct It uses the `infracost_usage` struct tags to populate data into the FunctionApp
func (*FunctionApp) UsageSchema ¶ added in v0.10.19
func (r *FunctionApp) UsageSchema() []*schema.UsageItem
type Image ¶ added in v0.10.23
type Image struct { Type string Address string Region string StorageGB *float64 `infracost_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 ¶ added in v0.10.23
BuildResource builds a schema.Resource 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 ¶ added in v0.10.23
CoreType returns the name of this resource type. If no type is specified, it defaults to "Image".
func (*Image) PopulateUsage ¶ added in v0.10.23
PopulateUsage parses the u schema.UsageData into the Image. It uses the `infracost_usage` struct tags to populate data into the Image.
func (*Image) UsageSchema ¶ added in v0.10.23
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 ¶ added in v0.10.8
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 ¶ added in v0.10.8
func (*IoTHub) PopulateUsage ¶ added in v0.10.8
func (*IoTHub) UsageSchema ¶ added in v0.10.35
type IoTHubDPS ¶ added in v0.10.8
type IoTHubDPS struct { Address string Region string Sku string MonthlyOperations *int64 `infracost_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 ¶ added in v0.10.8
func (*IoTHubDPS) PopulateUsage ¶ added in v0.10.8
func (*IoTHubDPS) UsageSchema ¶ added in v0.10.35
type KubernetesCluster ¶ added in v0.10.34
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 `infracost_usage:"load_balancer"` DefaultNodePool *KubernetesClusterDefaultNodePool `infracost_usage:"default_node_pool"` }
func (*KubernetesCluster) BuildResource ¶ added in v0.10.34
func (r *KubernetesCluster) BuildResource() *schema.Resource
func (*KubernetesCluster) CoreType ¶ added in v0.10.35
func (r *KubernetesCluster) CoreType() string
func (*KubernetesCluster) PopulateUsage ¶ added in v0.10.34
func (r *KubernetesCluster) PopulateUsage(u *schema.UsageData)
func (*KubernetesCluster) UsageSchema ¶ added in v0.10.35
func (r *KubernetesCluster) UsageSchema() []*schema.UsageItem
type KubernetesClusterDefaultNodePool ¶ added in v0.10.34
type KubernetesClusterLoadBalancer ¶ added in v0.10.34
type KubernetesClusterLoadBalancer struct {
MonthlyDataProcessedGB *int64 `infracost_usage:"monthly_data_processed_gb"`
}
type KubernetesClusterNodePool ¶ added in v0.10.34
type KubernetesClusterNodePool struct { Address string Region string NodeCount int64 VMSize string OS string OSDiskType string OSDiskSizeGB int64 Nodes *int64 `infracost_usage:"nodes"` MonthlyHours *float64 `infracost_usage:"monthly_hrs"` }
func (*KubernetesClusterNodePool) BuildResource ¶ added in v0.10.34
func (r *KubernetesClusterNodePool) BuildResource() *schema.Resource
func (*KubernetesClusterNodePool) CoreType ¶ added in v0.10.35
func (r *KubernetesClusterNodePool) CoreType() string
func (*KubernetesClusterNodePool) PopulateUsage ¶ added in v0.10.34
func (r *KubernetesClusterNodePool) PopulateUsage(u *schema.UsageData)
func (*KubernetesClusterNodePool) UsageSchema ¶ added in v0.10.35
func (r *KubernetesClusterNodePool) UsageSchema() []*schema.UsageItem
type LB ¶ added in v0.10.34
type LB struct { Address string Region string SKU string MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"` }
func (*LB) BuildResource ¶ added in v0.10.34
func (*LB) PopulateUsage ¶ added in v0.10.34
func (*LB) UsageSchema ¶ added in v0.10.35
type LinuxVirtualMachine ¶ added in v0.10.34
type LinuxVirtualMachine struct { Address string Region string Size string UltraSSDEnabled bool OSDiskData *ManagedDiskData OSDisk *OSDiskUsage `infracost_usage:"os_disk"` MonthlyHrs *float64 `infracost_usage:"monthly_hrs"` }
func (*LinuxVirtualMachine) BuildResource ¶ added in v0.10.34
func (r *LinuxVirtualMachine) BuildResource() *schema.Resource
func (*LinuxVirtualMachine) CoreType ¶ added in v0.10.35
func (r *LinuxVirtualMachine) CoreType() string
func (*LinuxVirtualMachine) PopulateUsage ¶ added in v0.10.34
func (r *LinuxVirtualMachine) PopulateUsage(u *schema.UsageData)
func (*LinuxVirtualMachine) UsageSchema ¶ added in v0.10.35
func (r *LinuxVirtualMachine) UsageSchema() []*schema.UsageItem
type LinuxVirtualMachineScaleSet ¶ added in v0.10.34
type LinuxVirtualMachineScaleSet struct { Address string SKU string UltraSSDEnabled bool Region string OSDiskData *ManagedDiskData Instances *int64 `infracost_usage:"instances"` OSDisk *OSDiskUsage `infracost_usage:"os_disk"` }
func (*LinuxVirtualMachineScaleSet) BuildResource ¶ added in v0.10.34
func (r *LinuxVirtualMachineScaleSet) BuildResource() *schema.Resource
func (*LinuxVirtualMachineScaleSet) CoreType ¶ added in v0.10.35
func (r *LinuxVirtualMachineScaleSet) CoreType() string
func (*LinuxVirtualMachineScaleSet) PopulateUsage ¶ added in v0.10.34
func (r *LinuxVirtualMachineScaleSet) PopulateUsage(u *schema.UsageData)
func (*LinuxVirtualMachineScaleSet) UsageSchema ¶ added in v0.10.35
func (r *LinuxVirtualMachineScaleSet) UsageSchema() []*schema.UsageItem
type LogAnalyticsWorkspace ¶ added in v0.9.18
type LogAnalyticsWorkspace struct { Address string Region string SKU string ReservationCapacityInGBPerDay int64 RetentionInDays int64 SentinelEnabled bool MonthlyArchivedDataGB *float64 `infracost_usage:"monthly_archive_data_gb"` MonthlyArchivedDataRestoredGB *float64 `infracost_usage:"monthly_archive_data_restored_gb"` MonthlyArchivedDataSearchedGB *float64 `infracost_usage:"monthly_archive_data_searched_gb"` MonthlyBasicLogDataIngestionGB *float64 `infracost_usage:"monthly_basic_log_data_ingestion_gb"` MonthlyBasicLogSearchGB *float64 `infracost_usage:"monthly_basic_log_search_gb"` MonthlyLogDataIngestionGB *float64 `infracost_usage:"monthly_log_data_ingestion_gb"` MonthlyAdditionalLogDataRetentionGB *float64 `infracost_usage:"monthly_additional_log_data_retention_gb"` MonthlyLogDataExportGB *float64 `infracost_usage:"monthly_log_data_export_gb"` MonthlySentinelDataIngestionGB *float64 `infracost_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 ¶ added in v0.9.18
func (r *LogAnalyticsWorkspace) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid LogAnalyticsWorkspace struct. The returned schema.Resource can have 9 potential schema.CostComponent 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 ¶ added in v0.10.19
func (r *LogAnalyticsWorkspace) CoreType() string
CoreType returns the name of this resource type
func (*LogAnalyticsWorkspace) PopulateUsage ¶ added in v0.9.18
func (r *LogAnalyticsWorkspace) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the LogAnalyticsWorkspace. It uses the `infracost_usage` struct tags to populate data into the LogAnalyticsWorkspace.
func (*LogAnalyticsWorkspace) UsageSchema ¶ added in v0.10.19
func (r *LogAnalyticsWorkspace) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of LogAnalyticsWorkspace.
type LogicAppIntegrationAccount ¶ added in v0.10.20
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 ¶ added in v0.10.20
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 ¶ added in v0.10.20
func (r *LogicAppIntegrationAccount) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.20
func (r *LogicAppIntegrationAccount) CoreType() string
CoreType returns the name of this resource type
func (*LogicAppIntegrationAccount) PopulateUsage ¶ added in v0.10.20
func (r *LogicAppIntegrationAccount) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the LogicAppIntegrationAccount. It uses the `infracost_usage` struct tags to populate data into the LogicAppIntegrationAccount.
func (*LogicAppIntegrationAccount) UsageSchema ¶ added in v0.10.20
func (r *LogicAppIntegrationAccount) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of LogicAppIntegrationAccount.
type LogicAppStandard ¶ added in v0.10.22
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 `infracost_usage:"sku"` MonthlyStandardConnectorCalls *int64 `infracost_usage:"monthly_standard_connector_calls"` MonthlyEnterpriseConnectorCalls *int64 `infracost_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 ¶ added in v0.10.22
func (r *LogicAppStandard) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.22
func (r *LogicAppStandard) CoreType() string
CoreType returns the name of this resource type
func (*LogicAppStandard) PopulateUsage ¶ added in v0.10.22
func (r *LogicAppStandard) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the LogicAppStandard. It uses the `infracost_usage` struct tags to populate data into the LogicAppStandard.
func (*LogicAppStandard) UsageSchema ¶ added in v0.10.22
func (r *LogicAppStandard) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of LogicAppStandard.
type MSSQLElasticPool ¶ added in v0.10.18
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 ¶ added in v0.10.18
func (r *MSSQLElasticPool) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid MSSQLElasticPool. It returns a MSSQLElasticPool as a *schema.Resource 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 resources.
func (*MSSQLElasticPool) CoreType ¶ added in v0.10.35
func (r *MSSQLElasticPool) CoreType() string
func (*MSSQLElasticPool) PopulateUsage ¶ added in v0.10.18
func (r *MSSQLElasticPool) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the MSSQLElasticPool.
func (*MSSQLElasticPool) UsageSchema ¶ added in v0.10.35
func (r *MSSQLElasticPool) UsageSchema() []*schema.UsageItem
type MSSQLManagedInstance ¶ added in v0.10.21
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 `infracost_usage:"long_term_retention_storage_gb"` BackupStorageGB *int64 `infracost_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 ¶ added in v0.10.21
func (r *MSSQLManagedInstance) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *MSSQLManagedInstance) CoreType() string
CoreType returns the name of this resource type
func (*MSSQLManagedInstance) PopulateUsage ¶ added in v0.10.21
func (r *MSSQLManagedInstance) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the MSSQLManagedInstance. It uses the `infracost_usage` struct tags to populate data into the MSSQLManagedInstance.
func (*MSSQLManagedInstance) UsageSchema ¶ added in v0.10.35
func (r *MSSQLManagedInstance) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of MSSQLManagedInstance.
type MachineLearningComputeCluster ¶ added in v0.10.34
type MachineLearningComputeCluster struct { Address string Region string InstanceType string MinNodeCount int64 Instances *int64 `infracost_usage:"instances"` MonthlyHours *float64 `infracost_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 ¶ added in v0.10.34
func (r *MachineLearningComputeCluster) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.34
func (r *MachineLearningComputeCluster) CoreType() string
CoreType returns the name of this resource type
func (*MachineLearningComputeCluster) PopulateUsage ¶ added in v0.10.34
func (r *MachineLearningComputeCluster) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the MachineLearningComputeCluster. It uses the `infracost_usage` struct tags to populate data into the MachineLearningComputeCluster.
func (*MachineLearningComputeCluster) UsageSchema ¶ added in v0.10.34
func (r *MachineLearningComputeCluster) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of MachineLearningComputeCluster.
type MachineLearningComputeInstance ¶ added in v0.10.34
type MachineLearningComputeInstance struct { Address string Region string InstanceType string MonthlyHours *float64 `infracost_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 ¶ added in v0.10.34
func (r *MachineLearningComputeInstance) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.34
func (r *MachineLearningComputeInstance) CoreType() string
CoreType returns the name of this resource type
func (*MachineLearningComputeInstance) PopulateUsage ¶ added in v0.10.34
func (r *MachineLearningComputeInstance) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the MachineLearningComputeInstance. It uses the `infracost_usage` struct tags to populate data into the MachineLearningComputeInstance.
func (*MachineLearningComputeInstance) UsageSchema ¶ added in v0.10.34
func (r *MachineLearningComputeInstance) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of MachineLearningComputeInstance.
type ManagedDisk ¶ added in v0.10.34
type ManagedDisk struct { Address string Region string ManagedDiskData MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"` }
func (*ManagedDisk) BuildResource ¶ added in v0.10.34
func (r *ManagedDisk) BuildResource() *schema.Resource
func (*ManagedDisk) CoreType ¶ added in v0.10.35
func (r *ManagedDisk) CoreType() string
func (*ManagedDisk) PopulateUsage ¶ added in v0.10.34
func (r *ManagedDisk) PopulateUsage(u *schema.UsageData)
func (*ManagedDisk) UsageSchema ¶ added in v0.10.35
func (r *ManagedDisk) UsageSchema() []*schema.UsageItem
type ManagedDiskData ¶ added in v0.10.34
type MonitorActionGroup ¶ added in v0.10.19
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 `infracost_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 ¶ added in v0.10.19
func (r *MonitorActionGroup) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *MonitorActionGroup) CoreType() string
func (*MonitorActionGroup) ITSMEventCostComponent ¶ added in v0.10.19
func (r *MonitorActionGroup) ITSMEventCostComponent(count int, quantity *int64) *schema.CostComponent
func (*MonitorActionGroup) PopulateUsage ¶ added in v0.10.19
func (r *MonitorActionGroup) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData It uses the `infracost_usage` struct tags to populate data.
func (*MonitorActionGroup) UsageSchema ¶ added in v0.10.19
func (r *MonitorActionGroup) UsageSchema() []*schema.UsageItem
type MonitorDataCollectionRule ¶ added in v0.10.19
type MonitorDataCollectionRule struct { Address string Region string MonthlyCustomMetricsSamplesGB *int64 `infracost_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 ¶ added in v0.10.19
func (r *MonitorDataCollectionRule) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *MonitorDataCollectionRule) CoreType() string
CoreType returns the name of this resource type
func (*MonitorDataCollectionRule) PopulateUsage ¶ added in v0.10.19
func (r *MonitorDataCollectionRule) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the MonitorDataCollectionRule. It uses the `infracost_usage` struct tags to populate data into the MonitorDataCollectionRule.
func (*MonitorDataCollectionRule) UsageSchema ¶ added in v0.10.19
func (r *MonitorDataCollectionRule) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of MonitorDataCollectionRule.
type MonitorDiagnosticSetting ¶ added in v0.10.19
type MonitorDiagnosticSetting struct { Address string Region string EventHubTarget bool PartnerSolutionTarget bool StorageAccountTarget bool MonthlyPlatformLogGB *int64 `infracost_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 ¶ added in v0.10.19
func (r *MonitorDiagnosticSetting) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *MonitorDiagnosticSetting) CoreType() string
CoreType returns the name of this resource type
func (*MonitorDiagnosticSetting) PopulateUsage ¶ added in v0.10.19
func (r *MonitorDiagnosticSetting) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the MonitorDiagnosticSetting. It uses the `infracost_usage` struct tags to populate data into the MonitorDiagnosticSetting.
func (*MonitorDiagnosticSetting) UsageSchema ¶ added in v0.10.19
func (r *MonitorDiagnosticSetting) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of MonitorDiagnosticSetting.
type MonitorMetricAlert ¶ added in v0.10.19
type MonitorMetricAlert struct { Address string Region string Enabled bool ScopeCount int CriteriaDimensionsCount int DynamicCriteriaDimensionsCount int }
MonitorActionGroup struct represents an Azure Monitor Action 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 ¶ added in v0.10.19
func (r *MonitorMetricAlert) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *MonitorMetricAlert) CoreType() string
func (*MonitorMetricAlert) PopulateUsage ¶ added in v0.10.19
func (r *MonitorMetricAlert) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData It uses the `infracost_usage` struct tags to populate data.
func (*MonitorMetricAlert) UsageSchema ¶ added in v0.10.19
func (r *MonitorMetricAlert) UsageSchema() []*schema.UsageItem
type MonitorScheduledQueryRulesAlert ¶ added in v0.10.19
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 ¶ added in v0.10.19
func (r *MonitorScheduledQueryRulesAlert) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *MonitorScheduledQueryRulesAlert) CoreType() string
CoreType returns the name of this resource type
func (*MonitorScheduledQueryRulesAlert) PopulateUsage ¶ added in v0.10.19
func (r *MonitorScheduledQueryRulesAlert) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the MonitorScheduledQueryRulesAlert. It uses the `infracost_usage` struct tags to populate data into the MonitorScheduledQueryRulesAlert.
func (*MonitorScheduledQueryRulesAlert) UsageSchema ¶ added in v0.10.19
func (r *MonitorScheduledQueryRulesAlert) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of MonitorScheduledQueryRulesAlert.
type MySQLFlexibleServer ¶ added in v0.9.22
type MySQLFlexibleServer struct { Address string Region string SKU string Tier string InstanceType string InstanceVersion string Storage int64 IOPS int64 // "usage" args AdditionalBackupStorageGB *float64 `infracost_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 ¶ added in v0.9.22
func (r *MySQLFlexibleServer) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *MySQLFlexibleServer) CoreType() string
CoreType returns the name of this resource type
func (*MySQLFlexibleServer) PopulateUsage ¶ added in v0.9.22
func (r *MySQLFlexibleServer) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the MySQLFlexibleServer. It uses the `infracost_usage` struct tags to populate data into the MySQLFlexibleServer.
func (*MySQLFlexibleServer) UsageSchema ¶ added in v0.10.35
func (r *MySQLFlexibleServer) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of MySQLFlexibleServerUsageSchema.
type NetworkConnectionMonitor ¶ added in v0.10.21
type NetworkConnectionMonitor struct { Address string Region string Tests *int64 `infracost_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 ¶ added in v0.10.21
func (r *NetworkConnectionMonitor) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.21
func (r *NetworkConnectionMonitor) CoreType() string
CoreType returns the name of this resource type
func (*NetworkConnectionMonitor) PopulateUsage ¶ added in v0.10.21
func (r *NetworkConnectionMonitor) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the NetworkConnectionMonitor. It uses the `infracost_usage` struct tags to populate data into the NetworkConnectionMonitor.
func (*NetworkConnectionMonitor) UsageSchema ¶ added in v0.10.21
func (r *NetworkConnectionMonitor) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of NetworkConnectionMonitor.
type NetworkDdosProtectionPlan ¶ added in v0.10.35
type NetworkDdosProtectionPlan struct { Address string Region string OverageAmount *int64 `infracost_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 ¶ added in v0.10.35
func (r *NetworkDdosProtectionPlan) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *NetworkDdosProtectionPlan) CoreType() string
CoreType returns the name of this resource type.
func (*NetworkDdosProtectionPlan) PopulateUsage ¶ added in v0.10.35
func (r *NetworkDdosProtectionPlan) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the NetworkDdosProtectionPlan. It uses the `infracost_usage` struct tags to populate data into the NetworkDdosProtectionPlan.
func (*NetworkDdosProtectionPlan) UsageSchema ¶ added in v0.10.35
func (r *NetworkDdosProtectionPlan) UsageSchema() []*schema.UsageItem
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 ¶ added in v0.10.21
type NetworkWatcher struct { Address string Region string MonthlyDiagnosticChecks *int64 `infracost_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 ¶ added in v0.10.21
func (r *NetworkWatcher) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.21
func (r *NetworkWatcher) CoreType() string
CoreType returns the name of this resource type
func (*NetworkWatcher) PopulateUsage ¶ added in v0.10.21
func (r *NetworkWatcher) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the NetworkWatcher. It uses the `infracost_usage` struct tags to populate data into the NetworkWatcher.
func (*NetworkWatcher) UsageSchema ¶ added in v0.10.21
func (r *NetworkWatcher) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of NetworkWatcher.
type NetworkWatcherFlowLog ¶ added in v0.10.21
type NetworkWatcherFlowLog struct { Address string Region string TrafficAnalyticsEnabled bool TrafficAnalyticsAcceleratedProcessing bool MonthlyLogsCollectedGB *float64 `infracost_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 ¶ added in v0.10.21
func (r *NetworkWatcherFlowLog) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.21
func (r *NetworkWatcherFlowLog) CoreType() string
CoreType returns the name of this resource type
func (*NetworkWatcherFlowLog) PopulateUsage ¶ added in v0.10.21
func (r *NetworkWatcherFlowLog) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the NetworkWatcherFlowLog. It uses the `infracost_usage` struct tags to populate data into the NetworkWatcherFlowLog.
func (*NetworkWatcherFlowLog) UsageSchema ¶ added in v0.10.21
func (r *NetworkWatcherFlowLog) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of NetworkWatcherFlowLog.
type OSDiskUsage ¶ added in v0.10.34
type OSDiskUsage struct {
MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}
type PostgreSQLFlexibleServer ¶ added in v0.9.22
type PostgreSQLFlexibleServer struct { Address string Region string SKU string Tier string InstanceType string InstanceVersion string Storage int64 AdditionalBackupStorageGB *float64 `infracost_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 ¶ added in v0.9.22
func (r *PostgreSQLFlexibleServer) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *PostgreSQLFlexibleServer) CoreType() string
CoreType returns the name of this resource type
func (*PostgreSQLFlexibleServer) PopulateUsage ¶ added in v0.9.22
func (r *PostgreSQLFlexibleServer) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the PostgreSQLFlexibleServer. It uses the `infracost_usage` struct tags to populate data into the PostgreSQLFlexibleServer.
func (*PostgreSQLFlexibleServer) UsageSchema ¶ added in v0.10.35
func (r *PostgreSQLFlexibleServer) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of PostgreSQLFlexibleServer.
type PowerBIEmbedded ¶ added in v0.10.18
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 ¶ added in v0.10.18
func (r *PowerBIEmbedded) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.18
func (r *PowerBIEmbedded) CoreType() string
func (*PowerBIEmbedded) PopulateUsage ¶ added in v0.10.18
func (r *PowerBIEmbedded) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the PowerBIEmbedded. It uses the `infracost_usage` struct tags to populate data into the PowerBIEmbedded.
func (*PowerBIEmbedded) UsageSchema ¶ added in v0.10.18
func (r *PowerBIEmbedded) UsageSchema() []*schema.UsageItem
type PrivateDNSAAAARecord ¶ added in v0.10.4
type PrivateDNSAAAARecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*PrivateDNSAAAARecord) BuildResource ¶ added in v0.10.4
func (r *PrivateDNSAAAARecord) BuildResource() *schema.Resource
func (*PrivateDNSAAAARecord) CoreType ¶ added in v0.10.35
func (r *PrivateDNSAAAARecord) CoreType() string
func (*PrivateDNSAAAARecord) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSAAAARecord) PopulateUsage(u *schema.UsageData)
func (*PrivateDNSAAAARecord) UsageSchema ¶ added in v0.10.35
func (r *PrivateDNSAAAARecord) UsageSchema() []*schema.UsageItem
type PrivateDNSARecord ¶ added in v0.10.4
type PrivateDNSARecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*PrivateDNSARecord) BuildResource ¶ added in v0.10.4
func (r *PrivateDNSARecord) BuildResource() *schema.Resource
func (*PrivateDNSARecord) CoreType ¶ added in v0.10.35
func (r *PrivateDNSARecord) CoreType() string
func (*PrivateDNSARecord) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSARecord) PopulateUsage(u *schema.UsageData)
func (*PrivateDNSARecord) UsageSchema ¶ added in v0.10.35
func (r *PrivateDNSARecord) UsageSchema() []*schema.UsageItem
type PrivateDNSCNameRecord ¶ added in v0.10.4
type PrivateDNSCNameRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*PrivateDNSCNameRecord) BuildResource ¶ added in v0.10.4
func (r *PrivateDNSCNameRecord) BuildResource() *schema.Resource
func (*PrivateDNSCNameRecord) CoreType ¶ added in v0.10.35
func (r *PrivateDNSCNameRecord) CoreType() string
func (*PrivateDNSCNameRecord) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSCNameRecord) PopulateUsage(u *schema.UsageData)
func (*PrivateDNSCNameRecord) UsageSchema ¶ added in v0.10.35
func (r *PrivateDNSCNameRecord) UsageSchema() []*schema.UsageItem
type PrivateDNSMXRecord ¶ added in v0.10.4
type PrivateDNSMXRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*PrivateDNSMXRecord) BuildResource ¶ added in v0.10.4
func (r *PrivateDNSMXRecord) BuildResource() *schema.Resource
func (*PrivateDNSMXRecord) CoreType ¶ added in v0.10.35
func (r *PrivateDNSMXRecord) CoreType() string
func (*PrivateDNSMXRecord) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSMXRecord) PopulateUsage(u *schema.UsageData)
func (*PrivateDNSMXRecord) UsageSchema ¶ added in v0.10.35
func (r *PrivateDNSMXRecord) UsageSchema() []*schema.UsageItem
type PrivateDNSPTRRecord ¶ added in v0.10.4
type PrivateDNSPTRRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*PrivateDNSPTRRecord) BuildResource ¶ added in v0.10.4
func (r *PrivateDNSPTRRecord) BuildResource() *schema.Resource
func (*PrivateDNSPTRRecord) CoreType ¶ added in v0.10.35
func (r *PrivateDNSPTRRecord) CoreType() string
func (*PrivateDNSPTRRecord) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSPTRRecord) PopulateUsage(u *schema.UsageData)
func (*PrivateDNSPTRRecord) UsageSchema ¶ added in v0.10.35
func (r *PrivateDNSPTRRecord) UsageSchema() []*schema.UsageItem
type PrivateDNSSRVRecord ¶ added in v0.10.4
type PrivateDNSSRVRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*PrivateDNSSRVRecord) BuildResource ¶ added in v0.10.4
func (r *PrivateDNSSRVRecord) BuildResource() *schema.Resource
func (*PrivateDNSSRVRecord) CoreType ¶ added in v0.10.35
func (r *PrivateDNSSRVRecord) CoreType() string
func (*PrivateDNSSRVRecord) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSSRVRecord) PopulateUsage(u *schema.UsageData)
func (*PrivateDNSSRVRecord) UsageSchema ¶ added in v0.10.35
func (r *PrivateDNSSRVRecord) UsageSchema() []*schema.UsageItem
type PrivateDNSTXTRecord ¶ added in v0.10.4
type PrivateDNSTXTRecord struct { Address string Region string MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*PrivateDNSTXTRecord) BuildResource ¶ added in v0.10.4
func (r *PrivateDNSTXTRecord) BuildResource() *schema.Resource
func (*PrivateDNSTXTRecord) CoreType ¶ added in v0.10.35
func (r *PrivateDNSTXTRecord) CoreType() string
func (*PrivateDNSTXTRecord) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSTXTRecord) PopulateUsage(u *schema.UsageData)
func (*PrivateDNSTXTRecord) UsageSchema ¶ added in v0.10.35
func (r *PrivateDNSTXTRecord) UsageSchema() []*schema.UsageItem
type PrivateDNSZone ¶ added in v0.10.34
func (*PrivateDNSZone) BuildResource ¶ added in v0.10.34
func (r *PrivateDNSZone) BuildResource() *schema.Resource
func (*PrivateDNSZone) CoreType ¶ added in v0.10.35
func (r *PrivateDNSZone) CoreType() string
func (*PrivateDNSZone) PopulateUsage ¶ added in v0.10.34
func (r *PrivateDNSZone) PopulateUsage(u *schema.UsageData)
func (*PrivateDNSZone) UsageSchema ¶ added in v0.10.35
func (r *PrivateDNSZone) UsageSchema() []*schema.UsageItem
type PrivateDnsResolverDnsForwardingRuleset ¶ added in v0.10.32
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 ¶ added in v0.10.32
func (r *PrivateDnsResolverDnsForwardingRuleset) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.32
func (r *PrivateDnsResolverDnsForwardingRuleset) CoreType() string
CoreType returns the name of this resource type
func (*PrivateDnsResolverDnsForwardingRuleset) PopulateUsage ¶ added in v0.10.32
func (r *PrivateDnsResolverDnsForwardingRuleset) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the PrivateDnsResolverDnsForwardingRuleset. It uses the `infracost_usage` struct tags to populate data into the PrivateDnsResolverDnsForwardingRuleset.
func (*PrivateDnsResolverDnsForwardingRuleset) UsageSchema ¶ added in v0.10.32
func (r *PrivateDnsResolverDnsForwardingRuleset) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of PrivateDnsResolverDnsForwardingRuleset.
type PrivateDnsResolverInboundEndpoint ¶ added in v0.10.32
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 ¶ added in v0.10.32
func (r *PrivateDnsResolverInboundEndpoint) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.32
func (r *PrivateDnsResolverInboundEndpoint) CoreType() string
CoreType returns the name of this resource type
func (*PrivateDnsResolverInboundEndpoint) PopulateUsage ¶ added in v0.10.32
func (r *PrivateDnsResolverInboundEndpoint) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the PrivateDnsResolverInboundEndpoint. It uses the `infracost_usage` struct tags to populate data into the PrivateDnsResolverInboundEndpoint.
func (*PrivateDnsResolverInboundEndpoint) UsageSchema ¶ added in v0.10.32
func (r *PrivateDnsResolverInboundEndpoint) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of PrivateDnsResolverInboundEndpoint.
type PrivateDnsResolverOutboundEndpoint ¶ added in v0.10.32
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 ¶ added in v0.10.32
func (r *PrivateDnsResolverOutboundEndpoint) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.32
func (r *PrivateDnsResolverOutboundEndpoint) CoreType() string
CoreType returns the name of this resource type
func (*PrivateDnsResolverOutboundEndpoint) PopulateUsage ¶ added in v0.10.32
func (r *PrivateDnsResolverOutboundEndpoint) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the PrivateDnsResolverOutboundEndpoint. It uses the `infracost_usage` struct tags to populate data into the PrivateDnsResolverOutboundEndpoint.
func (*PrivateDnsResolverOutboundEndpoint) UsageSchema ¶ added in v0.10.32
func (r *PrivateDnsResolverOutboundEndpoint) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of PrivateDnsResolverOutboundEndpoint.
type RecoveryServicesVault ¶ added in v0.10.19
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 ¶ added in v0.10.19
func (r *RecoveryServicesVault) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *RecoveryServicesVault) CoreType() string
func (*RecoveryServicesVault) PopulateUsage ¶ added in v0.10.19
func (r *RecoveryServicesVault) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the RecoveryServicesVault's sub resources.
RecoveryServicesVault does not have any actual usage associated with itself and instead relies on users specifying usage for child ProtectedVM resources.
func (*RecoveryServicesVault) UsageSchema ¶ added in v0.10.19
func (r *RecoveryServicesVault) UsageSchema() []*schema.UsageItem
UsageSchema dynamically constructs a list of UsageItems based on the ProtectedVM sub resources.
type SQLDatabase ¶ added in v0.9.16
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 // ExtraDataStorageGB represents a usage cost of additional backup storage used by the sql database. ExtraDataStorageGB *float64 `infracost_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 `infracost_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 `infracost_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 `infracost_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 ¶ added in v0.9.16
func (r *SQLDatabase) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid SQLDatabase. It returns a SQLDatabase as a *schema.Resource 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 resources.
func (*SQLDatabase) CoreType ¶ added in v0.10.35
func (r *SQLDatabase) CoreType() string
func (*SQLDatabase) PopulateUsage ¶ added in v0.9.16
func (r *SQLDatabase) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the SQLDatabase.
func (*SQLDatabase) UsageSchema ¶ added in v0.10.35
func (r *SQLDatabase) UsageSchema() []*schema.UsageItem
type SQLManagedInstance ¶ added in v0.9.21
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 `infracost_usage:"long_term_retention_storage_gb"` BackupStorageGB *int64 `infracost_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 ¶ added in v0.9.21
func (r *SQLManagedInstance) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (r *SQLManagedInstance) CoreType() string
func (*SQLManagedInstance) PopulateUsage ¶ added in v0.9.21
func (r *SQLManagedInstance) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the SQLManagedInstance. It uses the `infracost_usage` struct tags to populate data into the SQLManagedInstance.
func (*SQLManagedInstance) UsageSchema ¶ added in v0.10.35
func (r *SQLManagedInstance) UsageSchema() []*schema.UsageItem
type SecurityCenterSubscriptionPricing ¶ added in v0.10.21
type SecurityCenterSubscriptionPricing struct { Address string Region string Tier string ResourceType string MonthlyServersPlan1Nodes *float64 `infracost_usage:"monthly_servers_plan_1_nodes"` MonthlyServersPlan2Nodes *float64 `infracost_usage:"monthly_servers_plan_2_nodes"` MonthlyContainersVCores *float64 `infracost_usage:"monthly_containers_vcores"` MonthlyContainerRegistryImages *float64 `infracost_usage:"monthly_container_registry_images"` MonthlySQLAzureConnectedInstances *float64 `infracost_usage:"monthly_sql_azure_connected_instances"` MonthlySQLOutsideAzureVCores *float64 `infracost_usage:"monthly_sql_outside_azure_vcores"` MonthlyMySQLInstances *float64 `infracost_usage:"monthly_mysql_instances"` MonthlyPostgreSQLInstances *float64 `infracost_usage:"monthly_postgresql_instances"` MonthlyMariaDBInstances *float64 `infracost_usage:"monthly_mariadb_instances"` CosmosDBRequestUnits *float64 `infracost_usage:"cosmosdb_request_units"` MonthlyStorageAccounts *float64 `infracost_usage:"monthly_storage_accounts"` MonthlyAppServiceNodes *float64 `infracost_usage:"monthly_app_service_nodes"` MonthlyKeyVaults *int64 `infracost_usage:"monthly_key_vaults"` MonthlyARMSubscriptions *int64 `infracost_usage:"monthly_arm_subscriptions"` MonthlyDNSQueries *int64 `infracost_usage:"monthly_dns_queries"` MonthlyKubernetesCores *float64 `infracost_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 ¶ added in v0.10.21
func (r *SecurityCenterSubscriptionPricing) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.21
func (r *SecurityCenterSubscriptionPricing) CoreType() string
CoreType returns the name of this resource type
func (*SecurityCenterSubscriptionPricing) PopulateUsage ¶ added in v0.10.21
func (r *SecurityCenterSubscriptionPricing) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the SecurityCenterSubscriptionPricing. It uses the `infracost_usage` struct tags to populate data into the SecurityCenterSubscriptionPricing.
func (*SecurityCenterSubscriptionPricing) UsageSchema ¶ added in v0.10.21
func (r *SecurityCenterSubscriptionPricing) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of SecurityCenterSubscriptionPricing.
type ServiceBusNamespace ¶ added in v0.10.22
type ServiceBusNamespace struct { Address string Region string SKU string Capacity int64 // Usage-based fields MonthlyMessagingOperations *int64 `infracost_usage:"monthly_messaging_operations"` MonthlyBrokeredConnections *int64 `infracost_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 ¶ added in v0.10.22
func (r *ServiceBusNamespace) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.22
func (r *ServiceBusNamespace) CoreType() string
CoreType returns the name of this resource type
func (*ServiceBusNamespace) PopulateUsage ¶ added in v0.10.22
func (r *ServiceBusNamespace) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the ServiceBusNamespace. It uses the `infracost_usage` struct tags to populate data into the ServiceBusNamespace.
func (*ServiceBusNamespace) UsageSchema ¶ added in v0.10.22
func (r *ServiceBusNamespace) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of ServiceBusNamespace.
type ServicePlan ¶ added in v0.10.19
type ServicePlan struct { Address string SKUName string WorkerCount int64 OSType string Region string }
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 ¶ added in v0.10.19
func (r *ServicePlan) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid ServicePlan struct.
ServicePlan only has one cost component associated with the compute cost of the plan.
func (*ServicePlan) CoreType ¶ added in v0.10.19
func (r *ServicePlan) CoreType() string
func (*ServicePlan) PopulateUsage ¶ added in v0.10.19
func (r *ServicePlan) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the ServicePlan struct It uses the `infracost_usage` struct tags to populate data into the ServicePlan
func (*ServicePlan) UsageSchema ¶ added in v0.10.19
func (r *ServicePlan) UsageSchema() []*schema.UsageItem
type SignalRService ¶ added in v0.10.20
type SignalRService struct { Address string Region string SkuName string SkuCapacity int64 MonthlyAdditionalMessages *int64 `infracost_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 ¶ added in v0.10.20
func (r *SignalRService) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.20
func (r *SignalRService) CoreType() string
CoreType returns the name of this resource type
func (*SignalRService) PopulateUsage ¶ added in v0.10.20
func (r *SignalRService) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the SignalRService. It uses the `infracost_usage` struct tags to populate data into the SignalRService.
func (*SignalRService) UsageSchema ¶ added in v0.10.20
func (r *SignalRService) UsageSchema() []*schema.UsageItem
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 `infracost_usage:"storage_gb"` MonthlyIterativeReadOperations *int64 `infracost_usage:"monthly_iterative_read_operations"` MonthlyReadOperations *int64 `infracost_usage:"monthly_read_operations"` MonthlyIterativeWriteOperations *int64 `infracost_usage:"monthly_iterative_write_operations"` MonthlyWriteOperations *int64 `infracost_usage:"monthly_write_operations"` MonthlyListAndCreateContainerOperations *int64 `infracost_usage:"monthly_list_and_create_container_operations"` MonthlyOtherOperations *int64 `infracost_usage:"monthly_other_operations"` MonthlyDataRetrievalGB *float64 `infracost_usage:"monthly_data_retrieval_gb"` MonthlyDataWriteGB *float64 `infracost_usage:"monthly_data_write_gb"` BlobIndexTags *int64 `infracost_usage:"blob_index_tags"` DataAtRestStorageGB *float64 `infracost_usage:"data_at_rest_storage_gb"` SnapshotsStorageGB *float64 `infracost_usage:"snapshots_storage_gb"` MetadataAtRestStorageGB *float64 `infracost_usage:"metadata_at_rest_storage_gb"` EarlyDeletionGB *float64 `infracost_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() *schema.Resource
BuildResource builds a schema.Resource from valid StorageAccount data. This method is called after the resource is initialized by an IaC provider.
func (*StorageAccount) CoreType ¶ added in v0.10.19
func (r *StorageAccount) CoreType() string
CoreType returns the name of this resource type
func (*StorageAccount) PopulateUsage ¶
func (r *StorageAccount) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the StorageAccount. It uses the `infracost_usage` struct tags to populate data into the StorageAccount.
func (*StorageAccount) UsageSchema ¶ added in v0.10.19
func (r *StorageAccount) UsageSchema() []*schema.UsageItem
type StorageDataDiskUsage ¶ added in v0.10.34
type StorageDataDiskUsage struct {
MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}
type StorageOSDiskUsage ¶ added in v0.10.34
type StorageOSDiskUsage struct {
MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}
type StorageProfileDataDiskUsage ¶ added in v0.10.34
type StorageProfileDataDiskUsage struct {
MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}
type StorageProfileOSDiskUsage ¶ added in v0.10.34
type StorageProfileOSDiskUsage struct {
MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}
type StorageQueue ¶ added in v0.10.19
type StorageQueue struct { Address string Region string AccountKind string AccountReplicationType string MonthlyStorageGB *float64 `infracost_usage:"monthly_storage_gb"` MonthlyClass1Operations *int64 `infracost_usage:"monthly_class_1_operations"` MonthlyClass2Operations *int64 `infracost_usage:"monthly_class_2_operations"` MonthlyGeoReplicationDataTransferGB *float64 `infracost_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 ¶ added in v0.10.19
func (r *StorageQueue) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *StorageQueue) CoreType() string
CoreType returns the name of this resource type
func (*StorageQueue) PopulateUsage ¶ added in v0.10.19
func (r *StorageQueue) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the StorageQueue. It uses the `infracost_usage` struct tags to populate data into the StorageQueue.
func (*StorageQueue) UsageSchema ¶ added in v0.10.19
func (r *StorageQueue) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of StorageQueue.
type StorageShare ¶ added in v0.10.19
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 ¶ added in v0.10.19
func (r *StorageShare) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.19
func (r *StorageShare) CoreType() string
CoreType returns the name of this resource type
func (*StorageShare) PopulateUsage ¶ added in v0.10.19
func (r *StorageShare) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the StorageShare. It uses the `infracost_usage` struct tags to populate data into the StorageShare.
func (*StorageShare) UsageSchema ¶ added in v0.10.19
func (r *StorageShare) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of StorageShare.
type TrafficManagerEndpoint ¶ added in v0.10.20
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 ¶ added in v0.10.20
func (r *TrafficManagerEndpoint) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.20
func (r *TrafficManagerEndpoint) CoreType() string
CoreType returns the name of this resource type
func (*TrafficManagerEndpoint) PopulateUsage ¶ added in v0.10.20
func (r *TrafficManagerEndpoint) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the TrafficManagerEndpoint. It uses the `infracost_usage` struct tags to populate data into the TrafficManagerEndpoint.
func (*TrafficManagerEndpoint) UsageSchema ¶ added in v0.10.20
func (r *TrafficManagerEndpoint) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of TrafficManagerEndpoint.
type TrafficManagerProfile ¶ added in v0.10.20
type TrafficManagerProfile struct { Address string Region string Enabled bool TrafficViewEnabled bool MonthlyDNSQueries *int64 `infracost_usage:"monthly_dns_queries"` MonthlyTrafficViewDataPoints *int64 `infracost_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 ¶ added in v0.10.20
func (r *TrafficManagerProfile) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.20
func (r *TrafficManagerProfile) CoreType() string
CoreType returns the name of this resource type
func (*TrafficManagerProfile) PopulateUsage ¶ added in v0.10.20
func (r *TrafficManagerProfile) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the TrafficManagerProfile. It uses the `infracost_usage` struct tags to populate data into the TrafficManagerProfile.
func (*TrafficManagerProfile) UsageSchema ¶ added in v0.10.20
func (r *TrafficManagerProfile) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of TrafficManagerProfile.
type VPNGateway ¶ added in v0.9.15
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 `infracost_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 ¶ added in v0.9.15
func (v *VPNGateway) BuildResource() *schema.Resource
BuildResource builds a schema.Resource 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 ¶ added in v0.10.35
func (v *VPNGateway) CoreType() string
func (*VPNGateway) PopulateUsage ¶ added in v0.9.15
func (v *VPNGateway) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the VPNGateway. It uses the `infracost_usage` struct tags to populate data into the VPNGateway.
func (*VPNGateway) UsageSchema ¶ added in v0.10.35
func (v *VPNGateway) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of VPNGateway if of type P2S.
type VPNGatewayConnection ¶ added in v0.9.15
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 ¶ added in v0.9.15
func (v *VPNGatewayConnection) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid VPNGatewayConnection. It returns a VPNGatewayConnection as a schema.Resource 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 ¶ added in v0.10.35
func (r *VPNGatewayConnection) CoreType() string
func (*VPNGatewayConnection) PopulateUsage ¶ added in v0.9.15
func (v *VPNGatewayConnection) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the VPNGatewayConnection. It uses the `infracost_usage` struct tags to populate data into the VPNGatewayConnection.
func (*VPNGatewayConnection) UsageSchema ¶ added in v0.10.35
func (r *VPNGatewayConnection) UsageSchema() []*schema.UsageItem
type VirtualHub ¶ added in v0.9.15
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 `infracost_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 ¶ added in v0.9.15
func (v *VirtualHub) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid VirtualHub. It returns VirtualHub as a *schema.Resource 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 ¶ added in v0.10.35
func (v *VirtualHub) CoreType() string
CoreType returns the name of this resource type
func (*VirtualHub) PopulateUsage ¶ added in v0.9.15
func (v *VirtualHub) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the VirtualHub. It uses the `infracost_usage` struct tags to populate data into the VirtualHub.
func (*VirtualHub) UsageSchema ¶ added in v0.10.35
func (v *VirtualHub) UsageSchema() []*schema.UsageItem
UsageSchema defines a list which represents the usage schema of VirtualHubUsageSchema.
type VirtualMachine ¶ added in v0.10.34
type VirtualMachine struct { Address string Region string StorageImageReferenceOffer string VMSize string StorageOSDiskOSType string LicenseType string StorageOSDiskData *ManagedDiskData OSDiskData *ManagedDiskData StoragesDiskData []*ManagedDiskData MonthlyHours *float64 `infracost_usage:"monthly_hrs"` StorageOSDisk *StorageOSDiskUsage `infracost_usage:"storage_os_disk"` StorageDataDisk *StorageDataDiskUsage `infracost_usage:"storage_data_disk"` }
func (*VirtualMachine) BuildResource ¶ added in v0.10.34
func (r *VirtualMachine) BuildResource() *schema.Resource
func (*VirtualMachine) CoreType ¶ added in v0.10.35
func (r *VirtualMachine) CoreType() string
func (*VirtualMachine) PopulateUsage ¶ added in v0.10.34
func (r *VirtualMachine) PopulateUsage(u *schema.UsageData)
func (*VirtualMachine) UsageSchema ¶ added in v0.10.35
func (r *VirtualMachine) UsageSchema() []*schema.UsageItem
type VirtualMachineScaleSet ¶ added in v0.10.34
type VirtualMachineScaleSet struct { Address string Region string SKUName string SKUCapacity int64 IsWindows bool LicenseType string StorageProfileOSDiskData *ManagedDiskData StorageProfileOSDisksData []*ManagedDiskData Instances *int64 `infracost_usage:"instances"` StorageProfileOSDisk *StorageProfileOSDiskUsage `infracost_usage:"storage_profile_os_disk"` StorageProfileDataDisk *StorageProfileOSDiskUsage `infracost_usage:"storage_profile_data_disk"` }
func (*VirtualMachineScaleSet) BuildResource ¶ added in v0.10.34
func (r *VirtualMachineScaleSet) BuildResource() *schema.Resource
func (*VirtualMachineScaleSet) CoreType ¶ added in v0.10.35
func (r *VirtualMachineScaleSet) CoreType() string
func (*VirtualMachineScaleSet) PopulateUsage ¶ added in v0.10.34
func (r *VirtualMachineScaleSet) PopulateUsage(u *schema.UsageData)
func (*VirtualMachineScaleSet) UsageSchema ¶ added in v0.10.35
func (r *VirtualMachineScaleSet) UsageSchema() []*schema.UsageItem
type VirtualNetworkPeering ¶ added in v0.10.8
type VirtualNetworkPeering struct { Address string SourceRegion string DestinationRegion string SourceZone string DestinationZone string MonthlyDataTransferGB *float64 `infracost_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 ¶ added in v0.10.8
func (r *VirtualNetworkPeering) BuildResource() *schema.Resource
func (*VirtualNetworkPeering) CoreType ¶ added in v0.10.35
func (r *VirtualNetworkPeering) CoreType() string
func (*VirtualNetworkPeering) PopulateUsage ¶ added in v0.10.8
func (r *VirtualNetworkPeering) PopulateUsage(u *schema.UsageData)
func (*VirtualNetworkPeering) UsageSchema ¶ added in v0.10.35
func (r *VirtualNetworkPeering) UsageSchema() []*schema.UsageItem
type WindowsVirtualMachine ¶ added in v0.10.34
type WindowsVirtualMachine struct { Address string Region string Size string LicenseType string AdditionalCapabilitiesUltraSSDEnabled bool OSDiskData *ManagedDiskData MonthlyHours *float64 `infracost_usage:"monthly_hrs"` OSDisk *OSDiskUsage `infracost_usage:"os_disk"` }
func (*WindowsVirtualMachine) BuildResource ¶ added in v0.10.34
func (r *WindowsVirtualMachine) BuildResource() *schema.Resource
func (*WindowsVirtualMachine) CoreType ¶ added in v0.10.35
func (r *WindowsVirtualMachine) CoreType() string
func (*WindowsVirtualMachine) PopulateUsage ¶ added in v0.10.34
func (r *WindowsVirtualMachine) PopulateUsage(u *schema.UsageData)
func (*WindowsVirtualMachine) UsageSchema ¶ added in v0.10.35
func (r *WindowsVirtualMachine) UsageSchema() []*schema.UsageItem
type WindowsVirtualMachineScaleSet ¶ added in v0.10.34
type WindowsVirtualMachineScaleSet struct { Address string Region string SKU string LicenseType string AdditionalCapabilitiesUltraSSDEnabled bool OSDiskData *ManagedDiskData Instances *int64 `infracost_usage:"instances"` OSDisk *OSDiskUsage `infracost_usage:"os_disk"` }
func (*WindowsVirtualMachineScaleSet) BuildResource ¶ added in v0.10.34
func (r *WindowsVirtualMachineScaleSet) BuildResource() *schema.Resource
func (*WindowsVirtualMachineScaleSet) CoreType ¶ added in v0.10.35
func (r *WindowsVirtualMachineScaleSet) CoreType() string
func (*WindowsVirtualMachineScaleSet) PopulateUsage ¶ added in v0.10.34
func (r *WindowsVirtualMachineScaleSet) PopulateUsage(u *schema.UsageData)
func (*WindowsVirtualMachineScaleSet) UsageSchema ¶ added in v0.10.35
func (r *WindowsVirtualMachineScaleSet) UsageSchema() []*schema.UsageItem
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