Documentation ¶
Index ¶
- Variables
- type ACMCertificate
- type ACMPCACertificateAuthority
- type APIGatewayRestAPI
- type APIGatewayStage
- type APIGatewayV2API
- type AppAutoscalingTarget
- type AutoscalingGroup
- type BackupVault
- type CloudFormationStack
- type CloudFormationStackSet
- type CloudfrontDistribution
- type Cloudtrail
- type CloudwatchDashboard
- type CloudwatchEventBus
- type CloudwatchLogGroup
- type CloudwatchMetricAlarm
- type CodeBuildProject
- type ConfigConfigRule
- type ConfigConfigurationRecorder
- type DBInstance
- type DMSReplicationInstance
- type DXConnection
- type DXGatewayAssociation
- type DataTransfer
- type DirectoryServiceDirectory
- type DocDBCluster
- type DocDBClusterInstance
- type DocDBClusterSnapshot
- type DynamoDBTable
- type EBSSnapshot
- type EBSSnapshotCopy
- type EBSVolume
- type EC2ClientVPNEndpoint
- type EC2ClientVPNNetworkAssociation
- type EC2TrafficMirrorSession
- type EC2TransitGatewayPeeringAttachment
- type ECRRepository
- type ECSService
- type EFSFileSystem
- type EIP
- type EKSCluster
- type EKSFargateProfile
- type EKSNodeGroup
- type ELB
- type Ec2TransitGatewayVpcAttachment
- type ElastiCacheCluster
- type ElastiCacheReplicationGroup
- type ElasticBeanstalkEnvironment
- type ElasticsearchDomain
- type FSxWindowsFileSystem
- type GlueCatalogDatabase
- type GlueCrawler
- type GlueJob
- type Instance
- type KMSExternalKey
- type KMSKey
- type KinesisAnalyticsApplication
- type KinesisAnalyticsV2Application
- type KinesisAnalyticsV2ApplicationSnapshot
- type KinesisFirehoseDeliveryStream
- type LB
- type LambdaFunction
- type LaunchConfiguration
- type LaunchTemplate
- type LightsailInstance
- type MQBroker
- type MSKCluster
- type MWAAEnvironment
- type NATGateway
- type NeptuneCluster
- type NeptuneClusterInstance
- type NeptuneClusterSnapshot
- type NetworkfirewallFirewall
- type RDSCluster
- type RDSClusterInstance
- type RedshiftCluster
- type RegionUsage
- type RegionsUsage
- type Route53HealthCheck
- type Route53Record
- type Route53ResolverEndpoint
- type Route53Zone
- type S3Bucket
- type S3BucketAnalyticsConfiguration
- type S3BucketInventory
- type S3BucketLifecycleConfiguration
- type S3GlacierDeepArchiveStorageClass
- type S3GlacierFlexibleRetrievalStorageClass
- type S3IntelligentTieringStorageClass
- type S3OneZoneInfrequentAccessStorageClass
- type S3StandardInfrequentAccessStorageClass
- type S3StandardStorageClass
- type S3StorageClass
- type SFnStateMachine
- type SNSFIFOTopic
- type SNSTopic
- type SNSTopicSubscription
- type SQSQueue
- type SSMActivation
- type SSMParameter
- type SecretsManagerSecret
- type TransferServer
- type VPCEndpoint
- type VPNConnection
- type WAFWebACL
- type WAFv2WebACL
Constants ¶
This section is empty.
Variables ¶
var ACMCertificateUsageSchema = []*schema.UsageItem{}
var ACMPCACertificateAuthorityUsageSchema = []*schema.UsageItem{ {Key: "monthly_requests", ValueType: schema.Int64, DefaultValue: 0}, }
var APIGatewayRestAPIUsageSchema = []*schema.UsageItem{ {Key: "monthly_requests", ValueType: schema.Int64, DefaultValue: 0}, }
var APIGatewayStageUsageSchema = []*schema.UsageItem{}
var APIGatewayV2APIUsageSchema = []*schema.UsageItem{ {Key: "message_size_kb", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_connection_mins", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "request_size_kb", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_messages", ValueType: schema.Int64, DefaultValue: 0}, }
var AppAutoscalingTargetUsageSchema = []*schema.UsageItem{ {Key: "capacity", ValueType: schema.Int64, DefaultValue: 0}, }
var AutoscalingGroupUsageSchema = append([]*schema.UsageItem{ {Key: "instances", DefaultValue: 0, ValueType: schema.Int64}, }, InstanceUsageSchema...)
var BackupVaultUsageSchema = []*schema.UsageItem{{Key: "monthly_efs_warm_backup_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_efs_cold_restore_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_rds_snapshot_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_aurora_snapshot_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_dynamodb_backup_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_dynamodb_restore_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_fsx_windows_backup_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_fsx_lustre_backup_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_efs_cold_backup_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_efs_warm_restore_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_efs_item_restore_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_ebs_snapshot_gb", ValueType: schema.Float64, DefaultValue: 0}}
var CloudFormationStackSetUsageSchema = []*schema.UsageItem{ {Key: "monthly_handler_operations", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_duration_secs", ValueType: schema.Int64, DefaultValue: 0}, }
var CloudFormationStackUsageSchema = []*schema.UsageItem{ {Key: "monthly_handler_operations", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_duration_secs", ValueType: schema.Int64, DefaultValue: 0}, }
var CloudfrontDistributionUsageSchema = []*schema.UsageItem{ { Key: "monthly_http_requests", DefaultValue: &usage.ResourceUsage{Name: "monthly_http_requests", Items: cloudfrontDistributionRegionRequestsSchema}, ValueType: schema.SubResourceUsage, }, { Key: "monthly_https_requests", DefaultValue: &usage.ResourceUsage{Name: "monthly_https_requests", Items: cloudfrontDistributionRegionRequestsSchema}, ValueType: schema.SubResourceUsage, }, { Key: "monthly_shield_requests", DefaultValue: &usage.ResourceUsage{Name: "monthly_shield_requests", Items: cloudfrontDistributionShieldRequestsSchema}, ValueType: schema.SubResourceUsage, }, {Key: "monthly_invalidation_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_encryption_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_log_lines", ValueType: schema.Int64, DefaultValue: 0}, { Key: "monthly_data_transfer_to_internet_gb", DefaultValue: &usage.ResourceUsage{Name: "monthly_data_transfer_to_internet_gb", Items: cloudfrontDistributionRegionDataTransferSchema}, ValueType: schema.SubResourceUsage, }, { Key: "monthly_data_transfer_to_origin_gb", DefaultValue: &usage.ResourceUsage{Name: "monthly_data_transfer_to_origin_gb", Items: cloudfrontDistributionRegionDataTransferSchema}, ValueType: schema.SubResourceUsage, }, {Key: "custom_ssl_certificates", ValueType: schema.Int64, DefaultValue: 0}, }
var CloudwatchDashboardUsageSchema = []*schema.UsageItem{}
var CloudwatchEventBusUsageSchema = []*schema.UsageItem{ {Key: "monthly_schema_discovery_events", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_custom_events", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_third_party_events", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_archive_processing_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "archive_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var CloudwatchLogGroupUsageSchema = []*schema.UsageItem{ {Key: "monthly_data_ingested_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_data_scanned_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var CloudwatchMetricAlarmUsageSchema = []*schema.UsageItem{}
var CodeBuildProjectUsageSchema = []*schema.UsageItem{ {Key: "monthly_build_mins", ValueType: schema.Int64, DefaultValue: 0}, }
var ConfigConfigRuleUsageSchema = []*schema.UsageItem{ {Key: "monthly_rule_evaluations", ValueType: schema.Int64, DefaultValue: 0}, }
var ConfigConfigurationRecorderUsageSchema = []*schema.UsageItem{ {Key: "monthly_config_items", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_custom_config_items", ValueType: schema.Int64, DefaultValue: 0}, }
var DBInstanceUsageSchema = []*schema.UsageItem{ {Key: "monthly_standard_io_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "additional_backup_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_additional_performance_insights_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "reserved_instance_term", DefaultValue: "", ValueType: schema.String}, {Key: "reserved_instance_payment_option", DefaultValue: "", ValueType: schema.String}, }
var DMSReplicationInstanceUsageSchema = []*schema.UsageItem{}
var DXConnectionUsageSchema = []*schema.UsageItem{ { Key: "monthly_outbound_from_region_to_dx_connection_location", ValueType: schema.SubResourceUsage, DefaultValue: &usage.ResourceUsage{Name: "monthly_outbound_from_region_to_dx_connection_location", Items: RegionUsageSchema}, }, {Key: "monthly_outbound_region_to_dx_location_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "dx_virtual_interface_type", ValueType: schema.String, DefaultValue: "private"}, {Key: "dx_connection_type", ValueType: schema.String, DefaultValue: "dedicated"}, }
var DXGatewayAssociationUsageSchema = []*schema.UsageItem{{Key: "monthly_data_processed_gb", ValueType: schema.Float64, DefaultValue: 0}}
var DataTransferUsageSchema = []*schema.UsageItem{ {Key: "monthly_intra_region_gb", DefaultValue: 0, ValueType: schema.Float64}, {Key: "monthly_outbound_internet_gb", DefaultValue: 0, ValueType: schema.Float64}, {Key: "monthly_outbound_us_east_to_us_east_gb", DefaultValue: 0, ValueType: schema.Float64}, {Key: "monthly_outbound_other_regions_gb", DefaultValue: 0, ValueType: schema.Float64}, }
DataTransferUsageSchema defines a list which represents the usage schema of DataTransfer.
var DocDBClusterInstanceUsageSchema = []*schema.UsageItem{ {Key: "data_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_io_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_cpu_credit_hrs", ValueType: schema.Int64, DefaultValue: 0}, }
var DocDBClusterSnapshotUsageSchema = []*schema.UsageItem{ {Key: "backup_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var DocDBClusterUsageSchema = []*schema.UsageItem{ {Key: "backup_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var DynamoDBTableUsageSchema = []*schema.UsageItem{ {Key: "monthly_write_request_units", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_read_request_units", DefaultValue: 0, ValueType: schema.Int64}, {Key: "storage_gb", DefaultValue: 0, ValueType: schema.Int64}, {Key: "pitr_backup_storage_gb", DefaultValue: 0, ValueType: schema.Int64}, {Key: "on_demand_backup_storage_gb", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_data_restored_gb", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_streams_read_request_units", DefaultValue: 0, ValueType: schema.Int64}, }
var EBSSnapshotCopyUsageSchema = []*schema.UsageItem{}
var EBSSnapshotUsageSchema = []*schema.UsageItem{{Key: "monthly_list_block_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_get_block_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_put_block_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "fast_snapshot_restore_hours", ValueType: schema.Int64, DefaultValue: 0}}
var EBSVolumeSchema = []*schema.UsageItem{ {Key: "monthly_standard_io_requests", DefaultValue: 0, ValueType: schema.Int64}, }
var EC2ClientVPNEndpointUsageSchema = []*schema.UsageItem{}
var EC2ClientVPNNetworkAssociationUsageSchema = []*schema.UsageItem{}
var EC2TrafficMirrorSessionUsageSchema = []*schema.UsageItem{}
var EC2TransitGatewayPeeringAttachmentUsageSchema = []*schema.UsageItem{}
var ECRRepositoryUsageSchema = []*schema.UsageItem{ {Key: "storage_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var ECSServiceUsageSchema = []*schema.UsageItem{}
var EFSFileSystemUsageSchema = []*schema.UsageItem{ {Key: "infrequent_access_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_infrequent_access_read_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_infrequent_access_write_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var EIPUsageSchema = []*schema.UsageItem{}
var EKSClusterUsageSchema = []*schema.UsageItem{}
var EKSFargateProfileUsageSchema = []*schema.UsageItem{}
var EKSNodeGroupUsageSchema = append([]*schema.UsageItem{ {Key: "instances", DefaultValue: 0, ValueType: schema.Int64}, }, InstanceUsageSchema...)
var ELBUsageSchema = []*schema.UsageItem{ {Key: "monthly_data_processed_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var Ec2TransitGatewayVpcAttachmentUsageSchema = []*schema.UsageItem{{Key: "monthly_data_processed_gb", ValueType: schema.Float64, DefaultValue: 0}}
var ElastiCacheClusterUsageSchema = []*schema.UsageItem{ {Key: "snapshot_storage_size_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "reserved_instance_term", DefaultValue: "", ValueType: schema.String}, {Key: "reserved_instance_payment_option", DefaultValue: "", ValueType: schema.String}, }
var ElastiCacheReplicationGroupUsageSchema = []*schema.UsageItem{ {Key: "snapshot_storage_size_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "reserved_instance_term", DefaultValue: "", ValueType: schema.String}, {Key: "reserved_instance_payment_option", DefaultValue: "", ValueType: schema.String}, }
var ElasticBeanstalkEnvironmentUsageSchema = []*schema.UsageItem{ { Key: "cloudwatch", DefaultValue: &usage.ResourceUsage{Name: "cloudwatch", Items: CloudwatchLogGroupUsageSchema}, ValueType: schema.SubResourceUsage, }, { Key: "lb", DefaultValue: &usage.ResourceUsage{Name: "lb", Items: LBUsageSchema}, ValueType: schema.SubResourceUsage, }, { Key: "elb", DefaultValue: &usage.ResourceUsage{Name: "elb", Items: ELBUsageSchema}, ValueType: schema.SubResourceUsage, }, { Key: "db", DefaultValue: &usage.ResourceUsage{Name: "db", Items: DBInstanceUsageSchema}, ValueType: schema.SubResourceUsage, }, { Key: "ec2", DefaultValue: &usage.ResourceUsage{Name: "ec2", Items: LaunchConfigurationUsageSchema}, ValueType: schema.SubResourceUsage, }, }
ElasticBeanstalkEnvironmentUsageSchema defines a list which represents the usage schema of ElasticBeanstalkEnvironment. Usage costs for Elastic Beanstalk come from sub resources as it is a wrapper for other AWS services.
var ElasticsearchDomainUsageSchema = []*schema.UsageItem{}
var FSxWindowsFileSystemUsageSchema = []*schema.UsageItem{ {Key: "backup_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var InstanceTypeToVCPU = map[string]int64{}/* 407 elements not displayed */
this map was generated with: aws ec2 describe-instance-types | jq -r '[.InstanceTypes[] | "\"" + .InstanceType + "\": " + (.VCpuInfo.DefaultVCpus | tostring) + ","] | sort | .[]'
var InstanceUsageSchema = []*schema.UsageItem{ {Key: "operating_system", DefaultValue: "linux", ValueType: schema.String}, {Key: "reserved_instance_type", DefaultValue: "", ValueType: schema.String}, {Key: "reserved_instance_term", DefaultValue: "", ValueType: schema.String}, {Key: "reserved_instance_payment_option", DefaultValue: "", ValueType: schema.String}, {Key: "monthly_cpu_credit_hrs", DefaultValue: 0, ValueType: schema.Int64}, {Key: "vcpu_count", DefaultValue: 0, ValueType: schema.Int64}, }
var KMSExternalKeyUsageSchema = []*schema.UsageItem{}
var KMSKeyUsageSchema = []*schema.UsageItem{}
var KinesisAnalyticsApplicationUsageSchema = []*schema.UsageItem{ {Key: "kinesis_processing_units", ValueType: schema.Int64, DefaultValue: 0}, }
var KinesisAnalyticsV2ApplicationSnapshotUsageSchema = []*schema.UsageItem{ {Key: "durable_application_backup_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var KinesisAnalyticsV2ApplicationUsageSchema = []*schema.UsageItem{ {Key: "kinesis_processing_units", ValueType: schema.Int64, DefaultValue: 0}, {Key: "durable_application_backup_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var KinesisFirehoseDeliveryStreamUsageSchema = []*schema.UsageItem{ {Key: "monthly_data_ingested_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var LBUsageSchema = []*schema.UsageItem{ {Key: "rule_evaluations", ValueType: schema.Int64, DefaultValue: 0}, {Key: "new_connections", ValueType: schema.Int64, DefaultValue: 0}, {Key: "active_connections", ValueType: schema.Int64, DefaultValue: 0}, {Key: "processed_bytes_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var LambdaFunctionUsageSchema = []*schema.UsageItem{ {Key: "request_duration_ms", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_requests", DefaultValue: 0, ValueType: schema.Int64}, }
var LaunchConfigurationUsageSchema = InstanceUsageSchema
var LaunchTemplateUsageSchema = InstanceUsageSchema
var LightsailInstanceUsageSchema = []*schema.UsageItem{}
var MQBrokerUsageSchema = []*schema.UsageItem{{Key: "storage_size_gb", ValueType: schema.Float64, DefaultValue: 0}}
var MSKClusterUsageSchema = []*schema.UsageItem{}
var MWAAEnvironmentUsageSchema = []*schema.UsageItem{ {Key: "additional_workers", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "additional_schedulers", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "meta_database_gb", DefaultValue: 0.0, ValueType: schema.Float64}, }
If the resource requires a usage parameter
var NATGatewayUsageSchema = []*schema.UsageItem{ {Key: "monthly_data_processed_gb", DefaultValue: 0.0, ValueType: schema.Float64}, }
var NeptuneClusterInstanceUsageSchema = []*schema.UsageItem{ {Key: "monthly_cpu_credit_hrs", ValueType: schema.Int64, DefaultValue: 0}, }
var NeptuneClusterSnapshotUsageSchema = []*schema.UsageItem{ {Key: "backup_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var NeptuneClusterUsageSchema = []*schema.UsageItem{ {Key: "storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_io_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "backup_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var NetworkfirewallFirewallUsageSchema = []*schema.UsageItem{ {Key: "monthly_data_processed_gb", DefaultValue: 0, ValueType: schema.Float64}, }
NetworkfirewallFirewallUsageSchema defines a list which represents the usage schema of NetworkfirewallFirewall.
var RDSClusterInstanceUsageSchema = []*schema.UsageItem{ {Key: "monthly_cpu_credit_hrs", ValueType: schema.Int64, DefaultValue: 0}, {Key: "vcpu_count", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_additional_performance_insights_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "reserved_instance_term", DefaultValue: "", ValueType: schema.String}, {Key: "reserved_instance_payment_option", DefaultValue: "", ValueType: schema.String}, }
var RDSClusterUsageSchema = []*schema.UsageItem{ {Key: "write_requests_per_sec", ValueType: schema.Int64, DefaultValue: 0}, {Key: "read_requests_per_sec", ValueType: schema.Int64, DefaultValue: 0}, {Key: "change_records_per_statement", ValueType: schema.Float64, DefaultValue: 0.0}, {Key: "storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "average_statements_per_hr", ValueType: schema.Int64, DefaultValue: 0}, {Key: "backtrack_window_hrs", ValueType: schema.Int64, DefaultValue: 0}, {Key: "snapshot_export_size_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "capacity_units_per_hr", ValueType: schema.Int64, DefaultValue: 0}, {Key: "backup_snapshot_size_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var RedshiftClusterUsageSchema = []*schema.UsageItem{ {Key: "managed_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "excess_concurrency_scaling_secs", ValueType: schema.Int64, DefaultValue: 0}, {Key: "spectrum_data_scanned_tb", ValueType: schema.Float64, DefaultValue: 0.0}, {Key: "backup_storage_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var RegionCodeMapping = map[string]string{
"ap-southeast-1": "APS1",
}
RegionCodeMapping helps to find region's abbreviated code for a more granular filtering when resources may have multiple products for the same region.
var RegionMapping = map[string]string{
"us-gov-west-1": "AWS GovCloud (US-West)",
"us-gov-east-1": "AWS GovCloud (US-East)",
"us-east-1": "US East (N. Virginia)",
"us-east-2": "US East (Ohio)",
"us-west-1": "US West (N. California)",
"us-west-2": "US West (Oregon)",
"us-west-2-lax-1": "US West (Los Angeles)",
"ca-central-1": "Canada (Central)",
"cn-north-1": "China (Beijing)",
"cn-northwest-1": "China (Ningxia)",
"eu-central-1": "EU (Frankfurt)",
"eu-west-1": "EU (Ireland)",
"eu-west-2": "EU (London)",
"eu-south-1": "EU (Milan)",
"eu-west-3": "EU (Paris)",
"eu-north-1": "EU (Stockholm)",
"ap-east-1": "Asia Pacific (Hong Kong)",
"ap-northeast-1": "Asia Pacific (Tokyo)",
"ap-northeast-2": "Asia Pacific (Seoul)",
"ap-northeast-3": "Asia Pacific (Osaka)",
"ap-southeast-1": "Asia Pacific (Singapore)",
"ap-southeast-2": "Asia Pacific (Sydney)",
"ap-southeast-3": "Asia Pacific (Jakarta)",
"ap-south-1": "Asia Pacific (Mumbai)",
"me-south-1": "Middle East (Bahrain)",
"sa-east-1": "South America (Sao Paulo)",
"af-south-1": "Africa (Cape Town)",
}
RegionMapping is a helpful conversion map that changes aws region name to the name commonly used in pricing filters.
var RegionUsageSchema = []*schema.UsageItem{ {Key: "us_gov_west_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "us_gov_east_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "us_east_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "us_east_2", DefaultValue: 0, ValueType: schema.Float64}, {Key: "us_west_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "us_west_2", DefaultValue: 0, ValueType: schema.Float64}, {Key: "us_west_2_lax_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "ca_central_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "cn_north_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "cn_northwest_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "eu_central_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "eu_west_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "eu_west_2", DefaultValue: 0, ValueType: schema.Float64}, {Key: "eu_south_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "eu_west_3", DefaultValue: 0, ValueType: schema.Float64}, {Key: "eu_north_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "ap_east_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "ap_northeast_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "ap_northeast_2", DefaultValue: 0, ValueType: schema.Float64}, {Key: "ap_northeast_3", DefaultValue: 0, ValueType: schema.Float64}, {Key: "ap_southeast_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "ap_southeast_2", DefaultValue: 0, ValueType: schema.Float64}, {Key: "ap_southeast_3", DefaultValue: 0, ValueType: schema.Float64}, {Key: "ap_south_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "me_south_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "sa_east_1", DefaultValue: 0, ValueType: schema.Float64}, {Key: "af_south_1", DefaultValue: 0, ValueType: schema.Float64}, }
RegionUsageSchema is the schema representation of the RegionsUsage type. This can be used as a schema.SubResourceUsage to define a structure that's commonly used with data transfer usage. e.g:
monthly_data_transfer_out_gb: us_gov_west_1: 122 ca_central_1: 99
See DirectoryServiceDirectory for an example usage.
var Route53HealthCheckUsageSchema = []*schema.UsageItem{ {Key: "endpoint_type", ValueType: schema.String, DefaultValue: "aws"}, }
var Route53RecordUsageSchema = []*schema.UsageItem{ {Key: "monthly_latency_based_queries", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_geo_queries", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_standard_queries", ValueType: schema.Int64, DefaultValue: 0}, }
var Route53ResolverEndpointUsageSchema = []*schema.UsageItem{ {Key: "monthly_queries", ValueType: schema.Int64, DefaultValue: 0}, }
var Route53ZoneUsageSchema = []*schema.UsageItem{}
var S3BucketAnalyticsConfigurationUsageSchema = []*schema.UsageItem{ {Key: "monthly_monitored_objects", ValueType: schema.Int64, DefaultValue: 0}, }
var S3BucketInventoryUsageSchema = []*schema.UsageItem{{Key: "monthly_listed_objects", ValueType: schema.Int64, DefaultValue: 0}}
var S3BucketLifecycleConfigurationUsageSchema = []*schema.UsageItem{ {Key: "object_tags", DefaultValue: 0, ValueType: schema.Int64}, {Key: "standard", DefaultValue: &usage.ResourceUsage{Name: "standard", Items: S3StandardStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "intelligent_tiering", DefaultValue: &usage.ResourceUsage{Name: "intelligent_tiering", Items: S3IntelligentTieringStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "standard_infrequent_access", DefaultValue: &usage.ResourceUsage{Name: "standard_infrequent_access", Items: S3StandardInfrequentAccessStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "one_zone_infrequent_access", DefaultValue: &usage.ResourceUsage{Name: "one_zone_infrequent_access", Items: S3OneZoneInfrequentAccessStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "glacier_flexible_retrieval", DefaultValue: &usage.ResourceUsage{Name: "glacier_flexible_retrieval", Items: S3GlacierFlexibleRetrievalStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "glacier_deep_archive", DefaultValue: &usage.ResourceUsage{Name: "glacier_deep_archive", Items: S3GlacierDeepArchiveStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, }
var S3BucketUsageSchema = []*schema.UsageItem{ {Key: "object_tags", DefaultValue: 0, ValueType: schema.Int64}, {Key: "standard", DefaultValue: &usage.ResourceUsage{Name: "standard", Items: S3StandardStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "intelligent_tiering", DefaultValue: &usage.ResourceUsage{Name: "intelligent_tiering", Items: S3IntelligentTieringStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "standard_infrequent_access", DefaultValue: &usage.ResourceUsage{Name: "standard_infrequent_access", Items: S3StandardInfrequentAccessStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "one_zone_infrequent_access", DefaultValue: &usage.ResourceUsage{Name: "one_zone_infrequent_access", Items: S3OneZoneInfrequentAccessStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "glacier_flexible_retrieval", DefaultValue: &usage.ResourceUsage{Name: "glacier_flexible_retrieval", Items: S3GlacierFlexibleRetrievalStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, {Key: "glacier_deep_archive", DefaultValue: &usage.ResourceUsage{Name: "glacier_deep_archive", Items: S3GlacierDeepArchiveStorageClassUsageSchema}, ValueType: schema.SubResourceUsage}, }
var S3GlacierDeepArchiveStorageClassUsageSchema = []*schema.UsageItem{ {Key: "storage_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_standard_data_retrieval_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_standard_data_retrieval_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_bulk_data_retrieval_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_bulk_data_retrieval_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "early_delete_gb", DefaultValue: 0.0, ValueType: schema.Float64}, }
var S3GlacierFlexibleRetrievalStorageClassUsageSchema = []*schema.UsageItem{ {Key: "storage_gb", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_standard_data_retrieval_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_standard_data_retrieval_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_standard_select_data_scanned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_standard_select_data_returned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_expedited_data_retrieval_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_expedited_data_retrieval_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_expedited_select_data_scanned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_expedited_select_data_returned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_bulk_select_data_scanned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_bulk_select_data_returned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "early_delete_gb", DefaultValue: 0.0, ValueType: schema.Float64}, }
var S3IntelligentTieringStorageClassUsageSchema = []*schema.UsageItem{ {Key: "frequent_access_storage_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "infrequent_access_storage_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "archive_access_storage_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "deep_archive_access_storage_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monitored_objects", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_select_data_scanned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_select_data_returned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "early_delete_gb", DefaultValue: 0.0, ValueType: schema.Float64}, }
var S3OneZoneInfrequentAccessStorageClassUsageSchema = []*schema.UsageItem{ {Key: "storage_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_data_retrieval_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_select_data_scanned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_select_data_returned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, }
var S3StandardInfrequentAccessStorageClassUsageSchema = []*schema.UsageItem{ {Key: "storage_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_data_retrieval_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_select_data_scanned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_select_data_returned_gb", DefaultValue: 0.0, ValueType: schema.Float64}, }
var S3StandardStorageClassUsageSchema = []*schema.UsageItem{ {Key: "storage_gb", DefaultValue: 0.0, ValueType: schema.Float64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: schema.Int64}, {Key: "monthly_select_data_scanned_gb", DefaultValue: 0, ValueType: schema.Float64}, {Key: "monthly_select_data_returned_gb", DefaultValue: 0, ValueType: schema.Float64}, }
var SFnStateMachineUsageSchema = []*schema.UsageItem{ {Key: "monthly_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "workflow_duration_ms", ValueType: schema.Int64, DefaultValue: 0}, {Key: "memory_mb", ValueType: schema.Int64, DefaultValue: 0}, {Key: "monthly_transitions", ValueType: schema.Int64, DefaultValue: 0}, }
var SNSFIFOTopicUsageSchema = []*schema.UsageItem{ {Key: "request_size_kb", ValueType: schema.Float64, DefaultValue: 1}, {Key: "monthly_requests", ValueType: schema.Int64, DefaultValue: 0}, }
SNSFIFOTopicUsageSchema defines a list which represents the usage schema of SNSFIFOTopic.
var SNSTopicSubscriptionUsageSchema = []*schema.UsageItem{ {Key: "request_size_kb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_requests", ValueType: schema.Int64, DefaultValue: 0}, }
var SNSTopicUsageSchema = []*schema.UsageItem{ {Key: "request_size_kb", ValueType: schema.Float64, DefaultValue: 0}, {Key: "monthly_requests", ValueType: schema.Int64, DefaultValue: 0}, {Key: "http_subscriptions", ValueType: schema.Int64, DefaultValue: 0}, {Key: "email_subscriptions", ValueType: schema.Int64, DefaultValue: 0}, {Key: "kinesis_subscriptions", ValueType: schema.Int64, DefaultValue: 0}, {Key: "mobile_push_subscriptions", ValueType: schema.Int64, DefaultValue: 0}, {Key: "macos_subscriptions", ValueType: schema.Int64, DefaultValue: 0}, {Key: "sms_subscriptions", ValueType: schema.Int64, DefaultValue: 0}, {Key: "sms_notification_price", ValueType: schema.Float64, DefaultValue: 0.0075}, }
SNSTopicUsageSchema defines a list which represents the usage schema of SNSTopic.
var SQSQueueUsageSchema = []*schema.UsageItem{ {Key: "monthly_requests", ValueType: schema.Float64, DefaultValue: 0}, {Key: "request_size_kb", ValueType: schema.Int64, DefaultValue: 0}, }
var SSMActivationUsageSchema = []*schema.UsageItem{ {Key: "instance_tier", ValueType: schema.String, DefaultValue: "standard"}, {Key: "instances", ValueType: schema.Int64, DefaultValue: 0}, }
var SSMParameterUsageSchema = []*schema.UsageItem{ {Key: "parameter_storage_hrs", ValueType: schema.Int64, DefaultValue: 0}, {Key: "api_throughput_limit", ValueType: schema.String, DefaultValue: "standard"}, {Key: "monthly_api_interactions", ValueType: schema.Int64, DefaultValue: 0}, }
var SecretsManagerSecretUsageSchema = []*schema.UsageItem{ {Key: "monthly_requests", ValueType: schema.Int64, DefaultValue: 0}, }
var TransferServerUsageSchema = []*schema.UsageItem{ {Key: "monthly_data_downloaded_gb", DefaultValue: 0, ValueType: schema.Float64}, {Key: "monthly_data_uploaded_gb", DefaultValue: 0, ValueType: schema.Float64}, }
TransferServerUsageSchema defines a list of usage items for TransferServer.
var VPCEndpointUsageSchema = []*schema.UsageItem{ {Key: "monthly_data_processed_gb", ValueType: schema.Float64, DefaultValue: 0}, }
var VPNConnectionUsageSchema = []*schema.UsageItem{{Key: "monthly_data_processed_gb", ValueType: schema.Float64, DefaultValue: 0}}
Functions ¶
This section is empty.
Types ¶
type ACMCertificate ¶ added in v0.9.17
func (*ACMCertificate) BuildResource ¶ added in v0.9.17
func (r *ACMCertificate) BuildResource() *schema.Resource
func (*ACMCertificate) PopulateUsage ¶ added in v0.9.17
func (r *ACMCertificate) PopulateUsage(u *schema.UsageData)
type ACMPCACertificateAuthority ¶ added in v0.9.17
type ACMPCACertificateAuthority struct { Address string Region string MonthlyRequests *int64 `infracost_usage:"monthly_requests"` }
func (*ACMPCACertificateAuthority) BuildResource ¶ added in v0.9.17
func (r *ACMPCACertificateAuthority) BuildResource() *schema.Resource
func (*ACMPCACertificateAuthority) PopulateUsage ¶ added in v0.9.17
func (r *ACMPCACertificateAuthority) PopulateUsage(u *schema.UsageData)
type APIGatewayRestAPI ¶ added in v0.9.17
type APIGatewayRestAPI struct { Address string Region string MonthlyRequests *int64 `infracost_usage:"monthly_requests"` }
func (*APIGatewayRestAPI) BuildResource ¶ added in v0.9.17
func (r *APIGatewayRestAPI) BuildResource() *schema.Resource
func (*APIGatewayRestAPI) PopulateUsage ¶ added in v0.9.17
func (r *APIGatewayRestAPI) PopulateUsage(u *schema.UsageData)
type APIGatewayStage ¶ added in v0.9.17
type APIGatewayStage struct { Address string Region string CacheClusterSize float64 CacheEnabled bool }
func (*APIGatewayStage) BuildResource ¶ added in v0.9.17
func (r *APIGatewayStage) BuildResource() *schema.Resource
func (*APIGatewayStage) PopulateUsage ¶ added in v0.9.17
func (r *APIGatewayStage) PopulateUsage(u *schema.UsageData)
type APIGatewayV2API ¶ added in v0.9.17
type APIGatewayV2API struct { Address string Region string ProtocolType string MessageSizeKB *int64 `infracost_usage:"message_size_kb"` MonthlyConnectionMins *int64 `infracost_usage:"monthly_connection_mins"` MonthlyRequests *int64 `infracost_usage:"monthly_requests"` RequestSizeKB *int64 `infracost_usage:"request_size_kb"` MonthlyMessages *int64 `infracost_usage:"monthly_messages"` }
func (*APIGatewayV2API) BuildResource ¶ added in v0.9.17
func (r *APIGatewayV2API) BuildResource() *schema.Resource
func (*APIGatewayV2API) PopulateUsage ¶ added in v0.9.17
func (r *APIGatewayV2API) PopulateUsage(u *schema.UsageData)
type AppAutoscalingTarget ¶ added in v0.9.19
type AppAutoscalingTarget struct { Address string Region string ResourceID string ScalableDimension string MinCapacity int64 MaxCapacity int64 // "usage" args Capacity *int64 `infracost_usage:"capacity"` }
func (*AppAutoscalingTarget) BuildResource ¶ added in v0.9.19
func (r *AppAutoscalingTarget) BuildResource() *schema.Resource
func (*AppAutoscalingTarget) PopulateUsage ¶ added in v0.9.19
func (r *AppAutoscalingTarget) PopulateUsage(u *schema.UsageData)
type AutoscalingGroup ¶ added in v0.9.9
type AutoscalingGroup struct { // "required" args that can't really be missing. Address string Region string Name string // "optional" args, that may be empty depending on the resource config LaunchConfiguration *LaunchConfiguration LaunchTemplate *LaunchTemplate }
func (*AutoscalingGroup) BuildResource ¶ added in v0.9.9
func (a *AutoscalingGroup) BuildResource() *schema.Resource
func (*AutoscalingGroup) PopulateUsage ¶ added in v0.9.9
func (a *AutoscalingGroup) PopulateUsage(u *schema.UsageData)
type BackupVault ¶ added in v0.9.18
type BackupVault struct { Address string Region string MonthlyEFSWarmBackupGB *float64 `infracost_usage:"monthly_efs_warm_backup_gb"` MonthlyEFSColdRestoreGB *float64 `infracost_usage:"monthly_efs_cold_restore_gb"` MonthlyRDSSnapshotGB *float64 `infracost_usage:"monthly_rds_snapshot_gb"` MonthlyAuroraSnapshotGB *float64 `infracost_usage:"monthly_aurora_snapshot_gb"` MonthlyDynamodbBackupGB *float64 `infracost_usage:"monthly_dynamodb_backup_gb"` MonthlyDynamodbRestoreGB *float64 `infracost_usage:"monthly_dynamodb_restore_gb"` MonthlyFSxWindowsBackupGB *float64 `infracost_usage:"monthly_fsx_windows_backup_gb"` MonthlyFSxLustreBackupGB *float64 `infracost_usage:"monthly_fsx_lustre_backup_gb"` MonthlyEFSColdBackupGB *float64 `infracost_usage:"monthly_efs_cold_backup_gb"` MonthlyEFSWarmRestoreGB *float64 `infracost_usage:"monthly_efs_warm_restore_gb"` MonthlyEFSItemRestoreRequests *int64 `infracost_usage:"monthly_efs_item_restore_requests"` MonthlyEBSSnapshotGB *float64 `infracost_usage:"monthly_ebs_snapshot_gb"` }
func (*BackupVault) BuildResource ¶ added in v0.9.18
func (r *BackupVault) BuildResource() *schema.Resource
func (*BackupVault) PopulateUsage ¶ added in v0.9.18
func (r *BackupVault) PopulateUsage(u *schema.UsageData)
type CloudFormationStack ¶ added in v0.9.17
type CloudFormationStack struct { Address string Region string TemplateBody string MonthlyHandlerOperations *int64 `infracost_usage:"monthly_handler_operations"` MonthlyDurationSecs *int64 `infracost_usage:"monthly_duration_secs"` }
func (*CloudFormationStack) BuildResource ¶ added in v0.9.17
func (r *CloudFormationStack) BuildResource() *schema.Resource
func (*CloudFormationStack) PopulateUsage ¶ added in v0.9.17
func (r *CloudFormationStack) PopulateUsage(u *schema.UsageData)
type CloudFormationStackSet ¶ added in v0.9.17
type CloudFormationStackSet struct { Address string Region string TemplateBody string MonthlyHandlerOperations *int64 `infracost_usage:"monthly_handler_operations"` MonthlyDurationSecs *int64 `infracost_usage:"monthly_duration_secs"` }
func (*CloudFormationStackSet) BuildResource ¶ added in v0.9.17
func (r *CloudFormationStackSet) BuildResource() *schema.Resource
func (*CloudFormationStackSet) PopulateUsage ¶ added in v0.9.17
func (r *CloudFormationStackSet) PopulateUsage(u *schema.UsageData)
type CloudfrontDistribution ¶ added in v0.9.18
type CloudfrontDistribution struct { Address string Region string IsOriginShieldEnabled bool IsSSLSupportMethodVIP bool HasLoggingConfigBucket bool HasFieldLevelEncryptionID bool OriginShieldRegion string // "usage" args MonthlyHTTPRequests *cloudfrontDistributionRegionRequestsUsage `infracost_usage:"monthly_http_requests"` MonthlyHTTPSRequests *cloudfrontDistributionRegionRequestsUsage `infracost_usage:"monthly_https_requests"` MonthlyShieldRequests *cloudfrontDistributionShieldRequestsUsage `infracost_usage:"monthly_shield_requests"` MonthlyInvalidationRequests *int64 `infracost_usage:"monthly_invalidation_requests"` MonthlyEncryptionRequests *int64 `infracost_usage:"monthly_encryption_requests"` MonthlyLogLines *int64 `infracost_usage:"monthly_log_lines"` MonthlyDataTransferToInternetGB *cloudfrontDistributionRegionDataTransferUsage `infracost_usage:"monthly_data_transfer_to_internet_gb"` MonthlyDataTransferToOriginGB *cloudfrontDistributionRegionDataTransferUsage `infracost_usage:"monthly_data_transfer_to_origin_gb"` CustomSslCertificates *int64 `infracost_usage:"custom_ssl_certificates"` }
func (*CloudfrontDistribution) BuildResource ¶ added in v0.9.18
func (r *CloudfrontDistribution) BuildResource() *schema.Resource
func (*CloudfrontDistribution) PopulateUsage ¶ added in v0.9.18
func (r *CloudfrontDistribution) PopulateUsage(u *schema.UsageData)
type Cloudtrail ¶ added in v0.9.16
type Cloudtrail struct { Address string Region string IncludeManagementEvents bool IncludeInsightEvents bool MonthlyAdditionalManagementEvents *float64 `infracost_usage:"monthly_additional_management_events"` MonthlyDataEvents *float64 `infracost_usage:"monthly_data_events"` MonthlyInsightEvents *float64 `infracost_usage:"monthly_insight_events"` }
Cloudtrail struct represents a cloudtrail instance to monitor activity across a set of resources. AWS Cloudtrail monitors and records account activity across infrastructure, keeping an audit log of activity. This is mostly used for security purposes.
Resource information: https://aws.amazon.com/cloudtrail/ Pricing information: https://aws.amazon.com/cloudtrail/pricing/
func (*Cloudtrail) BuildResource ¶ added in v0.9.16
func (r *Cloudtrail) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid Cloudtrail struct. It returns Cloudtrail as a schema.Resource with 3 main cost components. All cost components are defined as "events". All cost components are charged per 100k events delivered/analyzed.
- Additional Management events delivered to S3, charged at $2.00 per 100k management events delivered. Management events are normally priced as free, however if a user specifies an additional replication of events this is charged. We only show this cost therefore if Cloudtrail.IncludeManagementEvents is set. This is set at a per IAC basis.
- Data events delivered to S3, charged at $0.10 per 100k events delivered.
- CloudTrail Insights, charged at $0.35 per 100k events analyzed. This again is configured optionally on a Cloudtrail instance. Hence, we only include the cost component if Cloudtrail.IncludeInsightEvents. This is set at a per IAC basis.
This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*Cloudtrail) PopulateUsage ¶ added in v0.9.16
func (r *Cloudtrail) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the Cloudtrail. It uses the `infracost_usage` struct tags to populate data into the Cloudtrail.
type CloudwatchDashboard ¶ added in v0.9.17
type CloudwatchDashboard struct {
Address string
}
func (*CloudwatchDashboard) BuildResource ¶ added in v0.9.17
func (r *CloudwatchDashboard) BuildResource() *schema.Resource
func (*CloudwatchDashboard) PopulateUsage ¶ added in v0.9.17
func (r *CloudwatchDashboard) PopulateUsage(u *schema.UsageData)
type CloudwatchEventBus ¶ added in v0.9.17
type CloudwatchEventBus struct { Address string Region string MonthlySchemaDiscoveryEvents *int64 `infracost_usage:"monthly_schema_discovery_events"` MonthlyCustomEvents *int64 `infracost_usage:"monthly_custom_events"` MonthlyThirdPartyEvents *int64 `infracost_usage:"monthly_third_party_events"` MonthlyArchiveProcessingGB *float64 `infracost_usage:"monthly_archive_processing_gb"` ArchiveStorageGB *float64 `infracost_usage:"archive_storage_gb"` }
func (*CloudwatchEventBus) BuildResource ¶ added in v0.9.17
func (r *CloudwatchEventBus) BuildResource() *schema.Resource
func (*CloudwatchEventBus) PopulateUsage ¶ added in v0.9.17
func (r *CloudwatchEventBus) PopulateUsage(u *schema.UsageData)
type CloudwatchLogGroup ¶ added in v0.9.17
type CloudwatchLogGroup struct { Address string Region string MonthlyDataIngestedGB *float64 `infracost_usage:"monthly_data_ingested_gb"` StorageGB *float64 `infracost_usage:"storage_gb"` MonthlyDataScannedGB *float64 `infracost_usage:"monthly_data_scanned_gb"` }
func (*CloudwatchLogGroup) BuildResource ¶ added in v0.9.17
func (r *CloudwatchLogGroup) BuildResource() *schema.Resource
func (*CloudwatchLogGroup) PopulateUsage ¶ added in v0.9.17
func (r *CloudwatchLogGroup) PopulateUsage(u *schema.UsageData)
type CloudwatchMetricAlarm ¶ added in v0.9.18
type CloudwatchMetricAlarm struct { Address string Region string ComparisonOperator string Metrics int64 Period int64 }
func (*CloudwatchMetricAlarm) BuildResource ¶ added in v0.9.18
func (r *CloudwatchMetricAlarm) BuildResource() *schema.Resource
func (*CloudwatchMetricAlarm) CalcMetricResolution ¶ added in v0.9.18
func (r *CloudwatchMetricAlarm) CalcMetricResolution(metricPeriod decimal.Decimal) bool
func (*CloudwatchMetricAlarm) PopulateUsage ¶ added in v0.9.18
func (r *CloudwatchMetricAlarm) PopulateUsage(u *schema.UsageData)
type CodeBuildProject ¶ added in v0.9.17
type CodeBuildProject struct { Address string Region string ComputeType string EnvironmentType string MonthlyBuildMins *int64 `infracost_usage:"monthly_build_mins"` }
func (*CodeBuildProject) BuildResource ¶ added in v0.9.17
func (r *CodeBuildProject) BuildResource() *schema.Resource
func (*CodeBuildProject) PopulateUsage ¶ added in v0.9.17
func (r *CodeBuildProject) PopulateUsage(u *schema.UsageData)
type ConfigConfigRule ¶ added in v0.9.17
type ConfigConfigRule struct { Address string Region string MonthlyRuleEvaluations *int64 `infracost_usage:"monthly_rule_evaluations"` }
func (*ConfigConfigRule) BuildResource ¶ added in v0.9.17
func (r *ConfigConfigRule) BuildResource() *schema.Resource
func (*ConfigConfigRule) PopulateUsage ¶ added in v0.9.17
func (r *ConfigConfigRule) PopulateUsage(u *schema.UsageData)
type ConfigConfigurationRecorder ¶ added in v0.9.17
type ConfigConfigurationRecorder struct { Address string Region string MonthlyConfigItems *int64 `infracost_usage:"monthly_config_items"` MonthlyCustomConfigItems *int64 `infracost_usage:"monthly_custom_config_items"` }
func (*ConfigConfigurationRecorder) BuildResource ¶ added in v0.9.17
func (r *ConfigConfigurationRecorder) BuildResource() *schema.Resource
func (*ConfigConfigurationRecorder) PopulateUsage ¶ added in v0.9.17
func (r *ConfigConfigurationRecorder) PopulateUsage(u *schema.UsageData)
type DBInstance ¶ added in v0.9.17
type DBInstance struct { Address string Region string LicenseModel string StorageType string BackupRetentionPeriod int64 PerformanceInsightsEnabled bool PerformanceInsightsLongTermRetention bool MultiAZ bool InstanceClass string Engine string IOPS float64 AllocatedStorageGB *float64 MonthlyStandardIORequests *int64 `infracost_usage:"monthly_standard_io_requests"` AdditionalBackupStorageGB *float64 `infracost_usage:"additional_backup_storage_gb"` MonthlyAdditionalPerformanceInsightsRequests *int64 `infracost_usage:"monthly_additional_performance_insights_requests"` ReservedInstanceTerm *string `infracost_usage:"reserved_instance_term"` ReservedInstancePaymentOption *string `infracost_usage:"reserved_instance_payment_option"` }
func (*DBInstance) BuildResource ¶ added in v0.9.17
func (r *DBInstance) BuildResource() *schema.Resource
func (*DBInstance) PopulateUsage ¶ added in v0.9.17
func (r *DBInstance) PopulateUsage(u *schema.UsageData)
type DMSReplicationInstance ¶ added in v0.9.17
type DMSReplicationInstance struct { Address string Region string AllocatedStorageGB int64 ReplicationInstanceClass string MultiAZ bool }
func (*DMSReplicationInstance) BuildResource ¶ added in v0.9.17
func (r *DMSReplicationInstance) BuildResource() *schema.Resource
func (*DMSReplicationInstance) PopulateUsage ¶ added in v0.9.17
func (r *DMSReplicationInstance) PopulateUsage(u *schema.UsageData)
type DXConnection ¶ added in v0.9.18
type DXConnection struct { Address string Bandwidth string Location string Region string MonthlyOutboundFromRegionToDXConnectionLocation *RegionsUsage `infracost_usage:"monthly_outbound_from_region_to_dx_connection_location"` MonthlyOutboundRegionToDxLocationGB *float64 `infracost_usage:"monthly_outbound_region_to_dx_location_gb"` DxVirtualInterfaceType *string `infracost_usage:"dx_virtual_interface_type"` DXConnectionType *string `infracost_usage:"dx_connection_type"` }
func (*DXConnection) BuildResource ¶ added in v0.9.18
func (r *DXConnection) BuildResource() *schema.Resource
func (*DXConnection) PopulateUsage ¶ added in v0.9.18
func (r *DXConnection) PopulateUsage(u *schema.UsageData)
type DXGatewayAssociation ¶ added in v0.9.17
type DXGatewayAssociation struct { Address string Region string AssociatedGatewayRegion string MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"` }
func (*DXGatewayAssociation) BuildResource ¶ added in v0.9.17
func (r *DXGatewayAssociation) BuildResource() *schema.Resource
func (*DXGatewayAssociation) PopulateUsage ¶ added in v0.9.17
func (r *DXGatewayAssociation) PopulateUsage(u *schema.UsageData)
type DataTransfer ¶ added in v0.9.14
type DataTransfer struct { Address string Region string // "usage" args MonthlyInfraRegionGB *float64 `infracost_usage:"monthly_intra_region_gb"` MonthlyOutboundInternetGB *float64 `infracost_usage:"monthly_outbound_internet_gb"` MonthlyOutboundUsEastToUsEastGB *float64 `infracost_usage:"monthly_outbound_us_east_to_us_east_gb"` MonthlyOutboundOtherRegionsGB *float64 `infracost_usage:"monthly_outbound_other_regions_gb"` }
DataTransfer represents data transferred "in" to and "out" of Amazon EC2.
Pricing information here: https://aws.amazon.com/ec2/pricing/on-demand/
func (*DataTransfer) BuildResource ¶ added in v0.9.14
func (r *DataTransfer) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid DataTransfer. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*DataTransfer) PopulateUsage ¶ added in v0.9.14
func (r *DataTransfer) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the DataTransfer. It uses the `infracost_usage` struct tags to populate data into the DataTransfer.
type DirectoryServiceDirectory ¶ added in v0.9.12
type DirectoryServiceDirectory struct { // Address is the unique name of the resource in terraform/cloudfront. Address string // Region is the aws region the DirectoryServiceDirectory is provisioned within Region string // RegionName is the full region name used in product filters for the DirectoryService RegionName string // Type is the directory type. It can be one of (SimpleAD|ADConnector|MicrosoftAD) Type string // Edition is the edition of the MicrosoftAD type directory service. This field // is only applicable with MicrosoftAD and can either be (Standard|Enterprise). Edition string // The size of the directory, only applicable if the type is SimpleAD or ADConnector. // Values can be either (Small|Large) Size string // AdditionalDomainControllers represents a usage cost definition for the number controllers // above the default value (2) that are provisioned in this directory service. AdditionalDomainControllers *float64 `infracost_usage:"additional_domain_controllers"` // This cost is only applicable if the type of directory is MicrosoftAD. // Directory Service sharing support is not supported by terraform aws at this time. // Therefore, this field is built from the usage cost file. An open issue referencing // shared directory support here: https://github.com/hashicorp/terraform-provider-aws/issues/6003 SharedAccounts *float64 `infracost_usage:"shared_accounts"` }
DirectoryServiceDirectory represents a single AWS Directory Service "Directory". AWS Directory Service has three main types: Microsoft AD, AD Connector & Simple AD. All the types are meant to support some form of Active Directory integration. Microsoft Active Directory is used by Windows applications to manage access and enable single sign-on. For example, you can manage access to Microsoft SharePoint using different Microsoft Active Directory security groups.
The Microsoft AD type is a fully managed Microsoft Active Directory service. The Simple AD type is a fully managed Samba service which is compatible with Microsoft Active Directory. The AD Connector type is a gateway with which you can redirect directory requests to your on-premises Microsoft Active Directory.
Read more about Directory service here: https://aws.amazon.com/directoryservice/ Microsoft Active Directory here: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html Other Supported Active Directory types here:
https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_simple_ad.html https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_simple_ad.html
DirectoryServicePricing pricing is based on ¶
> Hourly price based on the type and edition (only Microsoft AD) of the directory service directory > Additional hourly price added directory per account/vpc the directory is shared with (only Microsoft AD) > Costs for data transfer out (on a per-region basis)
More information on pricing can be found here:
https://aws.amazon.com/directoryservice/pricing/ https://aws.amazon.com/directoryservice/other-directories-pricing/
func (*DirectoryServiceDirectory) BuildResource ¶ added in v0.9.12
func (d *DirectoryServiceDirectory) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid DirectoryServiceDirectory.
func (*DirectoryServiceDirectory) PopulateUsage ¶ added in v0.9.12
func (d *DirectoryServiceDirectory) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.Usage into the DirectoryServiceDirectory. It uses the `infracost_usage` struct tags to populate data into the DirectoryServiceDirectory.
type DocDBCluster ¶ added in v0.9.17
type DocDBCluster struct { Address string Region string BackupRetentionPeriod int64 BackupStorageGB *float64 `infracost_usage:"backup_storage_gb"` }
func (*DocDBCluster) BuildResource ¶ added in v0.9.17
func (r *DocDBCluster) BuildResource() *schema.Resource
func (*DocDBCluster) PopulateUsage ¶ added in v0.9.17
func (r *DocDBCluster) PopulateUsage(u *schema.UsageData)
type DocDBClusterInstance ¶ added in v0.9.17
type DocDBClusterInstance struct { Address string Region string InstanceClass string DataStorageGB *float64 `infracost_usage:"data_storage_gb"` MonthlyIORequests *int64 `infracost_usage:"monthly_io_requests"` MonthlyCPUCreditHrs *int64 `infracost_usage:"monthly_cpu_credit_hrs"` }
func (*DocDBClusterInstance) BuildResource ¶ added in v0.9.17
func (r *DocDBClusterInstance) BuildResource() *schema.Resource
func (*DocDBClusterInstance) PopulateUsage ¶ added in v0.9.17
func (r *DocDBClusterInstance) PopulateUsage(u *schema.UsageData)
type DocDBClusterSnapshot ¶ added in v0.9.17
type DocDBClusterSnapshot struct { Address string Region string BackupStorageGB *float64 `infracost_usage:"backup_storage_gb"` }
func (*DocDBClusterSnapshot) BuildResource ¶ added in v0.9.17
func (r *DocDBClusterSnapshot) BuildResource() *schema.Resource
func (*DocDBClusterSnapshot) PopulateUsage ¶ added in v0.9.17
func (r *DocDBClusterSnapshot) PopulateUsage(u *schema.UsageData)
type DynamoDBTable ¶ added in v0.9.8
type DynamoDBTable struct { // "required" args that can't really be missing. Address string Region string Name string BillingMode string ReplicaRegions []string // "optional" args, that may be empty depending on the resource config WriteCapacity *int64 ReadCapacity *int64 AppAutoscalingTarget []*AppAutoscalingTarget // "usage" args MonthlyWriteRequestUnits *int64 `infracost_usage:"monthly_write_request_units"` MonthlyReadRequestUnits *int64 `infracost_usage:"monthly_read_request_units"` StorageGB *int64 `infracost_usage:"storage_gb"` PitrBackupStorageGB *int64 `infracost_usage:"pitr_backup_storage_gb"` OnDemandBackupStorageGB *int64 `infracost_usage:"on_demand_backup_storage_gb"` MonthlyDataRestoredGB *int64 `infracost_usage:"monthly_data_restored_gb"` MonthlyStreamsReadRequestUnits *int64 `infracost_usage:"monthly_streams_read_request_units"` }
func (*DynamoDBTable) BuildResource ¶ added in v0.9.8
func (a *DynamoDBTable) BuildResource() *schema.Resource
func (*DynamoDBTable) PopulateUsage ¶ added in v0.9.8
func (a *DynamoDBTable) PopulateUsage(u *schema.UsageData)
type EBSSnapshot ¶ added in v0.9.17
type EBSSnapshot struct { Address string Region string SizeGB *float64 MonthlyListBlockRequests *int64 `infracost_usage:"monthly_list_block_requests"` MonthlyGetBlockRequests *int64 `infracost_usage:"monthly_get_block_requests"` MonthlyPutBlockRequests *int64 `infracost_usage:"monthly_put_block_requests"` FastSnapshotRestoreHours *int64 `infracost_usage:"fast_snapshot_restore_hours"` }
func (*EBSSnapshot) BuildResource ¶ added in v0.9.17
func (r *EBSSnapshot) BuildResource() *schema.Resource
func (*EBSSnapshot) PopulateUsage ¶ added in v0.9.17
func (r *EBSSnapshot) PopulateUsage(u *schema.UsageData)
type EBSSnapshotCopy ¶ added in v0.9.17
func (*EBSSnapshotCopy) BuildResource ¶ added in v0.9.17
func (r *EBSSnapshotCopy) BuildResource() *schema.Resource
func (*EBSSnapshotCopy) PopulateUsage ¶ added in v0.9.17
func (r *EBSSnapshotCopy) PopulateUsage(u *schema.UsageData)
type EBSVolume ¶ added in v0.9.9
type EBSVolume struct { // "required" args that can't really be missing. Address string Region string Type string IOPS int64 Throughput int64 // "optional" args that can be empty strings. Size *int64 // "usage" args MonthlyStandardIORequests *int64 `infracost_usage:"monthly_standard_io_requests"` }
func (*EBSVolume) BuildResource ¶ added in v0.9.9
func (*EBSVolume) PopulateUsage ¶ added in v0.9.9
type EC2ClientVPNEndpoint ¶ added in v0.9.17
func (*EC2ClientVPNEndpoint) BuildResource ¶ added in v0.9.17
func (r *EC2ClientVPNEndpoint) BuildResource() *schema.Resource
func (*EC2ClientVPNEndpoint) PopulateUsage ¶ added in v0.9.17
func (r *EC2ClientVPNEndpoint) PopulateUsage(u *schema.UsageData)
type EC2ClientVPNNetworkAssociation ¶ added in v0.9.17
func (*EC2ClientVPNNetworkAssociation) BuildResource ¶ added in v0.9.17
func (r *EC2ClientVPNNetworkAssociation) BuildResource() *schema.Resource
func (*EC2ClientVPNNetworkAssociation) PopulateUsage ¶ added in v0.9.17
func (r *EC2ClientVPNNetworkAssociation) PopulateUsage(u *schema.UsageData)
type EC2TrafficMirrorSession ¶ added in v0.9.17
func (*EC2TrafficMirrorSession) BuildResource ¶ added in v0.9.17
func (r *EC2TrafficMirrorSession) BuildResource() *schema.Resource
func (*EC2TrafficMirrorSession) PopulateUsage ¶ added in v0.9.17
func (r *EC2TrafficMirrorSession) PopulateUsage(u *schema.UsageData)
type EC2TransitGatewayPeeringAttachment ¶ added in v0.9.17
type EC2TransitGatewayPeeringAttachment struct { Address string Region string TransitGatewayRegion string }
func (*EC2TransitGatewayPeeringAttachment) BuildResource ¶ added in v0.9.17
func (r *EC2TransitGatewayPeeringAttachment) BuildResource() *schema.Resource
func (*EC2TransitGatewayPeeringAttachment) PopulateUsage ¶ added in v0.9.17
func (r *EC2TransitGatewayPeeringAttachment) PopulateUsage(u *schema.UsageData)
type ECRRepository ¶ added in v0.9.17
type ECRRepository struct { Address string Region string StorageGB *float64 `infracost_usage:"storage_gb"` }
func (*ECRRepository) BuildResource ¶ added in v0.9.17
func (r *ECRRepository) BuildResource() *schema.Resource
func (*ECRRepository) PopulateUsage ¶ added in v0.9.17
func (r *ECRRepository) PopulateUsage(u *schema.UsageData)
type ECSService ¶ added in v0.9.17
type ECSService struct { Address string LaunchType string Region string DesiredCount int64 MemoryGB float64 VCPU float64 InferenceAcceleratorDeviceType string }
func (*ECSService) BuildResource ¶ added in v0.9.17
func (r *ECSService) BuildResource() *schema.Resource
func (*ECSService) PopulateUsage ¶ added in v0.9.17
func (r *ECSService) PopulateUsage(u *schema.UsageData)
type EFSFileSystem ¶ added in v0.9.17
type EFSFileSystem struct { Address string Region string HasLifecyclePolicy bool AvailabilityZoneName string ProvisionedThroughputInMBps float64 InfrequentAccessStorageGB *float64 `infracost_usage:"infrequent_access_storage_gb"` StorageGB *float64 `infracost_usage:"storage_gb"` MonthlyInfrequentAccessReadGB *float64 `infracost_usage:"monthly_infrequent_access_read_gb"` MonthlyInfrequentAccessWriteGB *float64 `infracost_usage:"monthly_infrequent_access_write_gb"` }
func (*EFSFileSystem) BuildResource ¶ added in v0.9.17
func (r *EFSFileSystem) BuildResource() *schema.Resource
func (*EFSFileSystem) PopulateUsage ¶ added in v0.9.17
func (r *EFSFileSystem) PopulateUsage(u *schema.UsageData)
type EIP ¶ added in v0.9.17
func (*EIP) BuildResource ¶ added in v0.9.17
func (*EIP) PopulateUsage ¶ added in v0.9.17
type EKSCluster ¶ added in v0.9.17
func (*EKSCluster) BuildResource ¶ added in v0.9.17
func (r *EKSCluster) BuildResource() *schema.Resource
func (*EKSCluster) PopulateUsage ¶ added in v0.9.17
func (r *EKSCluster) PopulateUsage(u *schema.UsageData)
type EKSFargateProfile ¶ added in v0.9.17
func (*EKSFargateProfile) BuildResource ¶ added in v0.9.17
func (r *EKSFargateProfile) BuildResource() *schema.Resource
func (*EKSFargateProfile) PopulateUsage ¶ added in v0.9.17
func (r *EKSFargateProfile) PopulateUsage(u *schema.UsageData)
type EKSNodeGroup ¶ added in v0.9.9
type EKSNodeGroup struct { // "required" args that can't really be missing. Address string Region string Name string ClusterName string InstanceType string PurchaseOption string DiskSize float64 // "optional" args, that may be empty depending on the resource config RootBlockDevice *EBSVolume LaunchTemplate *LaunchTemplate // "usage" args InstanceCount *int64 `infracost_usage:"instances"` OperatingSystem *string `infracost_usage:"operating_system"` ReservedInstanceType *string `infracost_usage:"reserved_instance_type"` ReservedInstanceTerm *string `infracost_usage:"reserved_instance_term"` ReservedInstancePaymentOption *string `infracost_usage:"reserved_instance_payment_option"` MonthlyCPUCreditHours *int64 `infracost_usage:"monthly_cpu_credit_hrs"` VCPUCount *int64 `infracost_usage:"vcpu_count"` }
func (*EKSNodeGroup) BuildResource ¶ added in v0.9.9
func (a *EKSNodeGroup) BuildResource() *schema.Resource
func (*EKSNodeGroup) PopulateUsage ¶ added in v0.9.9
func (a *EKSNodeGroup) PopulateUsage(u *schema.UsageData)
type ELB ¶ added in v0.9.17
type ELB struct { Address string Region string MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"` }
func (*ELB) BuildResource ¶ added in v0.9.17
func (*ELB) PopulateUsage ¶ added in v0.9.17
type Ec2TransitGatewayVpcAttachment ¶ added in v0.9.17
type Ec2TransitGatewayVpcAttachment struct { Address string Region string VPCRegion string TransitGatewayRegion string MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"` }
func (*Ec2TransitGatewayVpcAttachment) BuildResource ¶ added in v0.9.17
func (r *Ec2TransitGatewayVpcAttachment) BuildResource() *schema.Resource
func (*Ec2TransitGatewayVpcAttachment) PopulateUsage ¶ added in v0.9.17
func (r *Ec2TransitGatewayVpcAttachment) PopulateUsage(u *schema.UsageData)
type ElastiCacheCluster ¶ added in v0.9.17
type ElastiCacheCluster struct { Address string Region string HasReplicationGroup bool NodeType string Engine string CacheNodes int64 SnapshotRetentionLimit int64 SnapshotStorageSizeGB *float64 `infracost_usage:"snapshot_storage_size_gb"` ReservedInstanceTerm *string `infracost_usage:"reserved_instance_term"` ReservedInstancePaymentOption *string `infracost_usage:"reserved_instance_payment_option"` }
func (*ElastiCacheCluster) BuildResource ¶ added in v0.9.17
func (r *ElastiCacheCluster) BuildResource() *schema.Resource
func (*ElastiCacheCluster) PopulateUsage ¶ added in v0.9.17
func (r *ElastiCacheCluster) PopulateUsage(u *schema.UsageData)
type ElastiCacheReplicationGroup ¶ added in v0.9.17
type ElastiCacheReplicationGroup struct { Address string Region string NodeType string Engine string CacheClusters int64 ClusterNodeGroups int64 ClusterReplicasPerNodeGroup int64 SnapshotRetentionLimit int64 SnapshotStorageSizeGB *float64 `infracost_usage:"snapshot_storage_size_gb"` ReservedInstanceTerm *string `infracost_usage:"reserved_instance_term"` ReservedInstancePaymentOption *string `infracost_usage:"reserved_instance_payment_option"` AppAutoscalingTarget []*AppAutoscalingTarget }
func (*ElastiCacheReplicationGroup) BuildResource ¶ added in v0.9.17
func (r *ElastiCacheReplicationGroup) BuildResource() *schema.Resource
func (*ElastiCacheReplicationGroup) PopulateUsage ¶ added in v0.9.17
func (r *ElastiCacheReplicationGroup) PopulateUsage(u *schema.UsageData)
type ElasticBeanstalkEnvironment ¶ added in v0.9.20
type ElasticBeanstalkEnvironment struct { Address string Region string Name string LoadBalancerType string RootBlockDevice *EBSVolume CloudwatchLogGroup *CloudwatchLogGroup LoadBalancer *LB ElasticLoadBalancer *ELB DBInstance *DBInstance LaunchConfiguration *LaunchConfiguration }
ElasticBeanstalkEnvironment struct represents AWS Elastic Beanstalk environments.
Resource information: https://aws.amazon.com/elasticbeanstalk/ Pricing information: https://aws.amazon.com/elasticbeanstalk/pricing/
func (*ElasticBeanstalkEnvironment) BuildResource ¶ added in v0.9.20
func (r *ElasticBeanstalkEnvironment) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid ElasticBeanstalkEnvironment struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*ElasticBeanstalkEnvironment) PopulateUsage ¶ added in v0.9.20
func (r *ElasticBeanstalkEnvironment) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the ElasticBeanstalkEnvironment. It uses the `infracost_usage` struct tags to populate data into the ElasticBeanstalkEnvironment.
type ElasticsearchDomain ¶ added in v0.9.17
type ElasticsearchDomain struct { Address string Region string ClusterInstanceType string ClusterInstanceCount *int64 // If this is nil it will default to 1 EBSEnabled bool EBSVolumeType string EBSVolumeSize *float64 // if this is nil it will default to 8 EBSIOPS *float64 // if this is nil it will default to 1 ClusterDedicatedMasterEnabled bool ClusterDedicatedMasterType string ClusterDedicatedMasterCount *int64 // if this is nil it will default to 3 ClusterWarmEnabled bool ClusterWarmType string ClusterWarmCount *int64 }
func (*ElasticsearchDomain) BuildResource ¶ added in v0.9.17
func (r *ElasticsearchDomain) BuildResource() *schema.Resource
func (*ElasticsearchDomain) PopulateUsage ¶ added in v0.9.17
func (r *ElasticsearchDomain) PopulateUsage(u *schema.UsageData)
type FSxWindowsFileSystem ¶ added in v0.9.17
type FSxWindowsFileSystem struct { Address string StorageType string ThroughputCapacity int64 StorageCapacityGB int64 Region string DeploymentType string BackupStorageGB *float64 `infracost_usage:"backup_storage_gb"` }
func (*FSxWindowsFileSystem) BuildResource ¶ added in v0.9.17
func (r *FSxWindowsFileSystem) BuildResource() *schema.Resource
func (*FSxWindowsFileSystem) PopulateUsage ¶ added in v0.9.17
func (r *FSxWindowsFileSystem) PopulateUsage(u *schema.UsageData)
type GlueCatalogDatabase ¶ added in v0.9.21
type GlueCatalogDatabase struct { Address string Region string MonthlyObjects *float64 `infracost_usage:"monthly_objects"` MonthlyRequests *float64 `infracost_usage:"monthly_requests"` }
GlueCatalogDatabase struct represents a serverless AWS Glue catalog. A Glue catalog is a database designed to store raw data fetched from Glue crawlers before the data is cleaned and transformed by a Glue job.
GlueCatalogDatabase is just one resource of the wider AWS Glue service, which provides a number of different serverless services to build a robust data analytics pipeline.
Resource information: https://aws.amazon.com/glue/ Pricing information: https://aws.amazon.com/glue/pricing/
func (*GlueCatalogDatabase) BuildResource ¶ added in v0.9.21
func (r *GlueCatalogDatabase) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid GlueCatalogDatabase struct. GlueCatalogDatabase has the following schema.CostComponents associated with it:
- Storage - charged for every 100,000 objects stored above 1M, per month.
- Requests - charged per million requests above 1M in a month.
This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*GlueCatalogDatabase) PopulateUsage ¶ added in v0.9.21
func (r *GlueCatalogDatabase) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the GlueCatalogDatabase. It uses the `infracost_usage` struct tags to populate data into the GlueCatalogDatabase.
type GlueCrawler ¶ added in v0.9.21
type GlueCrawler struct { Address string Region string MonthlyHours *float64 `infracost_usage:"monthly_hours"` }
GlueCrawler struct represents a serverless AWS Glue crawler. A Glue crawler crawls defined data sources and sends them into a Glue data catalog, ready for a Glue job to transform and merge into a main dataset/lake.
GlueCrawler is just one resource of the wider AWS Glue service, which provides a number of different serverless services to build a robust data analytics pipeline.
Resource information: https://aws.amazon.com/glue/ Pricing information: https://aws.amazon.com/glue/pricing/
func (*GlueCrawler) BuildResource ¶ added in v0.9.21
func (r *GlueCrawler) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid GlueCrawler struct. GlueCrawler has just one schema.CostComponent associated with it:
- Hours - GlueCrawler is charged per hour that the crawler is run.
This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*GlueCrawler) PopulateUsage ¶ added in v0.9.21
func (r *GlueCrawler) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the GlueCrawler. It uses the `infracost_usage` struct tags to populate data into the GlueCrawler.
type GlueJob ¶ added in v0.9.21
type GlueJob struct { Address string Region string DPUs float64 MonthlyHours *float64 `infracost_usage:"monthly_hours"` }
GlueJob struct represents a serverless AWS Glue job. A Glue job is designed to clean, transform and merge data into a data lake so that it is easy to analyze.
GlueJob is just one resource of the wider AWS Glue service, which provides a number of different serverless services to build a robust data analytics pipeline.
Resource information: https://aws.amazon.com/glue/ Pricing information: https://aws.amazon.com/glue/pricing/
func (*GlueJob) BuildResource ¶ added in v0.9.21
BuildResource builds a schema.Resource from a valid GlueJob struct. GlueJob has just one schema.CostComponent associated with it:
- DPU hours - GlueJob is charged per hour that the job is run. Users are charged based on the number of DPU units they use in that time.
This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*GlueJob) PopulateUsage ¶ added in v0.9.21
PopulateUsage parses the u schema.UsageData into the GlueJob. It uses the `infracost_usage` struct tags to populate data into the GlueJob.
type Instance ¶ added in v0.9.9
type Instance struct { // "required" args that can't really be missing. Address string Region string Tenancy string PurchaseOption string AMI string InstanceType string EBSOptimized bool EnableMonitoring bool CPUCredits string // "optional" args, that may be empty depending on the resource config ElasticInferenceAcceleratorType *string RootBlockDevice *EBSVolume EBSBlockDevices []*EBSVolume // "usage" args OperatingSystem *string `infracost_usage:"operating_system"` ReservedInstanceType *string `infracost_usage:"reserved_instance_type"` ReservedInstanceTerm *string `infracost_usage:"reserved_instance_term"` ReservedInstancePaymentOption *string `infracost_usage:"reserved_instance_payment_option"` MonthlyCPUCreditHours *int64 `infracost_usage:"monthly_cpu_credit_hrs"` VCPUCount *int64 `infracost_usage:"vcpu_count"` }
func (*Instance) BuildResource ¶ added in v0.9.9
func (*Instance) PopulateUsage ¶ added in v0.9.9
type KMSExternalKey ¶ added in v0.9.17
func (*KMSExternalKey) BuildResource ¶ added in v0.9.17
func (r *KMSExternalKey) BuildResource() *schema.Resource
func (*KMSExternalKey) PopulateUsage ¶ added in v0.9.17
func (r *KMSExternalKey) PopulateUsage(u *schema.UsageData)
type KMSKey ¶ added in v0.9.17
func (*KMSKey) BuildResource ¶ added in v0.9.17
func (*KMSKey) PopulateUsage ¶ added in v0.9.17
type KinesisAnalyticsApplication ¶ added in v0.9.17
type KinesisAnalyticsApplication struct { Address string Region string KinesisProcessingUnits *int64 `infracost_usage:"kinesis_processing_units"` }
func (*KinesisAnalyticsApplication) BuildResource ¶ added in v0.9.17
func (r *KinesisAnalyticsApplication) BuildResource() *schema.Resource
func (*KinesisAnalyticsApplication) PopulateUsage ¶ added in v0.9.17
func (r *KinesisAnalyticsApplication) PopulateUsage(u *schema.UsageData)
type KinesisAnalyticsV2Application ¶ added in v0.9.17
type KinesisAnalyticsV2Application struct { Address string Region string RuntimeEnvironment string KinesisProcessingUnits *int64 `infracost_usage:"kinesis_processing_units"` DurableApplicationBackupGB *float64 `infracost_usage:"durable_application_backup_gb"` }
func (*KinesisAnalyticsV2Application) BuildResource ¶ added in v0.9.17
func (r *KinesisAnalyticsV2Application) BuildResource() *schema.Resource
func (*KinesisAnalyticsV2Application) PopulateUsage ¶ added in v0.9.17
func (r *KinesisAnalyticsV2Application) PopulateUsage(u *schema.UsageData)
type KinesisAnalyticsV2ApplicationSnapshot ¶ added in v0.9.17
type KinesisAnalyticsV2ApplicationSnapshot struct { Address string Region string DurableApplicationBackupGB *float64 `infracost_usage:"durable_application_backup_gb"` }
func (*KinesisAnalyticsV2ApplicationSnapshot) BuildResource ¶ added in v0.9.17
func (r *KinesisAnalyticsV2ApplicationSnapshot) BuildResource() *schema.Resource
func (*KinesisAnalyticsV2ApplicationSnapshot) PopulateUsage ¶ added in v0.9.17
func (r *KinesisAnalyticsV2ApplicationSnapshot) PopulateUsage(u *schema.UsageData)
type KinesisFirehoseDeliveryStream ¶ added in v0.9.17
type KinesisFirehoseDeliveryStream struct { Address string Region string DataFormatConversionEnabled bool VPCDeliveryEnabled bool VPCDeliveryAZs int64 MonthlyDataIngestedGB *float64 `infracost_usage:"monthly_data_ingested_gb"` }
func (*KinesisFirehoseDeliveryStream) BuildResource ¶ added in v0.9.17
func (r *KinesisFirehoseDeliveryStream) BuildResource() *schema.Resource
func (*KinesisFirehoseDeliveryStream) PopulateUsage ¶ added in v0.9.17
func (r *KinesisFirehoseDeliveryStream) PopulateUsage(u *schema.UsageData)
type LB ¶ added in v0.9.17
type LB struct { Address string LoadBalancerType string Region string RuleEvaluations *int64 `infracost_usage:"rule_evaluations"` NewConnections *int64 `infracost_usage:"new_connections"` ActiveConnections *int64 `infracost_usage:"active_connections"` ProcessedBytesGB *float64 `infracost_usage:"processed_bytes_gb"` }
func (*LB) BuildResource ¶ added in v0.9.17
func (*LB) PopulateUsage ¶ added in v0.9.17
type LambdaFunction ¶ added in v0.9.8
type LambdaFunction struct { Address string Region string Name string MemorySize int64 RequestDurationMS *int64 `infracost_usage:"request_duration_ms"` MonthlyRequests *int64 `infracost_usage:"monthly_requests"` }
func (*LambdaFunction) BuildResource ¶ added in v0.9.8
func (a *LambdaFunction) BuildResource() *schema.Resource
func (*LambdaFunction) PopulateUsage ¶ added in v0.9.8
func (a *LambdaFunction) PopulateUsage(u *schema.UsageData)
type LaunchConfiguration ¶ added in v0.9.9
type LaunchConfiguration struct { // "required" args that can't really be missing. Address string Region string Tenancy string PurchaseOption string AMI string InstanceType string EBSOptimized bool EnableMonitoring bool CPUCredits string // "optional" args, that may be empty depending on the resource config ElasticInferenceAcceleratorType *string RootBlockDevice *EBSVolume EBSBlockDevices []*EBSVolume // "usage" args // These are populated from the Autoscaling Group resource InstanceCount *int64 `infracost_usage:"instances"` OperatingSystem *string `infracost_usage:"operating_system"` ReservedInstanceType *string `infracost_usage:"reserved_instance_type"` ReservedInstanceTerm *string `infracost_usage:"reserved_instance_term"` ReservedInstancePaymentOption *string `infracost_usage:"reserved_instance_payment_option"` MonthlyCPUCreditHours *int64 `infracost_usage:"monthly_cpu_credit_hrs"` VCPUCount *int64 `infracost_usage:"vcpu_count"` }
func (*LaunchConfiguration) BuildResource ¶ added in v0.9.9
func (a *LaunchConfiguration) BuildResource() *schema.Resource
func (*LaunchConfiguration) PopulateUsage ¶ added in v0.9.9
func (a *LaunchConfiguration) PopulateUsage(u *schema.UsageData)
type LaunchTemplate ¶ added in v0.9.9
type LaunchTemplate struct { // "required" args that can't really be missing. Address string Region string AMI string OnDemandBaseCount int64 OnDemandPercentageAboveBaseCount int64 Tenancy string InstanceType string EBSOptimized bool EnableMonitoring bool CPUCredits string // "optional" args, that may be empty depending on the resource config ElasticInferenceAcceleratorType *string RootBlockDevice *EBSVolume EBSBlockDevices []*EBSVolume // "usage" args // These are populated from the Autoscaling Group/EKS Node Group resource InstanceCount *int64 `infracost_usage:"instances"` OperatingSystem *string `infracost_usage:"operating_system"` ReservedInstanceType *string `infracost_usage:"reserved_instance_type"` ReservedInstanceTerm *string `infracost_usage:"reserved_instance_term"` ReservedInstancePaymentOption *string `infracost_usage:"reserved_instance_payment_option"` MonthlyCPUCreditHours *int64 `infracost_usage:"monthly_cpu_credit_hrs"` VCPUCount *int64 `infracost_usage:"vcpu_count"` }
func (*LaunchTemplate) BuildResource ¶ added in v0.9.9
func (a *LaunchTemplate) BuildResource() *schema.Resource
func (*LaunchTemplate) PopulateUsage ¶ added in v0.9.9
func (a *LaunchTemplate) PopulateUsage(u *schema.UsageData)
type LightsailInstance ¶ added in v0.9.17
func (*LightsailInstance) BuildResource ¶ added in v0.9.17
func (r *LightsailInstance) BuildResource() *schema.Resource
func (*LightsailInstance) PopulateUsage ¶ added in v0.9.17
func (r *LightsailInstance) PopulateUsage(u *schema.UsageData)
type MQBroker ¶ added in v0.9.17
type MQBroker struct { Address string StorageType string DeploymentMode string Region string EngineType string HostInstanceType string StorageSizeGb *float64 `infracost_usage:"storage_size_gb"` }
func (*MQBroker) BuildResource ¶ added in v0.9.17
func (*MQBroker) PopulateUsage ¶ added in v0.9.17
type MSKCluster ¶ added in v0.9.17
type MSKCluster struct { Address string Region string BrokerNodes int64 BrokerNodeInstanceType string BrokerNodeEBSVolumeSize int64 // "optional" args, that may be empty depending on the resource config AppAutoscalingTarget []*AppAutoscalingTarget }
func (*MSKCluster) BuildResource ¶ added in v0.9.17
func (r *MSKCluster) BuildResource() *schema.Resource
func (*MSKCluster) PopulateUsage ¶ added in v0.9.17
func (r *MSKCluster) PopulateUsage(u *schema.UsageData)
type MWAAEnvironment ¶ added in v0.9.10
type MWAAEnvironment struct { // These fields are required since they are pulled directly from the IAC configuration (e.g. the terraform plan) Address string Region string Size string // Should be Small, Medium, or Large // If there is a parameter than needs to be read from infracost-usage.yml you define it like this: AdditionalWorkers *float64 `infracost_usage:"additional_workers"` AdditionalSchedulers *float64 `infracost_usage:"additional_schedulers"` MetaDatabaseGB *float64 `infracost_usage:"meta_database_gb"` }
func (*MWAAEnvironment) BuildResource ¶ added in v0.9.10
func (a *MWAAEnvironment) BuildResource() *schema.Resource
func (*MWAAEnvironment) PopulateUsage ¶ added in v0.9.10
func (a *MWAAEnvironment) PopulateUsage(u *schema.UsageData)
If the resource requires a usage parameter
type NATGateway ¶ added in v0.9.8
type NATGateway struct { Address string Region string MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"` }
func (*NATGateway) BuildResource ¶ added in v0.9.8
func (a *NATGateway) BuildResource() *schema.Resource
func (*NATGateway) PopulateUsage ¶ added in v0.9.8
func (a *NATGateway) PopulateUsage(u *schema.UsageData)
type NeptuneCluster ¶ added in v0.9.17
type NeptuneCluster struct { Address string Region string BackupRetentionPeriod int64 StorageGB *float64 `infracost_usage:"storage_gb"` MonthlyIORequests *int64 `infracost_usage:"monthly_io_requests"` BackupStorageGB *float64 `infracost_usage:"backup_storage_gb"` }
func (*NeptuneCluster) BuildResource ¶ added in v0.9.17
func (r *NeptuneCluster) BuildResource() *schema.Resource
func (*NeptuneCluster) PopulateUsage ¶ added in v0.9.17
func (r *NeptuneCluster) PopulateUsage(u *schema.UsageData)
type NeptuneClusterInstance ¶ added in v0.9.17
type NeptuneClusterInstance struct { Address string Region string InstanceClass string Count *int64 MonthlyCPUCreditHrs *int64 `infracost_usage:"monthly_cpu_credit_hrs"` }
func (*NeptuneClusterInstance) BuildResource ¶ added in v0.9.17
func (r *NeptuneClusterInstance) BuildResource() *schema.Resource
func (*NeptuneClusterInstance) PopulateUsage ¶ added in v0.9.17
func (r *NeptuneClusterInstance) PopulateUsage(u *schema.UsageData)
type NeptuneClusterSnapshot ¶ added in v0.9.17
type NeptuneClusterSnapshot struct { Address string Region string BackupRetentionPeriod *int64 // This can be unknown since it's retrieved from the Neptune cluster BackupStorageGB *float64 `infracost_usage:"backup_storage_gb"` }
func (*NeptuneClusterSnapshot) BuildResource ¶ added in v0.9.17
func (r *NeptuneClusterSnapshot) BuildResource() *schema.Resource
func (*NeptuneClusterSnapshot) PopulateUsage ¶ added in v0.9.17
func (r *NeptuneClusterSnapshot) PopulateUsage(u *schema.UsageData)
type NetworkfirewallFirewall ¶ added in v0.9.21
type NetworkfirewallFirewall struct { Address string Region string MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"` }
NetworkfirewallFirewall struct represents an AWS Network Firewall Firewall resource.
Resource information: https://aws.amazon.com/network-firewall/ Pricing information: https://aws.amazon.com/network-firewall/pricing/
func (*NetworkfirewallFirewall) BuildResource ¶ added in v0.9.21
func (r *NetworkfirewallFirewall) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid NetworkfirewallFirewall struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*NetworkfirewallFirewall) PopulateUsage ¶ added in v0.9.21
func (r *NetworkfirewallFirewall) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the NetworkfirewallFirewall. It uses the `infracost_usage` struct tags to populate data into the NetworkfirewallFirewall.
type RDSCluster ¶ added in v0.9.17
type RDSCluster struct { Address string Region string EngineMode string Engine string BackupRetentionPeriod int64 WriteRequestsPerSec *int64 `infracost_usage:"write_requests_per_sec"` ReadRequestsPerSec *int64 `infracost_usage:"read_requests_per_sec"` ChangeRecordsPerStatement *float64 `infracost_usage:"change_records_per_statement"` StorageGB *float64 `infracost_usage:"storage_gb"` AverageStatementsPerHr *int64 `infracost_usage:"average_statements_per_hr"` BacktrackWindowHrs *int64 `infracost_usage:"backtrack_window_hrs"` SnapshotExportSizeGB *float64 `infracost_usage:"snapshot_export_size_gb"` CapacityUnitsPerHr *int64 `infracost_usage:"capacity_units_per_hr"` BackupSnapshotSizeGB *float64 `infracost_usage:"backup_snapshot_size_gb"` }
func (*RDSCluster) BuildResource ¶ added in v0.9.17
func (r *RDSCluster) BuildResource() *schema.Resource
func (*RDSCluster) PopulateUsage ¶ added in v0.9.17
func (r *RDSCluster) PopulateUsage(u *schema.UsageData)
type RDSClusterInstance ¶ added in v0.9.17
type RDSClusterInstance struct { Address string Region string InstanceClass string Engine string PerformanceInsightsEnabled bool PerformanceInsightsLongTermRetention bool MonthlyCPUCreditHrs *int64 `infracost_usage:"monthly_cpu_credit_hrs"` VCPUCount *int64 `infracost_usage:"vcpu_count"` MonthlyAdditionalPerformanceInsightsRequests *int64 `infracost_usage:"monthly_additional_performance_insights_requests"` ReservedInstanceTerm *string `infracost_usage:"reserved_instance_term"` ReservedInstancePaymentOption *string `infracost_usage:"reserved_instance_payment_option"` }
func (*RDSClusterInstance) BuildResource ¶ added in v0.9.17
func (r *RDSClusterInstance) BuildResource() *schema.Resource
func (*RDSClusterInstance) PopulateUsage ¶ added in v0.9.17
func (r *RDSClusterInstance) PopulateUsage(u *schema.UsageData)
type RedshiftCluster ¶ added in v0.9.17
type RedshiftCluster struct { Address string Region string NodeType string Nodes *int64 ManagedStorageGB *float64 `infracost_usage:"managed_storage_gb"` ExcessConcurrencyScalingSecs *int64 `infracost_usage:"excess_concurrency_scaling_secs"` SpectrumDataScannedTB *float64 `infracost_usage:"spectrum_data_scanned_tb"` BackupStorageGB *float64 `infracost_usage:"backup_storage_gb"` }
func (*RedshiftCluster) BuildResource ¶ added in v0.9.17
func (r *RedshiftCluster) BuildResource() *schema.Resource
func (*RedshiftCluster) PopulateUsage ¶ added in v0.9.17
func (r *RedshiftCluster) PopulateUsage(u *schema.UsageData)
type RegionUsage ¶ added in v0.9.12
RegionUsage defines a hard definition in the regions map.
type RegionsUsage ¶ added in v0.9.12
type RegionsUsage struct { USGovWest1 *float64 `infracost_usage:"us_gov_west_1"` USGovEast1 *float64 `infracost_usage:"us_gov_east_1"` USEast1 *float64 `infracost_usage:"us_east_1"` USEast2 *float64 `infracost_usage:"us_east_2"` USWest1 *float64 `infracost_usage:"us_west_1"` USWest2 *float64 `infracost_usage:"us_west_2"` USWest2Lax1 *float64 `infracost_usage:"us_west_2_lax_1"` CACentral1 *float64 `infracost_usage:"ca_central_1"` CNNorth1 *float64 `infracost_usage:"cn_north_1"` CNNorthwest1 *float64 `infracost_usage:"cn_northwest_1"` EUCentral1 *float64 `infracost_usage:"eu_central_1"` EUWest1 *float64 `infracost_usage:"eu_west_1"` EUWest2 *float64 `infracost_usage:"eu_west_2"` EUSouth1 *float64 `infracost_usage:"eu_south_1"` EUWest3 *float64 `infracost_usage:"eu_west_3"` EUNorth1 *float64 `infracost_usage:"eu_north_1"` APEast1 *float64 `infracost_usage:"ap_east_1"` APNortheast1 *float64 `infracost_usage:"ap_northeast_1"` APNortheast2 *float64 `infracost_usage:"ap_northeast_2"` APNortheast3 *float64 `infracost_usage:"ap_northeast_3"` APSoutheast1 *float64 `infracost_usage:"ap_southeast_1"` APSoutheast2 *float64 `infracost_usage:"ap_southeast_2"` APSoutheast3 *float64 `infracost_usage:"ap_southeast_3"` APSouth1 *float64 `infracost_usage:"ap_south_1"` MESouth1 *float64 `infracost_usage:"me_south_1"` SAEast1 *float64 `infracost_usage:"sa_east_1"` AFSouth1 *float64 `infracost_usage:"af_south_1"` }
RegionsUsage is a reusable type that represents a usage cost map. This can be used in resources that define a usage parameter that's changed on a per-region basis. e.g.
monthly_data_processed_gb:
us_gov_west_1: 188 us_east_1: 78
can be handled by adding a usage cost property to your resource like so:
type MyResource struct { ... MonthlyDataProcessedGB *RegionsUsage `infracost_usage:"monthly_processed_gb"` }
func (RegionsUsage) Values ¶ added in v0.9.12
func (r RegionsUsage) Values() []RegionUsage
Values returns RegionUsage as a slice which can be iterated over to create cost components. The keys of the regions returned have their underscores replaced with hypens so they can be used in product filters and cost lookups.
type Route53HealthCheck ¶ added in v0.9.17
type Route53HealthCheck struct { Address string RequestInterval string MeasureLatency bool Type string EndpointType *string `infracost_usage:"endpoint_type"` }
func (*Route53HealthCheck) BuildResource ¶ added in v0.9.17
func (r *Route53HealthCheck) BuildResource() *schema.Resource
func (*Route53HealthCheck) PopulateUsage ¶ added in v0.9.17
func (r *Route53HealthCheck) PopulateUsage(u *schema.UsageData)
type Route53Record ¶ added in v0.9.17
type Route53Record struct { Address string IsAlias bool MonthlyLatencyBasedQueries *int64 `infracost_usage:"monthly_latency_based_queries"` MonthlyGeoQueries *int64 `infracost_usage:"monthly_geo_queries"` MonthlyStandardQueries *int64 `infracost_usage:"monthly_standard_queries"` }
func (*Route53Record) BuildResource ¶ added in v0.9.17
func (r *Route53Record) BuildResource() *schema.Resource
func (*Route53Record) PopulateUsage ¶ added in v0.9.17
func (r *Route53Record) PopulateUsage(u *schema.UsageData)
type Route53ResolverEndpoint ¶ added in v0.9.17
type Route53ResolverEndpoint struct { Address string Region string ResolverEndpoints int64 MonthlyQueries *int64 `infracost_usage:"monthly_queries"` }
func (*Route53ResolverEndpoint) BuildResource ¶ added in v0.9.17
func (r *Route53ResolverEndpoint) BuildResource() *schema.Resource
func (*Route53ResolverEndpoint) PopulateUsage ¶ added in v0.9.17
func (r *Route53ResolverEndpoint) PopulateUsage(u *schema.UsageData)
type Route53Zone ¶ added in v0.9.17
type Route53Zone struct {
Address string
}
func (*Route53Zone) BuildResource ¶ added in v0.9.17
func (r *Route53Zone) BuildResource() *schema.Resource
func (*Route53Zone) PopulateUsage ¶ added in v0.9.17
func (r *Route53Zone) PopulateUsage(u *schema.UsageData)
type S3Bucket ¶ added in v0.9.11
type S3Bucket struct { // "required" args that can't really be missing. Address string Region string Name string ObjectTagsEnabled bool // "optional" args, that may be empty depending on the resource config LifecycleStorageClasses []string // "usage" args ObjectTags *int64 `infracost_usage:"object_tags"` // contains filtered or unexported fields }
func (*S3Bucket) AllStorageClasses ¶ added in v0.9.11
func (a *S3Bucket) AllStorageClasses() []S3StorageClass
func (*S3Bucket) BuildResource ¶ added in v0.9.11
func (*S3Bucket) PopulateUsage ¶ added in v0.9.11
type S3BucketAnalyticsConfiguration ¶ added in v0.9.17
type S3BucketAnalyticsConfiguration struct { Address string Region string MonthlyMonitoredObjects *int64 `infracost_usage:"monthly_monitored_objects"` }
func (*S3BucketAnalyticsConfiguration) BuildResource ¶ added in v0.9.17
func (r *S3BucketAnalyticsConfiguration) BuildResource() *schema.Resource
func (*S3BucketAnalyticsConfiguration) PopulateUsage ¶ added in v0.9.17
func (r *S3BucketAnalyticsConfiguration) PopulateUsage(u *schema.UsageData)
type S3BucketInventory ¶ added in v0.9.17
type S3BucketInventory struct { Address string Region string MonthlyListedObjects *int64 `infracost_usage:"monthly_listed_objects"` }
func (*S3BucketInventory) BuildResource ¶ added in v0.9.17
func (r *S3BucketInventory) BuildResource() *schema.Resource
func (*S3BucketInventory) PopulateUsage ¶ added in v0.9.17
func (r *S3BucketInventory) PopulateUsage(u *schema.UsageData)
type S3BucketLifecycleConfiguration ¶ added in v0.9.18
type S3BucketLifecycleConfiguration struct { // "required" args that can't really be missing. Address string Region string Name string ObjectTagsEnabled bool // "optional" args, that may be empty depending on the resource config LifecycleStorageClasses []string // "usage" args ObjectTags *int64 `infracost_usage:"object_tags"` // contains filtered or unexported fields }
func (*S3BucketLifecycleConfiguration) AllStorageClasses ¶ added in v0.9.18
func (r *S3BucketLifecycleConfiguration) AllStorageClasses() []S3StorageClass
func (*S3BucketLifecycleConfiguration) BuildResource ¶ added in v0.9.18
func (r *S3BucketLifecycleConfiguration) BuildResource() *schema.Resource
func (*S3BucketLifecycleConfiguration) PopulateUsage ¶ added in v0.9.18
func (r *S3BucketLifecycleConfiguration) PopulateUsage(u *schema.UsageData)
type S3GlacierDeepArchiveStorageClass ¶ added in v0.9.11
type S3GlacierDeepArchiveStorageClass struct { // "required" args that can't really be missing. Region string // "usage" args StorageGB *float64 `infracost_usage:"storage_gb"` MonthlyTier1Requests *int64 `infracost_usage:"monthly_tier_1_requests"` MonthlyTier2Requests *int64 `infracost_usage:"monthly_tier_2_requests"` MonthlyLifecycleTransitionRequests *int64 `infracost_usage:"monthly_lifecycle_transition_requests"` MonthlyStandardDataRetrievalRequests *int64 `infracost_usage:"monthly_standard_data_retrieval_requests"` MonthlyStandardDataRetrievalGB *float64 `infracost_usage:"monthly_standard_data_retrieval_gb"` MonthlyBulkDataRetrievalRequests *int64 `infracost_usage:"monthly_bulk_data_retrieval_requests"` MonthlyBulkDataRetrievalGB *float64 `infracost_usage:"monthly_bulk_data_retrieval_gb"` EarlyDeleteGB *float64 `infracost_usage:"early_delete_gb"` }
func (*S3GlacierDeepArchiveStorageClass) BuildResource ¶ added in v0.9.11
func (a *S3GlacierDeepArchiveStorageClass) BuildResource() *schema.Resource
func (*S3GlacierDeepArchiveStorageClass) PopulateUsage ¶ added in v0.9.11
func (a *S3GlacierDeepArchiveStorageClass) PopulateUsage(u *schema.UsageData)
func (*S3GlacierDeepArchiveStorageClass) UsageKey ¶ added in v0.9.11
func (a *S3GlacierDeepArchiveStorageClass) UsageKey() string
type S3GlacierFlexibleRetrievalStorageClass ¶ added in v0.9.15
type S3GlacierFlexibleRetrievalStorageClass struct { // "required" args that can't really be missing. Region string // "usage" args StorageGB *float64 `infracost_usage:"storage_gb"` MonthlyTier1Requests *int64 `infracost_usage:"monthly_tier_1_requests"` MonthlyTier2Requests *int64 `infracost_usage:"monthly_tier_2_requests"` MonthlyLifecycleTransitionRequests *int64 `infracost_usage:"monthly_lifecycle_transition_requests"` MonthlyStandardDataRetrievalRequests *int64 `infracost_usage:"monthly_standard_data_retrieval_requests"` MonthlyStandardDataRetrievalGB *float64 `infracost_usage:"monthly_standard_data_retrieval_gb"` MonthlyStandardSelectDataScannedGB *float64 `infracost_usage:"monthly_standard_select_data_scanned_gb"` MonthlyStandardSelectDataReturnedGB *float64 `infracost_usage:"monthly_standard_select_data_returned_gb"` MonthlyExpeditedDataRetrievalRequests *int64 `infracost_usage:"monthly_expedited_data_retrieval_requests"` MonthlyExpeditedDataRetrievalGB *float64 `infracost_usage:"monthly_expedited_data_retrieval_gb"` MonthlyExpeditedSelectDataScannedGB *float64 `infracost_usage:"monthly_expedited_select_data_scanned_gb"` MonthlyExpeditedSelectDataReturnedGB *float64 `infracost_usage:"monthly_expedited_select_data_returned_gb"` MonthlyBulkSelectDataScannedGB *float64 `infracost_usage:"monthly_bulk_select_data_scanned_gb"` MonthlyBulkSelectDataReturnedGB *float64 `infracost_usage:"monthly_bulk_select_data_returned_gb"` EarlyDeleteGB *float64 `infracost_usage:"early_delete_gb"` }
func (*S3GlacierFlexibleRetrievalStorageClass) BuildResource ¶ added in v0.9.15
func (a *S3GlacierFlexibleRetrievalStorageClass) BuildResource() *schema.Resource
func (*S3GlacierFlexibleRetrievalStorageClass) PopulateUsage ¶ added in v0.9.15
func (a *S3GlacierFlexibleRetrievalStorageClass) PopulateUsage(u *schema.UsageData)
func (*S3GlacierFlexibleRetrievalStorageClass) UsageKey ¶ added in v0.9.15
func (a *S3GlacierFlexibleRetrievalStorageClass) UsageKey() string
type S3IntelligentTieringStorageClass ¶ added in v0.9.11
type S3IntelligentTieringStorageClass struct { // "required" args that can't really be missing. Region string // "usage" args FrequentAccessStorageGB *float64 `infracost_usage:"frequent_access_storage_gb"` InfrequentAccessStorageGB *float64 `infracost_usage:"infrequent_access_storage_gb"` ArchiveAccessStorageGB *float64 `infracost_usage:"archive_access_storage_gb"` DeepArchiveAccessStorageGB *float64 `infracost_usage:"deep_archive_access_storage_gb"` MonitoredObjects *int64 `infracost_usage:"monitored_objects"` MonthlyTier1Requests *int64 `infracost_usage:"monthly_tier_1_requests"` MonthlyTier2Requests *int64 `infracost_usage:"monthly_tier_2_requests"` MonthlyLifecycleTransitionRequests *int64 `infracost_usage:"monthly_lifecycle_transition_requests"` MonthlySelectDataScannedGB *float64 `infracost_usage:"monthly_select_data_scanned_gb"` MonthlySelectDataReturnedGB *float64 `infracost_usage:"monthly_select_data_returned_gb"` EarlyDeleteGB *float64 `infracost_usage:"early_delete_gb"` }
func (*S3IntelligentTieringStorageClass) BuildResource ¶ added in v0.9.11
func (a *S3IntelligentTieringStorageClass) BuildResource() *schema.Resource
func (*S3IntelligentTieringStorageClass) PopulateUsage ¶ added in v0.9.11
func (a *S3IntelligentTieringStorageClass) PopulateUsage(u *schema.UsageData)
func (*S3IntelligentTieringStorageClass) UsageKey ¶ added in v0.9.11
func (a *S3IntelligentTieringStorageClass) UsageKey() string
type S3OneZoneInfrequentAccessStorageClass ¶ added in v0.9.11
type S3OneZoneInfrequentAccessStorageClass struct { // "required" args that can't really be missing. Region string // "usage" args StorageGB *float64 `infracost_usage:"storage_gb"` MonthlyTier1Requests *int64 `infracost_usage:"monthly_tier_1_requests"` MonthlyTier2Requests *int64 `infracost_usage:"monthly_tier_2_requests"` MonthlyLifecycleTransitionRequests *int64 `infracost_usage:"monthly_lifecycle_transition_requests"` MonthlyDataRetrievalGB *float64 `infracost_usage:"monthly_data_retrieval_gb"` MonthlySelectDataScannedGB *float64 `infracost_usage:"monthly_select_data_scanned_gb"` MonthlySelectDataReturnedGB *float64 `infracost_usage:"monthly_select_data_returned_gb"` }
func (*S3OneZoneInfrequentAccessStorageClass) BuildResource ¶ added in v0.9.11
func (a *S3OneZoneInfrequentAccessStorageClass) BuildResource() *schema.Resource
func (*S3OneZoneInfrequentAccessStorageClass) PopulateUsage ¶ added in v0.9.11
func (a *S3OneZoneInfrequentAccessStorageClass) PopulateUsage(u *schema.UsageData)
func (*S3OneZoneInfrequentAccessStorageClass) UsageKey ¶ added in v0.9.11
func (a *S3OneZoneInfrequentAccessStorageClass) UsageKey() string
type S3StandardInfrequentAccessStorageClass ¶ added in v0.9.11
type S3StandardInfrequentAccessStorageClass struct { // "required" args that can't really be missing. Region string // "usage" args StorageGB *float64 `infracost_usage:"storage_gb"` MonthlyTier1Requests *int64 `infracost_usage:"monthly_tier_1_requests"` MonthlyTier2Requests *int64 `infracost_usage:"monthly_tier_2_requests"` MonthlyLifecycleTransitionRequests *int64 `infracost_usage:"monthly_lifecycle_transition_requests"` MonthlyDataRetrievalGB *float64 `infracost_usage:"monthly_data_retrieval_gb"` MonthlySelectDataScannedGB *float64 `infracost_usage:"monthly_select_data_scanned_gb"` MonthlySelectDataReturnedGB *float64 `infracost_usage:"monthly_select_data_returned_gb"` }
func (*S3StandardInfrequentAccessStorageClass) BuildResource ¶ added in v0.9.11
func (a *S3StandardInfrequentAccessStorageClass) BuildResource() *schema.Resource
func (*S3StandardInfrequentAccessStorageClass) PopulateUsage ¶ added in v0.9.11
func (a *S3StandardInfrequentAccessStorageClass) PopulateUsage(u *schema.UsageData)
func (*S3StandardInfrequentAccessStorageClass) UsageKey ¶ added in v0.9.11
func (a *S3StandardInfrequentAccessStorageClass) UsageKey() string
type S3StandardStorageClass ¶ added in v0.9.11
type S3StandardStorageClass struct { // "required" args that can't really be missing. Region string // "usage" args StorageGB *float64 `infracost_usage:"storage_gb"` MonthlyTier1Requests *int64 `infracost_usage:"monthly_tier_1_requests"` MonthlyTier2Requests *int64 `infracost_usage:"monthly_tier_2_requests"` MonthlySelectDataScannedGB *float64 `infracost_usage:"monthly_select_data_scanned_gb"` MonthlySelectDataReturnedGB *float64 `infracost_usage:"monthly_select_data_returned_gb"` }
func (*S3StandardStorageClass) BuildResource ¶ added in v0.9.11
func (a *S3StandardStorageClass) BuildResource() *schema.Resource
func (*S3StandardStorageClass) PopulateUsage ¶ added in v0.9.11
func (a *S3StandardStorageClass) PopulateUsage(u *schema.UsageData)
func (*S3StandardStorageClass) UsageKey ¶ added in v0.9.11
func (a *S3StandardStorageClass) UsageKey() string
type S3StorageClass ¶ added in v0.9.11
type SFnStateMachine ¶ added in v0.9.17
type SFnStateMachine struct { Address string Region string Type string MonthlyRequests *int64 `infracost_usage:"monthly_requests"` WorkflowDurationMs *int64 `infracost_usage:"workflow_duration_ms"` MemoryMB *int64 `infracost_usage:"memory_mb"` MonthlyTransitions *int64 `infracost_usage:"monthly_transitions"` }
func (*SFnStateMachine) BuildResource ¶ added in v0.9.17
func (r *SFnStateMachine) BuildResource() *schema.Resource
func (*SFnStateMachine) PopulateUsage ¶ added in v0.9.17
func (r *SFnStateMachine) PopulateUsage(u *schema.UsageData)
type SNSFIFOTopic ¶ added in v0.9.22
type SNSFIFOTopic struct { Address string Region string Subscriptions int64 RequestSizeKB *float64 `infracost_usage:"request_size_kb"` MonthlyRequests *int64 `infracost_usage:"monthly_requests"` }
SNSFIFOTopic struct represents an AWS SNS Topic operating in "FIFO" mode.
Resource information: https://docs.aws.amazon.com/sns/latest/dg/fifo-example-use-case.html Pricing information: https://aws.amazon.com/sns/pricing/#FIFO_topics
func (*SNSFIFOTopic) BuildResource ¶ added in v0.9.22
func (r *SNSFIFOTopic) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid SNSFIFOTopic struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*SNSFIFOTopic) PopulateUsage ¶ added in v0.9.22
func (r *SNSFIFOTopic) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the SNSFIFOTopic. It uses the `infracost_usage` struct tags to populate data into the SNSFIFOTopic.
type SNSTopic ¶ added in v0.9.17
type SNSTopic struct { Address string Region string RequestSizeKB *float64 `infracost_usage:"request_size_kb"` MonthlyRequests *int64 `infracost_usage:"monthly_requests"` HTTPSubscriptions *int64 `infracost_usage:"http_subscriptions"` EmailSubscriptions *int64 `infracost_usage:"email_subscriptions"` KinesisSubscriptions *int64 `infracost_usage:"kinesis_subscriptions"` MobilePushSubscriptions *int64 `infracost_usage:"mobile_push_subscriptions"` MacOSSubscriptions *int64 `infracost_usage:"macos_subscriptions"` SMSSubscriptions *int64 `infracost_usage:"sms_subscriptions"` SMSNotificationPrice *float64 `infracost_usage:"sms_notification_price"` }
SNSTopic struct represents an AWS SNS Topic operating in "Standard" mode.
Resource information: https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html Pricing information: https://aws.amazon.com/sns/pricing/#Standard_topics
func (*SNSTopic) BuildResource ¶ added in v0.9.17
BuildResource builds a schema.Resource from a valid SNSTopic struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*SNSTopic) PopulateUsage ¶ added in v0.9.17
PopulateUsage parses the u schema.UsageData into the SNSTopic. It uses the `infracost_usage` struct tags to populate data into the SNSTopic.
type SNSTopicSubscription ¶ added in v0.9.17
type SNSTopicSubscription struct { Address string Protocol string Region string RequestSizeKB *float64 `infracost_usage:"request_size_kb"` MonthlyRequests *int64 `infracost_usage:"monthly_requests"` }
func (*SNSTopicSubscription) BuildResource ¶ added in v0.9.17
func (r *SNSTopicSubscription) BuildResource() *schema.Resource
func (*SNSTopicSubscription) PopulateUsage ¶ added in v0.9.17
func (r *SNSTopicSubscription) PopulateUsage(u *schema.UsageData)
type SQSQueue ¶ added in v0.9.17
type SQSQueue struct { Address string Region string FifoQueue bool MonthlyRequests *float64 `infracost_usage:"monthly_requests"` RequestSizeKB *int64 `infracost_usage:"request_size_kb"` }
func (*SQSQueue) BuildResource ¶ added in v0.9.17
func (*SQSQueue) PopulateUsage ¶ added in v0.9.17
type SSMActivation ¶ added in v0.9.17
type SSMActivation struct { Address string Region string RegistrationLimit int64 InstanceTier *string `infracost_usage:"instance_tier"` Instances *int64 `infracost_usage:"instances"` }
func (*SSMActivation) BuildResource ¶ added in v0.9.17
func (r *SSMActivation) BuildResource() *schema.Resource
func (*SSMActivation) PopulateUsage ¶ added in v0.9.17
func (r *SSMActivation) PopulateUsage(u *schema.UsageData)
type SSMParameter ¶ added in v0.9.17
type SSMParameter struct { Address string Tier string Region string ParameterStorageHrs *int64 `infracost_usage:"parameter_storage_hrs"` APIThroughputLimit *string `infracost_usage:"api_throughput_limit"` MonthlyAPIInteractions *int64 `infracost_usage:"monthly_api_interactions"` }
func (*SSMParameter) BuildResource ¶ added in v0.9.17
func (r *SSMParameter) BuildResource() *schema.Resource
func (*SSMParameter) PopulateUsage ¶ added in v0.9.17
func (r *SSMParameter) PopulateUsage(u *schema.UsageData)
type SecretsManagerSecret ¶ added in v0.9.17
type SecretsManagerSecret struct { Address string Region string MonthlyRequests *int64 `infracost_usage:"monthly_requests"` }
func (*SecretsManagerSecret) BuildResource ¶ added in v0.9.17
func (r *SecretsManagerSecret) BuildResource() *schema.Resource
func (*SecretsManagerSecret) PopulateUsage ¶ added in v0.9.17
func (r *SecretsManagerSecret) PopulateUsage(u *schema.UsageData)
type TransferServer ¶ added in v0.9.13
type TransferServer struct { Address string Region string Protocols []string // "usage" args MonthlyDataDownloadedGB *float64 `infracost_usage:"monthly_data_downloaded_gb"` MonthlyDataUploadedGB *float64 `infracost_usage:"monthly_data_uploaded_gb"` }
TransferServer defines a AWS Transfer Server resource from Transfer Family service. It supports multiple transfer protocols like FTP/FTPS/SFTP and each is billed hourly when enabled. It also bills the amount of data being downloaded/uploaded over those protocols.
See more resource information here: https://aws.amazon.com/aws-transfer-family/.
See the pricing information here: https://aws.amazon.com/aws-transfer-family/pricing/.
func (*TransferServer) BuildResource ¶ added in v0.9.13
func (r *TransferServer) BuildResource() *schema.Resource
BuildResource builds a schema.Resource from a valid TransferServer struct. This method is called after the resource is initialised by an IaC provider.
func (*TransferServer) PopulateUsage ¶ added in v0.9.13
func (r *TransferServer) PopulateUsage(u *schema.UsageData)
PopulateUsage parses the u schema.UsageData into the TransferServer. It uses the `infracost_usage` struct tags to populate data into the TransferServer.
type VPCEndpoint ¶ added in v0.9.17
type VPCEndpoint struct { Address string Region string Type string Interfaces *int64 MonthlyDataProcessedGb *float64 `infracost_usage:"monthly_data_processed_gb"` }
func (*VPCEndpoint) BuildResource ¶ added in v0.9.17
func (r *VPCEndpoint) BuildResource() *schema.Resource
func (*VPCEndpoint) PopulateUsage ¶ added in v0.9.17
func (r *VPCEndpoint) PopulateUsage(u *schema.UsageData)
type VPNConnection ¶ added in v0.9.17
type VPNConnection struct { Address string Region string TransitGatewayID string MonthlyDataProcessedGB *float64 `infracost_usage:"monthly_data_processed_gb"` }
func (*VPNConnection) BuildResource ¶ added in v0.9.17
func (r *VPNConnection) BuildResource() *schema.Resource
func (*VPNConnection) PopulateUsage ¶ added in v0.9.17
func (r *VPNConnection) PopulateUsage(u *schema.UsageData)
type WAFWebACL ¶ added in v0.9.17
type WAFWebACL struct { Address string Region string Rules int64 RuleGroups int64 RuleGroupRules *int64 `infracost_usage:"rule_group_rules"` MonthlyRequests *int64 `infracost_usage:"monthly_requests"` }
func (*WAFWebACL) BuildResource ¶ added in v0.9.17
func (*WAFWebACL) PopulateUsage ¶ added in v0.9.17
type WAFv2WebACL ¶ added in v0.9.17
type WAFv2WebACL struct { Address string Region string Rules int64 RuleGroups int64 ManagedRuleGroups int64 RuleGroupRules *int64 `infracost_usage:"rule_group_rules"` ManagedRuleGroupRules *int64 `infracost_usage:"managed_rule_group_rules"` MonthlyRequests *int64 `infracost_usage:"monthly_requests"` }
func (*WAFv2WebACL) BuildResource ¶ added in v0.9.17
func (r *WAFv2WebACL) BuildResource() *schema.Resource
func (*WAFv2WebACL) PopulateUsage ¶ added in v0.9.17
func (r *WAFv2WebACL) PopulateUsage(u *schema.UsageData)
Source Files ¶
- acm_certificate.go
- acmpca_certificate_authority.go
- api_gateway_rest_api.go
- api_gateway_stage.go
- apigatewayv2_api.go
- app_autoscaling_target.go
- autoscaling_group.go
- backup_vault.go
- cloudformation_stack.go
- cloudformation_stack_set.go
- cloudfront_distribution.go
- cloudtrail.go
- cloudwatch_dashboard.go
- cloudwatch_event_bus.go
- cloudwatch_log_group.go
- cloudwatch_metric_alarm.go
- codebuild_project.go
- config_config_rule.go
- config_configuration_recorder.go
- data_transfer.go
- db_instance.go
- directory_service_directory.go
- dms_replication_instance.go
- docdb_cluster.go
- docdb_cluster_instance.go
- docdb_cluster_snapshot.go
- dx_connection.go
- dx_gateway_association.go
- dynamodb_table.go
- ebs_snapshot.go
- ebs_snapshot_copy.go
- ebs_volume.go
- ec2_client_vpn_endpoint.go
- ec2_client_vpn_network_association.go
- ec2_traffic_mirror_session.go
- ec2_transit_gateway_peering_attachment.go
- ec2_transit_gateway_vpc_attachment.go
- ecr_repository.go
- ecs_service.go
- efs_file_system.go
- eip.go
- eks_cluster.go
- eks_fargate_profile.go
- eks_node_group.go
- elastic_beanstalk_environment.go
- elasticache_cluster.go
- elasticache_replication_group.go
- elasticsearch_domain.go
- elb.go
- fsx_windows_file_system.go
- glue_catalog_database.go
- glue_crawler.go
- glue_job.go
- instance.go
- kinesis_firehose_delivery_stream.go
- kinesisanalytics_application.go
- kinesisanalyticsv2_application.go
- kinesisanalyticsv2_application_snapshot.go
- kms_external_key.go
- kms_key.go
- lambda_function.go
- launch_configuration.go
- launch_template.go
- lb.go
- lightsail_instance.go
- mq_broker.go
- msk_cluster.go
- mwaa_environment.go
- nat_gateway.go
- neptune_cluster.go
- neptune_cluster_instance.go
- neptune_cluster_snapshot.go
- networkfirewall_firewall.go
- rds_cluster.go
- rds_cluster_instance.go
- redshift_cluster.go
- remediater.go
- route53_health_check.go
- route53_record.go
- route53_resolver_endpoint.go
- route53_zone.go
- s3_bucket.go
- s3_bucket_analytics_configuration.go
- s3_bucket_inventory.go
- s3_bucket_lifececycle_configuration.go
- s3_glacier_deep_archive_storage_class.go
- s3_glacier_flexible_retrieval_storage_class.go
- s3_intelligent_tiering_storage_class.go
- s3_one_zone_infrequent_access_storage_class.go
- s3_standard_infrequent_access_storage_class.go
- s3_standard_storage_class.go
- s3_storage_class_helpers.go
- secretsmanager_secret.go
- sfn_state_machine.go
- sns_topic.go
- sns_topic_subscription.go
- sqs_queue.go
- ssm_activation.go
- ssm_parameter.go
- transfer_server.go
- util.go
- vpc_endpoint.go
- vpn_connection.go
- waf_web_acl.go
- wafv2_web_acl.go