azure

package
v0.10.35 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const Premium = "Premium"
View Source
const Standard = "Standard"
View Source
const StandardSSD = "StandardSSD"

Variables

View Source
var KubernetesClusterDefaultNodePoolSchema = []*schema.UsageItem{
	{Key: "nodes", ValueType: schema.Int64, DefaultValue: 0},
	{Key: "monthly_hrs", ValueType: schema.Float64, DefaultValue: 0},
}
View Source
var KubernetesClusterLoadBalancerSchema = []*schema.UsageItem{{Key: "monthly_data_processed_gb", ValueType: schema.Int64, DefaultValue: 0}}
View Source
var OSDiskUsageSchema = []*schema.UsageItem{
	{ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"},
}
View Source
var StorageDataDiskUsageSchema = []*schema.UsageItem{
	{ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"},
}
View Source
var StorageOSDiskUsageSchema = []*schema.UsageItem{
	{ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"},
}
View Source
var StorageProfileDataDiskUsageSchema = []*schema.UsageItem{
	{ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"},
}
View Source
var StorageProfileOSDiskUsageSchema = []*schema.UsageItem{
	{ValueType: schema.Int64, DefaultValue: 0, Key: "monthly_disk_operations"},
}

Functions

This section is empty.

Types

type APIManagement added in v0.9.23

type APIManagement struct {
	Address                string
	Region                 string
	SKUName                string
	SelfHostedGatewayCount *int64 `infracost_usage:"self_hosted_gateway_count"`
	MonthlyAPICalls        *int64 `infracost_usage:"monthly_api_calls"`
}

func (*APIManagement) BuildResource added in v0.9.23

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

func (*APIManagement) CoreType added in v0.10.35

func (r *APIManagement) CoreType() string

func (*APIManagement) PopulateUsage added in v0.9.23

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

func (*APIManagement) UsageSchema added in v0.10.35

func (r *APIManagement) UsageSchema() []*schema.UsageItem

type ActiveDirectoryDomainService added in v0.10.4

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) CoreType added in v0.10.35

func (r *ActiveDirectoryDomainService) CoreType() string

func (*ActiveDirectoryDomainService) PopulateUsage added in v0.10.4

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

func (*ActiveDirectoryDomainService) UsageSchema added in v0.10.35

func (r *ActiveDirectoryDomainService) UsageSchema() []*schema.UsageItem

type ActiveDirectoryDomainServiceReplicaSet added in v0.10.4

type ActiveDirectoryDomainServiceReplicaSet struct {
	Address            string
	Region             string
	DomainServiceIDSKU string
}

func (*ActiveDirectoryDomainServiceReplicaSet) BuildResource added in v0.10.4

func (*ActiveDirectoryDomainServiceReplicaSet) CoreType added in v0.10.35

func (*ActiveDirectoryDomainServiceReplicaSet) PopulateUsage added in v0.10.4

func (*ActiveDirectoryDomainServiceReplicaSet) UsageSchema added in v0.10.35

type AppConfiguration added in v0.10.35

type AppConfiguration struct {
	Address  string
	Region   string
	SKU      string
	Replicas int64

	MonthlyAdditionalRequests *int64 `infracost_usage:"monthly_additional_requests"`
}

AppConfiguration struct represents an Azure App Configuration. App Configuration is a managed service that helps developers centralize their application configurations. It provides a service to store, manage, and access application configuration settings.

Resource information: https://azure.microsoft.com/en-us/products/app-configuration/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/app-configuration/

func (*AppConfiguration) BuildResource added in v0.10.35

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

BuildResource builds a schema.Resource from a valid AppConfiguration struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

BuildResource only returns cost components if the sku is not "free". "Standard" App Configuration instances are charged per instance and replica and per 10k requests over a daily 200k limit. However, we cannot compute the request count from the IaC code, so we rely on the user to provide the request count as a usage parameter. This usage parameter defines all total request made to the App Configuration instance and it's replicas in a month.

func (*AppConfiguration) CoreType added in v0.10.35

func (r *AppConfiguration) CoreType() string

CoreType returns the name of this resource type

func (*AppConfiguration) PopulateUsage added in v0.10.35

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

PopulateUsage parses the u schema.UsageData into the AppConfiguration. It uses the `infracost_usage` struct tags to populate data into the AppConfiguration.

func (*AppConfiguration) UsageSchema added in v0.10.35

func (r *AppConfiguration) UsageSchema() []*schema.UsageItem

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

type AppServiceCertificateBinding added in v0.9.23

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) CoreType added in v0.10.35

func (r *AppServiceCertificateBinding) CoreType() string

func (*AppServiceCertificateBinding) PopulateUsage added in v0.9.23

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

func (*AppServiceCertificateBinding) UsageSchema added in v0.10.35

func (r *AppServiceCertificateBinding) UsageSchema() []*schema.UsageItem

type AppServiceCertificateOrder added in v0.9.23

type AppServiceCertificateOrder struct {
	Address     string
	ProductType string
}

func (*AppServiceCertificateOrder) BuildResource added in v0.9.23

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

func (*AppServiceCertificateOrder) CoreType added in v0.10.35

func (r *AppServiceCertificateOrder) CoreType() string

func (*AppServiceCertificateOrder) PopulateUsage added in v0.9.23

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

func (*AppServiceCertificateOrder) UsageSchema added in v0.10.35

func (r *AppServiceCertificateOrder) UsageSchema() []*schema.UsageItem

type AppServiceCustomHostnameBinding added in v0.10.4

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) CoreType added in v0.10.35

func (*AppServiceCustomHostnameBinding) PopulateUsage added in v0.10.4

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

func (*AppServiceCustomHostnameBinding) UsageSchema added in v0.10.35

func (r *AppServiceCustomHostnameBinding) UsageSchema() []*schema.UsageItem

type AppServiceEnvironment added in v0.9.23

type AppServiceEnvironment struct {
	Address         string
	Region          string
	PricingTier     string
	OperatingSystem *string `infracost_usage:"operating_system"`
}

func (*AppServiceEnvironment) BuildResource added in v0.9.23

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

func (*AppServiceEnvironment) CoreType added in v0.10.35

func (r *AppServiceEnvironment) CoreType() string

func (*AppServiceEnvironment) PopulateUsage added in v0.9.23

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

func (*AppServiceEnvironment) UsageSchema added in v0.10.35

func (r *AppServiceEnvironment) UsageSchema() []*schema.UsageItem

type AppServicePlan added in v0.10.4

type AppServicePlan struct {
	Address     string
	SKUSize     string
	SKUCapacity int64
	Kind        string
	Region      string
}

func (*AppServicePlan) BuildResource added in v0.10.4

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

func (*AppServicePlan) CoreType added in v0.10.35

func (r *AppServicePlan) CoreType() string

func (*AppServicePlan) PopulateUsage added in v0.10.4

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

func (*AppServicePlan) UsageSchema added in v0.10.35

func (r *AppServicePlan) UsageSchema() []*schema.UsageItem

type ApplicationGateway added in v0.10.34

type ApplicationGateway struct {
	Address                string
	SKUName                string
	SKUCapacity            int64
	AutoscalingMinCapacity *int64
	Region                 string
	MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"`
	CapacityUnits          *int64   `infracost_usage:"capacity_units"`
}

func (*ApplicationGateway) BuildResource added in v0.10.34

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

func (*ApplicationGateway) CoreType added in v0.10.35

func (r *ApplicationGateway) CoreType() string

func (*ApplicationGateway) PopulateUsage added in v0.10.34

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

func (*ApplicationGateway) UsageSchema added in v0.10.35

func (r *ApplicationGateway) UsageSchema() []*schema.UsageItem

type ApplicationInsights added in v0.9.23

type ApplicationInsights struct {
	Address               string
	Region                string
	RetentionInDays       int64
	MonthlyDataIngestedGB *float64 `infracost_usage:"monthly_data_ingested_gb"`
}

func (*ApplicationInsights) BuildResource added in v0.9.23

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

func (*ApplicationInsights) CoreType added in v0.10.35

func (r *ApplicationInsights) CoreType() string

func (*ApplicationInsights) PopulateUsage added in v0.9.23

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

func (*ApplicationInsights) UsageSchema added in v0.10.35

func (r *ApplicationInsights) UsageSchema() []*schema.UsageItem

type ApplicationInsightsStandardWebTest added in v0.10.19

type ApplicationInsightsStandardWebTest struct {
	Address string
	Region  string

	Enabled   bool
	Frequency int64
}

ApplicationInsightsStandardWebTest struct represents an Application Insights Standard WebTest.

Resource information: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/application_insights_standard_web_test Pricing information: https://azure.microsoft.com/en-in/pricing/details/monitor/

func (*ApplicationInsightsStandardWebTest) BuildResource added in v0.10.19

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) CoreType added in v0.10.35

func (r *ApplicationInsightsWebTest) CoreType() string

func (*ApplicationInsightsWebTest) PopulateUsage added in v0.9.23

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

func (*ApplicationInsightsWebTest) UsageSchema added in v0.10.35

func (r *ApplicationInsightsWebTest) UsageSchema() []*schema.UsageItem

type AutomationAccount added in v0.9.23

type AutomationAccount struct {
	Address                 string
	Region                  string
	MonthlyJobRunMins       *int64 `infracost_usage:"monthly_job_run_mins"`
	NonAzureConfigNodeCount *int64 `infracost_usage:"non_azure_config_node_count"`
	MonthlyWatcherHrs       *int64 `infracost_usage:"monthly_watcher_hrs"`
}

func (*AutomationAccount) BuildResource added in v0.9.23

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

func (*AutomationAccount) CoreType added in v0.10.35

func (r *AutomationAccount) CoreType() string

func (*AutomationAccount) PopulateUsage added in v0.9.23

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

func (*AutomationAccount) UsageSchema added in v0.10.35

func (r *AutomationAccount) UsageSchema() []*schema.UsageItem

type AutomationDSCConfiguration added in v0.9.23

type AutomationDSCConfiguration struct {
	Address                 string
	Region                  string
	NonAzureConfigNodeCount *int64 `infracost_usage:"non_azure_config_node_count"`
}

func (*AutomationDSCConfiguration) BuildResource added in v0.9.23

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

func (*AutomationDSCConfiguration) CoreType added in v0.10.35

func (r *AutomationDSCConfiguration) CoreType() string

func (*AutomationDSCConfiguration) PopulateUsage added in v0.9.23

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

func (*AutomationDSCConfiguration) UsageSchema added in v0.10.35

func (r *AutomationDSCConfiguration) UsageSchema() []*schema.UsageItem

type AutomationDSCNodeConfiguration added in v0.9.23

type AutomationDSCNodeConfiguration struct {
	Address string
	Region  string

	NonAzureConfigNodeCount *int64 `infracost_usage:"non_azure_config_node_count"`
}

func (*AutomationDSCNodeConfiguration) BuildResource added in v0.9.23

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

func (*AutomationDSCNodeConfiguration) CoreType added in v0.10.35

func (r *AutomationDSCNodeConfiguration) CoreType() string

func (*AutomationDSCNodeConfiguration) PopulateUsage added in v0.9.23

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

func (*AutomationDSCNodeConfiguration) UsageSchema added in v0.10.35

func (r *AutomationDSCNodeConfiguration) UsageSchema() []*schema.UsageItem

type AutomationJobSchedule added in v0.9.23

type AutomationJobSchedule struct {
	Address           string
	Region            string
	MonthlyJobRunMins *int64 `infracost_usage:"monthly_job_run_mins"`
}

func (*AutomationJobSchedule) BuildResource added in v0.9.23

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

func (*AutomationJobSchedule) CoreType added in v0.10.35

func (r *AutomationJobSchedule) CoreType() string

func (*AutomationJobSchedule) PopulateUsage added in v0.9.23

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

func (*AutomationJobSchedule) UsageSchema added in v0.10.35

func (r *AutomationJobSchedule) UsageSchema() []*schema.UsageItem

type BackupProtectedVM added in v0.10.19

type BackupProtectedVM struct {
	Address     string
	Region      string
	StorageType string
	DiskSizeGB  float64

	// DiskUtilizationGB is an override that allows users to specify how much
	// data is actually stored on the VM and will be stored in the vault. By
	// default, we assume that the total VM storage capacity will be backed up.
	DiskUtilizationGB *float64 `infracost_usage:"disk_utilization_gb"`
	// AdditionalBackupRetentionGB allows user sto specify how much additional monthly data
	// is stored in the parent vault because of daily/monthly/yearly retention policies.
	// Azure Backup uses incremental backups, which means that after the initial full backup,
	// it only stores the changes made to the data since the last backup.
	//
	// In the future, it might be better to switch this to a percentage which can be used as daily churn of
	// data from the parent vault. We can then infer the data stored using azurerm_backup_policy_vm and the disk
	// utilization. However, attempts were done when initially writing this mapping, and it proved hard to match
	// up to the exact churn & estimated storage that the azure pricing calculator shows.
	AdditionalBackupRetentionGB *float64 `infracost_usage:"additional_backup_retention_gb"`
}

BackupProtectedVM struct represents a backup for a given VM into a recovery services vault.

Backup information: https://learn.microsoft.com/en-us/azure/backup/backup-overview Resource information: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/backup_policy_vm Pricing information: https://azure.microsoft.com/en-gb/pricing/details/backup/

func (*BackupProtectedVM) BuildResource added in v0.10.19

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

BuildResource builds a schema.Resource from a valid BackupProtectedVM struct.

BackupProtectedVM is charged for the backup data stored for the protected VM:

Firstly, the backup is charged a flat monthly fee for the size of the VM that it is backing up:

Instance < or = 50 GB 	$5 + storage consumed
Instance is > 50 GB but < or = 500 GB 	$10 + storage consumed
Instance is > 500 GB 	$10 for each 500 GB increment + storage consumed

Then BackupProtectedVM is charged per GB of data stored in the parent recovery service vault. This depends on the amount of data stored within the vault and the type of storage that the vault uses, e.g. LRS vs GRS.

func (*BackupProtectedVM) CoreType added in v0.10.19

func (r *BackupProtectedVM) CoreType() string

func (*BackupProtectedVM) PopulateUsage added in v0.10.19

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

PopulateUsage parses the u schema.UsageData into the BackupProtectedVM.

This method is normally called from the parent RecoveryServicesVault.PopulateUsage method.

func (*BackupProtectedVM) UsageSchema added in v0.10.19

func (r *BackupProtectedVM) UsageSchema() []*schema.UsageItem

type BastionHost added in v0.10.34

type BastionHost struct {
	Address               string
	Region                string
	MonthlyOutboundDataGB *float64 `infracost_usage:"monthly_outbound_data_gb"`
}

func (*BastionHost) BuildResource added in v0.10.34

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

func (*BastionHost) CoreType added in v0.10.35

func (r *BastionHost) CoreType() string

func (*BastionHost) PopulateUsage added in v0.10.34

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

func (*BastionHost) UsageSchema added in v0.10.35

func (r *BastionHost) UsageSchema() []*schema.UsageItem

type CognitiveAccountLUIS added in v0.10.35

type CognitiveAccountLUIS struct {
	Address string
	Region  string

	Sku string

	MonthlyLUISTextRequests                                    *int64 `infracost_usage:"monthly_luis_text_requests"`
	MonthlyLUISSpeechRequests                                  *int64 `infracost_usage:"monthly_luis_speech_requests"`
	MonthlyCommitmentLUISTextRequests                          *int64 `infracost_usage:"monthly_commitment_luis_text_requests"`
	MonthlyCommitmentLUISTextOverageRequests                   *int64 `infracost_usage:"monthly_commitment_luis_text_overage_requests"`
	MonthlyConnectedContainerCommitmentLUISTextRequests        *int64 `infracost_usage:"monthly_connected_container_commitment_luis_text_requests"`
	MonthlyConnectedContainerCommitmentLUISTextOverageRequests *int64 `infracost_usage:"monthly_connected_container_commitment_luis_text_overage_requests"`
}

CognitiveAccountSpeech struct represents the Azure LUIS AI resource. This supports the pay-as-you pricing and the standard and connected container commitment tiers. This doesn't currently support the disconnected container commitment tier.

The commitment tiers are implemented using a usage-based cost component for the commitment amount. Since multiple commitment tiers can be used at the same time, we use separate usage-based cost components for each commitment tier and overage, instead of using the same cost component as the pay-as-you-go pricing.

Resource information: https://learn.microsoft.com/en-us/azure/ai-services/luis/what-is-luis Pricing information: https://azure.microsoft.com/en-gb/pricing/details/cognitive-services/language-understanding-intelligent-services/

func (*CognitiveAccountLUIS) BuildResource added in v0.10.35

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

BuildResource builds a schema.Resource from a valid CognitiveAccountLUIS struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*CognitiveAccountLUIS) CoreType added in v0.10.35

func (r *CognitiveAccountLUIS) CoreType() string

// CoreType returns the name of this resource type

func (*CognitiveAccountLUIS) PopulateUsage added in v0.10.35

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

PopulateUsage parses the u schema.UsageData into the CognitiveAccountLUIS. It uses the `infracost_usage` struct tags to populate data into the CognitiveAccountLUIS.

func (*CognitiveAccountLUIS) UsageSchema added in v0.10.35

func (r *CognitiveAccountLUIS) UsageSchema() []*schema.UsageItem

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

type CognitiveAccountLanguage added in v0.10.35

type CognitiveAccountLanguage struct {
	Address string
	Region  string

	Sku string

	MonthlyLanguageTextAnalyticsRecords *int64 `infracost_usage:"monthly_language_text_analytics_records"`
	MonthlyLanguageSummarizationRecords *int64 `infracost_usage:"monthly_language_summarization_records"`

	MonthlyLanguageConversationalLanguageUnderstandingRecords               *int64   `infracost_usage:"monthly_language_conversational_language_understanding_records"`
	MonthlyLanguageConversationalLanguageUnderstandingAdvancedTrainingHours *float64 `infracost_usage:"monthly_language_conversational_language_understanding_advanced_training_hours"`
	MonthlyLanguageCustomizedTextClassificationRecords                      *int64   `infracost_usage:"monthly_language_customized_text_classification_records"`
	MonthlyLanguageCustomizedSummarizationRecords                           *int64   `infracost_usage:"monthly_language_customized_summarization_records"`
	MonthlyLanguageCustomizedQuestionAnsweringRecords                       *int64   `infracost_usage:"monthly_language_customized_question_answering_records"`
	MonthlyLanguageCustomizedTrainingHours                                  *float64 `infracost_usage:"monthly_language_customized_training_hours"`
	MonthlyLanguageTextAnalyticsForHealthRecords                            *int64   `infracost_usage:"monthly_language_text_analytics_for_health_records"`

	// Commitment tiers
	MonthlyCommitmentLanguageTextAnalyticsRecords                          *int64 `infracost_usage:"monthly_commitment_language_text_analytics_records"`
	MonthlyCommitmentLanguageTextAnalyticsOverageRecords                   *int64 `infracost_usage:"monthly_commitment_language_text_analytics_overage_records"`
	MonthlyCommitmentLanguageSummarizationRecords                          *int64 `infracost_usage:"monthly_commitment_language_summarization_records"`
	MonthlyCommitmentLanguageSummarizationOverageRecords                   *int64 `infracost_usage:"monthly_commitment_language_summarization_overage_records"`
	MonthlyConnectedContainerCommitmentLanguageTextAnalyticsRecords        *int64 `infracost_usage:"monthly_connected_container_commitment_language_text_analytics_records"`
	MonthlyConnectedContainerCommitmentLanguageTextAnalyticsOverageRecords *int64 `infracost_usage:"monthly_connected_container_commitment_language_text_analytics_overage_records"`
	MonthlyConnectedContainerCommitmentLanguageSummarizationRecords        *int64 `infracost_usage:"monthly_connected_container_commitment_language_summarization_records"`
	MonthlyConnectedContainerCommitmentLanguageSummarizationOverageRecords *int64 `infracost_usage:"monthly_connected_container_commitment_language_summarization_overage_records"`
}

CognitiveAccountSpeech struct represents the Azure AI Language Service. This supports the pay-as-you pricing and the standard and connected container commitment tiers. This doesn't currently support the disconnected container commitment tier.

The commitment tiers are implemented using a usage-based cost component for the commitment amount. Since multiple commitment tiers can be used at the same time, we use separate usage-based cost components for each commitment tier and overage, instead of using the same cost component as the pay-as-you-go pricing.

Resource information: https://learn.microsoft.com/en-us/azure/ai-services/language-service/overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/cognitive-services/language-service/

func (*CognitiveAccountLanguage) BuildResource added in v0.10.35

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

BuildResource builds a schema.Resource from a valid CognitiveAccountLanguage struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*CognitiveAccountLanguage) CoreType added in v0.10.35

func (r *CognitiveAccountLanguage) CoreType() string

// CoreType returns the name of this resource type

func (*CognitiveAccountLanguage) PopulateUsage added in v0.10.35

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

PopulateUsage parses the u schema.UsageData into the CognitiveAccountLanguage. It uses the `infracost_usage` struct tags to populate data into the CognitiveAccountLanguage.

func (*CognitiveAccountLanguage) UsageSchema added in v0.10.35

func (r *CognitiveAccountLanguage) UsageSchema() []*schema.UsageItem

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

type CognitiveAccountSpeech added in v0.10.35

type CognitiveAccountSpeech struct {
	Address string
	Region  string

	Sku string

	// Speech to text
	MonthlySpeechToTextStandardHrs                                   *float64 `infracost_usage:"monthly_speech_to_text_standard_hrs"`
	MonthlySpeechToTextBatchHrs                                      *float64 `infracost_usage:"monthly_speech_to_text_standard_batch_hrs"`
	MonthlySpeechToTextCustomModelHrs                                *float64 `infracost_usage:"monthly_speech_to_text_custom_hrs"`
	MonthlySpeechToTextCustomModelBatchHrs                           *float64 `infracost_usage:"monthly_speech_to_text_custom_batch_hrs"`
	MonthlySpeechToTextCustomEndpointHrs                             *float64 `infracost_usage:"monthly_speech_to_text_custom_endpoint_hrs"`
	MonthlySpeechToTextConversationTranscriptionMultiChannelAudioHrs *float64 `infracost_usage:"monthly_speech_to_text_conversation_transcription_multi_channel_audio_hrs"`
	MonthlySpeechToTextCustomTrainingHrs                             *float64 `infracost_usage:"monthly_speech_to_text_custom_training_hrs"`
	MonthlySpeechToTextEnhancedAddOnsHrs                             *float64 `infracost_usage:"monthly_speech_to_text_enhanced_add_ons_hrs"`

	// Text to speech
	MonthlyTextToSpeechNeuralChars             *int64   `infracost_usage:"monthly_text_to_speech_neural_chars"`
	MonthlyTextToSpeechCustomNeuralTrainingHrs *float64 `infracost_usage:"monthly_text_to_speech_custom_neural_training_hrs"`
	MonthlyTextToSpeechCustomNeuralChars       *int64   `infracost_usage:"monthly_text_to_speech_custom_neural_chars"`
	MonthlyTextToSpeechCustomNeuralEndpointHrs *float64 `infracost_usage:"monthly_text_to_speech_custom_neural_endpoint_hrs"`
	MonthlyTextToSpeechLongAudioChars          *int64   `infracost_usage:"monthly_text_to_speech_long_audio_chars"`
	MonthlyTextToSpeechPersonalVoiceProfiles   *int64   `infracost_usage:"monthly_text_to_speech_personal_voice_profiles"`
	MonthlyTextToSpeechPersonalVoiceChars      *int64   `infracost_usage:"monthly_text_to_speech_personal_voice_chars"`

	// Speech translation
	MonthlySpeechTranslationHrs *float64 `infracost_usage:"monthly_speech_translation_hrs"`

	// Speaker recognition
	MonthlySpeakerVerificationTransactions   *int64 `infracost_usage:"monthly_speaker_verification_transactions"`
	MonthlySpeakerIdentificationTransactions *int64 `infracost_usage:"monthly_speaker_identification_transactions"`

	// Voice storage
	MonthlyVoiceProfiles *int64 `infracost_usage:"monthly_voice_profiles"`

	// Standard commitment tier
	MonthlyCommitmentSpeechToTextHrs                      *int64   `infracost_usage:"monthly_commitment_speech_to_text_standard_hrs"`
	MonthlyCommitmentSpeechToTextOverageHrs               *float64 `infracost_usage:"monthly_commitment_speech_to_text_standard_overage_hrs"`
	MonthlyCommitmentSpeechToTextCustomModelHrs           *int64   `infracost_usage:"monthly_commitment_speech_to_text_custom_hrs"`
	MonthlyCommitmentSpeechToTextCustomModelOverageHrs    *float64 `infracost_usage:"monthly_commitment_speech_to_text_custom_overage_hrs"`
	MonthlyCommitmentSpeechToTextEnhancedAddOnsHrs        *int64   `infracost_usage:"monthly_commitment_speech_to_text_enhanced_add_ons_hrs"`
	MonthlyCommitmentSpeechToTextEnhancedAddOnsOverageHrs *float64 `infracost_usage:"monthly_commitment_speech_to_text_enhanced_add_ons_overage_hrs"`
	MonthlyCommitmentTextToSpeechNeuralCommitmentChars    *int64   `infracost_usage:"monthly_commitment_text_to_speech_neural_commitment_chars"`
	MonthlyCommitmentTextToSpeechNeuralOverageChars       *int64   `infracost_usage:"monthly_commitment_text_to_speech_neural_overage_chars"`

	// Connected container
	MonthlyConnectedContainerCommitmentSpeechToTextHrs                      *int64   `infracost_usage:"monthly_connected_container_commitment_speech_to_text_standard_hrs"`
	MonthlyConnectedContainerCommitmentSpeechToTextOverageHrs               *float64 `infracost_usage:"monthly_connected_container_commitment_speech_to_text_standard_overage_hrs"`
	MonthlyConnectedContainerCommitmentSpeechToTextCustomModelHrs           *int64   `infracost_usage:"monthly_connected_container_commitment_speech_to_text_custom_hrs"`
	MonthlyConnectedContainerCommitmentSpeechToTextCustomModelOverageHrs    *float64 `infracost_usage:"monthly_connected_container_commitment_speech_to_text_custom_overage_hrs"`
	MonthlyConnectedContainerCommitmentSpeechToTextEnhancedAddOnsHrs        *int64   `infracost_usage:"monthly_connected_container_commitment_speech_to_text_enhanced_add_ons_hrs"`
	MonthlyConnectedContainerCommitmentSpeechToTextEnhancedAddOnsOverageHrs *float64 `infracost_usage:"monthly_connected_container_commitment_speech_to_text_enhanced_add_ons_overage_hrs"`
	MonthlyConnectedContainerCommitmentTextToSpeechNeuralCommitmentChars    *int64   `infracost_usage:"monthly_connected_container_commitment_text_to_speech_neural_commitment_chars"`
	MonthlyConnectedContainerCommitmentTextToSpeechNeuralOverageChars       *int64   `infracost_usage:"monthly_connected_container_commitment_text_to_speech_neural_overage_chars"`
}

CognitiveAccountSpeech struct represents the Azure Speech AI resource. This supports the pay-as-you pricing and the standard and connected container commitment tiers. This doesn't currently support the disconnected container commitment tier.

The commitment tiers are implemented using a usage-based cost component for the commitment amount. Since multiple commitment tiers can be used at the same time, we use separate usage-based cost components for each commitment tier and overage, instead of using the same cost component as the pay-as-you-go pricing.

Resource information:https://azure.microsoft.com/en-us/products/ai-services/ai-speech Pricing information: https://azure.microsoft.com/en-gb/pricing/details/cognitive-services/speech-services/

func (*CognitiveAccountSpeech) BuildResource added in v0.10.35

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

BuildResource builds a schema.Resource from a valid CognitiveAccountSpeech struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*CognitiveAccountSpeech) CoreType added in v0.10.35

func (r *CognitiveAccountSpeech) CoreType() string

// CoreType returns the name of this resource type

func (*CognitiveAccountSpeech) PopulateUsage added in v0.10.35

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

PopulateUsage parses the u schema.UsageData into the CognitiveAccountSpeech. It uses the `infracost_usage` struct tags to populate data into the CognitiveAccountSpeech.

func (*CognitiveAccountSpeech) UsageSchema added in v0.10.35

func (r *CognitiveAccountSpeech) UsageSchema() []*schema.UsageItem

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

type CognitiveDeployment added in v0.10.35

type CognitiveDeployment struct {
	Address string
	Region  string
	Model   string
	Version string
	Tier    string

	// Usage-based attributes
	MonthlyLanguageInputTokens     *int64   `infracost_usage:"monthly_language_input_tokens"`
	MonthlyLanguageOutputTokens    *int64   `infracost_usage:"monthly_language_output_tokens"`
	MonthlyCodeInterpreterSessions *int64   `infracost_usage:"monthly_code_interpreter_sessions"`
	MonthlyBaseModelTokens         *int64   `infracost_usage:"monthly_base_model_tokens"`
	MonthlyFineTuningTrainingHours *float64 `infracost_usage:"monthly_fine_tuning_training_hours"`
	MonthlyFineTuningHostingHours  *float64 `infracost_usage:"monthly_fine_tuning_hosting_hours"`
	MonthlyFineTuningInputTokens   *int64   `infracost_usage:"monthly_fine_tuning_input_tokens"`
	MonthlyFineTuningOutputTokens  *int64   `infracost_usage:"monthly_fine_tuning_output_tokens"`
	MonthlyStandard10241024Images  *int64   `infracost_usage:"monthly_standard_1024_1024_images"`
	MonthlyStandard10241792Images  *int64   `infracost_usage:"monthly_standard_1024_1792_images"`
	MonthlyHD10241024Images        *int64   `infracost_usage:"monthly_hd_1024_1024_images"`
	MonthlyHD10241792Images        *int64   `infracost_usage:"monthly_hd_1024_1792_images"`
	MonthlyTextEmbeddingTokens     *int64   `infracost_usage:"monthly_text_embedding_tokens"`
	MonthlyTextToSpeechCharacters  *int64   `infracost_usage:"monthly_text_to_speech_characters"`
	MonthlyTextToSpeechHours       *float64 `infracost_usage:"monthly_text_to_speech_hours"`
}

CognitiveDeployment struct represents an Azure OpenAI Deployment.

Since the availability of models is very different across different regions we ignore any cost components that we don't have a price for. This is done by setting the `IgnoreIfMissingPrice` field to true. See the following URL for more information on different model availability in different regions: https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models#standard-deployment-model-availability

This only supports Pay-As-You-Go pricing tier, currently since Azure doesn't provide pricing for their Provisioned Throughput Units.

This also doesn't support some models that have been deprecated by Azure. See the below for information on those resources: https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/legacy-models

Resource information: https://azure.microsoft.com/en-gb/products/ai-services/openai-service Pricing information: https://azure.microsoft.com/en-gb/pricing/details/cognitive-services/openai-service/

func (*CognitiveDeployment) BuildResource added in v0.10.35

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

BuildResource builds a schema.Resource from a valid CognitiveDeployment struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*CognitiveDeployment) CoreType added in v0.10.35

func (r *CognitiveDeployment) CoreType() string

CoreType returns the name of this resource type

func (*CognitiveDeployment) PopulateUsage added in v0.10.35

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

PopulateUsage parses the u schema.UsageData into the CognitiveDeployment. It uses the `infracost_usage` struct tags to populate data into the CognitiveDeployment.

func (*CognitiveDeployment) UsageSchema added in v0.10.35

func (r *CognitiveDeployment) UsageSchema() []*schema.UsageItem

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

type ContainerRegistry added in v0.10.4

type ContainerRegistry struct {
	Address                 string
	GeoReplicationLocations int
	Region                  string
	SKU                     string
	StorageGB               *float64 `infracost_usage:"storage_gb"`
	MonthlyBuildVCPUHrs     *float64 `infracost_usage:"monthly_build_vcpu_hrs"`
}

func (*ContainerRegistry) BuildResource added in v0.10.4

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

func (*ContainerRegistry) CoreType added in v0.10.35

func (r *ContainerRegistry) CoreType() string

func (*ContainerRegistry) PopulateUsage added in v0.10.4

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

func (*ContainerRegistry) UsageSchema added in v0.10.35

func (r *ContainerRegistry) UsageSchema() []*schema.UsageItem

type DNSAAAARecord added in v0.10.4

type DNSAAAARecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*DNSAAAARecord) BuildResource added in v0.10.4

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

func (*DNSAAAARecord) CoreType added in v0.10.35

func (r *DNSAAAARecord) CoreType() string

func (*DNSAAAARecord) PopulateUsage added in v0.10.4

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

func (*DNSAAAARecord) UsageSchema added in v0.10.35

func (r *DNSAAAARecord) UsageSchema() []*schema.UsageItem

type DNSARecord added in v0.10.4

type DNSARecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*DNSARecord) BuildResource added in v0.10.4

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

func (*DNSARecord) CoreType added in v0.10.35

func (r *DNSARecord) CoreType() string

func (*DNSARecord) PopulateUsage added in v0.10.4

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

func (*DNSARecord) UsageSchema added in v0.10.35

func (r *DNSARecord) UsageSchema() []*schema.UsageItem

type DNSCAARecord added in v0.10.4

type DNSCAARecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*DNSCAARecord) BuildResource added in v0.10.4

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

func (*DNSCAARecord) CoreType added in v0.10.35

func (r *DNSCAARecord) CoreType() string

func (*DNSCAARecord) PopulateUsage added in v0.10.4

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

func (*DNSCAARecord) UsageSchema added in v0.10.35

func (r *DNSCAARecord) UsageSchema() []*schema.UsageItem

type DNSCNameRecord added in v0.10.4

type DNSCNameRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*DNSCNameRecord) BuildResource added in v0.10.4

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

func (*DNSCNameRecord) CoreType added in v0.10.35

func (r *DNSCNameRecord) CoreType() string

func (*DNSCNameRecord) PopulateUsage added in v0.10.4

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

func (*DNSCNameRecord) UsageSchema added in v0.10.35

func (r *DNSCNameRecord) UsageSchema() []*schema.UsageItem

type DNSMXRecord added in v0.10.4

type DNSMXRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*DNSMXRecord) BuildResource added in v0.10.4

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

func (*DNSMXRecord) CoreType added in v0.10.35

func (r *DNSMXRecord) CoreType() string

func (*DNSMXRecord) PopulateUsage added in v0.10.4

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

func (*DNSMXRecord) UsageSchema added in v0.10.35

func (r *DNSMXRecord) UsageSchema() []*schema.UsageItem

type DNSNSRecord added in v0.10.4

type DNSNSRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*DNSNSRecord) BuildResource added in v0.10.4

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

func (*DNSNSRecord) CoreType added in v0.10.35

func (r *DNSNSRecord) CoreType() string

func (*DNSNSRecord) PopulateUsage added in v0.10.4

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

func (*DNSNSRecord) UsageSchema added in v0.10.35

func (r *DNSNSRecord) UsageSchema() []*schema.UsageItem

type DNSPtrRecord added in v0.10.4

type DNSPtrRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*DNSPtrRecord) BuildResource added in v0.10.4

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

func (*DNSPtrRecord) CoreType added in v0.10.35

func (r *DNSPtrRecord) CoreType() string

func (*DNSPtrRecord) PopulateUsage added in v0.10.4

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

func (*DNSPtrRecord) UsageSchema added in v0.10.35

func (r *DNSPtrRecord) UsageSchema() []*schema.UsageItem

type DNSSrvRecord added in v0.10.4

type DNSSrvRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*DNSSrvRecord) BuildResource added in v0.10.4

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

func (*DNSSrvRecord) CoreType added in v0.10.35

func (r *DNSSrvRecord) CoreType() string

func (*DNSSrvRecord) PopulateUsage added in v0.10.4

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

func (*DNSSrvRecord) UsageSchema added in v0.10.35

func (r *DNSSrvRecord) UsageSchema() []*schema.UsageItem

type DNSTxtRecord added in v0.10.4

type DNSTxtRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*DNSTxtRecord) BuildResource added in v0.10.4

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

func (*DNSTxtRecord) CoreType added in v0.10.35

func (r *DNSTxtRecord) CoreType() string

func (*DNSTxtRecord) PopulateUsage added in v0.10.4

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

func (*DNSTxtRecord) UsageSchema added in v0.10.35

func (r *DNSTxtRecord) UsageSchema() []*schema.UsageItem

type DNSZone added in v0.10.34

type DNSZone struct {
	Address string
	Region  string
}

func (*DNSZone) BuildResource added in v0.10.34

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

func (*DNSZone) CoreType added in v0.10.35

func (r *DNSZone) CoreType() string

func (*DNSZone) PopulateUsage added in v0.10.34

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

func (*DNSZone) UsageSchema added in v0.10.35

func (r *DNSZone) UsageSchema() []*schema.UsageItem

type DataFactory added in v0.9.22

type DataFactory struct {
	Address string
	Region  string

	// "usage" args
	MonthlyReadWriteOperationEntities  *int64 `infracost_usage:"monthly_read_write_operation_entities"`
	MonthlyMonitoringOperationEntities *int64 `infracost_usage:"monthly_monitoring_operation_entities"`
}

DataFactory struct represents Azure Data Factory resource.

Resource information: https://azure.microsoft.com/en-us/services/data-factory/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/data-factory/data-pipeline/

func (*DataFactory) BuildResource added in v0.9.22

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

BuildResource builds a schema.Resource from a valid DataFactory struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*DataFactory) CoreType added in v0.10.35

func (r *DataFactory) CoreType() string

func (*DataFactory) PopulateUsage added in v0.9.22

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

PopulateUsage parses the u schema.UsageData into the DataFactory. It uses the `infracost_usage` struct tags to populate data into the DataFactory.

func (*DataFactory) UsageSchema added in v0.10.35

func (r *DataFactory) UsageSchema() []*schema.UsageItem

type DataFactoryIntegrationRuntimeAzure added in v0.9.22

type DataFactoryIntegrationRuntimeAzure struct {
	Address string
	Region  string

	Cores       int64
	ComputeType string

	// "usage" args
	MonthlyOrchestrationRuns *int64 `infracost_usage:"monthly_orchestration_runs"`
}

DataFactoryIntegrationRuntimeAzure struct represents Azure Data Factory's runtime flow.

Resource information: https://azure.microsoft.com/en-us/services/data-factory/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/data-factory/data-pipeline/

func (*DataFactoryIntegrationRuntimeAzure) BuildResource added in v0.9.22

BuildResource builds a schema.Resource from a valid DataFactoryIntegrationRuntimeAzure struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*DataFactoryIntegrationRuntimeAzure) CoreType added in v0.10.35

func (*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.

func (*DataFactoryIntegrationRuntimeAzure) UsageSchema added in v0.10.35

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) CoreType added in v0.10.35

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.

func (*DataFactoryIntegrationRuntimeAzureSSIS) UsageSchema added in v0.10.35

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) CoreType added in v0.10.35

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.

func (*DataFactoryIntegrationRuntimeManaged) UsageSchema added in v0.10.35

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) CoreType added in v0.10.35

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.

func (*DataFactoryIntegrationRuntimeSelfHosted) UsageSchema added in v0.10.35

type DatabricksWorkspace added in v0.10.4

type DatabricksWorkspace struct {
	Address                        string
	Region                         string
	SKU                            string
	MonthlyAllPurposeComputeDBUHrs *int64 `infracost_usage:"monthly_all_purpose_compute_dbu_hrs"`
	MonthlyJobsComputeDBUHrs       *int64 `infracost_usage:"monthly_jobs_compute_dbu_hrs"`
	MonthlyJobsLightComputeDBUHrs  *int64 `infracost_usage:"monthly_jobs_light_compute_dbu_hrs"`
}

func (*DatabricksWorkspace) BuildResource added in v0.10.4

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

func (*DatabricksWorkspace) CoreType added in v0.10.35

func (r *DatabricksWorkspace) CoreType() string

func (*DatabricksWorkspace) PopulateUsage added in v0.10.4

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

func (*DatabricksWorkspace) UsageSchema added in v0.10.35

func (r *DatabricksWorkspace) UsageSchema() []*schema.UsageItem

type EventGridTopic added in v0.10.21

type EventGridTopic struct {
	Address           string
	Region            string
	MonthlyOperations *float64 `infracost_usage:"monthly_operations"`
}

EventGridTopic struct represents an Azure Event Grid Topic, a fully managed event routing service that simplifies the process of creating and managing event-driven applications.

Azure Event Grid allows you to build reactive applications by reacting to events from various Azure services, custom sources, or on-premises infrastructure.

EventGridTopic is used for both System (azurerm_eventgrid_system_topic) and Custom (azurerm_eventgrid_topic) topics.

System Topics are predefined, multi-tenant topics that are built-in to Azure services and emit events directly from the service. Custom Topics are application and solution-specific topics that you define for your own applications to publish events to.

For more information about Azure Event Grid System Topics and pricing, refer to the following links:

System topic information: https://docs.microsoft.com/en-us/azure/event-grid/system-topics Custom topic information: https://learn.microsoft.com/en-us/azure/event-grid/custom-topics Pricing information: https://azure.microsoft.com/en-us/pricing/details/event-grid/

func (*EventGridTopic) BuildResource added in v0.10.21

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

BuildResource builds a schema.Resource from a valid EventGridTopic struct. This method is called after the resource is initialized by an IAC provider. See providers folder for more information.

The returned resource includes a CostComponent for Event Grid operations, taking into account the user's specified number of monthly operations. Azure Event Grid pricing is based on the number of operations, where each operation is defined as an event ingress, delivery attempt, or management call. The pricing is tiered, with the first 100,000 operations free, and then billed per 100k operations thereafter.

Note: The pricing page for Azure Event Grid mistakenly describes that it is billed per million operations. This is incorrect and has been verified by the https://azure.microsoft.com/en-us/pricing/calculator/ and information in the cloud pricing API.

func (*EventGridTopic) CoreType added in v0.10.21

func (r *EventGridTopic) CoreType() string

CoreType returns the name of this resource type

func (*EventGridTopic) PopulateUsage added in v0.10.21

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

PopulateUsage parses the u schema.UsageData into the EventGridTopic. It uses the `infracost_usage` struct tags to populate data into the EventGridTopic.

func (*EventGridTopic) UsageSchema added in v0.10.21

func (r *EventGridTopic) UsageSchema() []*schema.UsageItem

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

type ExpressRouteConnection added in v0.9.15

type ExpressRouteConnection struct {
	// Address is the unique name of the resource in the IAC language.
	Address string
	// Region is the azure region the ExpressRouteConnection is provisioned within.
	Region string
}

ExpressRouteConnection represents an Express Route Gateway connection, which is a billable component of ExpressRouteGateway. See ExpressRouteGateway for more information.

More resource information here: https://docs.microsoft.com/en-us/azure/virtual-wan/virtual-wan-about Pricing information here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/

func (*ExpressRouteConnection) BuildResource added in v0.9.15

func (e *ExpressRouteConnection) BuildResource() *schema.Resource

BuildResource builds a schema.Resource from a valid ExpressRouteConnection. It returns a ExpressRouteConnection as a schema.Resource with a single cost component representing the connection unit. The hourly quantity is set to 1 as ExpressRouteConnection represents a single connection unit.

This method is called after the resource is initialised by an iac provider. See providers folder for more information.

func (*ExpressRouteConnection) CoreType added in v0.10.35

func (e *ExpressRouteConnection) CoreType() string

func (*ExpressRouteConnection) PopulateUsage added in v0.9.15

func (e *ExpressRouteConnection) PopulateUsage(u *schema.UsageData)

PopulateUsage parses the u schema.UsageData into the ExpressRouteConnection. It uses the `infracost_usage` struct tags to populate data into the ExpressRouteConnection.

func (*ExpressRouteConnection) UsageSchema added in v0.10.35

func (e *ExpressRouteConnection) UsageSchema() []*schema.UsageItem

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

type ExpressRouteGateway added in v0.9.15

type ExpressRouteGateway struct {
	// Address is the unique name of the resource in the IAC language.
	Address string
	// Region is the azure region the VPNGateway is provisioned within.
	Region string
	// ScaleUnits represents a unit defined to pick an aggregate throughput of a gateway in Virtual hub.
	// 1 scale unit of ExpressRoute = 2 Gbps.
	ScaleUnits int64
}

ExpressRouteGateway is a Virtual WAN gateway that provides direct connectivity to Azure cloud services. All transferred data is not encrypted, and do not go over the public Internet.

More resource information here: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-about-virtual-network-gateways Pricing information here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/

func (*ExpressRouteGateway) BuildResource added in v0.9.15

func (e *ExpressRouteGateway) BuildResource() *schema.Resource

BuildResource builds a schema.Resource from a valid ExpressRouteGateway. It returns ExpressRouteGateway with a single cost component "ER scale units". See more about scale units reading ExpressRouteGateway.ScaleUnits.

This method is called after the resource is initialised by an iac provider. See providers folder for more information.

func (*ExpressRouteGateway) CoreType added in v0.10.35

func (e *ExpressRouteGateway) CoreType() string

func (*ExpressRouteGateway) PopulateUsage added in v0.9.15

func (e *ExpressRouteGateway) PopulateUsage(u *schema.UsageData)

PopulateUsage parses the u schema.UsageData into the ExpressRouteGateway. It uses the `infracost_usage` struct tags to populate data into the ExpressRouteGateway.

func (*ExpressRouteGateway) UsageSchema added in v0.10.35

func (e *ExpressRouteGateway) UsageSchema() []*schema.UsageItem

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

type FederatedIdentityCredential added in v0.10.35

type FederatedIdentityCredential struct {
	Address string
	Region  string

	MonthlyActiveP1Users *int64 `infracost_usage:"monthly_active_p1_users"`
	MonthlyActiveP2Users *int64 `infracost_usage:"monthly_active_p2_users"`
}

FederatedIdentityCredential struct represents an Azure Federated Identity Credential. are a new type of credential that enables workload identity federation for software workloads. Workload identity federation allows you to access Microsoft Entra protected resources without needing to manage secrets (for supported scenarios).

Resource information: https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0 Pricing information: https://azure.microsoft.com/en-us/pricing/details/active-directory-external-identities/

func (*FederatedIdentityCredential) BuildResource added in v0.10.35

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

BuildResource builds a schema.Resource from a valid FederatedIdentityCredential struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

BuildResource returns cost components for the monthly active users for both P1 and P2 licence types for Microsoft Entra. It is not possible to infer the licence type from the IaC code, so we rely on the user to provide the monthly active users for each licence type as a usage parameter. The resource can not have both P1 and P2 licence types at the same time, so we check which one is set and return the cost component for that licence type.

func (*FederatedIdentityCredential) CoreType added in v0.10.35

func (r *FederatedIdentityCredential) CoreType() string

CoreType returns the name of this resource type

func (*FederatedIdentityCredential) PopulateUsage added in v0.10.35

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

PopulateUsage parses the u schema.UsageData into the FederatedIdentityCredential. It uses the `infracost_usage` struct tags to populate data into the FederatedIdentityCredential.

func (*FederatedIdentityCredential) UsageSchema added in v0.10.35

func (r *FederatedIdentityCredential) UsageSchema() []*schema.UsageItem

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

type Frontdoor

type Frontdoor struct {
	Address string
	Region  string

	FrontendHosts int
	RoutingRules  int

	// "usage" args
	MonthlyInboundDataTransferGB  *float64                            `infracost_usage:"monthly_inbound_data_transfer_gb"`
	MonthlyOutboundDataTransferGB *frontdoorOutboundDataTransferUsage `infracost_usage:"monthly_outbound_data_transfer_gb"`
}

Frontdoor struct represents Azure's Front Door network service.

More resource information here: https://docs.microsoft.com/en-us/azure/frontdoor/front-door-overview Pricing information here: https://azure.microsoft.com/en-us/pricing/details/frontdoor/ (Azure Front Door tab)

func (*Frontdoor) BuildResource

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) CoreType added in v0.10.35

func (r *Frontdoor) CoreType() string

CoreType returns the name of this resource type

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.

func (*Frontdoor) UsageSchema added in v0.10.35

func (r *Frontdoor) UsageSchema() []*schema.UsageItem

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

type FrontdoorFirewallPolicy

type FrontdoorFirewallPolicy struct {
	Address string
	Region  string

	CustomRules     int
	ManagedRulesets int

	// "usage" args
	MonthlyCustomRuleRequests     *int64 `infracost_usage:"monthly_custom_rule_requests"`
	MonthlyManagedRulesetRequests *int64 `infracost_usage:"monthly_managed_ruleset_requests"`
}

FrontdoorFirewallPolicy represents a policy for Web Application Firewall (WAF) with Azure Front Door.

More resource information here: https://docs.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-drs Pricing information here: https://azure.microsoft.com/en-us/pricing/details/frontdoor/#overview

func (*FrontdoorFirewallPolicy) BuildResource

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

BuildResource builds a schema.Resource from a valid FrontdoorFirewallPolicy. This method is called after the resource is initialised by an IaC provider.

func (*FrontdoorFirewallPolicy) CoreType added in v0.10.35

func (r *FrontdoorFirewallPolicy) CoreType() string

CoreType returns the name of this resource type

func (*FrontdoorFirewallPolicy) PopulateUsage

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

PopulateUsage parses the u schema.UsageData into the FrontdoorFirewallPolicy.

func (*FrontdoorFirewallPolicy) UsageSchema added in v0.10.35

func (r *FrontdoorFirewallPolicy) UsageSchema() []*schema.UsageItem

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

type FunctionApp added in v0.10.19

type FunctionApp struct {
	Address string
	Region  string

	SKUName string
	Tier    string
	OSType  string

	MonthlyExecutions   *int64 `infracost_usage:"monthly_executions"`
	ExecutionDurationMs *int64 `infracost_usage:"execution_duration_ms"`
	MemoryMb            *int64 `infracost_usage:"memory_mb"`
	Instances           *int64 `infracost_usage:"instances"`
}

FunctionApp struct a serverless function running in an app service environment. The billing for this function lies within Azure App Service, however we capture the costs in this component to make it more understandable.

Resource information: https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/app-service/windows/

func (*FunctionApp) BuildResource added in v0.10.19

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

BuildResource builds a schema.Resource from a valid FunctionApp struct.

FunctionApp costs are CPU and Memory usage. These values rely on the user defining their expected usage in the usage file.

Function apps are billed in two modes - Premium or Consumption.

func (*FunctionApp) CoreType added in v0.10.19

func (r *FunctionApp) CoreType() string

func (*FunctionApp) PopulateUsage added in v0.10.19

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

PopulateUsage parses the u schema.UsageData into the FunctionApp struct It uses the `infracost_usage` struct tags to populate data into the FunctionApp

func (*FunctionApp) UsageSchema added in v0.10.19

func (r *FunctionApp) UsageSchema() []*schema.UsageItem

type Image added in v0.10.23

type Image struct {
	Type string

	Address   string
	Region    string
	StorageGB *float64 `infracost_usage:"storage_gb"`
}

Image represents a custom image or a snapshot in Azure Cloud.

A custom image in Azure is created from a VHD or a managed disk, and it's used as the base for creating new virtual machines. Image, when representing a custom image, takes into account the size of the managed disk that backs the image for cost calculation.

A snapshot in Azure is a read-only copy of a disk, created for backup or to create new disks with the same data. When representing a snapshot, Image considers the used size of the disk snapshot for cost estimation.

The cost of both custom images and snapshots is primarily based on the storage they consume.

Resource information: Custom Images: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource Snapshots: https://docs.microsoft.com/en-us/azure/virtual-machines/disks-snapshot

Pricing information: Managed Disks: https://azure.microsoft.com/en-us/pricing/details/managed-disks/ Storage: https://azure.microsoft.com/en-us/pricing/details/storage/

func (*Image) BuildResource added in v0.10.23

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

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

func (r *Image) CoreType() string

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

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

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

func (r *Image) UsageSchema() []*schema.UsageItem

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

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) CoreType added in v0.10.35

func (r *IoTHub) CoreType() string

func (*IoTHub) PopulateUsage added in v0.10.8

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

func (*IoTHub) UsageSchema added in v0.10.35

func (r *IoTHub) UsageSchema() []*schema.UsageItem

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) CoreType added in v0.10.35

func (r *IoTHubDPS) CoreType() string

func (*IoTHubDPS) PopulateUsage added in v0.10.8

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

func (*IoTHubDPS) UsageSchema added in v0.10.35

func (r *IoTHubDPS) UsageSchema() []*schema.UsageItem

type KubernetesCluster added in v0.10.34

type KubernetesCluster struct {
	Address                       string
	Region                        string
	SKUTier                       string
	NetworkProfileLoadBalancerSKU string
	DefaultNodePoolNodeCount      int64
	DefaultNodePoolOS             string
	DefaultNodePoolOSDiskType     string
	DefaultNodePoolVMSize         string
	DefaultNodePoolOSDiskSizeGB   int64
	HttpApplicationRoutingEnabled bool
	LoadBalancer                  *KubernetesClusterLoadBalancer    `infracost_usage:"load_balancer"`
	DefaultNodePool               *KubernetesClusterDefaultNodePool `infracost_usage:"default_node_pool"`
}

func (*KubernetesCluster) BuildResource added in v0.10.34

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

func (*KubernetesCluster) CoreType added in v0.10.35

func (r *KubernetesCluster) CoreType() string

func (*KubernetesCluster) PopulateUsage added in v0.10.34

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

func (*KubernetesCluster) UsageSchema added in v0.10.35

func (r *KubernetesCluster) UsageSchema() []*schema.UsageItem

type KubernetesClusterDefaultNodePool added in v0.10.34

type KubernetesClusterDefaultNodePool struct {
	Nodes        *int64   `infracost_usage:"nodes"`
	MonthlyHours *float64 `infracost_usage:"monthly_hrs"`
}

type KubernetesClusterLoadBalancer added in v0.10.34

type KubernetesClusterLoadBalancer struct {
	MonthlyDataProcessedGB *int64 `infracost_usage:"monthly_data_processed_gb"`
}

type KubernetesClusterNodePool added in v0.10.34

type KubernetesClusterNodePool struct {
	Address      string
	Region       string
	NodeCount    int64
	VMSize       string
	OS           string
	OSDiskType   string
	OSDiskSizeGB int64
	Nodes        *int64   `infracost_usage:"nodes"`
	MonthlyHours *float64 `infracost_usage:"monthly_hrs"`
}

func (*KubernetesClusterNodePool) BuildResource added in v0.10.34

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

func (*KubernetesClusterNodePool) CoreType added in v0.10.35

func (r *KubernetesClusterNodePool) CoreType() string

func (*KubernetesClusterNodePool) PopulateUsage added in v0.10.34

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

func (*KubernetesClusterNodePool) UsageSchema added in v0.10.35

func (r *KubernetesClusterNodePool) UsageSchema() []*schema.UsageItem

type LB added in v0.10.34

type LB struct {
	Address                string
	Region                 string
	SKU                    string
	MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"`
}

func (*LB) BuildResource added in v0.10.34

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

func (*LB) CoreType added in v0.10.35

func (r *LB) CoreType() string

func (*LB) PopulateUsage added in v0.10.34

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

func (*LB) UsageSchema added in v0.10.35

func (r *LB) UsageSchema() []*schema.UsageItem

type LinuxVirtualMachine added in v0.10.34

type LinuxVirtualMachine struct {
	Address         string
	Region          string
	Size            string
	UltraSSDEnabled bool
	OSDiskData      *ManagedDiskData
	OSDisk          *OSDiskUsage `infracost_usage:"os_disk"`
	MonthlyHrs      *float64     `infracost_usage:"monthly_hrs"`
}

func (*LinuxVirtualMachine) BuildResource added in v0.10.34

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

func (*LinuxVirtualMachine) CoreType added in v0.10.35

func (r *LinuxVirtualMachine) CoreType() string

func (*LinuxVirtualMachine) PopulateUsage added in v0.10.34

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

func (*LinuxVirtualMachine) UsageSchema added in v0.10.35

func (r *LinuxVirtualMachine) UsageSchema() []*schema.UsageItem

type LinuxVirtualMachineScaleSet added in v0.10.34

type LinuxVirtualMachineScaleSet struct {
	Address         string
	SKU             string
	UltraSSDEnabled bool
	Region          string
	OSDiskData      *ManagedDiskData
	Instances       *int64       `infracost_usage:"instances"`
	OSDisk          *OSDiskUsage `infracost_usage:"os_disk"`
}

func (*LinuxVirtualMachineScaleSet) BuildResource added in v0.10.34

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

func (*LinuxVirtualMachineScaleSet) CoreType added in v0.10.35

func (r *LinuxVirtualMachineScaleSet) CoreType() string

func (*LinuxVirtualMachineScaleSet) PopulateUsage added in v0.10.34

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

func (*LinuxVirtualMachineScaleSet) UsageSchema added in v0.10.35

func (r *LinuxVirtualMachineScaleSet) UsageSchema() []*schema.UsageItem

type LogAnalyticsWorkspace added in v0.9.18

type LogAnalyticsWorkspace struct {
	Address string
	Region  string
	SKU     string

	ReservationCapacityInGBPerDay int64
	RetentionInDays               int64
	SentinelEnabled               bool

	MonthlyArchivedDataGB               *float64 `infracost_usage:"monthly_archive_data_gb"`
	MonthlyArchivedDataRestoredGB       *float64 `infracost_usage:"monthly_archive_data_restored_gb"`
	MonthlyArchivedDataSearchedGB       *float64 `infracost_usage:"monthly_archive_data_searched_gb"`
	MonthlyBasicLogDataIngestionGB      *float64 `infracost_usage:"monthly_basic_log_data_ingestion_gb"`
	MonthlyBasicLogSearchGB             *float64 `infracost_usage:"monthly_basic_log_search_gb"`
	MonthlyLogDataIngestionGB           *float64 `infracost_usage:"monthly_log_data_ingestion_gb"`
	MonthlyAdditionalLogDataRetentionGB *float64 `infracost_usage:"monthly_additional_log_data_retention_gb"`
	MonthlyLogDataExportGB              *float64 `infracost_usage:"monthly_log_data_export_gb"`
	MonthlySentinelDataIngestionGB      *float64 `infracost_usage:"monthly_sentinel_data_ingestion_gb"`
}

LogAnalyticsWorkspace struct represents an Azure Monitor log workspace. A workspace consolidates data from multiple sources into a single data lake. A workspace defines:

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

  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) CoreType added in v0.10.35

func (r *MSSQLElasticPool) CoreType() string

func (*MSSQLElasticPool) PopulateUsage added in v0.10.18

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

PopulateUsage parses the u schema.UsageData into the MSSQLElasticPool.

func (*MSSQLElasticPool) UsageSchema added in v0.10.35

func (r *MSSQLElasticPool) UsageSchema() []*schema.UsageItem

type MSSQLManagedInstance added in v0.10.21

type MSSQLManagedInstance struct {
	Address            string
	Region             string
	SKU                string
	LicenseType        string
	Cores              int64
	StorageSizeInGb    int64
	StorageAccountType string
	// LongTermRetentionStorageGB defines a usage param that allows users to define how many gb of cold storage the database uses.
	// This is storage that can be kept for up to 10 years.
	LongTermRetentionStorageGB *int64 `infracost_usage:"long_term_retention_storage_gb"`
	BackupStorageGB            *int64 `infracost_usage:"backup_storage_gb"`
}

MSSQLManagedInstance struct represents an azure Sql Managed Instance.

MSSQLManagedInstance currently only Gen5 database instance

More resource information here: https://azure.microsoft.com/en-gb/products/azure-sql/managed-instance/ Pricing information here: https://azure.microsoft.com/en-gb/pricing/details/azure-sql-managed-instance/single/

func (*MSSQLManagedInstance) BuildResource added in v0.10.21

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

BuildResource builds a schema.Resource from a valid MSSQLManagedInstance struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*MSSQLManagedInstance) CoreType added in v0.10.35

func (r *MSSQLManagedInstance) CoreType() string

CoreType returns the name of this resource type

func (*MSSQLManagedInstance) PopulateUsage added in v0.10.21

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

PopulateUsage parses the u schema.UsageData into the MSSQLManagedInstance. It uses the `infracost_usage` struct tags to populate data into the MSSQLManagedInstance.

func (*MSSQLManagedInstance) UsageSchema added in v0.10.35

func (r *MSSQLManagedInstance) UsageSchema() []*schema.UsageItem

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

type MachineLearningComputeCluster added in v0.10.34

type MachineLearningComputeCluster struct {
	Address      string
	Region       string
	InstanceType string
	MinNodeCount int64
	Instances    *int64   `infracost_usage:"instances"`
	MonthlyHours *float64 `infracost_usage:"monthly_hrs"`
}

MachineLearningComputeCluster struct represents a Azure Machine Learning Compute Cluster.

These use the same pricing as Azure Linux Virtual Machines. We default to the minimum scale of the cluster, but allow the number of instances and monthly hours of each instance to be set.

Resource information: https://azure.microsoft.com/en-gb/pricing/details/machine-learning/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/machine-learning/

func (*MachineLearningComputeCluster) BuildResource added in v0.10.34

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

BuildResource builds a schema.Resource from a valid MachineLearningComputeCluster struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*MachineLearningComputeCluster) CoreType added in v0.10.34

func (r *MachineLearningComputeCluster) CoreType() string

CoreType returns the name of this resource type

func (*MachineLearningComputeCluster) PopulateUsage added in v0.10.34

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

PopulateUsage parses the u schema.UsageData into the MachineLearningComputeCluster. It uses the `infracost_usage` struct tags to populate data into the MachineLearningComputeCluster.

func (*MachineLearningComputeCluster) UsageSchema added in v0.10.34

func (r *MachineLearningComputeCluster) UsageSchema() []*schema.UsageItem

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

type MachineLearningComputeInstance added in v0.10.34

type MachineLearningComputeInstance struct {
	Address      string
	Region       string
	InstanceType string
	MonthlyHours *float64 `infracost_usage:"monthly_hrs"`
}

MachineLearningComputeInstance struct represents a Azure Machine Learning Compute Instance.

These use the same pricing as Azure Linux Virtual Machines.

Resource information: https://azure.microsoft.com/en-gb/pricing/details/machine-learning/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/machine-learning/

func (*MachineLearningComputeInstance) BuildResource added in v0.10.34

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

BuildResource builds a schema.Resource from a valid MachineLearningComputeInstance struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*MachineLearningComputeInstance) CoreType added in v0.10.34

func (r *MachineLearningComputeInstance) CoreType() string

CoreType returns the name of this resource type

func (*MachineLearningComputeInstance) PopulateUsage added in v0.10.34

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

PopulateUsage parses the u schema.UsageData into the MachineLearningComputeInstance. It uses the `infracost_usage` struct tags to populate data into the MachineLearningComputeInstance.

func (*MachineLearningComputeInstance) UsageSchema added in v0.10.34

func (r *MachineLearningComputeInstance) UsageSchema() []*schema.UsageItem

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

type ManagedDisk added in v0.10.34

type ManagedDisk struct {
	Address string
	Region  string
	ManagedDiskData
	MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}

func (*ManagedDisk) BuildResource added in v0.10.34

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

func (*ManagedDisk) CoreType added in v0.10.35

func (r *ManagedDisk) CoreType() string

func (*ManagedDisk) PopulateUsage added in v0.10.34

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

func (*ManagedDisk) UsageSchema added in v0.10.35

func (r *ManagedDisk) UsageSchema() []*schema.UsageItem

type ManagedDiskData added in v0.10.34

type ManagedDiskData struct {
	DiskType          string
	DiskSizeGB        int64
	DiskIOPSReadWrite int64
	DiskMBPSReadWrite int64
}

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) CoreType added in v0.10.35

func (r *MySQLFlexibleServer) CoreType() string

CoreType returns the name of this resource type

func (*MySQLFlexibleServer) PopulateUsage added in v0.9.22

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

PopulateUsage parses the u schema.UsageData into the MySQLFlexibleServer. It uses the `infracost_usage` struct tags to populate data into the MySQLFlexibleServer.

func (*MySQLFlexibleServer) UsageSchema added in v0.10.35

func (r *MySQLFlexibleServer) UsageSchema() []*schema.UsageItem

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

type NetworkConnectionMonitor added in v0.10.21

type NetworkConnectionMonitor struct {
	Address string
	Region  string

	Tests *int64 `infracost_usage:"tests"`
}

NetworkConnectionMonitor struct represents Azure Network Watcher Connection Monitor (new)

This resource is charged for each test. Connection Monitors can have multiple test groups. A test is a combination of a source endpoint, destination endpoint and test configuration within a test group. The number of tests is calculated by multiplying the number of source endpoints, destination endpoints and test configurations for each enabled test group.

There is a free limit of 1000 tests.

If the test configuration is for a scale set, then each instance of that scale set counts as a separate test. Since we can't get the number of instances in each scale set we allow the `tests` attribute to be overridden in the usage file.

Resource information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#pricing

func (*NetworkConnectionMonitor) BuildResource added in v0.10.21

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

BuildResource builds a schema.Resource from a valid NetworkConnectionMonitor struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*NetworkConnectionMonitor) CoreType added in v0.10.21

func (r *NetworkConnectionMonitor) CoreType() string

CoreType returns the name of this resource type

func (*NetworkConnectionMonitor) PopulateUsage added in v0.10.21

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

PopulateUsage parses the u schema.UsageData into the NetworkConnectionMonitor. It uses the `infracost_usage` struct tags to populate data into the NetworkConnectionMonitor.

func (*NetworkConnectionMonitor) UsageSchema added in v0.10.21

func (r *NetworkConnectionMonitor) UsageSchema() []*schema.UsageItem

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

type NetworkDdosProtectionPlan added in v0.10.35

type NetworkDdosProtectionPlan struct {
	Address       string
	Region        string
	OverageAmount *int64 `infracost_usage:"overage_amount"`
}

NetworkDdosProtectionPlan struct represents Azure DDoS Protection Plan. DDoS Protection Plan is a resource that provides DDoS protection for virtual networks and IPs.

Resource information: https://azure.microsoft.com/en-us/products/ddos-protection/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/ddos-protection/#pricing

func (*NetworkDdosProtectionPlan) BuildResource added in v0.10.35

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

BuildResource builds a schema.Resource from a valid NetworkDdosProtectionPlan struct. This method is called after the resource is initialised by an IaC provider.

BuildResource returns two cost components:

  1. DDoS Protection Plan: The cost of the DDoS Protection Plan.
  2. Overage charges: The cost of the overage charges for the DDoS Protection Plan. This is the number of resources that fall outside the base coverage offered by the protection plan (100). This amount is defined in the usage file as it is difficult to infer the number of resources that fall outside the base coverage from the IaC.

func (*NetworkDdosProtectionPlan) CoreType added in v0.10.35

func (r *NetworkDdosProtectionPlan) CoreType() string

CoreType returns the name of this resource type.

func (*NetworkDdosProtectionPlan) PopulateUsage added in v0.10.35

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

PopulateUsage parses the u schema.UsageData into the NetworkDdosProtectionPlan. It uses the `infracost_usage` struct tags to populate data into the NetworkDdosProtectionPlan.

func (*NetworkDdosProtectionPlan) UsageSchema added in v0.10.35

func (r *NetworkDdosProtectionPlan) UsageSchema() []*schema.UsageItem

UsageSchema defines a list which represents the usage schema of NetworkDdosProtectionPlan. There is only one usage item, `overage_amount`, which represents the number of resources that fall outside the base ddos coverage.

type NetworkWatcher added in v0.10.21

type NetworkWatcher struct {
	Address string
	Region  string

	MonthlyDiagnosticChecks *int64 `infracost_usage:"monthly_diagnostic_checks"`
}

NetworkWatcher struct represents Azure Network Watcher.

From the Azure Network Watcher pricing page, this resource supports the 'Network Diagnostic Checks' pricing.

The other prices are supported as follows:

  • 'Network Logs Collected' and 'Traffic Analytics' are counted against the azurerm_network_watcher_flow_log resource.

  • 'Connection Monitor' is counted against the azurerm_network_connection_monitor resource.

  • 'Network Performance Monitor' charges are not supported since they are deprecated and do not have an equivalent resource.

Resource information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#pricing

func (*NetworkWatcher) BuildResource added in v0.10.21

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

BuildResource builds a schema.Resource from a valid NetworkWatcher struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*NetworkWatcher) CoreType added in v0.10.21

func (r *NetworkWatcher) CoreType() string

CoreType returns the name of this resource type

func (*NetworkWatcher) PopulateUsage added in v0.10.21

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

PopulateUsage parses the u schema.UsageData into the NetworkWatcher. It uses the `infracost_usage` struct tags to populate data into the NetworkWatcher.

func (*NetworkWatcher) UsageSchema added in v0.10.21

func (r *NetworkWatcher) UsageSchema() []*schema.UsageItem

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

type NetworkWatcherFlowLog added in v0.10.21

type NetworkWatcherFlowLog struct {
	Address                               string
	Region                                string
	TrafficAnalyticsEnabled               bool
	TrafficAnalyticsAcceleratedProcessing bool

	MonthlyLogsCollectedGB *float64 `infracost_usage:"monthly_logs_collected_gb"`
}

NetworkWatcherFlowLog struct represents Azure Network Watcher Flow Log

From the Azure Network Watcher pricing page, this resource supports the 'Network Logs Collected' and 'Traffic Analytics' pricing.

Other Network Monitor prices are supported in other resources, as specified in the NetworkWatcher resource struct.

Resource information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/network-watcher/#pricing

func (*NetworkWatcherFlowLog) BuildResource added in v0.10.21

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

BuildResource builds a schema.Resource from a valid NetworkWatcherFlowLog struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*NetworkWatcherFlowLog) CoreType added in v0.10.21

func (r *NetworkWatcherFlowLog) CoreType() string

CoreType returns the name of this resource type

func (*NetworkWatcherFlowLog) PopulateUsage added in v0.10.21

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

PopulateUsage parses the u schema.UsageData into the NetworkWatcherFlowLog. It uses the `infracost_usage` struct tags to populate data into the NetworkWatcherFlowLog.

func (*NetworkWatcherFlowLog) UsageSchema added in v0.10.21

func (r *NetworkWatcherFlowLog) UsageSchema() []*schema.UsageItem

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

type OSDiskUsage added in v0.10.34

type OSDiskUsage struct {
	MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}

type PostgreSQLFlexibleServer added in v0.9.22

type PostgreSQLFlexibleServer struct {
	Address string
	Region  string

	SKU             string
	Tier            string
	InstanceType    string
	InstanceVersion string
	Storage         int64

	AdditionalBackupStorageGB *float64 `infracost_usage:"additional_backup_storage_gb"`
}

PostgreSQLFlexibleServer struct represents Azure PostgreSQL Flexible Server resource.

Resource information: https://docs.microsoft.com/en-gb/azure/postgresql/flexible-server/ Pricing information: https://azure.microsoft.com/en-gb/pricing/details/postgresql/flexible-server/

func (*PostgreSQLFlexibleServer) BuildResource added in v0.9.22

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

BuildResource builds a schema.Resource from a valid PostgreSQLFlexibleServer struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*PostgreSQLFlexibleServer) CoreType added in v0.10.35

func (r *PostgreSQLFlexibleServer) CoreType() string

CoreType returns the name of this resource type

func (*PostgreSQLFlexibleServer) PopulateUsage added in v0.9.22

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

PopulateUsage parses the u schema.UsageData into the PostgreSQLFlexibleServer. It uses the `infracost_usage` struct tags to populate data into the PostgreSQLFlexibleServer.

func (*PostgreSQLFlexibleServer) UsageSchema added in v0.10.35

func (r *PostgreSQLFlexibleServer) UsageSchema() []*schema.UsageItem

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

type PowerBIEmbedded added in v0.10.18

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) CoreType added in v0.10.35

func (r *PrivateDNSAAAARecord) CoreType() string

func (*PrivateDNSAAAARecord) PopulateUsage added in v0.10.4

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

func (*PrivateDNSAAAARecord) UsageSchema added in v0.10.35

func (r *PrivateDNSAAAARecord) UsageSchema() []*schema.UsageItem

type PrivateDNSARecord added in v0.10.4

type PrivateDNSARecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*PrivateDNSARecord) BuildResource added in v0.10.4

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

func (*PrivateDNSARecord) CoreType added in v0.10.35

func (r *PrivateDNSARecord) CoreType() string

func (*PrivateDNSARecord) PopulateUsage added in v0.10.4

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

func (*PrivateDNSARecord) UsageSchema added in v0.10.35

func (r *PrivateDNSARecord) UsageSchema() []*schema.UsageItem

type PrivateDNSCNameRecord added in v0.10.4

type PrivateDNSCNameRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*PrivateDNSCNameRecord) BuildResource added in v0.10.4

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

func (*PrivateDNSCNameRecord) CoreType added in v0.10.35

func (r *PrivateDNSCNameRecord) CoreType() string

func (*PrivateDNSCNameRecord) PopulateUsage added in v0.10.4

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

func (*PrivateDNSCNameRecord) UsageSchema added in v0.10.35

func (r *PrivateDNSCNameRecord) UsageSchema() []*schema.UsageItem

type PrivateDNSMXRecord added in v0.10.4

type PrivateDNSMXRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*PrivateDNSMXRecord) BuildResource added in v0.10.4

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

func (*PrivateDNSMXRecord) CoreType added in v0.10.35

func (r *PrivateDNSMXRecord) CoreType() string

func (*PrivateDNSMXRecord) PopulateUsage added in v0.10.4

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

func (*PrivateDNSMXRecord) UsageSchema added in v0.10.35

func (r *PrivateDNSMXRecord) UsageSchema() []*schema.UsageItem

type PrivateDNSPTRRecord added in v0.10.4

type PrivateDNSPTRRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*PrivateDNSPTRRecord) BuildResource added in v0.10.4

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

func (*PrivateDNSPTRRecord) CoreType added in v0.10.35

func (r *PrivateDNSPTRRecord) CoreType() string

func (*PrivateDNSPTRRecord) PopulateUsage added in v0.10.4

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

func (*PrivateDNSPTRRecord) UsageSchema added in v0.10.35

func (r *PrivateDNSPTRRecord) UsageSchema() []*schema.UsageItem

type PrivateDNSSRVRecord added in v0.10.4

type PrivateDNSSRVRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*PrivateDNSSRVRecord) BuildResource added in v0.10.4

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

func (*PrivateDNSSRVRecord) CoreType added in v0.10.35

func (r *PrivateDNSSRVRecord) CoreType() string

func (*PrivateDNSSRVRecord) PopulateUsage added in v0.10.4

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

func (*PrivateDNSSRVRecord) UsageSchema added in v0.10.35

func (r *PrivateDNSSRVRecord) UsageSchema() []*schema.UsageItem

type PrivateDNSTXTRecord added in v0.10.4

type PrivateDNSTXTRecord struct {
	Address        string
	Region         string
	MonthlyQueries *int64 `infracost_usage:"monthly_queries"`
}

func (*PrivateDNSTXTRecord) BuildResource added in v0.10.4

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

func (*PrivateDNSTXTRecord) CoreType added in v0.10.35

func (r *PrivateDNSTXTRecord) CoreType() string

func (*PrivateDNSTXTRecord) PopulateUsage added in v0.10.4

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

func (*PrivateDNSTXTRecord) UsageSchema added in v0.10.35

func (r *PrivateDNSTXTRecord) UsageSchema() []*schema.UsageItem

type PrivateDNSZone added in v0.10.34

type PrivateDNSZone struct {
	Address string
	Region  string
}

func (*PrivateDNSZone) BuildResource added in v0.10.34

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

func (*PrivateDNSZone) CoreType added in v0.10.35

func (r *PrivateDNSZone) CoreType() string

func (*PrivateDNSZone) PopulateUsage added in v0.10.34

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

func (*PrivateDNSZone) UsageSchema added in v0.10.35

func (r *PrivateDNSZone) UsageSchema() []*schema.UsageItem

type PrivateDnsResolverDnsForwardingRuleset added in v0.10.32

type PrivateDnsResolverDnsForwardingRuleset struct {
	Address string
	Region  string
}

PrivateDnsResolverDnsForwardingRuleset struct represents Azure DNS Private Resolver Forwarding Ruleset.

Resource information: https://learn.microsoft.com/en-us/azure/dns/dns-private-resolver-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/dns/

func (*PrivateDnsResolverDnsForwardingRuleset) BuildResource added in v0.10.32

BuildResource builds a schema.Resource from a valid PrivateDnsResolverDnsForwardingRuleset struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*PrivateDnsResolverDnsForwardingRuleset) CoreType added in v0.10.32

CoreType returns the name of this resource type

func (*PrivateDnsResolverDnsForwardingRuleset) PopulateUsage added in v0.10.32

PopulateUsage parses the u schema.UsageData into the PrivateDnsResolverDnsForwardingRuleset. It uses the `infracost_usage` struct tags to populate data into the PrivateDnsResolverDnsForwardingRuleset.

func (*PrivateDnsResolverDnsForwardingRuleset) UsageSchema added in v0.10.32

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

type PrivateDnsResolverInboundEndpoint added in v0.10.32

type PrivateDnsResolverInboundEndpoint struct {
	Address string
	Region  string
}

PrivateDnsResolverInboundEndpoint struct represents a Azure DNS Private Resolver Inbound Endpoint.

Resource information: https://learn.microsoft.com/en-us/azure/dns/dns-private-resolver-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/dns/

func (*PrivateDnsResolverInboundEndpoint) BuildResource added in v0.10.32

BuildResource builds a schema.Resource from a valid PrivateDnsResolverInboundEndpoint struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*PrivateDnsResolverInboundEndpoint) CoreType added in v0.10.32

CoreType returns the name of this resource type

func (*PrivateDnsResolverInboundEndpoint) PopulateUsage added in v0.10.32

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

PopulateUsage parses the u schema.UsageData into the PrivateDnsResolverInboundEndpoint. It uses the `infracost_usage` struct tags to populate data into the PrivateDnsResolverInboundEndpoint.

func (*PrivateDnsResolverInboundEndpoint) UsageSchema added in v0.10.32

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

type PrivateDnsResolverOutboundEndpoint added in v0.10.32

type PrivateDnsResolverOutboundEndpoint struct {
	Address string
	Region  string
}

PrivateDnsResolverOutboundEndpoint struct represents a Azure DNS Private Resolver Outbound Endpoint.

Resource information: https://learn.microsoft.com/en-us/azure/dns/dns-private-resolver-overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/dns/

func (*PrivateDnsResolverOutboundEndpoint) BuildResource added in v0.10.32

BuildResource builds a schema.Resource from a valid PrivateDnsResolverOutboundEndpoint struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*PrivateDnsResolverOutboundEndpoint) CoreType added in v0.10.32

CoreType returns the name of this resource type

func (*PrivateDnsResolverOutboundEndpoint) PopulateUsage added in v0.10.32

PopulateUsage parses the u schema.UsageData into the PrivateDnsResolverOutboundEndpoint. It uses the `infracost_usage` struct tags to populate data into the PrivateDnsResolverOutboundEndpoint.

func (*PrivateDnsResolverOutboundEndpoint) UsageSchema added in v0.10.32

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

type RecoveryServicesVault added in v0.10.19

type RecoveryServicesVault struct {
	Address      string
	Region       string
	ProtectedVMs []*BackupProtectedVM
}

RecoveryServicesVault struct represents a storage vault that can azure users can back up various vms into.

See the ProtectedVM struct for more information about backup services are charged.

Resource information: https://learn.microsoft.com/en-us/azure/backup/backup-overview Pricing information: https://azure.microsoft.com/en-gb/pricing/details/backup/

func (*RecoveryServicesVault) BuildResource added in v0.10.19

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

BuildResource builds a schema.Resource from a valid RecoveryServicesVault struct.

RecoveryServicesVault does not have any top level costs associated with it and instead returns a list of sub resources where the costs are encapsulated.

func (*RecoveryServicesVault) CoreType added in v0.10.19

func (r *RecoveryServicesVault) CoreType() string

func (*RecoveryServicesVault) PopulateUsage added in v0.10.19

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

PopulateUsage parses the u schema.UsageData into the RecoveryServicesVault's sub resources.

RecoveryServicesVault does not have any actual usage associated with itself and instead relies on users specifying usage for child ProtectedVM resources.

func (*RecoveryServicesVault) UsageSchema added in v0.10.19

func (r *RecoveryServicesVault) UsageSchema() []*schema.UsageItem

UsageSchema dynamically constructs a list of UsageItems based on the ProtectedVM sub resources.

type SQLDatabase added in v0.9.16

type SQLDatabase struct {
	Address           string
	Region            string
	SKU               string
	IsElasticPool     bool
	LicenseType       string
	Tier              string
	Family            string
	Cores             *int64
	MaxSizeGB         *float64
	ReadReplicaCount  *int64
	ZoneRedundant     bool
	BackupStorageType string

	// ExtraDataStorageGB represents a usage cost of additional backup storage used by the sql database.
	ExtraDataStorageGB *float64 `infracost_usage:"extra_data_storage_gb"`
	// MonthlyVCoreHours represents a usage param that allows users to define how many hours of usage a serverless sql database instance uses.
	MonthlyVCoreHours *int64 `infracost_usage:"monthly_vcore_hours"`
	// LongTermRetentionStorageGB defines a usage param that allows users to define how many GB of cold storage the database uses.
	// This is storage that can be kept for up to 10 years.
	LongTermRetentionStorageGB *int64 `infracost_usage:"long_term_retention_storage_gb"`
	// BackupStorageGB defines a usage param that allows users to define how many GB Point-In-Time Restore (PITR) backup storage the database uses.
	BackupStorageGB *int64 `infracost_usage:"backup_storage_gb"`
}

SQLDatabase represents an Azure SQL database instance.

More resource information here: https://azure.microsoft.com/en-gb/products/azure-sql/database/ Pricing information here: https://azure.microsoft.com/en-gb/pricing/details/azure-sql-database/single/

func (*SQLDatabase) BuildResource added in v0.9.16

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

BuildResource builds a schema.Resource from a valid SQLDatabase. It returns a SQLDatabase as a *schema.Resource with cost components initialized.

SQLDatabase splits pricing into two different models. DTU & vCores.

Database Transaction Unit (DTU) is made a performance metric representing a mixture of performance metrics
in Azure SQL. Some include: CPU, I/O, Memory. DTU is used as Azure tries to simplify billing by using a single metric.

Virtual Core (vCore) pricing is designed to translate from on premise hardware metrics (cores) into the cloud
SQL instance. vCore is designed to allow users to better estimate their resource limits, e.g. RAM.

SQL databases that follow a DTU pricing model have the following costs associated with them:

  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) CoreType added in v0.10.35

func (r *SQLDatabase) CoreType() string

func (*SQLDatabase) PopulateUsage added in v0.9.16

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

PopulateUsage parses the u schema.UsageData into the SQLDatabase.

func (*SQLDatabase) UsageSchema added in v0.10.35

func (r *SQLDatabase) UsageSchema() []*schema.UsageItem

type SQLManagedInstance added in v0.9.21

type SQLManagedInstance struct {
	Address            string
	Region             string
	SKU                string
	LicenseType        string
	Cores              int64
	StorageSizeInGb    int64
	StorageAccountType string
	// LongTermRetentionStorageGB defines a usage param that allows users to define how many gb of cold storage the database uses.
	// This is storage that can be kept for up to 10 years.
	LongTermRetentionStorageGB *int64 `infracost_usage:"long_term_retention_storage_gb"`
	BackupStorageGB            *int64 `infracost_usage:"backup_storage_gb"`
}

*** this resource is deprecated in v3.0 of AzureRM provider and will be removed in v4.0 *** SQLManagedInstance struct represents an azure Sql Managed Instance.

SQLManagedInstance currently only Gen5 database instance

More resource information here: https://azure.microsoft.com/en-gb/products/azure-sql/managed-instance/ Pricing information here: https://azure.microsoft.com/en-gb/pricing/details/azure-sql-managed-instance/single/

func (*SQLManagedInstance) BuildResource added in v0.9.21

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

BuildResource builds a schema.Resource from a valid SQLManagedInstance struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*SQLManagedInstance) CoreType added in v0.10.35

func (r *SQLManagedInstance) CoreType() string

func (*SQLManagedInstance) PopulateUsage added in v0.9.21

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

PopulateUsage parses the u schema.UsageData into the SQLManagedInstance. It uses the `infracost_usage` struct tags to populate data into the SQLManagedInstance.

func (*SQLManagedInstance) UsageSchema added in v0.10.35

func (r *SQLManagedInstance) UsageSchema() []*schema.UsageItem

type SecurityCenterSubscriptionPricing added in v0.10.21

type SecurityCenterSubscriptionPricing struct {
	Address      string
	Region       string
	Tier         string
	ResourceType string

	MonthlyServersPlan1Nodes *float64 `infracost_usage:"monthly_servers_plan_1_nodes"`
	MonthlyServersPlan2Nodes *float64 `infracost_usage:"monthly_servers_plan_2_nodes"`

	MonthlyContainersVCores        *float64 `infracost_usage:"monthly_containers_vcores"`
	MonthlyContainerRegistryImages *float64 `infracost_usage:"monthly_container_registry_images"`

	MonthlySQLAzureConnectedInstances *float64 `infracost_usage:"monthly_sql_azure_connected_instances"`
	MonthlySQLOutsideAzureVCores      *float64 `infracost_usage:"monthly_sql_outside_azure_vcores"`
	MonthlyMySQLInstances             *float64 `infracost_usage:"monthly_mysql_instances"`
	MonthlyPostgreSQLInstances        *float64 `infracost_usage:"monthly_postgresql_instances"`
	MonthlyMariaDBInstances           *float64 `infracost_usage:"monthly_mariadb_instances"`
	CosmosDBRequestUnits              *float64 `infracost_usage:"cosmosdb_request_units"`

	MonthlyStorageAccounts *float64 `infracost_usage:"monthly_storage_accounts"`

	MonthlyAppServiceNodes  *float64 `infracost_usage:"monthly_app_service_nodes"`
	MonthlyKeyVaults        *int64   `infracost_usage:"monthly_key_vaults"`
	MonthlyARMSubscriptions *int64   `infracost_usage:"monthly_arm_subscriptions"`
	MonthlyDNSQueries       *int64   `infracost_usage:"monthly_dns_queries"`

	MonthlyKubernetesCores *float64 `infracost_usage:"monthly_kubernetes_cores"`
}

SecurityCenterSubscriptionPricing struct represents the pricing structure for Microsoft Defender for Cloud. Currently, pricing is supported through the usage file.

Resource information: https://learn.microsoft.com/en-us/azure/defender-for-cloud/ Pricing information: https://azure.microsoft.com/en-us/pricing/details/defender-for-cloud/

func (*SecurityCenterSubscriptionPricing) BuildResource added in v0.10.21

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

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

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

type ServiceBusNamespace added in v0.10.22

type ServiceBusNamespace struct {
	Address  string
	Region   string
	SKU      string
	Capacity int64

	// Usage-based fields
	MonthlyMessagingOperations *int64 `infracost_usage:"monthly_messaging_operations"`
	MonthlyBrokeredConnections *int64 `infracost_usage:"monthly_brokered_connections"`
}

ServiceBusNamespace struct represents Azure Service Bus Namespace

This resource is charged based on the SKU (Basic, Standard or Premium) and Capacity (only for Premium).

Relay hours and Hybrid connection pricing should be associated with other Terraform resources in the future (azurerm_relay_namespace, azurerm_relay_hybrid_connection).

Resource information: https://azure.microsoft.com/en-gb/pricing/details/service-bus/#pricing Pricing information: https://azure.microsoft.com/en-gb/pricing/details/service-bus/#pricing

func (*ServiceBusNamespace) BuildResource added in v0.10.22

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

BuildResource builds a schema.Resource from a valid ServiceBusNamespace struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*ServiceBusNamespace) CoreType added in v0.10.22

func (r *ServiceBusNamespace) CoreType() string

CoreType returns the name of this resource type

func (*ServiceBusNamespace) PopulateUsage added in v0.10.22

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

PopulateUsage parses the u schema.UsageData into the ServiceBusNamespace. It uses the `infracost_usage` struct tags to populate data into the ServiceBusNamespace.

func (*ServiceBusNamespace) UsageSchema added in v0.10.22

func (r *ServiceBusNamespace) UsageSchema() []*schema.UsageItem

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

type ServicePlan added in v0.10.19

type ServicePlan struct {
	Address     string
	SKUName     string
	WorkerCount int64
	OSType      string
	Region      string
}

ServicePlan struct represents a user commitment to an App Service Plan. A service plan has a dedicated amount of compute and storage and can be used to run any number of apps/containers.

Resource information: https://learn.microsoft.com/en-us/azure/app-service/overview-hosting-plans Pricing information: https://azure.microsoft.com/en-gb/pricing/details/app-service/windows/

func (*ServicePlan) BuildResource added in v0.10.19

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

BuildResource builds a schema.Resource from a valid ServicePlan struct.

ServicePlan only has one cost component associated with the compute cost of the plan.

func (*ServicePlan) CoreType added in v0.10.19

func (r *ServicePlan) CoreType() string

func (*ServicePlan) PopulateUsage added in v0.10.19

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

PopulateUsage parses the u schema.UsageData into the ServicePlan struct It uses the `infracost_usage` struct tags to populate data into the ServicePlan

func (*ServicePlan) UsageSchema added in v0.10.19

func (r *ServicePlan) UsageSchema() []*schema.UsageItem

type SignalRService added in v0.10.20

type SignalRService struct {
	Address     string
	Region      string
	SkuName     string
	SkuCapacity int64

	MonthlyAdditionalMessages *int64 `infracost_usage:"monthly_additional_messages"`
}

SignalRService struct represents an Azure SignalR Service.

Resource information: https://azure.microsoft.com/en-us/products/signalr-service Pricing information: https://azure.microsoft.com/en-us/pricing/details/signalr-service/

func (*SignalRService) BuildResource added in v0.10.20

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

BuildResource builds a schema.Resource from a valid SignalRService struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*SignalRService) CoreType added in v0.10.20

func (r *SignalRService) CoreType() string

CoreType returns the name of this resource type

func (*SignalRService) PopulateUsage added in v0.10.20

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

PopulateUsage parses the u schema.UsageData into the SignalRService. It uses the `infracost_usage` struct tags to populate data into the SignalRService.

func (*SignalRService) UsageSchema added in v0.10.20

func (r *SignalRService) UsageSchema() []*schema.UsageItem

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

type StorageAccount

type StorageAccount struct {
	Address string
	Region  string

	AccessTier             string
	AccountKind            string
	AccountReplicationType string
	AccountTier            string
	NFSv3                  bool

	// "usage" args
	MonthlyStorageGB                        *float64 `infracost_usage:"storage_gb"`
	MonthlyIterativeReadOperations          *int64   `infracost_usage:"monthly_iterative_read_operations"`
	MonthlyReadOperations                   *int64   `infracost_usage:"monthly_read_operations"`
	MonthlyIterativeWriteOperations         *int64   `infracost_usage:"monthly_iterative_write_operations"`
	MonthlyWriteOperations                  *int64   `infracost_usage:"monthly_write_operations"`
	MonthlyListAndCreateContainerOperations *int64   `infracost_usage:"monthly_list_and_create_container_operations"`
	MonthlyOtherOperations                  *int64   `infracost_usage:"monthly_other_operations"`
	MonthlyDataRetrievalGB                  *float64 `infracost_usage:"monthly_data_retrieval_gb"`
	MonthlyDataWriteGB                      *float64 `infracost_usage:"monthly_data_write_gb"`
	BlobIndexTags                           *int64   `infracost_usage:"blob_index_tags"`
	DataAtRestStorageGB                     *float64 `infracost_usage:"data_at_rest_storage_gb"`
	SnapshotsStorageGB                      *float64 `infracost_usage:"snapshots_storage_gb"`
	MetadataAtRestStorageGB                 *float64 `infracost_usage:"metadata_at_rest_storage_gb"`
	EarlyDeletionGB                         *float64 `infracost_usage:"early_deletion_gb"`
}

StorageAccount represents Azure data storage services.

More resource information here:

Block Blob Storage: https://azure.microsoft.com/en-us/services/storage/blobs/
File Storage: https://azure.microsoft.com/en-us/services/storage/files/

Pricing information here:

Block Blob Storage: https://azure.microsoft.com/en-us/pricing/details/storage/blobs/
File Storage: https://azure.microsoft.com/en-us/pricing/details/storage/files/

func (*StorageAccount) BuildResource

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

BuildResource builds a schema.Resource from valid StorageAccount data. This method is called after the resource is initialized by an IaC provider.

func (*StorageAccount) CoreType added in v0.10.19

func (r *StorageAccount) CoreType() string

CoreType returns the name of this resource type

func (*StorageAccount) PopulateUsage

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

PopulateUsage parses the u schema.UsageData into the StorageAccount. It uses the `infracost_usage` struct tags to populate data into the StorageAccount.

func (*StorageAccount) UsageSchema added in v0.10.19

func (r *StorageAccount) UsageSchema() []*schema.UsageItem

type StorageDataDiskUsage added in v0.10.34

type StorageDataDiskUsage struct {
	MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}

type StorageOSDiskUsage added in v0.10.34

type StorageOSDiskUsage struct {
	MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}

type StorageProfileDataDiskUsage added in v0.10.34

type StorageProfileDataDiskUsage struct {
	MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}

type StorageProfileOSDiskUsage added in v0.10.34

type StorageProfileOSDiskUsage struct {
	MonthlyDiskOperations *int64 `infracost_usage:"monthly_disk_operations"`
}

type StorageQueue added in v0.10.19

type StorageQueue struct {
	Address                string
	Region                 string
	AccountKind            string
	AccountReplicationType string

	MonthlyStorageGB                    *float64 `infracost_usage:"monthly_storage_gb"`
	MonthlyClass1Operations             *int64   `infracost_usage:"monthly_class_1_operations"`
	MonthlyClass2Operations             *int64   `infracost_usage:"monthly_class_2_operations"`
	MonthlyGeoReplicationDataTransferGB *float64 `infracost_usage:"monthly_geo_replication_data_transfer_gb"`
}

StorageQueue struct represents Azure Queue Storage.

Resource information: https://azure.microsoft.com/en-gb/pricing/details/storage/queues/ Pricing information: https://azure.microsoft.com/en-gb/pricing/details/storage/queues/#pricing

func (*StorageQueue) BuildResource added in v0.10.19

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

BuildResource builds a schema.Resource from a valid StorageQueue struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.

func (*StorageQueue) CoreType added in v0.10.19

func (r *StorageQueue) CoreType() string

CoreType returns the name of this resource type

func (*StorageQueue) PopulateUsage added in v0.10.19

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

PopulateUsage parses the u schema.UsageData into the StorageQueue. It uses the `infracost_usage` struct tags to populate data into the StorageQueue.

func (*StorageQueue) UsageSchema added in v0.10.19

func (r *StorageQueue) UsageSchema() []*schema.UsageItem

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

type StorageShare added in v0.10.19

type StorageShare struct {
	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) CoreType added in v0.10.35

func (v *VPNGateway) CoreType() string

func (*VPNGateway) PopulateUsage added in v0.9.15

func (v *VPNGateway) PopulateUsage(u *schema.UsageData)

PopulateUsage parses the u schema.UsageData into the VPNGateway. It uses the `infracost_usage` struct tags to populate data into the VPNGateway.

func (*VPNGateway) UsageSchema added in v0.10.35

func (v *VPNGateway) UsageSchema() []*schema.UsageItem

UsageSchema defines a list which represents the usage schema of VPNGateway if of type P2S.

type VPNGatewayConnection added in v0.9.15

type VPNGatewayConnection struct {
	// Address is the unique name of the resource in the IAC language.
	Address string
	// Region is the azure region the VPNGatewayConnection is provisioned within.
	Region string
}

VPNGatewayConnection represents a VPN Gateway connection, which is a billable component of a S2S VPN gateway. See VPNGateway for more information.

More resource information here: https://docs.microsoft.com/en-us/azure/virtual-wan/virtual-wan-about Pricing information here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/

func (*VPNGatewayConnection) BuildResource added in v0.9.15

func (v *VPNGatewayConnection) BuildResource() *schema.Resource

BuildResource builds a schema.Resource from a valid VPNGatewayConnection. It returns a VPNGatewayConnection as a schema.Resource with a single cost component representing the connection unit. The hourly quantity is set to 1 as VPNGatewayConnection represents a single connection unit.

This method is called after the resource is initialised by an iac provider. See providers folder for more information.

func (*VPNGatewayConnection) CoreType added in v0.10.35

func (r *VPNGatewayConnection) CoreType() string

func (*VPNGatewayConnection) PopulateUsage added in v0.9.15

func (v *VPNGatewayConnection) PopulateUsage(u *schema.UsageData)

PopulateUsage parses the u schema.UsageData into the VPNGatewayConnection. It uses the `infracost_usage` struct tags to populate data into the VPNGatewayConnection.

func (*VPNGatewayConnection) UsageSchema added in v0.10.35

func (r *VPNGatewayConnection) UsageSchema() []*schema.UsageItem

type VirtualHub added in v0.9.15

type VirtualHub struct {
	// Address is the unique name of the resource in the IAC language.
	Address string
	// Region is the azure region the VirtualHub is provisioned within.
	Region string
	// SKU is the VirtualHub hub type. It can be one of: Basic|Standard.
	SKU string

	// MonthlyDataProcessedGB represents a usage cost for the amount of gb of data that is processed
	// through the hub on a monthly basis. It is a float to allow users to specify values whole GBs.
	MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"`
}

VirtualHub is the central hub in the "hub and spoke architecture" of Azure Virtual WAN. It enables transitive connectivity between endpoints that may be distributed across different types of 'spokes'.

More resource information here: https://docs.microsoft.com/en-us/azure/virtual-wan/virtual-wan-about Pricing information here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/

func (*VirtualHub) BuildResource added in v0.9.15

func (v *VirtualHub) BuildResource() *schema.Resource

BuildResource builds a schema.Resource from a valid VirtualHub. It returns VirtualHub as a *schema.Resource with 2 cost components provided. These cost components are only applicable if the VirtualHub is type Standard. The Basic hub is provided free by azure. See here: https://azure.microsoft.com/en-us/pricing/details/virtual-wan/ for more information.

This method is called after the resource is initialised by an iac provider. See providers folder for more information.

func (*VirtualHub) CoreType added in v0.10.35

func (v *VirtualHub) CoreType() string

CoreType returns the name of this resource type

func (*VirtualHub) PopulateUsage added in v0.9.15

func (v *VirtualHub) PopulateUsage(u *schema.UsageData)

PopulateUsage parses the u schema.UsageData into the VirtualHub. It uses the `infracost_usage` struct tags to populate data into the VirtualHub.

func (*VirtualHub) UsageSchema added in v0.10.35

func (v *VirtualHub) UsageSchema() []*schema.UsageItem

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

type VirtualMachine added in v0.10.34

type VirtualMachine struct {
	Address                    string
	Region                     string
	StorageImageReferenceOffer string
	VMSize                     string
	StorageOSDiskOSType        string
	LicenseType                string
	StorageOSDiskData          *ManagedDiskData
	OSDiskData                 *ManagedDiskData
	StoragesDiskData           []*ManagedDiskData
	MonthlyHours               *float64              `infracost_usage:"monthly_hrs"`
	StorageOSDisk              *StorageOSDiskUsage   `infracost_usage:"storage_os_disk"`
	StorageDataDisk            *StorageDataDiskUsage `infracost_usage:"storage_data_disk"`
}

func (*VirtualMachine) BuildResource added in v0.10.34

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

func (*VirtualMachine) CoreType added in v0.10.35

func (r *VirtualMachine) CoreType() string

func (*VirtualMachine) PopulateUsage added in v0.10.34

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

func (*VirtualMachine) UsageSchema added in v0.10.35

func (r *VirtualMachine) UsageSchema() []*schema.UsageItem

type VirtualMachineScaleSet added in v0.10.34

type VirtualMachineScaleSet struct {
	Address                   string
	Region                    string
	SKUName                   string
	SKUCapacity               int64
	IsWindows                 bool
	LicenseType               string
	StorageProfileOSDiskData  *ManagedDiskData
	StorageProfileOSDisksData []*ManagedDiskData

	Instances              *int64                     `infracost_usage:"instances"`
	StorageProfileOSDisk   *StorageProfileOSDiskUsage `infracost_usage:"storage_profile_os_disk"`
	StorageProfileDataDisk *StorageProfileOSDiskUsage `infracost_usage:"storage_profile_data_disk"`
}

func (*VirtualMachineScaleSet) BuildResource added in v0.10.34

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

func (*VirtualMachineScaleSet) CoreType added in v0.10.35

func (r *VirtualMachineScaleSet) CoreType() string

func (*VirtualMachineScaleSet) PopulateUsage added in v0.10.34

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

func (*VirtualMachineScaleSet) UsageSchema added in v0.10.35

func (r *VirtualMachineScaleSet) UsageSchema() []*schema.UsageItem

type VirtualNetworkPeering added in v0.10.8

type VirtualNetworkPeering struct {
	Address           string
	SourceRegion      string
	DestinationRegion string
	SourceZone        string
	DestinationZone   string

	MonthlyDataTransferGB *float64 `infracost_usage:"monthly_data_transfer_gb"`
}

Resource information: https://azure.microsoft.com/en-us/services/virtual-network/#overview Pricing information: https://azure.microsoft.com/en-us/pricing/details/virtual-network/

func (*VirtualNetworkPeering) BuildResource added in v0.10.8

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

func (*VirtualNetworkPeering) CoreType added in v0.10.35

func (r *VirtualNetworkPeering) CoreType() string

func (*VirtualNetworkPeering) PopulateUsage added in v0.10.8

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

func (*VirtualNetworkPeering) UsageSchema added in v0.10.35

func (r *VirtualNetworkPeering) UsageSchema() []*schema.UsageItem

type WindowsVirtualMachine added in v0.10.34

type WindowsVirtualMachine struct {
	Address                               string
	Region                                string
	Size                                  string
	LicenseType                           string
	AdditionalCapabilitiesUltraSSDEnabled bool
	OSDiskData                            *ManagedDiskData
	MonthlyHours                          *float64     `infracost_usage:"monthly_hrs"`
	OSDisk                                *OSDiskUsage `infracost_usage:"os_disk"`
}

func (*WindowsVirtualMachine) BuildResource added in v0.10.34

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

func (*WindowsVirtualMachine) CoreType added in v0.10.35

func (r *WindowsVirtualMachine) CoreType() string

func (*WindowsVirtualMachine) PopulateUsage added in v0.10.34

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

func (*WindowsVirtualMachine) UsageSchema added in v0.10.35

func (r *WindowsVirtualMachine) UsageSchema() []*schema.UsageItem

type WindowsVirtualMachineScaleSet added in v0.10.34

type WindowsVirtualMachineScaleSet struct {
	Address                               string
	Region                                string
	SKU                                   string
	LicenseType                           string
	AdditionalCapabilitiesUltraSSDEnabled bool
	OSDiskData                            *ManagedDiskData
	Instances                             *int64       `infracost_usage:"instances"`
	OSDisk                                *OSDiskUsage `infracost_usage:"os_disk"`
}

func (*WindowsVirtualMachineScaleSet) BuildResource added in v0.10.34

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

func (*WindowsVirtualMachineScaleSet) CoreType added in v0.10.35

func (r *WindowsVirtualMachineScaleSet) CoreType() string

func (*WindowsVirtualMachineScaleSet) PopulateUsage added in v0.10.34

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

func (*WindowsVirtualMachineScaleSet) UsageSchema added in v0.10.35

func (r *WindowsVirtualMachineScaleSet) UsageSchema() []*schema.UsageItem

Source Files

Jump to

Keyboard shortcuts

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