Documentation
¶
Index ¶
- Variables
- type APIManagement
- type ActiveDirectoryDomainService
- type ActiveDirectoryDomainServiceReplicaSet
- type AppServiceCertificateBinding
- type AppServiceCertificateOrder
- type AppServiceCustomHostnameBinding
- type AppServiceEnvironment
- type AppServicePlan
- type ApplicationInsights
- type ApplicationInsightsStandardWebTest
- type ApplicationInsightsWebTest
- type AutomationAccount
- type AutomationDSCConfiguration
- type AutomationDSCNodeConfiguration
- type AutomationJobSchedule
- type BackupProtectedVM
- type ContainerRegistry
- type DNSAAAARecord
- type DNSARecord
- type DNSCAARecord
- type DNSCNameRecord
- type DNSMXRecord
- type DNSNSRecord
- type DNSPtrRecord
- type DNSSrvRecord
- type DNSTxtRecord
- type DataFactory
- type DataFactoryIntegrationRuntimeAzure
- type DataFactoryIntegrationRuntimeAzureSSIS
- type DataFactoryIntegrationRuntimeManaged
- type DataFactoryIntegrationRuntimeSelfHosted
- type DatabricksWorkspace
- type EventGridTopic
- type ExpressRouteConnection
- type ExpressRouteGateway
- type Frontdoor
- type FrontdoorFirewallPolicy
- type FunctionApp
- type Image
- type IoTHub
- type IoTHubDPS
- type LogAnalyticsWorkspace
- type LogicAppIntegrationAccount
- type LogicAppStandard
- type MSSQLElasticPool
- type MSSQLManagedInstance
- 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 NetworkWatcher
- type NetworkWatcherFlowLog
- type PostgreSQLFlexibleServer
- type PowerBIEmbedded
- type PrivateDNSAAAARecord
- type PrivateDNSARecord
- type PrivateDNSCNameRecord
- type PrivateDNSMXRecord
- type PrivateDNSPTRRecord
- type PrivateDNSSRVRecord
- type PrivateDNSTXTRecord
- type RecoveryServicesVault
- type SQLDatabase
- type SQLManagedInstance
- type SecurityCenterSubscriptionPricing
- type ServiceBusNamespace
- type ServicePlan
- type SignalRService
- type StorageAccount
- type StorageQueue
- type StorageShare
- type TrafficManagerEndpoint
- type TrafficManagerProfile
- type VPNGateway
- type VPNGatewayConnection
- type VirtualHub
- type VirtualNetworkPeering
Constants ¶
This section is empty.
Variables ¶
var APIManagementUsageSchema = []*schema.UsageItem{{Key: "self_hosted_gateway_count", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_api_calls", ValueType: schema.Int64, DefaultValue: 0}}
var ActiveDirectoryDomainServiceReplicaSetUsageSchema = []*schema.UsageItem{}
var ActiveDirectoryDomainServiceUsageSchema = []*schema.UsageItem{}
var AppServiceCertificateBindingUsageSchema = []*schema.UsageItem{}
var AppServiceCertificateOrderUsageSchema = []*schema.UsageItem{}
var AppServiceCustomHostnameBindingUsageSchema = []*schema.UsageItem{}
var AppServiceEnvironmentUsageSchema = []*schema.UsageItem{{Key: "operating_system", ValueType: schema.String, DefaultValue: "linux"}}
var AppServicePlanUsageSchema = []*schema.UsageItem{}
var ApplicationInsightsUsageSchema = []*schema.UsageItem{{Key: "monthly_data_ingested_gb", ValueType: schema.Float64, DefaultValue: 0}}
var ApplicationInsightsWebTestUsageSchema = []*schema.UsageItem{}
var AutomationAccountUsageSchema = []*schema.UsageItem{{Key: "monthly_job_run_mins", ValueType: schema.Int64, DefaultValue: 0}, {Key: "non_azure_config_node_count", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_watcher_hrs", ValueType: schema.Int64, DefaultValue: 0}}
var AutomationDSCConfigurationUsageSchema = []*schema.UsageItem{{Key: "non_azure_config_node_count", ValueType: schema.Int64, DefaultValue: 0}}
var AutomationDSCNodeConfigurationUsageSchema = []*schema.UsageItem{{Key: "non_azure_config_node_count", ValueType: schema.Int64, DefaultValue: 0}}
var AutomationJobScheduleUsageSchema = []*schema.UsageItem{{Key: "monthly_job_run_mins", ValueType: schema.Int64, DefaultValue: 0}}
var ContainerRegistryUsageSchema = []*schema.UsageItem{{Key: "storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_build_vcpu_hrs", ValueType: schema.Float64, DefaultValue: 0}}
var DNSAAAARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var DNSARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var DNSCAARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var DNSCNameRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var DNSMXRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var DNSNSRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var DNSPtrRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var DNSSrvRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var DNSTxtRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var DataFactoryIntegrationRuntimeAzureSSISUsageSchema = []*schema.UsageItem{}
DataFactoryIntegrationRuntimeAzureSSISUsageSchema defines a list which represents the usage schema of DataFactoryIntegrationRuntimeAzureSSIS.
var DataFactoryIntegrationRuntimeAzureUsageSchema = []*schema.UsageItem{ {Key: "monthly_orchestration_runs", DefaultValue: 0, ValueType: schema.Int64}, }
DataFactoryIntegrationRuntimeAzureUsageSchema defines a list which represents the usage schema of DataFactoryIntegrationRuntimeAzure.
var DataFactoryIntegrationRuntimeManagedUsageSchema = []*schema.UsageItem{ {Key: "monthly_orchestration_runs", DefaultValue: 0, ValueType: schema.Int64}, }
DataFactoryIntegrationRuntimeManagedUsageSchema defines a list which represents the usage schema of DataFactoryIntegrationRuntimeManaged.
var DataFactoryIntegrationRuntimeSelfHostedUsageSchema = []*schema.UsageItem{ {Key: "monthly_orchestration_runs", DefaultValue: 0, ValueType: schema.Int64}, }
DataFactoryIntegrationRuntimeSelfHostedUsageSchema defines a list which represents the usage schema of DataFactoryIntegrationRuntimeSelfHosted.
var DataFactoryUsageSchema = []*schema.UsageItem{ {Key: "monthly_read_write_operation_entities", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_monitoring_operation_entities", DefaultValue: 0, ValueType: schema.Int64}, }
DataFactoryUsageSchema defines a list which represents the usage schema of DataFactory.
var DatabricksWorkspaceUsageSchema = []*schema.UsageItem{{Key: "monthly_all_purpose_compute_dbu_hrs", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_jobs_compute_dbu_hrs", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_jobs_light_compute_dbu_hrs", ValueType: schema.Int64, DefaultValue: 0}}
var FrontdoorFirewallPolicyUsageSchema = []*schema.UsageItem{ {Key: "monthly_custom_rule_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_managed_ruleset_requests", DefaultValue: 0, ValueType: schema.Int64}, }
FrontdoorFirewallPolicyUsageSchema defines a list which represents the usage schema of FrontdoorFirewallPolicy.
var FrontdoorUsageSchema = []*schema.UsageItem{ {Key: "monthly_inbound_data_transfer_gb", DefaultValue: 0, ValueType: schema.Float64}, { Key: "monthly_outbound_data_transfer_gb", DefaultValue: &usage.ResourceUsage{Name: "monthly_outbound_data_transfer_gb", Items: frontdoorOutboundDataUsageSchema}, ValueType: schema.SubResourceUsage, }, }
FrontdoorUsageSchema defines a list which represents the usage schema of Frontdoor.
var MSSQLElasticPoolUsageSchema = []*schema.UsageItem{}
var MySQLFlexibleServerUsageSchema = []*schema.UsageItem{ {Key: "additional_backup_storage_gb", DefaultValue: 0, ValueType: schema.Float64}, }
MySQLFlexibleServerUsageSchema defines a list which represents the usage schema of MySQLFlexibleServer.
var OperationsUsageSchema = []*schema.UsageItem{ {Key: "monthly_operations", DefaultValue: 0, ValueType: schema.Int64}, }
var P2SVPNGatewayUsageSchema = []*schema.UsageItem{ {Key: "monthly_p2s_connections_hrs", DefaultValue: 0, ValueType: schema.Float64}, }
P2SVPNGatewayUsageSchema defines a list which represents the usage schema of VPNGateway if of type P2S.
var PostgreSQLFlexibleServerUsageSchema = []*schema.UsageItem{ {Key: "additional_backup_storage_gb", DefaultValue: 0, ValueType: schema.Float64}, }
PostgreSQLFlexibleServerUsageSchema defines a list which represents the usage schema of PostgreSQLFlexibleServer.
var PrivateDNSAAAARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var PrivateDNSARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var PrivateDNSCNameRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var PrivateDNSMXRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var PrivateDNSPTRRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var PrivateDNSSRVRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var PrivateDNSTXTRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
var SQLDatabaseUsageSchema = []*schema.UsageItem{ {Key: "extra_data_storage_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_vcore_hours", DefaultValue: 0, ValueType: schema.Int64}, {Key: "long_term_retention_storage_gb", DefaultValue: 0, ValueType: schema.Int64}, {Key: "backup_storage_gb", DefaultValue: 0, ValueType: schema.Int64}, }
var VirtualHubUsageSchema = []*schema.UsageItem{ {Key: "monthly_data_processed_gb", DefaultValue: 0, ValueType: schema.Float64}, }
VirtualHubUsageSchema defines a list which represents the usage schema of VirtualHub.
var VirtualNetworkPeeringUsageSchema = []*schema.UsageItem{ {Key: "monthly_data_transfer_gb", DefaultValue: 0, ValueType: schema.Float64}, }
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) PopulateUsage ¶ added in v0.9.23
func (r *APIManagement) PopulateUsage(u *schema.UsageData)
type ActiveDirectoryDomainService ¶ added in v0.10.4
func (*ActiveDirectoryDomainService) BuildResource ¶ added in v0.10.4
func (r *ActiveDirectoryDomainService) BuildResource() *schema.Resource
func (*ActiveDirectoryDomainService) PopulateUsage ¶ added in v0.10.4
func (r *ActiveDirectoryDomainService) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *ActiveDirectoryDomainServiceReplicaSet) PopulateUsage(u *schema.UsageData)
type AppServiceCertificateBinding ¶ added in v0.9.23
func (*AppServiceCertificateBinding) BuildResource ¶ added in v0.9.23
func (r *AppServiceCertificateBinding) BuildResource() *schema.Resource
func (*AppServiceCertificateBinding) PopulateUsage ¶ added in v0.9.23
func (r *AppServiceCertificateBinding) PopulateUsage(u *schema.UsageData)
type AppServiceCertificateOrder ¶ added in v0.9.23
func (*AppServiceCertificateOrder) BuildResource ¶ added in v0.9.23
func (r *AppServiceCertificateOrder) BuildResource() *schema.Resource
func (*AppServiceCertificateOrder) PopulateUsage ¶ added in v0.9.23
func (r *AppServiceCertificateOrder) PopulateUsage(u *schema.UsageData)
type AppServiceCustomHostnameBinding ¶ added in v0.10.4
func (*AppServiceCustomHostnameBinding) BuildResource ¶ added in v0.10.4
func (r *AppServiceCustomHostnameBinding) BuildResource() *schema.Resource
func (*AppServiceCustomHostnameBinding) PopulateUsage ¶ added in v0.10.4
func (r *AppServiceCustomHostnameBinding) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.9.23
func (r *AppServiceEnvironment) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *AppServicePlan) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.9.23
func (r *ApplicationInsights) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.9.23
func (r *ApplicationInsightsWebTest) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.9.23
func (r *AutomationAccount) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.9.23
func (r *AutomationDSCConfiguration) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.9.23
func (r *AutomationDSCNodeConfiguration) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.9.23
func (r *AutomationJobSchedule) PopulateUsage(u *schema.UsageData)
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 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) PopulateUsage ¶ added in v0.10.4
func (r *ContainerRegistry) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *DNSAAAARecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *DNSARecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *DNSCAARecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *DNSCNameRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *DNSMXRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *DNSNSRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *DNSPtrRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *DNSSrvRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *DNSTxtRecord) PopulateUsage(u *schema.UsageData)
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) 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.
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) 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.
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) 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.
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) 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.
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) 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.
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) PopulateUsage ¶ added in v0.10.4
func (r *DatabricksWorkspace) PopulateUsage(u *schema.UsageData)
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) 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.
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) 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.
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.
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) PopulateUsage ¶
func (r *FrontdoorFirewallPolicy) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the FrontdoorFirewallPolicy.
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
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
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) PopulateUsage ¶ added in v0.10.18
func (r *MSSQLElasticPool) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the MSSQLElasticPool.
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) 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.
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) 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.
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 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 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) 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.
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) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSAAAARecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSARecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSCNameRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSMXRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSPTRRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSSRVRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.10.4
func (r *PrivateDNSTXTRecord) PopulateUsage(u *schema.UsageData)
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) PopulateUsage ¶ added in v0.9.16
func (r *SQLDatabase) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the SQLDatabase.
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) 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.
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"` MonthlyKeyVaultTransactions *int64 `infracost_usage:"monthly_key_vault_transactions"` MonthlyARMAPICalls *int64 `infracost_usage:"monthly_arm_api_calls"` 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 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) 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.
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) 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.
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) 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.
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) PopulateUsage ¶ added in v0.10.8
func (r *VirtualNetworkPeering) PopulateUsage(u *schema.UsageData)
Source Files
¶
- active_directory_domain_service.go
- active_directory_domain_service_replica_set.go
- api_management.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_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
- 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
- eventgrid_topic.go
- express_route_connection.go
- express_route_gateway.go
- frontdoor.go
- frontdoor_firewall_policy.go
- function_app.go
- image.go
- iothub.go
- log_analytics_workspace.go
- logic_app_integration_account.go
- logic_app_standard.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_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_srv_record.go
- private_dns_txt_record.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_network_peering.go
- vpn_gateway.go
- vpn_gateway_connection.go