Documentation
¶
Index ¶
- Variables
- type ACMCertificate
- type ACMPCACertificateAuthority
- type APIGatewayRestAPI
- type APIGatewayStage
- type APIGatewayV2API
- type AppAutoscalingTarget
- type AutoscalingGroup
- type BackupVault
- type CloudFormationStack
- type CloudFormationStackSet
- type CloudHSMv2HSM
- type CloudfrontDistribution
- type CloudfrontFunction
- type Cloudtrail
- type CloudwatchDashboard
- type CloudwatchEventBus
- type CloudwatchLogGroup
- type CloudwatchMetricAlarm
- func (r *CloudwatchMetricAlarm) BuildResource() *engine.Estimate
- func (r *CloudwatchMetricAlarm) CalcMetricResolution(metricPeriod decimal.Decimal) bool
- func (r *CloudwatchMetricAlarm) CoreType() string
- func (r *CloudwatchMetricAlarm) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *CloudwatchMetricAlarm) UsageSchema() []*engine.ConsumptionField
- 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 EC2Host
- type EC2TrafficMirrorSession
- type EC2TransitGatewayPeeringAttachment
- func (r *EC2TransitGatewayPeeringAttachment) BuildResource() *engine.Estimate
- func (r *EC2TransitGatewayPeeringAttachment) CoreType() string
- func (r *EC2TransitGatewayPeeringAttachment) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *EC2TransitGatewayPeeringAttachment) UsageSchema() []*engine.ConsumptionField
- 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 ExtendedSupport
- type ExtendedSupportDates
- type FSxOpenZFSFileSystem
- type FSxWindowsFileSystem
- type GlobalAccelerator
- type GlobalacceleratorEndpointGroup
- type GlueCatalogDatabase
- type GlueCrawler
- type GlueJob
- type GrafanaWorkspace
- type Instance
- type KMSExternalKey
- type KMSKey
- type KinesisAnalyticsApplication
- type KinesisAnalyticsV2Application
- type KinesisAnalyticsV2ApplicationSnapshot
- func (r *KinesisAnalyticsV2ApplicationSnapshot) BuildResource() *engine.Estimate
- func (r *KinesisAnalyticsV2ApplicationSnapshot) CoreType() string
- func (r *KinesisAnalyticsV2ApplicationSnapshot) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *KinesisAnalyticsV2ApplicationSnapshot) UsageSchema() []*engine.ConsumptionField
- type KinesisFirehoseDeliveryStream
- type KinesisStream
- type LB
- type LambdaFunction
- func (a *LambdaFunction) BuildResource() *engine.Estimate
- func (a *LambdaFunction) CoreType() string
- func (a *LambdaFunction) PopulateUsage(u *engine.ConsumptionProfile)
- func (a *LambdaFunction) UsageEstimationParams() []engine.ConsumptionParam
- func (a *LambdaFunction) UsageSchema() []*engine.ConsumptionField
- type LambdaProvisionedConcurrencyConfig
- func (r *LambdaProvisionedConcurrencyConfig) BuildResource() *engine.Estimate
- func (r *LambdaProvisionedConcurrencyConfig) CoreType() string
- func (r *LambdaProvisionedConcurrencyConfig) PopulateUsage(u *engine.ConsumptionProfile)
- func (r *LambdaProvisionedConcurrencyConfig) UsageSchema() []*engine.ConsumptionField
- 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 S3GlacierDeepArchiveStorageClass
- func (a *S3GlacierDeepArchiveStorageClass) BuildResource() *engine.Estimate
- func (a *S3GlacierDeepArchiveStorageClass) CoreType() string
- func (a *S3GlacierDeepArchiveStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
- func (a *S3GlacierDeepArchiveStorageClass) UsageKey() string
- func (a *S3GlacierDeepArchiveStorageClass) UsageSchema() []*engine.ConsumptionField
- type S3GlacierFlexibleRetrievalStorageClass
- func (a *S3GlacierFlexibleRetrievalStorageClass) BuildResource() *engine.Estimate
- func (a *S3GlacierFlexibleRetrievalStorageClass) CoreType() string
- func (a *S3GlacierFlexibleRetrievalStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
- func (a *S3GlacierFlexibleRetrievalStorageClass) UsageKey() string
- func (a *S3GlacierFlexibleRetrievalStorageClass) UsageSchema() []*engine.ConsumptionField
- type S3IntelligentTieringStorageClass
- func (a *S3IntelligentTieringStorageClass) BuildResource() *engine.Estimate
- func (a *S3IntelligentTieringStorageClass) CoreType() string
- func (a *S3IntelligentTieringStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
- func (a *S3IntelligentTieringStorageClass) UsageKey() string
- func (a *S3IntelligentTieringStorageClass) UsageSchema() []*engine.ConsumptionField
- type S3OneZoneInfrequentAccessStorageClass
- func (a *S3OneZoneInfrequentAccessStorageClass) BuildResource() *engine.Estimate
- func (a *S3OneZoneInfrequentAccessStorageClass) CoreType() string
- func (a *S3OneZoneInfrequentAccessStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
- func (a *S3OneZoneInfrequentAccessStorageClass) UsageKey() string
- func (a *S3OneZoneInfrequentAccessStorageClass) UsageSchema() []*engine.ConsumptionField
- type S3StandardInfrequentAccessStorageClass
- func (a *S3StandardInfrequentAccessStorageClass) BuildResource() *engine.Estimate
- func (a *S3StandardInfrequentAccessStorageClass) CoreType() string
- func (a *S3StandardInfrequentAccessStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
- func (a *S3StandardInfrequentAccessStorageClass) UsageKey() string
- func (a *S3StandardInfrequentAccessStorageClass) UsageSchema() []*engine.ConsumptionField
- type S3StandardStorageClass
- func (a *S3StandardStorageClass) BuildResource() *engine.Estimate
- func (a *S3StandardStorageClass) CoreType() string
- func (a *S3StandardStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
- func (a *S3StandardStorageClass) UsageKey() string
- func (a *S3StandardStorageClass) UsageSchema() []*engine.ConsumptionField
- type S3StorageClass
- type SFnStateMachine
- type SNSFIFOTopic
- type SNSTopic
- type SNSTopicSubscription
- type SQSQueue
- type SSMActivation
- type SSMParameter
- type SearchDomain
- type SecretsManagerSecret
- type TransferServer
- type VPCEndpoint
- type VPNConnection
- type WAFWebACL
- type WAFv2WebACL
Constants ¶
This section is empty.
Variables ¶
var AutoscalingGroupUsageSchema = append([]*engine.ConsumptionField{ {Key: "instances", DefaultValue: 0, ValueType: engine.Int64}, }, InstanceUsageSchema...)
var CloudwatchLogGroupUsageSchema = []*engine.ConsumptionField{ {Key: "monthly_data_ingested_gb", ValueType: engine.Float64, DefaultValue: 0}, {Key: "storage_gb", ValueType: engine.Float64, DefaultValue: 0}, {Key: "monthly_data_scanned_gb", ValueType: engine.Float64, DefaultValue: 0}, }
var DBInstanceUsageSchema = []*eng.ConsumptionField{ {Key: "monthly_standard_io_requests", ValueType: eng.Int64, DefaultValue: 0}, {Key: "additional_backup_storage_gb", ValueType: eng.Float64, DefaultValue: 0}, {Key: "monthly_additional_performance_insights_requests", ValueType: eng.Int64, DefaultValue: 0}, {Key: "reserved_instance_term", DefaultValue: "", ValueType: eng.String}, {Key: "reserved_instance_payment_option", DefaultValue: "", ValueType: eng.String}, }
var ECRRepositoryUsageSchema = []*engine.ConsumptionField{ {Key: "storage_gb", ValueType: engine.Float64, DefaultValue: 0}, }
var EKSNodeGroupUsageSchema = append([]*engine.ConsumptionField{ {Key: "instances", DefaultValue: 0, ValueType: engine.Int64}, }, InstanceUsageSchema...)
var ELBUsageSchema = []*engine.ConsumptionField{ {Key: "monthly_data_processed_gb", ValueType: engine.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 = []*engine.ConsumptionField{ {Key: "operating_system", DefaultValue: "linux", ValueType: engine.String}, {Key: "reserved_instance_type", DefaultValue: "", ValueType: engine.String}, {Key: "reserved_instance_term", DefaultValue: "", ValueType: engine.String}, {Key: "reserved_instance_payment_option", DefaultValue: "", ValueType: engine.String}, {Key: "monthly_cpu_credit_hrs", DefaultValue: 0, ValueType: engine.Int64}, {Key: "vcpu_count", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_hrs", DefaultValue: 730, ValueType: engine.Float64}, }
var LBUsageSchema = []*engine.ConsumptionField{ {Key: "rule_evaluations", ValueType: engine.Int64, DefaultValue: 0}, {Key: "new_connections", ValueType: engine.Int64, DefaultValue: 0}, {Key: "active_connections", ValueType: engine.Int64, DefaultValue: 0}, {Key: "processed_bytes_gb", ValueType: engine.Float64, DefaultValue: 0}, }
var LaunchConfigurationUsageSchema = InstanceUsageSchema
var LaunchTemplateUsageSchema = InstanceUsageSchema
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)",
"ca-west-1": "Canada West (Calgary)",
"mx-central-1": "Mexico (Central)",
"cn-north-1": "China (Beijing)",
"cn-northwest-1": "China (Ningxia)",
"eu-central-1": "EU (Frankfurt)",
"eu-central-2": "EU (Zurich)",
"eu-west-1": "EU (Ireland)",
"eu-west-2": "EU (London)",
"eu-south-1": "EU (Milan)",
"eu-south-2": "EU (Spain)",
"eu-west-3": "EU (Paris)",
"eu-north-1": "EU (Stockholm)",
"il-central-1": "Israel (Tel Aviv)",
"ap-east-1": "Asia Pacific (Hong Kong)",
"ap-east-2": "Asia Pacific (Taipei)",
"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-southeast-4": "Asia Pacific (Melbourne)",
"ap-southeast-5": "Asia Pacific (Malaysia)",
"ap-southeast-6": "Asia Pacific (New Zealand)",
"ap-southeast-7": "Asia Pacific (Thailand)",
"ap-south-1": "Asia Pacific (Mumbai)",
"ap-south-2": "Asia Pacific (Hyderabad)",
"me-central-1": "Middle East (UAE)",
"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 = []*engine.ConsumptionField{ {Key: "us_gov_west_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "us_gov_east_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "us_east_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "us_east_2", DefaultValue: 0, ValueType: engine.Float64}, {Key: "us_west_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "us_west_2", DefaultValue: 0, ValueType: engine.Float64}, {Key: "us_west_2_lax_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ca_central_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ca_west_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "mx_central_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "cn_north_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "cn_northwest_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "eu_central_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "eu_central_2", DefaultValue: 0, ValueType: engine.Float64}, {Key: "eu_west_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "eu_west_2", DefaultValue: 0, ValueType: engine.Float64}, {Key: "eu_south_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "eu_south_2", DefaultValue: 0, ValueType: engine.Float64}, {Key: "eu_west_3", DefaultValue: 0, ValueType: engine.Float64}, {Key: "eu_north_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "il_central_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_east_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_east_2", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_northeast_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_northeast_2", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_northeast_3", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_southeast_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_southeast_2", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_southeast_3", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_southeast_4", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_southeast_5", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_southeast_6", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_southeast_7", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_south_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "ap_south_2", DefaultValue: 0, ValueType: engine.Float64}, {Key: "me_central_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "me_south_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "sa_east_1", DefaultValue: 0, ValueType: engine.Float64}, {Key: "af_south_1", DefaultValue: 0, ValueType: engine.Float64}, }
RegionUsageSchema is the schema representation of the RegionsUsage type. This can be used as a engine.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 S3GlacierDeepArchiveStorageClassUsageSchema = []*engine.ConsumptionField{ {Key: "storage_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_standard_data_retrieval_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_standard_data_retrieval_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_bulk_data_retrieval_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_bulk_data_retrieval_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "early_delete_gb", DefaultValue: 0.0, ValueType: engine.Float64}, }
var S3GlacierFlexibleRetrievalStorageClassUsageSchema = []*engine.ConsumptionField{ {Key: "storage_gb", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_standard_data_retrieval_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_standard_data_retrieval_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_standard_select_data_scanned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_standard_select_data_returned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_expedited_data_retrieval_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_expedited_data_retrieval_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_expedited_select_data_scanned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_expedited_select_data_returned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_bulk_select_data_scanned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_bulk_select_data_returned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "early_delete_gb", DefaultValue: 0.0, ValueType: engine.Float64}, }
var S3IntelligentTieringStorageClassUsageSchema = []*engine.ConsumptionField{ {Key: "frequent_access_storage_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "infrequent_access_storage_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "archive_access_storage_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "deep_archive_access_storage_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monitored_objects", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_select_data_scanned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_select_data_returned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "early_delete_gb", DefaultValue: 0.0, ValueType: engine.Float64}, }
var S3OneZoneInfrequentAccessStorageClassUsageSchema = []*engine.ConsumptionField{ {Key: "storage_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_data_retrieval_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_select_data_scanned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_select_data_returned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, }
var S3StandardInfrequentAccessStorageClassUsageSchema = []*engine.ConsumptionField{ {Key: "storage_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_lifecycle_transition_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_data_retrieval_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_select_data_scanned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_select_data_returned_gb", DefaultValue: 0.0, ValueType: engine.Float64}, }
var S3StandardStorageClassUsageSchema = []*engine.ConsumptionField{ {Key: "storage_gb", DefaultValue: 0.0, ValueType: engine.Float64}, {Key: "monthly_tier_1_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_tier_2_requests", DefaultValue: 0, ValueType: engine.Int64}, {Key: "monthly_select_data_scanned_gb", DefaultValue: 0, ValueType: engine.Float64}, {Key: "monthly_select_data_returned_gb", DefaultValue: 0, ValueType: engine.Float64}, }
var SNSFIFOTopicUsageSchema = []*engine.ConsumptionField{ {Key: "request_size_kb", ValueType: engine.Float64, DefaultValue: 1}, {Key: "monthly_requests", ValueType: engine.Int64, DefaultValue: 0}, }
SNSFIFOTopicUsageSchema defines a list which represents the usage schema of SNSFIFOTopic.
var SNSTopicUsageSchema = []*engine.ConsumptionField{ {Key: "request_size_kb", ValueType: engine.Float64, DefaultValue: 0}, {Key: "monthly_requests", ValueType: engine.Int64, DefaultValue: 0}, {Key: "http_subscriptions", ValueType: engine.Int64, DefaultValue: 0}, {Key: "email_subscriptions", ValueType: engine.Int64, DefaultValue: 0}, {Key: "kinesis_subscriptions", ValueType: engine.Int64, DefaultValue: 0}, {Key: "mobile_push_subscriptions", ValueType: engine.Int64, DefaultValue: 0}, {Key: "macos_subscriptions", ValueType: engine.Int64, DefaultValue: 0}, {Key: "sms_subscriptions", ValueType: engine.Int64, DefaultValue: 0}, {Key: "sms_notification_price", ValueType: engine.Float64, DefaultValue: 0.0075}, }
SNSTopicUsageSchema defines a list which represents the usage schema of SNSTopic.
var ( // Today is the date used to determine extended support pricing tiers. // It can be overridden in tests to make pricing deterministic. Today = time.Now() )
Functions ¶
This section is empty.
Types ¶
type ACMCertificate ¶
func (*ACMCertificate) BuildResource ¶
func (r *ACMCertificate) BuildResource() *engine.Estimate
func (*ACMCertificate) CoreType ¶
func (r *ACMCertificate) CoreType() string
func (*ACMCertificate) PopulateUsage ¶
func (r *ACMCertificate) PopulateUsage(u *engine.ConsumptionProfile)
func (*ACMCertificate) UsageSchema ¶
func (r *ACMCertificate) UsageSchema() []*engine.ConsumptionField
type ACMPCACertificateAuthority ¶
type ACMPCACertificateAuthority struct {
Address string
Region string
UsageMode string
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
}
func (*ACMPCACertificateAuthority) BuildResource ¶
func (r *ACMPCACertificateAuthority) BuildResource() *engine.Estimate
func (*ACMPCACertificateAuthority) CoreType ¶
func (r *ACMPCACertificateAuthority) CoreType() string
func (*ACMPCACertificateAuthority) PopulateUsage ¶
func (r *ACMPCACertificateAuthority) PopulateUsage(u *engine.ConsumptionProfile)
func (*ACMPCACertificateAuthority) UsageSchema ¶
func (r *ACMPCACertificateAuthority) UsageSchema() []*engine.ConsumptionField
type APIGatewayRestAPI ¶
type APIGatewayRestAPI struct {
Address string
Region string
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
}
func (*APIGatewayRestAPI) BuildResource ¶
func (r *APIGatewayRestAPI) BuildResource() *engine.Estimate
func (*APIGatewayRestAPI) CoreType ¶
func (r *APIGatewayRestAPI) CoreType() string
func (*APIGatewayRestAPI) PopulateUsage ¶
func (r *APIGatewayRestAPI) PopulateUsage(u *engine.ConsumptionProfile)
func (*APIGatewayRestAPI) UsageSchema ¶
func (r *APIGatewayRestAPI) UsageSchema() []*engine.ConsumptionField
type APIGatewayStage ¶
type APIGatewayStage struct {
Address string
Region string
CacheClusterSize float64
CacheEnabled bool
}
func (*APIGatewayStage) BuildResource ¶
func (r *APIGatewayStage) BuildResource() *engine.Estimate
func (*APIGatewayStage) CoreType ¶
func (r *APIGatewayStage) CoreType() string
func (*APIGatewayStage) PopulateUsage ¶
func (r *APIGatewayStage) PopulateUsage(u *engine.ConsumptionProfile)
func (*APIGatewayStage) UsageSchema ¶
func (r *APIGatewayStage) UsageSchema() []*engine.ConsumptionField
type APIGatewayV2API ¶
type APIGatewayV2API struct {
Address string
Region string
ProtocolType string
MessageSizeKB *int64 `c3x_usage:"message_size_kb"`
MonthlyConnectionMins *int64 `c3x_usage:"monthly_connection_mins"`
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
RequestSizeKB *int64 `c3x_usage:"request_size_kb"`
MonthlyMessages *int64 `c3x_usage:"monthly_messages"`
}
func (*APIGatewayV2API) BuildResource ¶
func (r *APIGatewayV2API) BuildResource() *engine.Estimate
func (*APIGatewayV2API) CoreType ¶
func (r *APIGatewayV2API) CoreType() string
func (*APIGatewayV2API) PopulateUsage ¶
func (r *APIGatewayV2API) PopulateUsage(u *engine.ConsumptionProfile)
func (*APIGatewayV2API) UsageSchema ¶
func (r *APIGatewayV2API) UsageSchema() []*engine.ConsumptionField
type AppAutoscalingTarget ¶
type AppAutoscalingTarget struct {
Address string
Region string
ResourceID string
ScalableDimension string
MinCapacity int64
MaxCapacity int64
// "usage" args
Capacity *int64 `c3x_usage:"capacity"`
}
func (*AppAutoscalingTarget) BuildResource ¶
func (r *AppAutoscalingTarget) BuildResource() *engine.Estimate
func (*AppAutoscalingTarget) CoreType ¶
func (r *AppAutoscalingTarget) CoreType() string
func (*AppAutoscalingTarget) PopulateUsage ¶
func (r *AppAutoscalingTarget) PopulateUsage(u *engine.ConsumptionProfile)
func (*AppAutoscalingTarget) UsageSchema ¶
func (r *AppAutoscalingTarget) UsageSchema() []*engine.ConsumptionField
type AutoscalingGroup ¶
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 ¶
func (a *AutoscalingGroup) BuildResource() *engine.Estimate
func (*AutoscalingGroup) CoreType ¶
func (a *AutoscalingGroup) CoreType() string
func (*AutoscalingGroup) PopulateUsage ¶
func (a *AutoscalingGroup) PopulateUsage(u *engine.ConsumptionProfile)
func (*AutoscalingGroup) UsageSchema ¶
func (a *AutoscalingGroup) UsageSchema() []*engine.ConsumptionField
type BackupVault ¶
type BackupVault struct {
Address string
Region string
MonthlyEFSWarmBackupGB *float64 `c3x_usage:"monthly_efs_warm_backup_gb"`
MonthlyEFSColdRestoreGB *float64 `c3x_usage:"monthly_efs_cold_restore_gb"`
MonthlyRDSSnapshotGB *float64 `c3x_usage:"monthly_rds_snapshot_gb"`
MonthlyAuroraSnapshotGB *float64 `c3x_usage:"monthly_aurora_snapshot_gb"`
MonthlyDynamodbBackupGB *float64 `c3x_usage:"monthly_dynamodb_backup_gb"`
MonthlyDynamodbRestoreGB *float64 `c3x_usage:"monthly_dynamodb_restore_gb"`
MonthlyFSxWindowsBackupGB *float64 `c3x_usage:"monthly_fsx_windows_backup_gb"`
MonthlyFSxLustreBackupGB *float64 `c3x_usage:"monthly_fsx_lustre_backup_gb"`
MonthlyEFSColdBackupGB *float64 `c3x_usage:"monthly_efs_cold_backup_gb"`
MonthlyEFSWarmRestoreGB *float64 `c3x_usage:"monthly_efs_warm_restore_gb"`
MonthlyEFSItemRestoreRequests *int64 `c3x_usage:"monthly_efs_item_restore_requests"`
MonthlyEBSSnapshotGB *float64 `c3x_usage:"monthly_ebs_snapshot_gb"`
}
func (*BackupVault) BuildResource ¶
func (r *BackupVault) BuildResource() *engine.Estimate
func (*BackupVault) CoreType ¶
func (r *BackupVault) CoreType() string
func (*BackupVault) PopulateUsage ¶
func (r *BackupVault) PopulateUsage(u *engine.ConsumptionProfile)
func (*BackupVault) UsageSchema ¶
func (r *BackupVault) UsageSchema() []*engine.ConsumptionField
type CloudFormationStack ¶
type CloudFormationStack struct {
Address string
Region string
TemplateBody string
MonthlyHandlerOperations *int64 `c3x_usage:"monthly_handler_operations"`
MonthlyDurationSecs *int64 `c3x_usage:"monthly_duration_secs"`
}
func (*CloudFormationStack) BuildResource ¶
func (r *CloudFormationStack) BuildResource() *engine.Estimate
func (*CloudFormationStack) CoreType ¶
func (r *CloudFormationStack) CoreType() string
func (*CloudFormationStack) PopulateUsage ¶
func (r *CloudFormationStack) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudFormationStack) UsageSchema ¶
func (r *CloudFormationStack) UsageSchema() []*engine.ConsumptionField
type CloudFormationStackSet ¶
type CloudFormationStackSet struct {
Address string
Region string
TemplateBody string
MonthlyHandlerOperations *int64 `c3x_usage:"monthly_handler_operations"`
MonthlyDurationSecs *int64 `c3x_usage:"monthly_duration_secs"`
}
func (*CloudFormationStackSet) BuildResource ¶
func (r *CloudFormationStackSet) BuildResource() *engine.Estimate
func (*CloudFormationStackSet) CoreType ¶
func (r *CloudFormationStackSet) CoreType() string
func (*CloudFormationStackSet) PopulateUsage ¶
func (r *CloudFormationStackSet) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudFormationStackSet) UsageSchema ¶
func (r *CloudFormationStackSet) UsageSchema() []*engine.ConsumptionField
type CloudHSMv2HSM ¶
type CloudHSMv2HSM struct {
Address string
Region string
MonthlyHours *float64 `c3x_usage:"monthly_hrs"`
}
CloudHSMv2HSM struct represents an HSM module in a CloudHSM cluster.
The HSM module is charged a hourly rate. Terraform allows you to specify the instance type of the HSM cluster, but at the moment AWS only supports one instance type, so each module has a set price depending on region.
The cluster is counted as a free resource, but each cluster can have up to 32 HSM modules.
Resource information: https://aws.amazon.com/cloudhsm/ Pricing information: https://aws.amazon.com/cloudhsm/pricing/
func (*CloudHSMv2HSM) BuildResource ¶
func (r *CloudHSMv2HSM) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid CloudHSMv2HSM struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*CloudHSMv2HSM) CoreType ¶
func (r *CloudHSMv2HSM) CoreType() string
CoreType returns the name of this resource type
func (*CloudHSMv2HSM) PopulateUsage ¶
func (r *CloudHSMv2HSM) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the CloudHSMv2HSM. It uses the `c3x_usage` struct tags to populate data into the CloudHSMv2HSM.
func (*CloudHSMv2HSM) UsageSchema ¶
func (r *CloudHSMv2HSM) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of CloudHSMv2HSM.
type CloudfrontDistribution ¶
type CloudfrontDistribution struct {
Address string
Region string
IsOriginShieldEnabled bool
IsSSLSupportMethodVIP bool
HasLoggingConfigBucket bool
HasFieldLevelEncryptionID bool
OriginShieldRegion string
// "usage" args
MonthlyHTTPRequests *cloudfrontDistributionRegionRequestsUsage `c3x_usage:"monthly_http_requests"`
MonthlyHTTPSRequests *cloudfrontDistributionRegionRequestsUsage `c3x_usage:"monthly_https_requests"`
MonthlyShieldRequests *cloudfrontDistributionShieldRequestsUsage `c3x_usage:"monthly_shield_requests"`
MonthlyInvalidationRequests *int64 `c3x_usage:"monthly_invalidation_requests"`
MonthlyEncryptionRequests *int64 `c3x_usage:"monthly_encryption_requests"`
MonthlyLogLines *int64 `c3x_usage:"monthly_log_lines"`
MonthlyDataTransferToInternetGB *cloudfrontDistributionRegionDataTransferUsage `c3x_usage:"monthly_data_transfer_to_internet_gb"`
MonthlyDataTransferToOriginGB *cloudfrontDistributionRegionDataTransferUsage `c3x_usage:"monthly_data_transfer_to_origin_gb"`
CustomSslCertificates *int64 `c3x_usage:"custom_ssl_certificates"`
}
func (*CloudfrontDistribution) BuildResource ¶
func (r *CloudfrontDistribution) BuildResource() *engine.Estimate
func (*CloudfrontDistribution) CoreType ¶
func (r *CloudfrontDistribution) CoreType() string
func (*CloudfrontDistribution) PopulateUsage ¶
func (r *CloudfrontDistribution) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudfrontDistribution) UsageSchema ¶
func (r *CloudfrontDistribution) UsageSchema() []*engine.ConsumptionField
type CloudfrontFunction ¶
type CloudfrontFunction struct {
Address string
Region string
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
}
CloudfrontFunction struct represents an AWS CloudFront Function. With CloudFront Functions, you can write lightweight functions in JavaScript for high-scale, latency-sensitive CDN customizations.
Resource information: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-functions.html Pricing information: https://aws.amazon.com/cloudfront/pricing/
func (*CloudfrontFunction) BuildResource ¶
func (r *CloudfrontFunction) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid CloudfrontFunction struct. This method is called after the resource is initialised by an IaC provider. See providers folder for more information.
func (*CloudfrontFunction) CoreType ¶
func (r *CloudfrontFunction) CoreType() string
CoreType returns the name of this resource type
func (*CloudfrontFunction) PopulateUsage ¶
func (r *CloudfrontFunction) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the CloudfrontFunction. It uses the `c3x_usage` struct tags to populate data into the CloudfrontFunction.
func (*CloudfrontFunction) UsageSchema ¶
func (r *CloudfrontFunction) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of CloudfrontFunction.
type Cloudtrail ¶
type Cloudtrail struct {
Address string
Region string
IncludeManagementEvents bool
IncludeInsightEvents bool
MonthlyAdditionalManagementEvents *float64 `c3x_usage:"monthly_additional_management_events"`
MonthlyDataEvents *float64 `c3x_usage:"monthly_data_events"`
MonthlyInsightEvents *float64 `c3x_usage:"monthly_insight_events"`
}
Cloudtrail struct represents a cloudtrail instance to monitor activity across a set of catalog. 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 ¶
func (r *Cloudtrail) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid Cloudtrail struct. It returns Cloudtrail as a engine.Estimate 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) CoreType ¶
func (r *Cloudtrail) CoreType() string
func (*Cloudtrail) PopulateUsage ¶
func (r *Cloudtrail) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the Cloudtrail. It uses the `c3x_usage` struct tags to populate data into the Cloudtrail.
func (*Cloudtrail) UsageSchema ¶
func (r *Cloudtrail) UsageSchema() []*engine.ConsumptionField
type CloudwatchDashboard ¶
type CloudwatchDashboard struct {
Address string
}
func (*CloudwatchDashboard) BuildResource ¶
func (r *CloudwatchDashboard) BuildResource() *engine.Estimate
func (*CloudwatchDashboard) CoreType ¶
func (r *CloudwatchDashboard) CoreType() string
func (*CloudwatchDashboard) PopulateUsage ¶
func (r *CloudwatchDashboard) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudwatchDashboard) UsageSchema ¶
func (r *CloudwatchDashboard) UsageSchema() []*engine.ConsumptionField
type CloudwatchEventBus ¶
type CloudwatchEventBus struct {
Address string
Region string
MonthlySchemaDiscoveryEvents *int64 `c3x_usage:"monthly_schema_discovery_events"`
MonthlyCustomEvents *int64 `c3x_usage:"monthly_custom_events"`
MonthlyThirdPartyEvents *int64 `c3x_usage:"monthly_third_party_events"`
MonthlyArchiveProcessingGB *float64 `c3x_usage:"monthly_archive_processing_gb"`
ArchiveStorageGB *float64 `c3x_usage:"archive_storage_gb"`
}
func (*CloudwatchEventBus) BuildResource ¶
func (r *CloudwatchEventBus) BuildResource() *engine.Estimate
func (*CloudwatchEventBus) CoreType ¶
func (r *CloudwatchEventBus) CoreType() string
func (*CloudwatchEventBus) PopulateUsage ¶
func (r *CloudwatchEventBus) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudwatchEventBus) UsageSchema ¶
func (r *CloudwatchEventBus) UsageSchema() []*engine.ConsumptionField
type CloudwatchLogGroup ¶
type CloudwatchLogGroup struct {
Address string
Region string
MonthlyDataIngestedGB *float64 `c3x_usage:"monthly_data_ingested_gb"`
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyDataScannedGB *float64 `c3x_usage:"monthly_data_scanned_gb"`
}
func (*CloudwatchLogGroup) BuildResource ¶
func (r *CloudwatchLogGroup) BuildResource() *engine.Estimate
func (*CloudwatchLogGroup) CoreType ¶
func (r *CloudwatchLogGroup) CoreType() string
func (*CloudwatchLogGroup) PopulateUsage ¶
func (r *CloudwatchLogGroup) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudwatchLogGroup) UsageSchema ¶
func (r *CloudwatchLogGroup) UsageSchema() []*engine.ConsumptionField
type CloudwatchMetricAlarm ¶
type CloudwatchMetricAlarm struct {
Address string
Region string
ComparisonOperator string
Metrics int64
Period int64
}
func (*CloudwatchMetricAlarm) BuildResource ¶
func (r *CloudwatchMetricAlarm) BuildResource() *engine.Estimate
func (*CloudwatchMetricAlarm) CalcMetricResolution ¶
func (r *CloudwatchMetricAlarm) CalcMetricResolution(metricPeriod decimal.Decimal) bool
func (*CloudwatchMetricAlarm) CoreType ¶
func (r *CloudwatchMetricAlarm) CoreType() string
func (*CloudwatchMetricAlarm) PopulateUsage ¶
func (r *CloudwatchMetricAlarm) PopulateUsage(u *engine.ConsumptionProfile)
func (*CloudwatchMetricAlarm) UsageSchema ¶
func (r *CloudwatchMetricAlarm) UsageSchema() []*engine.ConsumptionField
type CodeBuildProject ¶
type CodeBuildProject struct {
Address string
Region string
ComputeType string
EnvironmentType string
MonthlyBuildMins *int64 `c3x_usage:"monthly_build_mins"`
}
func (*CodeBuildProject) BuildResource ¶
func (r *CodeBuildProject) BuildResource() *engine.Estimate
func (*CodeBuildProject) CoreType ¶
func (r *CodeBuildProject) CoreType() string
func (*CodeBuildProject) PopulateUsage ¶
func (r *CodeBuildProject) PopulateUsage(u *engine.ConsumptionProfile)
func (*CodeBuildProject) UsageSchema ¶
func (r *CodeBuildProject) UsageSchema() []*engine.ConsumptionField
type ConfigConfigRule ¶
type ConfigConfigRule struct {
Address string
Region string
MonthlyRuleEvaluations *int64 `c3x_usage:"monthly_rule_evaluations"`
}
func (*ConfigConfigRule) BuildResource ¶
func (r *ConfigConfigRule) BuildResource() *engine.Estimate
func (*ConfigConfigRule) CoreType ¶
func (r *ConfigConfigRule) CoreType() string
func (*ConfigConfigRule) PopulateUsage ¶
func (r *ConfigConfigRule) PopulateUsage(u *engine.ConsumptionProfile)
func (*ConfigConfigRule) UsageSchema ¶
func (r *ConfigConfigRule) UsageSchema() []*engine.ConsumptionField
type ConfigConfigurationRecorder ¶
type ConfigConfigurationRecorder struct {
Address string
Region string
MonthlyConfigItems *int64 `c3x_usage:"monthly_config_items"`
MonthlyCustomConfigItems *int64 `c3x_usage:"monthly_custom_config_items"`
}
func (*ConfigConfigurationRecorder) BuildResource ¶
func (r *ConfigConfigurationRecorder) BuildResource() *engine.Estimate
func (*ConfigConfigurationRecorder) CoreType ¶
func (r *ConfigConfigurationRecorder) CoreType() string
func (*ConfigConfigurationRecorder) PopulateUsage ¶
func (r *ConfigConfigurationRecorder) PopulateUsage(u *engine.ConsumptionProfile)
func (*ConfigConfigurationRecorder) UsageSchema ¶
func (r *ConfigConfigurationRecorder) UsageSchema() []*engine.ConsumptionField
type DBInstance ¶
type DBInstance struct {
Address string
Region string
LicenseModel string
StorageType string
BackupRetentionPeriod int64
IOOptimized bool
PerformanceInsightsEnabled bool
PerformanceInsightsLongTermRetention bool
MultiAZ bool
InstanceClass string
Engine string
Version string
IOPS float64
AllocatedStorageGB *float64
MonthlyStandardIORequests *int64 `c3x_usage:"monthly_standard_io_requests"`
AdditionalBackupStorageGB *float64 `c3x_usage:"additional_backup_storage_gb"`
MonthlyAdditionalPerformanceInsightsRequests *int64 `c3x_usage:"monthly_additional_performance_insights_requests"`
ReservedInstanceTerm *string `c3x_usage:"reserved_instance_term"`
ReservedInstancePaymentOption *string `c3x_usage:"reserved_instance_payment_option"`
}
func (*DBInstance) BuildResource ¶
func (r *DBInstance) BuildResource() *eng.Estimate
func (*DBInstance) CoreType ¶
func (r *DBInstance) CoreType() string
func (*DBInstance) PopulateUsage ¶
func (r *DBInstance) PopulateUsage(u *eng.ConsumptionProfile)
func (*DBInstance) UsageSchema ¶
func (r *DBInstance) UsageSchema() []*eng.ConsumptionField
type DMSReplicationInstance ¶
type DMSReplicationInstance struct {
Address string
Region string
AllocatedStorageGB int64
ReplicationInstanceClass string
MultiAZ bool
}
func (*DMSReplicationInstance) BuildResource ¶
func (r *DMSReplicationInstance) BuildResource() *engine.Estimate
func (*DMSReplicationInstance) CoreType ¶
func (r *DMSReplicationInstance) CoreType() string
func (*DMSReplicationInstance) PopulateUsage ¶
func (r *DMSReplicationInstance) PopulateUsage(u *engine.ConsumptionProfile)
func (*DMSReplicationInstance) UsageSchema ¶
func (r *DMSReplicationInstance) UsageSchema() []*engine.ConsumptionField
type DXConnection ¶
type DXConnection struct {
Address string
Bandwidth string
Location string
Region string
MonthlyOutboundFromRegionToDXConnectionLocation *RegionsUsage `c3x_usage:"monthly_outbound_from_region_to_dx_connection_location"`
MonthlyOutboundRegionToDxLocationGB *float64 `c3x_usage:"monthly_outbound_region_to_dx_location_gb"`
DxVirtualInterfaceType *string `c3x_usage:"dx_virtual_interface_type"`
DXConnectionType *string `c3x_usage:"dx_connection_type"`
}
func (*DXConnection) BuildResource ¶
func (r *DXConnection) BuildResource() *engine.Estimate
func (*DXConnection) CoreType ¶
func (r *DXConnection) CoreType() string
func (*DXConnection) PopulateUsage ¶
func (r *DXConnection) PopulateUsage(u *engine.ConsumptionProfile)
func (*DXConnection) UsageSchema ¶
func (r *DXConnection) UsageSchema() []*engine.ConsumptionField
type DXGatewayAssociation ¶
type DXGatewayAssociation struct {
Address string
Region string
AssociatedGatewayRegion string
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
}
func (*DXGatewayAssociation) BuildResource ¶
func (r *DXGatewayAssociation) BuildResource() *engine.Estimate
func (*DXGatewayAssociation) CoreType ¶
func (r *DXGatewayAssociation) CoreType() string
func (*DXGatewayAssociation) PopulateUsage ¶
func (r *DXGatewayAssociation) PopulateUsage(u *engine.ConsumptionProfile)
func (*DXGatewayAssociation) UsageSchema ¶
func (r *DXGatewayAssociation) UsageSchema() []*engine.ConsumptionField
type DataTransfer ¶
type DataTransfer struct {
Address string
Region string
// "usage" args
MonthlyInfraRegionGB *float64 `c3x_usage:"monthly_intra_region_gb"`
MonthlyOutboundInternetGB *float64 `c3x_usage:"monthly_outbound_internet_gb"`
MonthlyOutboundUsEastToUsEastGB *float64 `c3x_usage:"monthly_outbound_us_east_to_us_east_gb"`
MonthlyOutboundOtherRegionsGB *float64 `c3x_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 ¶
func (r *DataTransfer) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate 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) CoreType ¶
func (r *DataTransfer) CoreType() string
func (*DataTransfer) PopulateUsage ¶
func (r *DataTransfer) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the DataTransfer. It uses the `c3x_usage` struct tags to populate data into the DataTransfer.
func (*DataTransfer) UsageSchema ¶
func (r *DataTransfer) UsageSchema() []*engine.ConsumptionField
type DirectoryServiceDirectory ¶
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 `c3x_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 `c3x_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 ¶
func (d *DirectoryServiceDirectory) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid DirectoryServiceDirectory.
func (*DirectoryServiceDirectory) CoreType ¶
func (d *DirectoryServiceDirectory) CoreType() string
func (*DirectoryServiceDirectory) PopulateUsage ¶
func (d *DirectoryServiceDirectory) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.Usage into the DirectoryServiceDirectory. It uses the `c3x_usage` struct tags to populate data into the DirectoryServiceDirectory.
func (*DirectoryServiceDirectory) UsageSchema ¶
func (d *DirectoryServiceDirectory) UsageSchema() []*engine.ConsumptionField
type DocDBCluster ¶
type DocDBCluster struct {
Address string
Region string
BackupRetentionPeriod int64
BackupStorageGB *float64 `c3x_usage:"backup_storage_gb"`
}
func (*DocDBCluster) BuildResource ¶
func (r *DocDBCluster) BuildResource() *engine.Estimate
func (*DocDBCluster) CoreType ¶
func (r *DocDBCluster) CoreType() string
func (*DocDBCluster) PopulateUsage ¶
func (r *DocDBCluster) PopulateUsage(u *engine.ConsumptionProfile)
func (*DocDBCluster) UsageSchema ¶
func (r *DocDBCluster) UsageSchema() []*engine.ConsumptionField
type DocDBClusterInstance ¶
type DocDBClusterInstance struct {
Address string
Region string
InstanceClass string
DataStorageGB *float64 `c3x_usage:"data_storage_gb"`
MonthlyIORequests *int64 `c3x_usage:"monthly_io_requests"`
MonthlyCPUCreditHrs *int64 `c3x_usage:"monthly_cpu_credit_hrs"`
}
func (*DocDBClusterInstance) BuildResource ¶
func (r *DocDBClusterInstance) BuildResource() *engine.Estimate
func (*DocDBClusterInstance) CoreType ¶
func (r *DocDBClusterInstance) CoreType() string
func (*DocDBClusterInstance) PopulateUsage ¶
func (r *DocDBClusterInstance) PopulateUsage(u *engine.ConsumptionProfile)
func (*DocDBClusterInstance) UsageSchema ¶
func (r *DocDBClusterInstance) UsageSchema() []*engine.ConsumptionField
type DocDBClusterSnapshot ¶
type DocDBClusterSnapshot struct {
Address string
Region string
BackupStorageGB *float64 `c3x_usage:"backup_storage_gb"`
}
func (*DocDBClusterSnapshot) BuildResource ¶
func (r *DocDBClusterSnapshot) BuildResource() *engine.Estimate
func (*DocDBClusterSnapshot) CoreType ¶
func (r *DocDBClusterSnapshot) CoreType() string
func (*DocDBClusterSnapshot) PopulateUsage ¶
func (r *DocDBClusterSnapshot) PopulateUsage(u *engine.ConsumptionProfile)
func (*DocDBClusterSnapshot) UsageSchema ¶
func (r *DocDBClusterSnapshot) UsageSchema() []*engine.ConsumptionField
type DynamoDBTable ¶
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
PointInTimeRecoveryEnabled bool
// "usage" args
MonthlyWriteRequestUnits *int64 `c3x_usage:"monthly_write_request_units"`
MonthlyReadRequestUnits *int64 `c3x_usage:"monthly_read_request_units"`
StorageGB *int64 `c3x_usage:"storage_gb"`
PitrBackupStorageGB *int64 `c3x_usage:"pitr_backup_storage_gb"`
OnDemandBackupStorageGB *int64 `c3x_usage:"on_demand_backup_storage_gb"`
MonthlyDataRestoredGB *int64 `c3x_usage:"monthly_data_restored_gb"`
MonthlyStreamsReadRequestUnits *int64 `c3x_usage:"monthly_streams_read_request_units"`
}
func (*DynamoDBTable) BuildResource ¶
func (a *DynamoDBTable) BuildResource() *engine.Estimate
func (*DynamoDBTable) CoreType ¶
func (a *DynamoDBTable) CoreType() string
func (*DynamoDBTable) PopulateUsage ¶
func (a *DynamoDBTable) PopulateUsage(u *engine.ConsumptionProfile)
func (*DynamoDBTable) UsageSchema ¶
func (a *DynamoDBTable) UsageSchema() []*engine.ConsumptionField
type EBSSnapshot ¶
type EBSSnapshot struct {
Address string
Region string
SizeGB *float64
MonthlyListBlockRequests *int64 `c3x_usage:"monthly_list_block_requests"`
MonthlyGetBlockRequests *int64 `c3x_usage:"monthly_get_block_requests"`
MonthlyPutBlockRequests *int64 `c3x_usage:"monthly_put_block_requests"`
FastSnapshotRestoreHours *int64 `c3x_usage:"fast_snapshot_restore_hours"`
}
func (*EBSSnapshot) BuildResource ¶
func (r *EBSSnapshot) BuildResource() *engine.Estimate
func (*EBSSnapshot) CoreType ¶
func (r *EBSSnapshot) CoreType() string
func (*EBSSnapshot) PopulateUsage ¶
func (r *EBSSnapshot) PopulateUsage(u *engine.ConsumptionProfile)
func (*EBSSnapshot) UsageSchema ¶
func (r *EBSSnapshot) UsageSchema() []*engine.ConsumptionField
type EBSSnapshotCopy ¶
func (*EBSSnapshotCopy) BuildResource ¶
func (r *EBSSnapshotCopy) BuildResource() *engine.Estimate
func (*EBSSnapshotCopy) CoreType ¶
func (r *EBSSnapshotCopy) CoreType() string
func (*EBSSnapshotCopy) PopulateUsage ¶
func (r *EBSSnapshotCopy) PopulateUsage(u *engine.ConsumptionProfile)
func (*EBSSnapshotCopy) UsageSchema ¶
func (r *EBSSnapshotCopy) UsageSchema() []*engine.ConsumptionField
type EBSVolume ¶
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 `c3x_usage:"monthly_standard_io_requests"`
}
func (*EBSVolume) BuildResource ¶
func (*EBSVolume) PopulateUsage ¶
func (a *EBSVolume) PopulateUsage(u *engine.ConsumptionProfile)
func (*EBSVolume) UsageSchema ¶
func (a *EBSVolume) UsageSchema() []*engine.ConsumptionField
type EC2ClientVPNEndpoint ¶
func (*EC2ClientVPNEndpoint) BuildResource ¶
func (r *EC2ClientVPNEndpoint) BuildResource() *engine.Estimate
func (*EC2ClientVPNEndpoint) CoreType ¶
func (r *EC2ClientVPNEndpoint) CoreType() string
func (*EC2ClientVPNEndpoint) PopulateUsage ¶
func (r *EC2ClientVPNEndpoint) PopulateUsage(u *engine.ConsumptionProfile)
func (*EC2ClientVPNEndpoint) UsageSchema ¶
func (r *EC2ClientVPNEndpoint) UsageSchema() []*engine.ConsumptionField
type EC2ClientVPNNetworkAssociation ¶
func (*EC2ClientVPNNetworkAssociation) BuildResource ¶
func (r *EC2ClientVPNNetworkAssociation) BuildResource() *engine.Estimate
func (*EC2ClientVPNNetworkAssociation) CoreType ¶
func (r *EC2ClientVPNNetworkAssociation) CoreType() string
func (*EC2ClientVPNNetworkAssociation) PopulateUsage ¶
func (r *EC2ClientVPNNetworkAssociation) PopulateUsage(u *engine.ConsumptionProfile)
func (*EC2ClientVPNNetworkAssociation) UsageSchema ¶
func (r *EC2ClientVPNNetworkAssociation) UsageSchema() []*engine.ConsumptionField
type EC2Host ¶
type EC2Host struct {
Address string
Region string
InstanceType string
InstanceFamily string
ReservedInstanceTerm *string `c3x_usage:"reserved_instance_term"`
ReservedInstancePaymentOption *string `c3x_usage:"reserved_instance_payment_option"`
}
EC2Host defines an AWS EC2 dedicated host. It supports multiple instance families & allows you to run workloads on a physical server dedicated for your use. You can use on-demand or reservation pricing.
See more resource information here: https://aws.amazon.com/ec2/dedicated-hosts/
See the pricing information here: https://aws.amazon.com/ec2/dedicated-hosts/pricing/
func (*EC2Host) BuildResource ¶
func (*EC2Host) PopulateUsage ¶
func (r *EC2Host) PopulateUsage(u *engine.ConsumptionProfile)
func (*EC2Host) UsageSchema ¶
func (r *EC2Host) UsageSchema() []*engine.ConsumptionField
type EC2TrafficMirrorSession ¶
func (*EC2TrafficMirrorSession) BuildResource ¶
func (r *EC2TrafficMirrorSession) BuildResource() *engine.Estimate
func (*EC2TrafficMirrorSession) CoreType ¶
func (r *EC2TrafficMirrorSession) CoreType() string
func (*EC2TrafficMirrorSession) PopulateUsage ¶
func (r *EC2TrafficMirrorSession) PopulateUsage(u *engine.ConsumptionProfile)
func (*EC2TrafficMirrorSession) UsageSchema ¶
func (r *EC2TrafficMirrorSession) UsageSchema() []*engine.ConsumptionField
type EC2TransitGatewayPeeringAttachment ¶
type EC2TransitGatewayPeeringAttachment struct {
Address string
Region string
TransitGatewayRegion string
}
func (*EC2TransitGatewayPeeringAttachment) BuildResource ¶
func (r *EC2TransitGatewayPeeringAttachment) BuildResource() *engine.Estimate
func (*EC2TransitGatewayPeeringAttachment) CoreType ¶
func (r *EC2TransitGatewayPeeringAttachment) CoreType() string
func (*EC2TransitGatewayPeeringAttachment) PopulateUsage ¶
func (r *EC2TransitGatewayPeeringAttachment) PopulateUsage(u *engine.ConsumptionProfile)
func (*EC2TransitGatewayPeeringAttachment) UsageSchema ¶
func (r *EC2TransitGatewayPeeringAttachment) UsageSchema() []*engine.ConsumptionField
type ECRRepository ¶
type ECRRepository struct {
Address string
Region string
StorageGB *float64 `c3x_usage:"storage_gb"`
}
func (*ECRRepository) BuildResource ¶
func (r *ECRRepository) BuildResource() *engine.Estimate
func (*ECRRepository) CoreType ¶
func (r *ECRRepository) CoreType() string
func (*ECRRepository) PopulateUsage ¶
func (r *ECRRepository) PopulateUsage(u *engine.ConsumptionProfile)
func (*ECRRepository) UsageSchema ¶
func (r *ECRRepository) UsageSchema() []*engine.ConsumptionField
type ECSService ¶
type ECSService struct {
Address string
LaunchType string
Region string
DesiredCount int64
MemoryGB float64
VCPU float64
InferenceAcceleratorDeviceType string
}
func (*ECSService) BuildResource ¶
func (r *ECSService) BuildResource() *engine.Estimate
func (*ECSService) CoreType ¶
func (r *ECSService) CoreType() string
func (*ECSService) PopulateUsage ¶
func (r *ECSService) PopulateUsage(u *engine.ConsumptionProfile)
func (*ECSService) UsageSchema ¶
func (r *ECSService) UsageSchema() []*engine.ConsumptionField
type EFSFileSystem ¶
type EFSFileSystem struct {
Address string
Region string
HasLifecyclePolicy bool
AvailabilityZoneName string
ProvisionedThroughputInMBps float64
InfrequentAccessStorageGB *float64 `c3x_usage:"infrequent_access_storage_gb"`
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyInfrequentAccessReadGB *float64 `c3x_usage:"monthly_infrequent_access_read_gb"`
MonthlyInfrequentAccessWriteGB *float64 `c3x_usage:"monthly_infrequent_access_write_gb"`
}
func (*EFSFileSystem) BuildResource ¶
func (r *EFSFileSystem) BuildResource() *engine.Estimate
func (*EFSFileSystem) CoreType ¶
func (r *EFSFileSystem) CoreType() string
func (*EFSFileSystem) PopulateUsage ¶
func (r *EFSFileSystem) PopulateUsage(u *engine.ConsumptionProfile)
func (*EFSFileSystem) UsageSchema ¶
func (r *EFSFileSystem) UsageSchema() []*engine.ConsumptionField
type EIP ¶
func (*EIP) BuildResource ¶
func (*EIP) PopulateUsage ¶
func (r *EIP) PopulateUsage(u *engine.ConsumptionProfile)
func (*EIP) UsageSchema ¶
func (r *EIP) UsageSchema() []*engine.ConsumptionField
type EKSCluster ¶
func (*EKSCluster) BuildResource ¶
func (r *EKSCluster) BuildResource() *engine.Estimate
func (*EKSCluster) CoreType ¶
func (r *EKSCluster) CoreType() string
func (*EKSCluster) PopulateUsage ¶
func (r *EKSCluster) PopulateUsage(u *engine.ConsumptionProfile)
func (*EKSCluster) UsageSchema ¶
func (r *EKSCluster) UsageSchema() []*engine.ConsumptionField
type EKSFargateProfile ¶
func (*EKSFargateProfile) BuildResource ¶
func (r *EKSFargateProfile) BuildResource() *engine.Estimate
func (*EKSFargateProfile) CoreType ¶
func (r *EKSFargateProfile) CoreType() string
func (*EKSFargateProfile) PopulateUsage ¶
func (r *EKSFargateProfile) PopulateUsage(u *engine.ConsumptionProfile)
func (*EKSFargateProfile) UsageSchema ¶
func (r *EKSFargateProfile) UsageSchema() []*engine.ConsumptionField
type EKSNodeGroup ¶
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 `c3x_usage:"instances"`
OperatingSystem *string `c3x_usage:"operating_system"`
ReservedInstanceType *string `c3x_usage:"reserved_instance_type"`
ReservedInstanceTerm *string `c3x_usage:"reserved_instance_term"`
ReservedInstancePaymentOption *string `c3x_usage:"reserved_instance_payment_option"`
MonthlyCPUCreditHours *int64 `c3x_usage:"monthly_cpu_credit_hrs"`
VCPUCount *int64 `c3x_usage:"vcpu_count"`
}
func (*EKSNodeGroup) BuildResource ¶
func (a *EKSNodeGroup) BuildResource() *engine.Estimate
func (*EKSNodeGroup) CoreType ¶
func (a *EKSNodeGroup) CoreType() string
func (*EKSNodeGroup) PopulateUsage ¶
func (a *EKSNodeGroup) PopulateUsage(u *engine.ConsumptionProfile)
func (*EKSNodeGroup) UsageSchema ¶
func (a *EKSNodeGroup) UsageSchema() []*engine.ConsumptionField
type ELB ¶
type ELB struct {
Address string
Region string
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
}
func (*ELB) BuildResource ¶
func (*ELB) PopulateUsage ¶
func (r *ELB) PopulateUsage(u *engine.ConsumptionProfile)
func (*ELB) UsageSchema ¶
func (r *ELB) UsageSchema() []*engine.ConsumptionField
type Ec2TransitGatewayVpcAttachment ¶
type Ec2TransitGatewayVpcAttachment struct {
Address string
Region string
VPCRegion string
TransitGatewayRegion string
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
}
func (*Ec2TransitGatewayVpcAttachment) BuildResource ¶
func (r *Ec2TransitGatewayVpcAttachment) BuildResource() *engine.Estimate
func (*Ec2TransitGatewayVpcAttachment) CoreType ¶
func (r *Ec2TransitGatewayVpcAttachment) CoreType() string
func (*Ec2TransitGatewayVpcAttachment) PopulateUsage ¶
func (r *Ec2TransitGatewayVpcAttachment) PopulateUsage(u *engine.ConsumptionProfile)
func (*Ec2TransitGatewayVpcAttachment) UsageSchema ¶
func (r *Ec2TransitGatewayVpcAttachment) UsageSchema() []*engine.ConsumptionField
type ElastiCacheCluster ¶
type ElastiCacheCluster struct {
Address string
Region string
HasReplicationGroup bool
NodeType string
Engine string
CacheNodes int64
SnapshotRetentionLimit int64
SnapshotStorageSizeGB *float64 `c3x_usage:"snapshot_storage_size_gb"`
ReservedInstanceTerm *string `c3x_usage:"reserved_instance_term"`
ReservedInstancePaymentOption *string `c3x_usage:"reserved_instance_payment_option"`
}
func (*ElastiCacheCluster) BuildResource ¶
func (r *ElastiCacheCluster) BuildResource() *eng.Estimate
func (*ElastiCacheCluster) CoreType ¶
func (r *ElastiCacheCluster) CoreType() string
func (*ElastiCacheCluster) PopulateUsage ¶
func (r *ElastiCacheCluster) PopulateUsage(u *eng.ConsumptionProfile)
func (*ElastiCacheCluster) UsageSchema ¶
func (r *ElastiCacheCluster) UsageSchema() []*eng.ConsumptionField
type ElastiCacheReplicationGroup ¶
type ElastiCacheReplicationGroup struct {
Address string
Region string
NodeType string
Engine string
CacheClusters int64
ClusterNodeGroups int64
ClusterReplicasPerNodeGroup int64
SnapshotRetentionLimit int64
SnapshotStorageSizeGB *float64 `c3x_usage:"snapshot_storage_size_gb"`
ReservedInstanceTerm *string `c3x_usage:"reserved_instance_term"`
ReservedInstancePaymentOption *string `c3x_usage:"reserved_instance_payment_option"`
AppAutoscalingTarget []*AppAutoscalingTarget
}
func (*ElastiCacheReplicationGroup) BuildResource ¶
func (r *ElastiCacheReplicationGroup) BuildResource() *eng.Estimate
func (*ElastiCacheReplicationGroup) CoreType ¶
func (r *ElastiCacheReplicationGroup) CoreType() string
func (*ElastiCacheReplicationGroup) PopulateUsage ¶
func (r *ElastiCacheReplicationGroup) PopulateUsage(u *eng.ConsumptionProfile)
func (*ElastiCacheReplicationGroup) UsageSchema ¶
func (r *ElastiCacheReplicationGroup) UsageSchema() []*eng.ConsumptionField
type ElasticBeanstalkEnvironment ¶
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 ¶
func (r *ElasticBeanstalkEnvironment) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate 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) CoreType ¶
func (r *ElasticBeanstalkEnvironment) CoreType() string
func (*ElasticBeanstalkEnvironment) PopulateUsage ¶
func (r *ElasticBeanstalkEnvironment) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the ElasticBeanstalkEnvironment. It uses the `c3x_usage` struct tags to populate data into the ElasticBeanstalkEnvironment.
func (*ElasticBeanstalkEnvironment) UsageSchema ¶
func (r *ElasticBeanstalkEnvironment) UsageSchema() []*engine.ConsumptionField
UsageSchema 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.
type ExtendedSupport ¶
type ExtendedSupport struct {
Engine string
Versions map[string]ExtendedSupportDates
}
ExtendedSupport contains the extended support dates for a specific RDS eng.
func (ExtendedSupport) CostComponent ¶
func (s ExtendedSupport) CostComponent(version string, region string, d time.Time, quantity decimal.Decimal) *eng.LineItem
CostComponent returns the cost component for the extended support for the given version and date. If the version is not found then it will return nil.
type ExtendedSupportDates ¶
ExtendedSupportDates contains the extended support dates for a specific RDS engine version Year1 is the date when the extended support starts, Year 3 is the date when the extended increases price.
type FSxOpenZFSFileSystem ¶
type FSxOpenZFSFileSystem struct {
Address string
StorageType string
ThroughputCapacity int64
ProvisionedIOPS int64
ProvisionedIOPSMode string
StorageCapacityGB int64
Region string
DeploymentType string
DataCompression string
CompressionSavingsPercent *float64 `c3x_usage:"compression_savings_percent"`
BackupStorageGB *float64 `c3x_usage:"backup_storage_gb"`
}
func (*FSxOpenZFSFileSystem) BuildResource ¶
func (r *FSxOpenZFSFileSystem) BuildResource() *engine.Estimate
func (*FSxOpenZFSFileSystem) CoreType ¶
func (r *FSxOpenZFSFileSystem) CoreType() string
func (*FSxOpenZFSFileSystem) PopulateUsage ¶
func (r *FSxOpenZFSFileSystem) PopulateUsage(u *engine.ConsumptionProfile)
func (*FSxOpenZFSFileSystem) UsageSchema ¶
func (r *FSxOpenZFSFileSystem) UsageSchema() []*engine.ConsumptionField
type FSxWindowsFileSystem ¶
type FSxWindowsFileSystem struct {
Address string
StorageType string
ThroughputCapacity int64
StorageCapacityGB int64
Region string
DeploymentType string
BackupStorageGB *float64 `c3x_usage:"backup_storage_gb"`
}
func (*FSxWindowsFileSystem) BuildResource ¶
func (r *FSxWindowsFileSystem) BuildResource() *engine.Estimate
func (*FSxWindowsFileSystem) CoreType ¶
func (r *FSxWindowsFileSystem) CoreType() string
func (*FSxWindowsFileSystem) PopulateUsage ¶
func (r *FSxWindowsFileSystem) PopulateUsage(u *engine.ConsumptionProfile)
func (*FSxWindowsFileSystem) UsageSchema ¶
func (r *FSxWindowsFileSystem) UsageSchema() []*engine.ConsumptionField
type GlobalAccelerator ¶
type GlobalAccelerator struct {
Address string
}
GlobalAccelerator struct represents AWS Global Accelerator service
Resource information: https://aws.amazon.com/global-accelerator Pricing information: https://aws.amazon.com/global-accelerator/pricing/
func (*GlobalAccelerator) BuildResource ¶
func (r *GlobalAccelerator) BuildResource() *engine.Estimate
func (*GlobalAccelerator) CoreType ¶
func (r *GlobalAccelerator) CoreType() string
func (*GlobalAccelerator) PopulateUsage ¶
func (r *GlobalAccelerator) PopulateUsage(u *engine.ConsumptionProfile)
func (*GlobalAccelerator) UsageSchema ¶
func (r *GlobalAccelerator) UsageSchema() []*engine.ConsumptionField
type GlobalacceleratorEndpointGroup ¶
type GlobalacceleratorEndpointGroup struct {
Address string
Region string
MonthlyInboundDataTransferGB *globalAcceleratorRegionDataTransferUsage `c3x_usage:"monthly_inbound_data_transfer_gb"`
MonthlyOutboundDataTransferGB *globalAcceleratorRegionDataTransferUsage `c3x_usage:"monthly_outbound_data_transfer_gb"`
}
GlobalacceleratorEndpointGroup struct represents a Global Accelerator endpoint group
Resource information: https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups.html Pricing information: https://aws.amazon.com/it/global-accelerator/pricing/
func (*GlobalacceleratorEndpointGroup) BuildResource ¶
func (r *GlobalacceleratorEndpointGroup) BuildResource() *engine.Estimate
func (*GlobalacceleratorEndpointGroup) CoreType ¶
func (r *GlobalacceleratorEndpointGroup) CoreType() string
func (*GlobalacceleratorEndpointGroup) PopulateUsage ¶
func (r *GlobalacceleratorEndpointGroup) PopulateUsage(u *engine.ConsumptionProfile)
func (*GlobalacceleratorEndpointGroup) UsageSchema ¶
func (r *GlobalacceleratorEndpointGroup) UsageSchema() []*engine.ConsumptionField
type GlueCatalogDatabase ¶
type GlueCatalogDatabase struct {
Address string
Region string
MonthlyObjects *float64 `c3x_usage:"monthly_objects"`
MonthlyRequests *float64 `c3x_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 ¶
func (r *GlueCatalogDatabase) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid GlueCatalogDatabase struct. GlueCatalogDatabase has the following engine.LineItems associated with it:
- Storage - charged for every 100,000 objects stored above 1M, per month.
- MonthlyAdditionalRequests - 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) CoreType ¶
func (r *GlueCatalogDatabase) CoreType() string
func (*GlueCatalogDatabase) PopulateUsage ¶
func (r *GlueCatalogDatabase) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the GlueCatalogDatabase. It uses the `c3x_usage` struct tags to populate data into the GlueCatalogDatabase.
func (*GlueCatalogDatabase) UsageSchema ¶
func (r *GlueCatalogDatabase) UsageSchema() []*engine.ConsumptionField
type GlueCrawler ¶
type GlueCrawler struct {
Address string
Region string
MonthlyHours *float64 `c3x_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 ¶
func (r *GlueCrawler) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid GlueCrawler struct. GlueCrawler has just one engine.LineItem 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) CoreType ¶
func (r *GlueCrawler) CoreType() string
func (*GlueCrawler) PopulateUsage ¶
func (r *GlueCrawler) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the GlueCrawler. It uses the `c3x_usage` struct tags to populate data into the GlueCrawler.
func (*GlueCrawler) UsageSchema ¶
func (r *GlueCrawler) UsageSchema() []*engine.ConsumptionField
type GlueJob ¶
type GlueJob struct {
Address string
Region string
DPUs float64
MonthlyHours *float64 `c3x_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 ¶
BuildResource builds a engine.Estimate from a valid GlueJob struct. GlueJob has just one engine.LineItem 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 ¶
func (r *GlueJob) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the GlueJob. It uses the `c3x_usage` struct tags to populate data into the GlueJob.
func (*GlueJob) UsageSchema ¶
func (r *GlueJob) UsageSchema() []*engine.ConsumptionField
type GrafanaWorkspace ¶
type GrafanaWorkspace struct {
Address string
Region string
License string
EditorsAdministratorLicenses *int64 `c3x_usage:"editors_administrator_licenses"`
ViewerLicenses *int64 `c3x_usage:"viewer_licenses"`
}
func (*GrafanaWorkspace) BuildResource ¶
func (r *GrafanaWorkspace) BuildResource() *engine.Estimate
func (*GrafanaWorkspace) CoreType ¶
func (r *GrafanaWorkspace) CoreType() string
func (*GrafanaWorkspace) PopulateUsage ¶
func (r *GrafanaWorkspace) PopulateUsage(u *engine.ConsumptionProfile)
func (*GrafanaWorkspace) UsageSchema ¶
func (r *GrafanaWorkspace) UsageSchema() []*engine.ConsumptionField
type Instance ¶
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
HasHost bool
// "optional" args, that may be empty depending on the resource config
ElasticInferenceAcceleratorType *string
RootBlockDevice *EBSVolume
EBSBlockDevices []*EBSVolume
// "usage" args
OperatingSystem *string `c3x_usage:"operating_system"`
ReservedInstanceType *string `c3x_usage:"reserved_instance_type"`
ReservedInstanceTerm *string `c3x_usage:"reserved_instance_term"`
ReservedInstancePaymentOption *string `c3x_usage:"reserved_instance_payment_option"`
MonthlyCPUCreditHours *int64 `c3x_usage:"monthly_cpu_credit_hrs"`
VCPUCount *int64 `c3x_usage:"vcpu_count"`
MonthlyHours *float64 `c3x_usage:"monthly_hrs"`
}
func (*Instance) BuildResource ¶
func (*Instance) PopulateUsage ¶
func (a *Instance) PopulateUsage(u *engine.ConsumptionProfile)
func (*Instance) UsageSchema ¶
func (a *Instance) UsageSchema() []*engine.ConsumptionField
type KMSExternalKey ¶
func (*KMSExternalKey) BuildResource ¶
func (r *KMSExternalKey) BuildResource() *engine.Estimate
func (*KMSExternalKey) CoreType ¶
func (r *KMSExternalKey) CoreType() string
func (*KMSExternalKey) PopulateUsage ¶
func (r *KMSExternalKey) PopulateUsage(u *engine.ConsumptionProfile)
func (*KMSExternalKey) UsageSchema ¶
func (r *KMSExternalKey) UsageSchema() []*engine.ConsumptionField
type KMSKey ¶
func (*KMSKey) BuildResource ¶
func (*KMSKey) PopulateUsage ¶
func (r *KMSKey) PopulateUsage(u *engine.ConsumptionProfile)
func (*KMSKey) UsageSchema ¶
func (r *KMSKey) UsageSchema() []*engine.ConsumptionField
type KinesisAnalyticsApplication ¶
type KinesisAnalyticsApplication struct {
Address string
Region string
KinesisProcessingUnits *int64 `c3x_usage:"kinesis_processing_units"`
}
func (*KinesisAnalyticsApplication) BuildResource ¶
func (r *KinesisAnalyticsApplication) BuildResource() *engine.Estimate
func (*KinesisAnalyticsApplication) CoreType ¶
func (r *KinesisAnalyticsApplication) CoreType() string
func (*KinesisAnalyticsApplication) PopulateUsage ¶
func (r *KinesisAnalyticsApplication) PopulateUsage(u *engine.ConsumptionProfile)
func (*KinesisAnalyticsApplication) UsageSchema ¶
func (r *KinesisAnalyticsApplication) UsageSchema() []*engine.ConsumptionField
type KinesisAnalyticsV2Application ¶
type KinesisAnalyticsV2Application struct {
Address string
Region string
RuntimeEnvironment string
KinesisProcessingUnits *int64 `c3x_usage:"kinesis_processing_units"`
DurableApplicationBackupGB *float64 `c3x_usage:"durable_application_backup_gb"`
}
func (*KinesisAnalyticsV2Application) BuildResource ¶
func (r *KinesisAnalyticsV2Application) BuildResource() *engine.Estimate
func (*KinesisAnalyticsV2Application) CoreType ¶
func (r *KinesisAnalyticsV2Application) CoreType() string
func (*KinesisAnalyticsV2Application) PopulateUsage ¶
func (r *KinesisAnalyticsV2Application) PopulateUsage(u *engine.ConsumptionProfile)
func (*KinesisAnalyticsV2Application) UsageSchema ¶
func (r *KinesisAnalyticsV2Application) UsageSchema() []*engine.ConsumptionField
type KinesisAnalyticsV2ApplicationSnapshot ¶
type KinesisAnalyticsV2ApplicationSnapshot struct {
Address string
Region string
DurableApplicationBackupGB *float64 `c3x_usage:"durable_application_backup_gb"`
}
func (*KinesisAnalyticsV2ApplicationSnapshot) BuildResource ¶
func (r *KinesisAnalyticsV2ApplicationSnapshot) BuildResource() *engine.Estimate
func (*KinesisAnalyticsV2ApplicationSnapshot) CoreType ¶
func (r *KinesisAnalyticsV2ApplicationSnapshot) CoreType() string
func (*KinesisAnalyticsV2ApplicationSnapshot) PopulateUsage ¶
func (r *KinesisAnalyticsV2ApplicationSnapshot) PopulateUsage(u *engine.ConsumptionProfile)
func (*KinesisAnalyticsV2ApplicationSnapshot) UsageSchema ¶
func (r *KinesisAnalyticsV2ApplicationSnapshot) UsageSchema() []*engine.ConsumptionField
type KinesisFirehoseDeliveryStream ¶
type KinesisFirehoseDeliveryStream struct {
Address string
Region string
DataFormatConversionEnabled bool
VPCDeliveryEnabled bool
VPCDeliveryAZs int64
MonthlyDataIngestedGB *float64 `c3x_usage:"monthly_data_ingested_gb"`
}
func (*KinesisFirehoseDeliveryStream) BuildResource ¶
func (r *KinesisFirehoseDeliveryStream) BuildResource() *engine.Estimate
func (*KinesisFirehoseDeliveryStream) CoreType ¶
func (r *KinesisFirehoseDeliveryStream) CoreType() string
func (*KinesisFirehoseDeliveryStream) PopulateUsage ¶
func (r *KinesisFirehoseDeliveryStream) PopulateUsage(u *engine.ConsumptionProfile)
func (*KinesisFirehoseDeliveryStream) UsageSchema ¶
func (r *KinesisFirehoseDeliveryStream) UsageSchema() []*engine.ConsumptionField
type KinesisStream ¶
type KinesisStream struct {
Address string
Region string
StreamMode string
ShardCount int64
// Usage fields
// On demand
MonthlyOnDemandDataIngestedGB *float64 `c3x_usage:"monthly_on_demand_data_in_gb"`
MonthlyOnDemandDataRetrievalGB *float64 `c3x_usage:"monthly_on_demand_data_out_gb"`
MonthlyOnDemandEFODataRetrievalGB *float64 `c3x_usage:"monthly_on_demand_efo_data_out_gb"`
MonthlyOnDemandExtendedRetentionGb *float64 `c3x_usage:"monthly_on_demand_extended_retention_gb"`
MonthlyOnDemandLongTermRetentionGb *float64 `c3x_usage:"monthly_on_demand_long_term_retention_gb"`
// Provisioned
MonthlyProvisionedPutUnits *float64 `c3x_usage:"monthly_provisioned_put_units"`
MonthlyProvisionedExtendedRetentionGb *float64 `c3x_usage:"monthly_provisioned_extended_retention_gb"`
MonthlyProvisionedLongTermRetentionGb *float64 `c3x_usage:"monthly_provisioned_long_term_retention_gb"`
MonthlyProvisionedLongTermRetrievalGb *float64 `c3x_usage:"monthly_provisioned_long_term_retrieval_gb"`
MonthlyProvisionedEFODataRetrievalGB *float64 `c3x_usage:"monthly_provisioned_efo_data_out_gb"`
MonthlyProvisionedEFOConsumerHours *float64 `c3x_usage:"monthly_provisioned_efo_consumer_hours"`
}
KinesisStream struct represents Kinesis Data Streams a fully managed, serverless streaming data service
Resource information: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kinesis_stream Pricing information: https://aws.amazon.com/kinesis/data-streams/pricing/
func (*KinesisStream) BuildResource ¶
func (r *KinesisStream) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid KinesisStream struct. This method is called after the resource is initialized by an IaC provider. See providers folder for more information.
func (*KinesisStream) CoreType ¶
func (r *KinesisStream) CoreType() string
CoreType returns the name of this resource type
func (*KinesisStream) PopulateUsage ¶
func (r *KinesisStream) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the KinesisStream. It uses the `c3x_usage` struct tags to populate data into the KinesisStream.
func (*KinesisStream) UsageSchema ¶
func (r *KinesisStream) UsageSchema() []*engine.ConsumptionField
UsageSchema defines a list which represents the usage schema of KinesisStream.
type LB ¶
type LB struct {
Address string
LoadBalancerType string
Region string
RuleEvaluations *int64 `c3x_usage:"rule_evaluations"`
NewConnections *int64 `c3x_usage:"new_connections"`
ActiveConnections *int64 `c3x_usage:"active_connections"`
ProcessedBytesGB *float64 `c3x_usage:"processed_bytes_gb"`
}
func (*LB) BuildResource ¶
func (*LB) PopulateUsage ¶
func (r *LB) PopulateUsage(u *engine.ConsumptionProfile)
func (*LB) UsageSchema ¶
func (r *LB) UsageSchema() []*engine.ConsumptionField
type LambdaFunction ¶
type LambdaFunction struct {
Address string
Region string
Name string
MemorySize int64
Architecture string
StorageSize int64
RequestDurationMS *int64 `c3x_usage:"request_duration_ms"`
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
}
func (*LambdaFunction) BuildResource ¶
func (a *LambdaFunction) BuildResource() *engine.Estimate
func (*LambdaFunction) CoreType ¶
func (a *LambdaFunction) CoreType() string
func (*LambdaFunction) PopulateUsage ¶
func (a *LambdaFunction) PopulateUsage(u *engine.ConsumptionProfile)
func (*LambdaFunction) UsageEstimationParams ¶
func (a *LambdaFunction) UsageEstimationParams() []engine.ConsumptionParam
func (*LambdaFunction) UsageSchema ¶
func (a *LambdaFunction) UsageSchema() []*engine.ConsumptionField
type LambdaProvisionedConcurrencyConfig ¶
type LambdaProvisionedConcurrencyConfig struct {
Address string
Region string
Name string
ProvisionedConcurrentExecutions int64
MonthlyDurationHours *int64 `c3x_usage:"monthly_duration_hrs"`
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
RequestDurationMS *int64 `c3x_usage:"request_duration_ms"`
Architecture *string `c3x_usage:"architecture"`
MemoryMB *int64 `c3x_usage:"memory_mb"`
}
LambdaProvisionedConcurrencyConfig initializes a requested number of execution environments so that they are prepared to respond immediately to your functions invocations. Configuring provisioned concurrency incurs charges to your AWS Account.
Resource information: https://docs.aws.amazon.com/lambda/latest/dg/lambda-concurrency.html Pricing information: https://aws.amazon.com/lambda/pricing/#Provisioned_Concurrency_Pricing
func (*LambdaProvisionedConcurrencyConfig) BuildResource ¶
func (r *LambdaProvisionedConcurrencyConfig) BuildResource() *engine.Estimate
func (*LambdaProvisionedConcurrencyConfig) CoreType ¶
func (r *LambdaProvisionedConcurrencyConfig) CoreType() string
func (*LambdaProvisionedConcurrencyConfig) PopulateUsage ¶
func (r *LambdaProvisionedConcurrencyConfig) PopulateUsage(u *engine.ConsumptionProfile)
func (*LambdaProvisionedConcurrencyConfig) UsageSchema ¶
func (r *LambdaProvisionedConcurrencyConfig) UsageSchema() []*engine.ConsumptionField
type LaunchConfiguration ¶
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 `c3x_usage:"instances"`
OperatingSystem *string `c3x_usage:"operating_system"`
ReservedInstanceType *string `c3x_usage:"reserved_instance_type"`
ReservedInstanceTerm *string `c3x_usage:"reserved_instance_term"`
ReservedInstancePaymentOption *string `c3x_usage:"reserved_instance_payment_option"`
MonthlyCPUCreditHours *int64 `c3x_usage:"monthly_cpu_credit_hrs"`
VCPUCount *int64 `c3x_usage:"vcpu_count"`
}
func (*LaunchConfiguration) BuildResource ¶
func (r *LaunchConfiguration) BuildResource() *engine.Estimate
func (*LaunchConfiguration) CoreType ¶
func (r *LaunchConfiguration) CoreType() string
func (*LaunchConfiguration) PopulateUsage ¶
func (r *LaunchConfiguration) PopulateUsage(u *engine.ConsumptionProfile)
func (*LaunchConfiguration) UsageSchema ¶
func (r *LaunchConfiguration) UsageSchema() []*engine.ConsumptionField
type LaunchTemplate ¶
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 `c3x_usage:"instances"`
OperatingSystem *string `c3x_usage:"operating_system"`
ReservedInstanceType *string `c3x_usage:"reserved_instance_type"`
ReservedInstanceTerm *string `c3x_usage:"reserved_instance_term"`
ReservedInstancePaymentOption *string `c3x_usage:"reserved_instance_payment_option"`
MonthlyCPUCreditHours *int64 `c3x_usage:"monthly_cpu_credit_hrs"`
VCPUCount *int64 `c3x_usage:"vcpu_count"`
}
func (*LaunchTemplate) BuildResource ¶
func (r *LaunchTemplate) BuildResource() *engine.Estimate
func (*LaunchTemplate) CoreType ¶
func (r *LaunchTemplate) CoreType() string
func (*LaunchTemplate) PopulateUsage ¶
func (r *LaunchTemplate) PopulateUsage(u *engine.ConsumptionProfile)
func (*LaunchTemplate) UsageSchema ¶
func (r *LaunchTemplate) UsageSchema() []*engine.ConsumptionField
type LightsailInstance ¶
func (*LightsailInstance) BuildResource ¶
func (r *LightsailInstance) BuildResource() *engine.Estimate
func (*LightsailInstance) CoreType ¶
func (r *LightsailInstance) CoreType() string
func (*LightsailInstance) PopulateUsage ¶
func (r *LightsailInstance) PopulateUsage(u *engine.ConsumptionProfile)
func (*LightsailInstance) UsageSchema ¶
func (r *LightsailInstance) UsageSchema() []*engine.ConsumptionField
type MQBroker ¶
type MQBroker struct {
Address string
StorageType string
DeploymentMode string
Region string
EngineType string
HostInstanceType string
StorageSizeGb *float64 `c3x_usage:"storage_size_gb"`
}
func (*MQBroker) BuildResource ¶
func (*MQBroker) PopulateUsage ¶
func (r *MQBroker) PopulateUsage(u *engine.ConsumptionProfile)
func (*MQBroker) UsageSchema ¶
func (r *MQBroker) UsageSchema() []*engine.ConsumptionField
type MSKCluster ¶
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 ¶
func (r *MSKCluster) BuildResource() *engine.Estimate
func (*MSKCluster) CoreType ¶
func (r *MSKCluster) CoreType() string
func (*MSKCluster) PopulateUsage ¶
func (r *MSKCluster) PopulateUsage(u *engine.ConsumptionProfile)
func (*MSKCluster) UsageSchema ¶
func (r *MSKCluster) UsageSchema() []*engine.ConsumptionField
type MWAAEnvironment ¶
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 c3x-usage.yml you define it like this:
AdditionalWorkers *float64 `c3x_usage:"additional_workers"`
AdditionalSchedulers *float64 `c3x_usage:"additional_schedulers"`
MetaDatabaseGB *float64 `c3x_usage:"meta_database_gb"`
}
func (*MWAAEnvironment) BuildResource ¶
func (a *MWAAEnvironment) BuildResource() *engine.Estimate
func (*MWAAEnvironment) CoreType ¶
func (a *MWAAEnvironment) CoreType() string
If the resource requires a usage parameter
func (*MWAAEnvironment) PopulateUsage ¶
func (a *MWAAEnvironment) PopulateUsage(u *engine.ConsumptionProfile)
If the resource requires a usage parameter
func (*MWAAEnvironment) UsageSchema ¶
func (a *MWAAEnvironment) UsageSchema() []*engine.ConsumptionField
type NATGateway ¶
type NATGateway struct {
Address string
Region string
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
}
func (*NATGateway) BuildResource ¶
func (a *NATGateway) BuildResource() *engine.Estimate
func (*NATGateway) CoreType ¶
func (a *NATGateway) CoreType() string
func (*NATGateway) PopulateUsage ¶
func (a *NATGateway) PopulateUsage(u *engine.ConsumptionProfile)
func (*NATGateway) UsageSchema ¶
func (a *NATGateway) UsageSchema() []*engine.ConsumptionField
type NeptuneCluster ¶
type NeptuneCluster struct {
Address string
Region string
BackupRetentionPeriod int64
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyIORequests *int64 `c3x_usage:"monthly_io_requests"`
BackupStorageGB *float64 `c3x_usage:"backup_storage_gb"`
}
func (*NeptuneCluster) BuildResource ¶
func (r *NeptuneCluster) BuildResource() *engine.Estimate
func (*NeptuneCluster) CoreType ¶
func (r *NeptuneCluster) CoreType() string
func (*NeptuneCluster) PopulateUsage ¶
func (r *NeptuneCluster) PopulateUsage(u *engine.ConsumptionProfile)
func (*NeptuneCluster) UsageSchema ¶
func (r *NeptuneCluster) UsageSchema() []*engine.ConsumptionField
type NeptuneClusterInstance ¶
type NeptuneClusterInstance struct {
Address string
Region string
InstanceClass string
IOOptimized bool
Count *int64
MonthlyCPUCreditHrs *int64 `c3x_usage:"monthly_cpu_credit_hrs"`
}
func (*NeptuneClusterInstance) BuildResource ¶
func (r *NeptuneClusterInstance) BuildResource() *engine.Estimate
func (*NeptuneClusterInstance) CoreType ¶
func (r *NeptuneClusterInstance) CoreType() string
func (*NeptuneClusterInstance) PopulateUsage ¶
func (r *NeptuneClusterInstance) PopulateUsage(u *engine.ConsumptionProfile)
func (*NeptuneClusterInstance) UsageSchema ¶
func (r *NeptuneClusterInstance) UsageSchema() []*engine.ConsumptionField
type NeptuneClusterSnapshot ¶
type NeptuneClusterSnapshot struct {
Address string
Region string
BackupRetentionPeriod *int64 // This can be unknown since it's retrieved from the Neptune cluster
BackupStorageGB *float64 `c3x_usage:"backup_storage_gb"`
}
func (*NeptuneClusterSnapshot) BuildResource ¶
func (r *NeptuneClusterSnapshot) BuildResource() *engine.Estimate
func (*NeptuneClusterSnapshot) CoreType ¶
func (r *NeptuneClusterSnapshot) CoreType() string
func (*NeptuneClusterSnapshot) PopulateUsage ¶
func (r *NeptuneClusterSnapshot) PopulateUsage(u *engine.ConsumptionProfile)
func (*NeptuneClusterSnapshot) UsageSchema ¶
func (r *NeptuneClusterSnapshot) UsageSchema() []*engine.ConsumptionField
type NetworkfirewallFirewall ¶
type NetworkfirewallFirewall struct {
Address string
Region string
MonthlyDataProcessedGB *float64 `c3x_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 ¶
func (r *NetworkfirewallFirewall) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate 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) CoreType ¶
func (r *NetworkfirewallFirewall) CoreType() string
NetworkfirewallFirewallUsageSchema defines a list which represents the usage schema of NetworkfirewallFirewall.
func (*NetworkfirewallFirewall) PopulateUsage ¶
func (r *NetworkfirewallFirewall) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the NetworkfirewallFirewall. It uses the `c3x_usage` struct tags to populate data into the NetworkfirewallFirewall.
func (*NetworkfirewallFirewall) UsageSchema ¶
func (r *NetworkfirewallFirewall) UsageSchema() []*engine.ConsumptionField
type RDSCluster ¶
type RDSCluster struct {
Address string
Region string
EngineMode string
Engine string
IOOptimized bool
BackupRetentionPeriod int64
WriteRequestsPerSec *int64 `c3x_usage:"write_requests_per_sec"`
ReadRequestsPerSec *int64 `c3x_usage:"read_requests_per_sec"`
ChangeRecordsPerStatement *float64 `c3x_usage:"change_records_per_statement"`
StorageGB *float64 `c3x_usage:"storage_gb"`
AverageStatementsPerHr *int64 `c3x_usage:"average_statements_per_hr"`
BacktrackWindowHrs *int64 `c3x_usage:"backtrack_window_hrs"`
SnapshotExportSizeGB *float64 `c3x_usage:"snapshot_export_size_gb"`
CapacityUnitsPerHr *float64 `c3x_usage:"capacity_units_per_hr"`
BackupSnapshotSizeGB *float64 `c3x_usage:"backup_snapshot_size_gb"`
}
func (*RDSCluster) BuildResource ¶
func (r *RDSCluster) BuildResource() *eng.Estimate
func (*RDSCluster) CoreType ¶
func (r *RDSCluster) CoreType() string
func (*RDSCluster) PopulateUsage ¶
func (r *RDSCluster) PopulateUsage(u *eng.ConsumptionProfile)
func (*RDSCluster) UsageSchema ¶
func (r *RDSCluster) UsageSchema() []*eng.ConsumptionField
type RDSClusterInstance ¶
type RDSClusterInstance struct {
Address string
Region string
InstanceClass string
Engine string
Version string
IOOptimized bool
PerformanceInsightsEnabled bool
PerformanceInsightsLongTermRetention bool
MonthlyCPUCreditHrs *int64 `c3x_usage:"monthly_cpu_credit_hrs"`
VCPUCount *int64 `c3x_usage:"vcpu_count"`
MonthlyAdditionalPerformanceInsightsRequests *int64 `c3x_usage:"monthly_additional_performance_insights_requests"`
ReservedInstanceTerm *string `c3x_usage:"reserved_instance_term"`
ReservedInstancePaymentOption *string `c3x_usage:"reserved_instance_payment_option"`
CapacityUnitsPerHr *float64 `c3x_usage:"capacity_units_per_hr"`
}
func (*RDSClusterInstance) BuildResource ¶
func (r *RDSClusterInstance) BuildResource() *eng.Estimate
func (*RDSClusterInstance) CoreType ¶
func (r *RDSClusterInstance) CoreType() string
func (*RDSClusterInstance) PopulateUsage ¶
func (r *RDSClusterInstance) PopulateUsage(u *eng.ConsumptionProfile)
func (*RDSClusterInstance) UsageSchema ¶
func (r *RDSClusterInstance) UsageSchema() []*eng.ConsumptionField
type RedshiftCluster ¶
type RedshiftCluster struct {
Address string
Region string
NodeType string
Nodes *int64
ManagedStorageGB *float64 `c3x_usage:"managed_storage_gb"`
ExcessConcurrencyScalingSecs *int64 `c3x_usage:"excess_concurrency_scaling_secs"`
SpectrumDataScannedTB *float64 `c3x_usage:"spectrum_data_scanned_tb"`
BackupStorageGB *float64 `c3x_usage:"backup_storage_gb"`
}
func (*RedshiftCluster) BuildResource ¶
func (r *RedshiftCluster) BuildResource() *engine.Estimate
func (*RedshiftCluster) CoreType ¶
func (r *RedshiftCluster) CoreType() string
func (*RedshiftCluster) PopulateUsage ¶
func (r *RedshiftCluster) PopulateUsage(u *engine.ConsumptionProfile)
func (*RedshiftCluster) UsageSchema ¶
func (r *RedshiftCluster) UsageSchema() []*engine.ConsumptionField
type RegionUsage ¶
RegionUsage defines a hard definition in the regions map.
type RegionsUsage ¶
type RegionsUsage struct {
USGovWest1 *float64 `c3x_usage:"us_gov_west_1"`
USGovEast1 *float64 `c3x_usage:"us_gov_east_1"`
USEast1 *float64 `c3x_usage:"us_east_1"`
USEast2 *float64 `c3x_usage:"us_east_2"`
USWest1 *float64 `c3x_usage:"us_west_1"`
USWest2 *float64 `c3x_usage:"us_west_2"`
USWest2Lax1 *float64 `c3x_usage:"us_west_2_lax_1"`
CACentral1 *float64 `c3x_usage:"ca_central_1"`
CAWest1 *float64 `c3x_usage:"ca_west_1"`
CNNorth1 *float64 `c3x_usage:"cn_north_1"`
CNNorthwest1 *float64 `c3x_usage:"cn_northwest_1"`
EUCentral1 *float64 `c3x_usage:"eu_central_1"`
EUCentral2 *float64 `c3x_usage:"eu_central_2"`
EUWest1 *float64 `c3x_usage:"eu_west_1"`
EUWest2 *float64 `c3x_usage:"eu_west_2"`
EUSouth1 *float64 `c3x_usage:"eu_south_1"`
EUSouth2 *float64 `c3x_usage:"eu_south_2"`
EUWest3 *float64 `c3x_usage:"eu_west_3"`
EUNorth1 *float64 `c3x_usage:"eu_north_1"`
ILCentral1 *float64 `c3x_usage:"il_central_1"`
APEast1 *float64 `c3x_usage:"ap_east_1"`
APEast2 *float64 `c3x_usage:"ap_east_2"`
APNortheast1 *float64 `c3x_usage:"ap_northeast_1"`
APNortheast2 *float64 `c3x_usage:"ap_northeast_2"`
APNortheast3 *float64 `c3x_usage:"ap_northeast_3"`
APSoutheast1 *float64 `c3x_usage:"ap_southeast_1"`
APSoutheast2 *float64 `c3x_usage:"ap_southeast_2"`
APSoutheast3 *float64 `c3x_usage:"ap_southeast_3"`
APSoutheast4 *float64 `c3x_usage:"ap_southeast_4"`
APSoutheast5 *float64 `c3x_usage:"ap_southeast_5"`
APSoutheast6 *float64 `c3x_usage:"ap_southeast_6"`
APSoutheast7 *float64 `c3x_usage:"ap_southeast_7"`
APSouth1 *float64 `c3x_usage:"ap_south_1"`
APSouth2 *float64 `c3x_usage:"ap_south_2"`
MECentral1 *float64 `c3x_usage:"me_central_1"`
MESouth1 *float64 `c3x_usage:"me_south_1"`
SAEast1 *float64 `c3x_usage:"sa_east_1"`
AFSouth1 *float64 `c3x_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 `c3x_usage:"monthly_processed_gb"`
}
func (RegionsUsage) Values ¶
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 ¶
type Route53HealthCheck struct {
Address string
RequestInterval string
MeasureLatency bool
Type string
EndpointType *string `c3x_usage:"endpoint_type"`
}
func (*Route53HealthCheck) BuildResource ¶
func (r *Route53HealthCheck) BuildResource() *engine.Estimate
func (*Route53HealthCheck) CoreType ¶
func (r *Route53HealthCheck) CoreType() string
func (*Route53HealthCheck) PopulateUsage ¶
func (r *Route53HealthCheck) PopulateUsage(u *engine.ConsumptionProfile)
func (*Route53HealthCheck) UsageSchema ¶
func (r *Route53HealthCheck) UsageSchema() []*engine.ConsumptionField
type Route53Record ¶
type Route53Record struct {
Address string
IsAlias bool
MonthlyLatencyBasedQueries *int64 `c3x_usage:"monthly_latency_based_queries"`
MonthlyGeoQueries *int64 `c3x_usage:"monthly_geo_queries"`
MonthlyStandardQueries *int64 `c3x_usage:"monthly_standard_queries"`
}
func (*Route53Record) BuildResource ¶
func (r *Route53Record) BuildResource() *engine.Estimate
func (*Route53Record) CoreType ¶
func (r *Route53Record) CoreType() string
func (*Route53Record) PopulateUsage ¶
func (r *Route53Record) PopulateUsage(u *engine.ConsumptionProfile)
func (*Route53Record) UsageSchema ¶
func (r *Route53Record) UsageSchema() []*engine.ConsumptionField
type Route53ResolverEndpoint ¶
type Route53ResolverEndpoint struct {
Address string
Region string
ResolverEndpoints int64
MonthlyQueries *int64 `c3x_usage:"monthly_queries"`
}
func (*Route53ResolverEndpoint) BuildResource ¶
func (r *Route53ResolverEndpoint) BuildResource() *engine.Estimate
func (*Route53ResolverEndpoint) CoreType ¶
func (r *Route53ResolverEndpoint) CoreType() string
func (*Route53ResolverEndpoint) PopulateUsage ¶
func (r *Route53ResolverEndpoint) PopulateUsage(u *engine.ConsumptionProfile)
func (*Route53ResolverEndpoint) UsageSchema ¶
func (r *Route53ResolverEndpoint) UsageSchema() []*engine.ConsumptionField
type Route53Zone ¶
type Route53Zone struct {
Address string
}
func (*Route53Zone) BuildResource ¶
func (r *Route53Zone) BuildResource() *engine.Estimate
func (*Route53Zone) CoreType ¶
func (r *Route53Zone) CoreType() string
func (*Route53Zone) PopulateUsage ¶
func (r *Route53Zone) PopulateUsage(u *engine.ConsumptionProfile)
func (*Route53Zone) UsageSchema ¶
func (r *Route53Zone) UsageSchema() []*engine.ConsumptionField
type S3Bucket ¶
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 `c3x_usage:"object_tags"`
// contains filtered or unexported fields
}
func (*S3Bucket) AllStorageClasses ¶
func (a *S3Bucket) AllStorageClasses() []S3StorageClass
func (*S3Bucket) BuildResource ¶
func (*S3Bucket) PopulateUsage ¶
func (a *S3Bucket) PopulateUsage(u *engine.ConsumptionProfile)
func (*S3Bucket) UsageSchema ¶
func (a *S3Bucket) UsageSchema() []*engine.ConsumptionField
type S3BucketAnalyticsConfiguration ¶
type S3BucketAnalyticsConfiguration struct {
Address string
Region string
MonthlyMonitoredObjects *int64 `c3x_usage:"monthly_monitored_objects"`
}
func (*S3BucketAnalyticsConfiguration) BuildResource ¶
func (r *S3BucketAnalyticsConfiguration) BuildResource() *engine.Estimate
func (*S3BucketAnalyticsConfiguration) CoreType ¶
func (r *S3BucketAnalyticsConfiguration) CoreType() string
func (*S3BucketAnalyticsConfiguration) PopulateUsage ¶
func (r *S3BucketAnalyticsConfiguration) PopulateUsage(u *engine.ConsumptionProfile)
func (*S3BucketAnalyticsConfiguration) UsageSchema ¶
func (r *S3BucketAnalyticsConfiguration) UsageSchema() []*engine.ConsumptionField
type S3BucketInventory ¶
type S3BucketInventory struct {
Address string
Region string
MonthlyListedObjects *int64 `c3x_usage:"monthly_listed_objects"`
}
func (*S3BucketInventory) BuildResource ¶
func (r *S3BucketInventory) BuildResource() *engine.Estimate
func (*S3BucketInventory) CoreType ¶
func (r *S3BucketInventory) CoreType() string
func (*S3BucketInventory) PopulateUsage ¶
func (r *S3BucketInventory) PopulateUsage(u *engine.ConsumptionProfile)
func (*S3BucketInventory) UsageSchema ¶
func (r *S3BucketInventory) UsageSchema() []*engine.ConsumptionField
type S3GlacierDeepArchiveStorageClass ¶
type S3GlacierDeepArchiveStorageClass struct {
// "required" args that can't really be missing.
Region string
// "usage" args
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyTier1Requests *int64 `c3x_usage:"monthly_tier_1_requests"`
MonthlyTier2Requests *int64 `c3x_usage:"monthly_tier_2_requests"`
MonthlyLifecycleTransitionRequests *int64 `c3x_usage:"monthly_lifecycle_transition_requests"`
MonthlyStandardDataRetrievalRequests *int64 `c3x_usage:"monthly_standard_data_retrieval_requests"`
MonthlyStandardDataRetrievalGB *float64 `c3x_usage:"monthly_standard_data_retrieval_gb"`
MonthlyBulkDataRetrievalRequests *int64 `c3x_usage:"monthly_bulk_data_retrieval_requests"`
MonthlyBulkDataRetrievalGB *float64 `c3x_usage:"monthly_bulk_data_retrieval_gb"`
EarlyDeleteGB *float64 `c3x_usage:"early_delete_gb"`
}
func (*S3GlacierDeepArchiveStorageClass) BuildResource ¶
func (a *S3GlacierDeepArchiveStorageClass) BuildResource() *engine.Estimate
func (*S3GlacierDeepArchiveStorageClass) CoreType ¶
func (a *S3GlacierDeepArchiveStorageClass) CoreType() string
func (*S3GlacierDeepArchiveStorageClass) PopulateUsage ¶
func (a *S3GlacierDeepArchiveStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
func (*S3GlacierDeepArchiveStorageClass) UsageKey ¶
func (a *S3GlacierDeepArchiveStorageClass) UsageKey() string
func (*S3GlacierDeepArchiveStorageClass) UsageSchema ¶
func (a *S3GlacierDeepArchiveStorageClass) UsageSchema() []*engine.ConsumptionField
type S3GlacierFlexibleRetrievalStorageClass ¶
type S3GlacierFlexibleRetrievalStorageClass struct {
// "required" args that can't really be missing.
Region string
// "usage" args
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyTier1Requests *int64 `c3x_usage:"monthly_tier_1_requests"`
MonthlyTier2Requests *int64 `c3x_usage:"monthly_tier_2_requests"`
MonthlyLifecycleTransitionRequests *int64 `c3x_usage:"monthly_lifecycle_transition_requests"`
MonthlyStandardDataRetrievalRequests *int64 `c3x_usage:"monthly_standard_data_retrieval_requests"`
MonthlyStandardDataRetrievalGB *float64 `c3x_usage:"monthly_standard_data_retrieval_gb"`
MonthlyStandardSelectDataScannedGB *float64 `c3x_usage:"monthly_standard_select_data_scanned_gb"`
MonthlyStandardSelectDataReturnedGB *float64 `c3x_usage:"monthly_standard_select_data_returned_gb"`
MonthlyExpeditedDataRetrievalRequests *int64 `c3x_usage:"monthly_expedited_data_retrieval_requests"`
MonthlyExpeditedDataRetrievalGB *float64 `c3x_usage:"monthly_expedited_data_retrieval_gb"`
MonthlyExpeditedSelectDataScannedGB *float64 `c3x_usage:"monthly_expedited_select_data_scanned_gb"`
MonthlyExpeditedSelectDataReturnedGB *float64 `c3x_usage:"monthly_expedited_select_data_returned_gb"`
MonthlyBulkSelectDataScannedGB *float64 `c3x_usage:"monthly_bulk_select_data_scanned_gb"`
MonthlyBulkSelectDataReturnedGB *float64 `c3x_usage:"monthly_bulk_select_data_returned_gb"`
EarlyDeleteGB *float64 `c3x_usage:"early_delete_gb"`
}
func (*S3GlacierFlexibleRetrievalStorageClass) BuildResource ¶
func (a *S3GlacierFlexibleRetrievalStorageClass) BuildResource() *engine.Estimate
func (*S3GlacierFlexibleRetrievalStorageClass) CoreType ¶
func (a *S3GlacierFlexibleRetrievalStorageClass) CoreType() string
func (*S3GlacierFlexibleRetrievalStorageClass) PopulateUsage ¶
func (a *S3GlacierFlexibleRetrievalStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
func (*S3GlacierFlexibleRetrievalStorageClass) UsageKey ¶
func (a *S3GlacierFlexibleRetrievalStorageClass) UsageKey() string
func (*S3GlacierFlexibleRetrievalStorageClass) UsageSchema ¶
func (a *S3GlacierFlexibleRetrievalStorageClass) UsageSchema() []*engine.ConsumptionField
type S3IntelligentTieringStorageClass ¶
type S3IntelligentTieringStorageClass struct {
// "required" args that can't really be missing.
Region string
// "usage" args
FrequentAccessStorageGB *float64 `c3x_usage:"frequent_access_storage_gb"`
InfrequentAccessStorageGB *float64 `c3x_usage:"infrequent_access_storage_gb"`
ArchiveAccessStorageGB *float64 `c3x_usage:"archive_access_storage_gb"`
DeepArchiveAccessStorageGB *float64 `c3x_usage:"deep_archive_access_storage_gb"`
MonitoredObjects *int64 `c3x_usage:"monitored_objects"`
MonthlyTier1Requests *int64 `c3x_usage:"monthly_tier_1_requests"`
MonthlyTier2Requests *int64 `c3x_usage:"monthly_tier_2_requests"`
MonthlyLifecycleTransitionRequests *int64 `c3x_usage:"monthly_lifecycle_transition_requests"`
MonthlySelectDataScannedGB *float64 `c3x_usage:"monthly_select_data_scanned_gb"`
MonthlySelectDataReturnedGB *float64 `c3x_usage:"monthly_select_data_returned_gb"`
EarlyDeleteGB *float64 `c3x_usage:"early_delete_gb"`
}
func (*S3IntelligentTieringStorageClass) BuildResource ¶
func (a *S3IntelligentTieringStorageClass) BuildResource() *engine.Estimate
func (*S3IntelligentTieringStorageClass) CoreType ¶
func (a *S3IntelligentTieringStorageClass) CoreType() string
func (*S3IntelligentTieringStorageClass) PopulateUsage ¶
func (a *S3IntelligentTieringStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
func (*S3IntelligentTieringStorageClass) UsageKey ¶
func (a *S3IntelligentTieringStorageClass) UsageKey() string
func (*S3IntelligentTieringStorageClass) UsageSchema ¶
func (a *S3IntelligentTieringStorageClass) UsageSchema() []*engine.ConsumptionField
type S3OneZoneInfrequentAccessStorageClass ¶
type S3OneZoneInfrequentAccessStorageClass struct {
// "required" args that can't really be missing.
Region string
// "usage" args
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyTier1Requests *int64 `c3x_usage:"monthly_tier_1_requests"`
MonthlyTier2Requests *int64 `c3x_usage:"monthly_tier_2_requests"`
MonthlyLifecycleTransitionRequests *int64 `c3x_usage:"monthly_lifecycle_transition_requests"`
MonthlyDataRetrievalGB *float64 `c3x_usage:"monthly_data_retrieval_gb"`
MonthlySelectDataScannedGB *float64 `c3x_usage:"monthly_select_data_scanned_gb"`
MonthlySelectDataReturnedGB *float64 `c3x_usage:"monthly_select_data_returned_gb"`
}
func (*S3OneZoneInfrequentAccessStorageClass) BuildResource ¶
func (a *S3OneZoneInfrequentAccessStorageClass) BuildResource() *engine.Estimate
func (*S3OneZoneInfrequentAccessStorageClass) CoreType ¶
func (a *S3OneZoneInfrequentAccessStorageClass) CoreType() string
func (*S3OneZoneInfrequentAccessStorageClass) PopulateUsage ¶
func (a *S3OneZoneInfrequentAccessStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
func (*S3OneZoneInfrequentAccessStorageClass) UsageKey ¶
func (a *S3OneZoneInfrequentAccessStorageClass) UsageKey() string
func (*S3OneZoneInfrequentAccessStorageClass) UsageSchema ¶
func (a *S3OneZoneInfrequentAccessStorageClass) UsageSchema() []*engine.ConsumptionField
type S3StandardInfrequentAccessStorageClass ¶
type S3StandardInfrequentAccessStorageClass struct {
// "required" args that can't really be missing.
Region string
// "usage" args
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyTier1Requests *int64 `c3x_usage:"monthly_tier_1_requests"`
MonthlyTier2Requests *int64 `c3x_usage:"monthly_tier_2_requests"`
MonthlyLifecycleTransitionRequests *int64 `c3x_usage:"monthly_lifecycle_transition_requests"`
MonthlyDataRetrievalGB *float64 `c3x_usage:"monthly_data_retrieval_gb"`
MonthlySelectDataScannedGB *float64 `c3x_usage:"monthly_select_data_scanned_gb"`
MonthlySelectDataReturnedGB *float64 `c3x_usage:"monthly_select_data_returned_gb"`
}
func (*S3StandardInfrequentAccessStorageClass) BuildResource ¶
func (a *S3StandardInfrequentAccessStorageClass) BuildResource() *engine.Estimate
func (*S3StandardInfrequentAccessStorageClass) CoreType ¶
func (a *S3StandardInfrequentAccessStorageClass) CoreType() string
func (*S3StandardInfrequentAccessStorageClass) PopulateUsage ¶
func (a *S3StandardInfrequentAccessStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
func (*S3StandardInfrequentAccessStorageClass) UsageKey ¶
func (a *S3StandardInfrequentAccessStorageClass) UsageKey() string
func (*S3StandardInfrequentAccessStorageClass) UsageSchema ¶
func (a *S3StandardInfrequentAccessStorageClass) UsageSchema() []*engine.ConsumptionField
type S3StandardStorageClass ¶
type S3StandardStorageClass struct {
// "required" args that can't really be missing.
Region string
// "usage" args
StorageGB *float64 `c3x_usage:"storage_gb"`
MonthlyTier1Requests *int64 `c3x_usage:"monthly_tier_1_requests"`
MonthlyTier2Requests *int64 `c3x_usage:"monthly_tier_2_requests"`
MonthlySelectDataScannedGB *float64 `c3x_usage:"monthly_select_data_scanned_gb"`
MonthlySelectDataReturnedGB *float64 `c3x_usage:"monthly_select_data_returned_gb"`
}
func (*S3StandardStorageClass) BuildResource ¶
func (a *S3StandardStorageClass) BuildResource() *engine.Estimate
func (*S3StandardStorageClass) CoreType ¶
func (a *S3StandardStorageClass) CoreType() string
func (*S3StandardStorageClass) PopulateUsage ¶
func (a *S3StandardStorageClass) PopulateUsage(u *engine.ConsumptionProfile)
func (*S3StandardStorageClass) UsageKey ¶
func (a *S3StandardStorageClass) UsageKey() string
func (*S3StandardStorageClass) UsageSchema ¶
func (a *S3StandardStorageClass) UsageSchema() []*engine.ConsumptionField
type S3StorageClass ¶
type S3StorageClass interface {
UsageKey() string
PopulateUsage(u *engine.ConsumptionProfile)
BuildResource() *engine.Estimate
}
type SFnStateMachine ¶
type SFnStateMachine struct {
Address string
Region string
Type string
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
WorkflowDurationMs *int64 `c3x_usage:"workflow_duration_ms"`
MemoryMB *int64 `c3x_usage:"memory_mb"`
MonthlyTransitions *int64 `c3x_usage:"monthly_transitions"`
}
func (*SFnStateMachine) BuildResource ¶
func (r *SFnStateMachine) BuildResource() *engine.Estimate
func (*SFnStateMachine) CoreType ¶
func (r *SFnStateMachine) CoreType() string
func (*SFnStateMachine) PopulateUsage ¶
func (r *SFnStateMachine) PopulateUsage(u *engine.ConsumptionProfile)
func (*SFnStateMachine) UsageSchema ¶
func (r *SFnStateMachine) UsageSchema() []*engine.ConsumptionField
type SNSFIFOTopic ¶
type SNSFIFOTopic struct {
Address string
Region string
Subscriptions int64
RequestSizeKB *float64 `c3x_usage:"request_size_kb"`
MonthlyRequests *int64 `c3x_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 ¶
func (r *SNSFIFOTopic) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate 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) CoreType ¶
func (r *SNSFIFOTopic) CoreType() string
func (*SNSFIFOTopic) PopulateUsage ¶
func (r *SNSFIFOTopic) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the SNSFIFOTopic. It uses the `c3x_usage` struct tags to populate data into the SNSFIFOTopic.
func (*SNSFIFOTopic) UsageSchema ¶
func (r *SNSFIFOTopic) UsageSchema() []*engine.ConsumptionField
type SNSTopic ¶
type SNSTopic struct {
Address string
Region string
RequestSizeKB *float64 `c3x_usage:"request_size_kb"`
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
HTTPSubscriptions *int64 `c3x_usage:"http_subscriptions"`
EmailSubscriptions *int64 `c3x_usage:"email_subscriptions"`
KinesisSubscriptions *int64 `c3x_usage:"kinesis_subscriptions"`
MobilePushSubscriptions *int64 `c3x_usage:"mobile_push_subscriptions"`
MacOSSubscriptions *int64 `c3x_usage:"macos_subscriptions"`
SMSSubscriptions *int64 `c3x_usage:"sms_subscriptions"`
SMSNotificationPrice *float64 `c3x_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 ¶
BuildResource builds a engine.Estimate 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 ¶
func (r *SNSTopic) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the SNSTopic. It uses the `c3x_usage` struct tags to populate data into the SNSTopic.
func (*SNSTopic) UsageSchema ¶
func (r *SNSTopic) UsageSchema() []*engine.ConsumptionField
type SNSTopicSubscription ¶
type SNSTopicSubscription struct {
Address string
Protocol string
Region string
RequestSizeKB *float64 `c3x_usage:"request_size_kb"`
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
}
func (*SNSTopicSubscription) BuildResource ¶
func (r *SNSTopicSubscription) BuildResource() *engine.Estimate
func (*SNSTopicSubscription) CoreType ¶
func (r *SNSTopicSubscription) CoreType() string
func (*SNSTopicSubscription) PopulateUsage ¶
func (r *SNSTopicSubscription) PopulateUsage(u *engine.ConsumptionProfile)
func (*SNSTopicSubscription) UsageSchema ¶
func (r *SNSTopicSubscription) UsageSchema() []*engine.ConsumptionField
type SQSQueue ¶
type SQSQueue struct {
Address string
Region string
FifoQueue bool
MonthlyRequests *float64 `c3x_usage:"monthly_requests"`
RequestSizeKB *int64 `c3x_usage:"request_size_kb"`
}
func (*SQSQueue) BuildResource ¶
func (*SQSQueue) PopulateUsage ¶
func (r *SQSQueue) PopulateUsage(u *engine.ConsumptionProfile)
func (*SQSQueue) UsageSchema ¶
func (r *SQSQueue) UsageSchema() []*engine.ConsumptionField
type SSMActivation ¶
type SSMActivation struct {
Address string
Region string
RegistrationLimit int64
InstanceTier *string `c3x_usage:"instance_tier"`
Instances *int64 `c3x_usage:"instances"`
}
func (*SSMActivation) BuildResource ¶
func (r *SSMActivation) BuildResource() *engine.Estimate
func (*SSMActivation) CoreType ¶
func (r *SSMActivation) CoreType() string
func (*SSMActivation) PopulateUsage ¶
func (r *SSMActivation) PopulateUsage(u *engine.ConsumptionProfile)
func (*SSMActivation) UsageSchema ¶
func (r *SSMActivation) UsageSchema() []*engine.ConsumptionField
type SSMParameter ¶
type SSMParameter struct {
Address string
Tier string
Region string
ParameterStorageHrs *int64 `c3x_usage:"parameter_storage_hrs"`
APIThroughputLimit *string `c3x_usage:"api_throughput_limit"`
MonthlyAPIInteractions *int64 `c3x_usage:"monthly_api_interactions"`
}
func (*SSMParameter) BuildResource ¶
func (r *SSMParameter) BuildResource() *engine.Estimate
func (*SSMParameter) CoreType ¶
func (r *SSMParameter) CoreType() string
func (*SSMParameter) PopulateUsage ¶
func (r *SSMParameter) PopulateUsage(u *engine.ConsumptionProfile)
func (*SSMParameter) UsageSchema ¶
func (r *SSMParameter) UsageSchema() []*engine.ConsumptionField
type SearchDomain ¶
type SearchDomain 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
EBSThroughput *float64 // if this is nil it will default to 0
ClusterDedicatedMasterEnabled bool
ClusterDedicatedMasterType string
ClusterDedicatedMasterCount *int64 // if this is nil it will default to 3
ClusterWarmEnabled bool
ClusterWarmType string
ClusterWarmCount *int64
}
SearchDomain struct represents a managed search domain for both Amazon OpenSearch Service (formerly known as Amazon Elasticsearch Service) and AWS Elasticsearch Domain. These services provide fully managed search and analytics engines based on Elasticsearch and OpenSearch, respectively, allowing you to easily deploy, secure, and scale search solutions.
Amazon OpenSearch Service and AWS Elasticsearch Domain offer a variety of instance types and configurations to accommodate different workloads, including dedicated master nodes, warm nodes, and EBS storage options. The pricing depends on the chosen instance types, instance counts, storage options, and additional features.
For more information about Amazon OpenSearch Service and AWS Elasticsearch Domain functionality and pricing, refer to the following links:
Amazon OpenSearch Service: Resource information: https://aws.amazon.com/opensearch-service/ Pricing information: https://aws.amazon.com/opensearch-service/pricing/
AWS Elasticsearch Domain: Resource information: https://aws.amazon.com/elasticsearch-service/ Pricing information: https://aws.amazon.com/elasticsearch-service/pricing/
func (*SearchDomain) BuildResource ¶
func (r *SearchDomain) BuildResource() *engine.Estimate
func (*SearchDomain) CoreType ¶
func (r *SearchDomain) CoreType() string
func (*SearchDomain) PopulateUsage ¶
func (r *SearchDomain) PopulateUsage(u *engine.ConsumptionProfile)
func (*SearchDomain) UsageSchema ¶
func (r *SearchDomain) UsageSchema() []*engine.ConsumptionField
type SecretsManagerSecret ¶
type SecretsManagerSecret struct {
Address string
Region string
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
}
func (*SecretsManagerSecret) BuildResource ¶
func (r *SecretsManagerSecret) BuildResource() *engine.Estimate
func (*SecretsManagerSecret) CoreType ¶
func (r *SecretsManagerSecret) CoreType() string
func (*SecretsManagerSecret) PopulateUsage ¶
func (r *SecretsManagerSecret) PopulateUsage(u *engine.ConsumptionProfile)
func (*SecretsManagerSecret) UsageSchema ¶
func (r *SecretsManagerSecret) UsageSchema() []*engine.ConsumptionField
type TransferServer ¶
type TransferServer struct {
Address string
Region string
Protocols []string
// "usage" args
MonthlyDataDownloadedGB *float64 `c3x_usage:"monthly_data_downloaded_gb"`
MonthlyDataUploadedGB *float64 `c3x_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 ¶
func (r *TransferServer) BuildResource() *engine.Estimate
BuildResource builds a engine.Estimate from a valid TransferServer struct. This method is called after the resource is initialised by an IaC provider.
func (*TransferServer) CoreType ¶
func (r *TransferServer) CoreType() string
TransferServerUsageSchema defines a list of usage items for TransferServer.
func (*TransferServer) PopulateUsage ¶
func (r *TransferServer) PopulateUsage(u *engine.ConsumptionProfile)
PopulateUsage parses the u engine.ConsumptionProfile into the TransferServer. It uses the `c3x_usage` struct tags to populate data into the TransferServer.
func (*TransferServer) UsageSchema ¶
func (r *TransferServer) UsageSchema() []*engine.ConsumptionField
type VPCEndpoint ¶
type VPCEndpoint struct {
Address string
Region string
Type string
Interfaces *int64
MonthlyDataProcessedGb *float64 `c3x_usage:"monthly_data_processed_gb"`
}
func (*VPCEndpoint) BuildResource ¶
func (r *VPCEndpoint) BuildResource() *engine.Estimate
func (*VPCEndpoint) CoreType ¶
func (r *VPCEndpoint) CoreType() string
func (*VPCEndpoint) PopulateUsage ¶
func (r *VPCEndpoint) PopulateUsage(u *engine.ConsumptionProfile)
func (*VPCEndpoint) UsageSchema ¶
func (r *VPCEndpoint) UsageSchema() []*engine.ConsumptionField
type VPNConnection ¶
type VPNConnection struct {
Address string
Region string
TransitGatewayID string
MonthlyDataProcessedGB *float64 `c3x_usage:"monthly_data_processed_gb"`
}
func (*VPNConnection) BuildResource ¶
func (r *VPNConnection) BuildResource() *engine.Estimate
func (*VPNConnection) CoreType ¶
func (r *VPNConnection) CoreType() string
func (*VPNConnection) PopulateUsage ¶
func (r *VPNConnection) PopulateUsage(u *engine.ConsumptionProfile)
func (*VPNConnection) UsageSchema ¶
func (r *VPNConnection) UsageSchema() []*engine.ConsumptionField
type WAFWebACL ¶
type WAFWebACL struct {
Address string
Region string
Rules int64
RuleGroups int64
RuleGroupRules *int64 `c3x_usage:"rule_group_rules"`
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
}
func (*WAFWebACL) BuildResource ¶
func (*WAFWebACL) PopulateUsage ¶
func (r *WAFWebACL) PopulateUsage(u *engine.ConsumptionProfile)
func (*WAFWebACL) UsageSchema ¶
func (r *WAFWebACL) UsageSchema() []*engine.ConsumptionField
type WAFv2WebACL ¶
type WAFv2WebACL struct {
Address string
Region string
Rules int64
RuleGroups int64
ManagedRuleGroups int64
RuleGroupRules *int64 `c3x_usage:"rule_group_rules"`
ManagedRuleGroupRules *int64 `c3x_usage:"managed_rule_group_rules"`
MonthlyRequests *int64 `c3x_usage:"monthly_requests"`
}
func (*WAFv2WebACL) BuildResource ¶
func (r *WAFv2WebACL) BuildResource() *engine.Estimate
func (*WAFv2WebACL) CoreType ¶
func (r *WAFv2WebACL) CoreType() string
func (*WAFv2WebACL) PopulateUsage ¶
func (r *WAFv2WebACL) PopulateUsage(u *engine.ConsumptionProfile)
func (*WAFv2WebACL) UsageSchema ¶
func (r *WAFv2WebACL) UsageSchema() []*engine.ConsumptionField
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
- cloudfront_function.go
- cloudhsm_v2_hsm.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_host.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
- elb.go
- fsx_openzfs_file_system.go
- fsx_windows_file_system.go
- global_accelerator.go
- global_accelerator_endpoint_group.go
- glue_catalog_database.go
- glue_crawler.go
- glue_job.go
- grafana_workspace.go
- instance.go
- kinesis_firehose_delivery_stream.go
- kinesis_stream.go
- kinesisanalytics_application.go
- kinesisanalyticsv2_application.go
- kinesisanalyticsv2_application_snapshot.go
- kms_external_key.go
- kms_key.go
- lambda_function.go
- lambda_provisioned_concurrency_config.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_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
- search_domain.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