azure

package
v0.10.20 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var APIManagementUsageSchema = []*schema.UsageItem{{Key: "self_hosted_gateway_count", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_api_calls", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var ActiveDirectoryDomainServiceReplicaSetUsageSchema = []*schema.UsageItem{}
View Source
var ActiveDirectoryDomainServiceUsageSchema = []*schema.UsageItem{}
View Source
var AppServiceCertificateBindingUsageSchema = []*schema.UsageItem{}
View Source
var AppServiceCertificateOrderUsageSchema = []*schema.UsageItem{}
View Source
var AppServiceCustomHostnameBindingUsageSchema = []*schema.UsageItem{}
View Source
var AppServiceEnvironmentUsageSchema = []*schema.UsageItem{{Key: "operating_system", ValueType: schema.String, DefaultValue: "linux"}}
View Source
var AppServicePlanUsageSchema = []*schema.UsageItem{}
View Source
var ApplicationInsightsUsageSchema = []*schema.UsageItem{{Key: "monthly_data_ingested_gb", ValueType: schema.Float64, DefaultValue: 0}}
View Source
var ApplicationInsightsWebTestUsageSchema = []*schema.UsageItem{}
View Source
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}}
View Source
var AutomationDSCConfigurationUsageSchema = []*schema.UsageItem{{Key: "non_azure_config_node_count", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var AutomationDSCNodeConfigurationUsageSchema = []*schema.UsageItem{{Key: "non_azure_config_node_count", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var AutomationJobScheduleUsageSchema = []*schema.UsageItem{{Key: "monthly_job_run_mins", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var ContainerRegistryUsageSchema = []*schema.UsageItem{{Key: "storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_build_vcpu_hrs", ValueType: schema.Float64, DefaultValue: 0}}
View Source
var DNSAAAARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var DNSARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var DNSCAARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var DNSCNameRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var DNSMXRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var DNSNSRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var DNSPtrRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var DNSSrvRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var DNSTxtRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var DataFactoryIntegrationRuntimeAzureSSISUsageSchema = []*schema.UsageItem{}

DataFactoryIntegrationRuntimeAzureSSISUsageSchema defines a list which represents the usage schema of DataFactoryIntegrationRuntimeAzureSSIS.

View Source
var DataFactoryIntegrationRuntimeAzureUsageSchema = []*schema.UsageItem{
	{Key: "monthly_orchestration_runs", DefaultValue: 0, ValueType: schema.Int64},
}

DataFactoryIntegrationRuntimeAzureUsageSchema defines a list which represents the usage schema of DataFactoryIntegrationRuntimeAzure.

View Source
var DataFactoryIntegrationRuntimeManagedUsageSchema = []*schema.UsageItem{
	{Key: "monthly_orchestration_runs", DefaultValue: 0, ValueType: schema.Int64},
}

DataFactoryIntegrationRuntimeManagedUsageSchema defines a list which represents the usage schema of DataFactoryIntegrationRuntimeManaged.

View Source
var DataFactoryIntegrationRuntimeSelfHostedUsageSchema = []*schema.UsageItem{
	{Key: "monthly_orchestration_runs", DefaultValue: 0, ValueType: schema.Int64},
}

DataFactoryIntegrationRuntimeSelfHostedUsageSchema defines a list which represents the usage schema of DataFactoryIntegrationRuntimeSelfHosted.

View Source
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.

View Source
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}}
View Source
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.

View Source
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.

View Source
var MSSQLElasticPoolUsageSchema = []*schema.UsageItem{}
View Source
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.

View Source
var OperationsUsageSchema = []*schema.UsageItem{
	{Key: "monthly_operations", DefaultValue: 0, ValueType: schema.Int64},
}
View Source
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.

View Source
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.

View Source
var PrivateDNSAAAARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var PrivateDNSARecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var PrivateDNSCNameRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var PrivateDNSMXRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var PrivateDNSPTRRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var PrivateDNSSRVRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var PrivateDNSTXTRecordUsageSchema = []*schema.UsageItem{{Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}}
View Source
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},
}
View Source
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.

View Source
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

type ActiveDirectoryDomainService struct {
	Address string
	Region  string
	SKU     string
}

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 (*ActiveDirectoryDomainServiceReplicaSet) PopulateUsage added in v0.10.4

type AppServiceCertificateBinding added in v0.9.23

type AppServiceCertificateBinding struct {
	Address  string
	Region   string
	SSLState string
}

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

type AppServiceCertificateOrder struct {
	Address     string
	ProductType string
}

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

type AppServiceCustomHostnameBinding struct {
	Address  string
	Region   string
	SSLState string
}

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

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

CoreType returns the name of this resource type

func (*ApplicationInsightsStandardWebTest) PopulateUsage added in v0.10.19

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

UsageSchema defines a list which represents the usage schema of ApplicationInsightsStandardWebTest.

type ApplicationInsightsWebTest added in v0.9.23

type ApplicationInsightsWebTest struct {
	Address string
	Region  string
	Kind    string
	Enabled bool
}

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

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

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

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

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

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

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

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

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 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

func (r *Frontdoor) BuildResource() *schema.Resource

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

func (r *Frontdoor) PopulateUsage(u *schema.UsageData)

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 IoTHub added in v0.10.8

type IoTHub struct {
	Address  string
	Region   string
	Sku      string
	Capacity int64
}

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 (r *IoTHub) BuildResource() *schema.Resource

func (*IoTHub) PopulateUsage added in v0.10.8

func (r *IoTHub) PopulateUsage(u *schema.UsageData)

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 (r *IoTHubDPS) BuildResource() *schema.Resource

func (*IoTHubDPS) PopulateUsage added in v0.10.8

func (r *IoTHubDPS) PopulateUsage(u *schema.UsageData)

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:

  1. The geographic location of the data.
  2. Access rights that define which users can access data.
  3. 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:

  1. 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
  2. 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).
  3. Data export, which is billed per monthly GB exported and is defined from a usage param.
  4. Sentinel data ingestion if Sentinel usage is detected.
  5. 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."
  6. Basic log search, which is billed per monthly GB of basic log data queried.
  7. Archive data, which is billed per monthly GB of archived data
  8. Archive restore, which is billed per monthly GB of archived data restored
  9. 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

type LogicAppIntegrationAccount struct {
	Address string
	Region  string
	SKU     string
}

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 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:

  1. Costs based on the number of DTUs that the SQL database has
  2. Extra backup data costs - this is configured using MSSQLElasticPool.ExtraDataStorageGB
  3. 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:

  1. Costs based on the number of vCores the resource has
  2. Additional charge for SQL Server licensing based on vCores amount
  3. Charges for storage used
  4. 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 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

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 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

type PowerBIEmbedded struct {
	Address string
	SKU     string
	Region  string
}

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:

  1. Costs based on the number of DTUs that the sql database has
  2. Extra backup data costs - this is configured using SQLDatabase.ExtraDataStorageGB
  3. 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:

  1. Costs based on the number of vCores the resource has
  2. Extra pricing if any database read replicas have been provisioned
  3. Additional charge for SQL Server licensing based on vCores amount
  4. Charges for storage used
  5. 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"`
}

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 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 {
	Address                string
	Region                 string
	AccountReplicationType string
	AccessTier             string
	Quota                  int64

	// "usage" args
	MonthlyStorageGB        *float64 `infracost_usage:"storage_gb"`
	MonthlyReadOperations   *int64   `infracost_usage:"monthly_read_operations"`
	MonthlyWriteOperations  *int64   `infracost_usage:"monthly_write_operations"`
	MonthlyListOperations   *int64   `infracost_usage:"monthly_list_operations"`
	MonthlyOtherOperations  *int64   `infracost_usage:"monthly_other_operations"`
	MonthlyDataRetrievalGB  *float64 `infracost_usage:"monthly_data_retrieval_gb"`
	SnapshotsStorageGB      *float64 `infracost_usage:"snapshots_storage_gb"`
	MetadataAtRestStorageGB *float64 `infracost_usage:"metadata_at_rest_storage_gb"`
}

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL